mirror of
https://github.com/geode-sdk/geode.git
synced 2025-03-20 18:09:59 -04:00
Make missing funcs/members private & fix macos hsv
This commit is contained in:
parent
0a584327ff
commit
d98cb2d709
4 changed files with 55 additions and 65 deletions
|
@ -714,7 +714,6 @@ class cocos2d::CCParticleSystem {
|
|||
CCParticleSystem() = win 0xb6650;
|
||||
virtual ~CCParticleSystem() = win 0xb68e0;
|
||||
virtual auto update(float);
|
||||
virtual auto draw();
|
||||
auto initParticle(cocos2d::tCCParticle*);
|
||||
auto resetSystem() = mac 0x46bd50;
|
||||
auto resumeSystem() = mac 0x46bd40;
|
||||
|
|
|
@ -600,15 +600,15 @@ class CCSpritePart : CCSpritePlus {
|
|||
}
|
||||
|
||||
class CCSpritePlus : cocos2d::CCSprite {
|
||||
bool initWithSpriteFrameName(const char*) = mac 0x248670, win 0x1c1e0;
|
||||
void setScaleX(float scale) = win 0x1c440;
|
||||
void setScaleY(float scale) = win 0x1c4c0;
|
||||
void setScale(float scale) = win 0x1c540;
|
||||
void setPosition(const cocos2d::CCPoint& pos) = win 0x1c220;
|
||||
void setRotation(float rotation) = win 0x1c280;
|
||||
bool initWithTexture(cocos2d::CCTexture2D* texture) = win 0x1c200;
|
||||
void setFlipX(bool flip) = win 0x1c300;
|
||||
void setFlipY(bool flip) = win 0x1c3a0;
|
||||
virtual bool initWithSpriteFrameName(const char*) = mac 0x248670, win 0x1c1e0;
|
||||
virtual void setScaleX(float scale) = win 0x1c440;
|
||||
virtual void setScaleY(float scale) = win 0x1c4c0;
|
||||
virtual void setScale(float scale) = win 0x1c540;
|
||||
virtual void setPosition(const cocos2d::CCPoint& pos) = win 0x1c220;
|
||||
virtual void setRotation(float rotation) = win 0x1c280;
|
||||
virtual bool initWithTexture(cocos2d::CCTexture2D* texture) = win 0x1c200;
|
||||
virtual void setFlipX(bool flip) = win 0x1c300;
|
||||
virtual void setFlipY(bool flip) = win 0x1c3a0;
|
||||
static CCSpritePlus* createWithSpriteFrame(cocos2d::CCSpriteFrame* frame) = win 0x1c130;
|
||||
|
||||
cocos2d::CCArray* m_followers;
|
||||
|
@ -1043,7 +1043,7 @@ class CustomizeObjectLayer : FLAlertLayer, TextInputDelegate, HSVWidgetPopupDele
|
|||
cocos2d::CCArray* m_colorButtons;
|
||||
cocos2d::CCArray* m_colorTabNodes;
|
||||
cocos2d::CCArray* m_textTabNodes;
|
||||
PAD = win 0x4;
|
||||
PAD = win 0x4, mac 0x8;
|
||||
cocos2d::CCArray* m_detailTabNodes;
|
||||
int m_selectedMode;
|
||||
int m_customColorChannel;
|
||||
|
@ -1558,10 +1558,10 @@ class EffectGameObject : GameObject {
|
|||
bool init(char const*) = win 0x253CD0;
|
||||
void getTargetColorIndex() = mac 0xca1f0;
|
||||
virtual void triggerObject(GJBaseGameLayer*) = mac 0xc9870, win 0x253d60;
|
||||
gd::string getSaveString() = win 0x257560;
|
||||
virtual gd::string getSaveString() = win 0x257560;
|
||||
void updateSpecialColor() = win 0x254980;
|
||||
void spawnXPosition() = win 0x254A00;
|
||||
void triggerActivated(float) = win 0x254A30;
|
||||
virtual void spawnXPosition() = win 0x254A00;
|
||||
virtual void triggerActivated(float) = win 0x254A30;
|
||||
|
||||
cocos2d::ccColor3B m_colColor;
|
||||
float m_duration;
|
||||
|
@ -5400,8 +5400,8 @@ class SimplePlayer : cocos2d::CCSprite {
|
|||
void updatePlayerFrame(int iconID, IconType iconType) = mac 0x1b62f0, win 0x12c650;
|
||||
void updateColors() = mac 0x1ba1f0, win 0x12c440, ios 0x224f2c;
|
||||
void setFrames(const char* firstLayer, const char* secondLayer, const char* birdDome, const char* outlineSprite, const char* detailSprite) = win 0x12c9e0;
|
||||
void setColor(const cocos2d::ccColor3B& color) = mac 0x1bc9b0, win 0x12c410;
|
||||
void setOpacity(unsigned char opacity) = win 0x12cb90;
|
||||
virtual void setColor(const cocos2d::ccColor3B& color) = mac 0x1bc9b0, win 0x12c410;
|
||||
virtual void setOpacity(unsigned char opacity) = win 0x12cb90;
|
||||
|
||||
cocos2d::CCSprite* m_firstLayer;
|
||||
cocos2d::CCSprite* m_secondLayer;
|
||||
|
|
|
@ -47,31 +47,12 @@ public:
|
|||
)GEN";
|
||||
|
||||
char const* error_definition = R"GEN(
|
||||
template <bool Value = false>
|
||||
{static}{return_type} {function_name}({parameters}){const}{{
|
||||
static_assert(Value, "{class_name}::{function_name} not implemented");
|
||||
throw std::runtime_error("Use of undefined function " + GEODE_PRETTY_FUNCTION);
|
||||
}}
|
||||
)GEN";
|
||||
|
||||
char const* error_definition_virtual = R"GEN(
|
||||
#ifdef GEODE_WARN_INCORRECT_MEMBERS
|
||||
[[deprecated("Use of undefined virtual function - will crash at runtime!!!")]]
|
||||
#endif
|
||||
private:
|
||||
[[deprecated("{class_name}::{function_name} not implemented")]]
|
||||
/**
|
||||
{docs}{docs_addresses} */
|
||||
{virtual}{return_type} {function_name}({parameters}){const}{{
|
||||
#ifdef GEODE_NO_UNDEFINED_VIRTUALS
|
||||
static_assert(false, "Undefined virtual function - implement in GeometryDash.bro");
|
||||
#endif
|
||||
throw std::runtime_error("Use of undefined virtual function " + GEODE_PRETTY_FUNCTION);
|
||||
}}
|
||||
)GEN";
|
||||
|
||||
char const* warn_offset_member = R"GEN(
|
||||
#ifdef GEODE_WARN_INCORRECT_MEMBERS
|
||||
[[deprecated("Member placed incorrectly - will crash at runtime!!!")]]
|
||||
#endif
|
||||
{static}{virtual}{return_type} {function_name}({parameters}){const};
|
||||
public:
|
||||
)GEN";
|
||||
|
||||
char const* structor_definition = R"GEN(
|
||||
|
@ -81,7 +62,7 @@ public:
|
|||
)GEN";
|
||||
|
||||
// requires: type, member_name, array
|
||||
char const* member_definition = R"GEN( {type} {member_name};
|
||||
char const* member_definition = R"GEN({private} {type} {member_name};{public}
|
||||
)GEN";
|
||||
|
||||
char const* pad_definition = R"GEN( GEODE_PAD({hardcode});
|
||||
|
@ -196,8 +177,9 @@ std::string generateBindingHeader(Root& root, ghc::filesystem::path const& singl
|
|||
single_output += "\t" + i->inner + "\n";
|
||||
continue;
|
||||
} else if (auto m = field.get_as<MemberField>()) {
|
||||
if (unimplementedField) single_output += format_strings::warn_offset_member;
|
||||
single_output += fmt::format(format_strings::member_definition,
|
||||
fmt::arg("private", unimplementedField ? "private:\n" : ""),
|
||||
fmt::arg("public", unimplementedField ? "\npublic:" : ""),
|
||||
fmt::arg("type", m->type.name),
|
||||
fmt::arg("member_name", m->name + str_if(fmt::format("[{}]", m->count), m->count))
|
||||
);
|
||||
|
@ -221,9 +203,6 @@ std::string generateBindingHeader(Root& root, ghc::filesystem::path const& singl
|
|||
if (!codegen::platformNumber(fn->binds)) {
|
||||
used_format = format_strings::error_definition;
|
||||
|
||||
if (fb->is_virtual)
|
||||
used_format = format_strings::error_definition_virtual;
|
||||
|
||||
if (fb->type != FunctionType::Normal)
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -103,6 +103,12 @@ auto {class_name}::{function_name}({parameters}){const} -> decltype({function_na
|
|||
}});
|
||||
reinterpret_cast<FunctionType>(func)(this{parameter_comma}{arguments});
|
||||
}}
|
||||
)GEN";
|
||||
|
||||
char const* declare_virtual_error = R"GEN(
|
||||
auto {class_name}::{function_name}({parameters}){const} -> decltype({function_name}({arguments})) {{
|
||||
throw std::runtime_error("{class_name}::{function_name} not implemented");
|
||||
}}
|
||||
)GEN";
|
||||
|
||||
char const* ool_function_definition = R"GEN(
|
||||
|
@ -158,32 +164,38 @@ std::string generateBindingSource(Root& root) {
|
|||
}
|
||||
|
||||
} else if (auto fn = f.get_as<FunctionBindField>()) {
|
||||
if (codegen::getStatus(f) != BindStatus::NeedsBinding)
|
||||
continue;
|
||||
|
||||
// no cocos2d definitions on windows
|
||||
char const* used_declare_format = nullptr;
|
||||
|
||||
if (codegen::platform == Platform::Windows && is_cocos_class(f.parent)) {
|
||||
// no cocos2d definitions on windows
|
||||
continue;
|
||||
}
|
||||
|
||||
char const* used_declare_format;
|
||||
|
||||
switch (fn->prototype.type) {
|
||||
case FunctionType::Normal:
|
||||
used_declare_format = format_strings::declare_member;
|
||||
break;
|
||||
case FunctionType::Ctor:
|
||||
used_declare_format = format_strings::declare_constructor;
|
||||
break;
|
||||
case FunctionType::Dtor:
|
||||
used_declare_format = format_strings::declare_destructor;
|
||||
break;
|
||||
else if (!codegen::platformNumber(fn->binds) && fn->prototype.is_virtual && fn->prototype.type != FunctionType::Dtor) {
|
||||
used_declare_format = format_strings::declare_virtual_error;
|
||||
}
|
||||
else if (codegen::getStatus(f) != BindStatus::NeedsBinding) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (fn->prototype.is_static)
|
||||
used_declare_format = format_strings::declare_static;
|
||||
if (fn->prototype.is_virtual && fn->prototype.type != FunctionType::Dtor)
|
||||
used_declare_format = format_strings::declare_virtual;
|
||||
if (!used_declare_format) {
|
||||
switch (fn->prototype.type) {
|
||||
case FunctionType::Normal:
|
||||
used_declare_format = format_strings::declare_member;
|
||||
break;
|
||||
case FunctionType::Ctor:
|
||||
used_declare_format = format_strings::declare_constructor;
|
||||
break;
|
||||
case FunctionType::Dtor:
|
||||
used_declare_format = format_strings::declare_destructor;
|
||||
break;
|
||||
}
|
||||
|
||||
if (fn->prototype.is_static)
|
||||
used_declare_format = format_strings::declare_static;
|
||||
if (fn->prototype.is_virtual && fn->prototype.type != FunctionType::Dtor)
|
||||
used_declare_format = format_strings::declare_virtual;
|
||||
}
|
||||
|
||||
output += fmt::format(used_declare_format,
|
||||
fmt::arg("class_name", c.name),
|
||||
|
|
Loading…
Reference in a new issue