From c39a3ca1d92e074f815ff688bb68bb62d27bd868 Mon Sep 17 00:00:00 2001 From: Justin Pridgen Date: Sat, 10 Aug 2024 19:13:42 -0400 Subject: [PATCH 1/5] GJOptionsLayer and other classes --- bindings/2.206/GeometryDash.bro | 107 +++++++++++++++++++------------- test/members/Android32.cpp | 2 + test/members/Android64.cpp | 2 + test/members/MacOSArm.cpp | 3 + test/members/MacOSIntel.cpp | 3 + test/members/iOS.cpp | 3 + 6 files changed, 76 insertions(+), 44 deletions(-) diff --git a/bindings/2.206/GeometryDash.bro b/bindings/2.206/GeometryDash.bro index 4f9ab5db1..f6d9b2a73 100644 --- a/bindings/2.206/GeometryDash.bro +++ b/bindings/2.206/GeometryDash.bro @@ -3444,13 +3444,13 @@ class EditLevelLayer : cocos2d::CCLayer, TextInputDelegate, FLAlertLayerProtocol class EditorOptionsLayer : GJOptionsLayer { // virtual ~EditorOptionsLayer(); - static EditorOptionsLayer* create(); + static EditorOptionsLayer* create() = m1 0x23c3b4, imac 0x299c00; - void onButtonRows(cocos2d::CCObject* sender) = win 0x27f4f0; - void onButtonsPerRow(cocos2d::CCObject* sender) = win 0x27f460; + void onButtonRows(cocos2d::CCObject* sender) = win 0x27f4f0, m1 0x23ced0, imac 0x29a7d0; + void onButtonsPerRow(cocos2d::CCObject* sender) = win 0x27f460, m1 0x23ce48, imac 0x29a750; - virtual bool init() = m1 0x23c554, imac 0x299e60; - virtual void onClose(cocos2d::CCObject* sender) = m1 0x23cf50, imac 0x29a840; + virtual bool init() = win 0x27eb50, m1 0x23c554, imac 0x299e60; + virtual void onClose(cocos2d::CCObject* sender) = win 0x27f580, m1 0x23cf50, imac 0x29a840; virtual void setupOptions() = win 0x27eb80, m1 0x23c570, imac 0x299e90; int m_buttonsPerRow; @@ -5468,12 +5468,14 @@ class GameLevelManager : cocos2d::CCNode { class GameLevelOptionsLayer : GJOptionsLayer{ // virtual ~GameLevelOptionsLayer(); - static GameLevelOptionsLayer* create(GJGameLevel*) = win 0x28e750; + static GameLevelOptionsLayer* create(GJGameLevel*) = win 0x28e750, m1 0x24edd8, imac 0x2ade70; - bool init(GJGameLevel*); + bool init(GJGameLevel*) = m1 0x24ef94, imac 0x2ae0f0; - virtual void setupOptions() = m1 0x24effc, imac 0x2ae150; - virtual void didToggle(int) = m1 0x24f068, imac 0x2ae1c0; + virtual void setupOptions() = win 0x28e8b0, m1 0x24effc, imac 0x2ae150; + virtual void didToggle(int) = win 0x28e930, m1 0x24f068, imac 0x2ae1c0; + + GJGameLevel* m_level; } [[link(android), depends(UIButtonConfig)]] @@ -6562,15 +6564,19 @@ class GameObjectEditorState { class GameOptionsLayer : GJOptionsLayer { // virtual ~GameOptionsLayer(); - static GameOptionsLayer* create(GJBaseGameLayer*); + static GameOptionsLayer* create(GJBaseGameLayer*) = m1 0x24db08, imac 0x2ac900; - bool init(GJBaseGameLayer*); - void onPracticeMusicSync(cocos2d::CCObject* sender) = win 0x28e010; - void onUIOptions(cocos2d::CCObject* sender); - void showPracticeMusicSyncUnlockInfo(); + bool init(GJBaseGameLayer*) = m1 0x24dcb8, imac 0x2ac900; + void onPracticeMusicSync(cocos2d::CCObject* sender) = win 0x28e010, m1 0x24e468, imac 0x2ad370; + void onUIOptions(cocos2d::CCObject* sender) = win 0x28e0f0, m1 0x24e3dc, imac 0x2ad2e0; + void onUIPOptions(cocos2d::CCObject* sender) = win 0x28e110, m1 0x24e3fc, imac 0x2ad300; + void showPracticeMusicSyncUnlockInfo() = win 0x28d7b0, m1 0x24e4dc, imac 0x2ad3f0; - virtual void setupOptions() = m1 0x24dd10, imac 0x2acbc0; - virtual void didToggle(int) = m1 0x24eaf0, imac 0x2ada80; + virtual void setupOptions() = win 0x28cd60, m1 0x24dd10, imac 0x2acbc0; + virtual void didToggle(int) = win 0x28e260, m1 0x24eaf0, imac 0x2ada80; + + GJBaseGameLayer* m_baseGameLayer; + int m_practiceDialogIndex; } [[link(android)]] @@ -9331,33 +9337,44 @@ class GJOptionsLayer : SetupTriggerPopup { // virtual ~GJOptionsLayer(); // GJOptionsLayer(); - static GJOptionsLayer* create(int); - - TodoReturn addGVToggle(char const*, char const*, char const*); - TodoReturn addToggle(char const*, int, bool, char const*); - TodoReturn addToggleInternal(char const*, int, bool, char const*); - TodoReturn countForPage(int); - void goToPage(int); - TodoReturn incrementCountForPage(int); - TodoReturn infoKey(int); - bool init(int); - TodoReturn layerForPage(int); - TodoReturn layerKey(int); - TodoReturn nextPosition(int); - TodoReturn objectKey(int); - TodoReturn objectsForPage(int); - TodoReturn offsetToNextPage(); - void onInfo(cocos2d::CCObject* sender); - void onNextPage(cocos2d::CCObject* sender); - void onPrevPage(cocos2d::CCObject* sender); - void onToggle(cocos2d::CCObject* sender); - TodoReturn pageKey(int); + static GJOptionsLayer* create(int) = m1 0x23a7ec, imac 0x297d60; + + void addGVToggle(char const*, char const*, char const*) = win 0x27d8f0, m1 0x23b080, imac 0x298780; + void addToggle(char const*, int, bool, char const*) = m1 0x23b644, imac 0x298d70; + void addToggleInternal(char const*, int, bool, char const*) = win 0x27da30, m1 0x23b1bc, imac 0x2988a0; + int countForPage(int) = win 0x27df30, m1 0x23bf6c, imac 0x299660; + void goToPage(int) = win 0x27e450, m1 0x23ac6c, imac 0x298310; + void incrementCountForPage(int) = win 0x27e000, m1 0x23ba8c, imac 0x2991a0; + const char* infoKey(int) = m1 0x23bd70, imac 0x299480; + bool init(int) = win 0x27d5b0, m1 0x23a984, imac 0x297fb0; + cocos2d::CCLayer* layerForPage(int) = win 0x27e290, m1 0x23b740, imac 0x298e80; + const char* layerKey(int) = m1 0x23c0b4, imac 0x299790; + cocos2d::CCPoint nextPosition(int) = m1 0x23b648, imac 0x298d80; + const char* objectKey(int) = m1 0x23c08c, imac 0x299770; + cocos2d::CCArray* objectsForPage(int) = win 0x27e100, m1 0x23bbb8, imac 0x2992b0; + void offsetToNextPage() = m1 0x23b058, imac 0x298740; + void onInfo(cocos2d::CCObject* sender) = win 0x27e970, m1 0x23bd98, imac 0x2994a0; + void onNextPage(cocos2d::CCObject* sender) = win 0x27e430, m1 0x23ac54, imac 0x2982d0; + void onPrevPage(cocos2d::CCObject* sender) = win 0x27e440, m1 0x23ac60, imac 0x2982f0; + void onToggle(cocos2d::CCObject* sender) = win 0x27e860, m1 0x23b90c, imac 0x299060; + const char* pageKey(int) = m1 0x23c064, imac 0x299750; virtual void setupOptions() {} - virtual TodoReturn didToggleGV(gd::string) = m1 0x21472c, imac 0x26e1d0; + virtual void didToggleGV(gd::string) = win 0x1e8fa0, m1 0x21472c, imac 0x26e1d0; virtual void didToggle(int) {} - PAD = win 0x44, android32 0x30, android64 0x3c; + float m_gap; + int m_page; + int m_togglesPerPage; + int m_toggleCount; + int m_maxPage; + float m_maxLabelScale; + float m_maxLabelWidth; + cocos2d::CCDictionary* m_values; + cocos2d::CCDictionary* m_variables; + CCMenuItemSpriteExtra* m_prevButton; + CCMenuItemSpriteExtra* m_nextButton; + float m_offset; } [[link(android)]] @@ -11853,24 +11870,26 @@ class LevelManagerDelegate { class LevelOptionsLayer : GJOptionsLayer { // virtual ~LevelOptionsLayer(); - static LevelOptionsLayer* create(LevelSettingsObject*); + static LevelOptionsLayer* create(LevelSettingsObject*) = m1 0x211390, imac 0x26a870; - bool init(LevelSettingsObject*); - void onSettings(cocos2d::CCObject* sender); + bool init(LevelSettingsObject*) = win 0x3039d0, m1 0x213bdc, imac 0x26d520; + void onSettings(cocos2d::CCObject* sender) = win 0x303f00, m1 0x2140a4, imac 0x26da20; virtual void valueDidChange(int, float) = win 0x3040e0, m1 0x214280, imac 0x26dcc0; virtual TodoReturn getValue(int) = win 0x304100, m1 0x214298, imac 0x26dce0; virtual void setupOptions() = win 0x303a40, m1 0x213c34, imac 0x26d570; virtual void didToggle(int) = win 0x304120, m1 0x2142b4, imac 0x26dd00; + + LevelSettingsObject* m_settingsObject; } [[link(android)]] class LevelOptionsLayer2 : LevelOptionsLayer { // virtual ~LevelOptionsLayer2(); - static LevelOptionsLayer2* create(LevelSettingsObject*); + static LevelOptionsLayer2* create(LevelSettingsObject*) = m1 0x2140e4, imac 0x26da60; - bool init(LevelSettingsObject*); + bool init(LevelSettingsObject*) = m1 0x214468, imac 0x26dec0; virtual void setupOptions() = win 0x304380, m1 0x214564, imac 0x26dfc0; } diff --git a/test/members/Android32.cpp b/test/members/Android32.cpp index e1e792550..05aed2211 100644 --- a/test/members/Android32.cpp +++ b/test/members/Android32.cpp @@ -177,6 +177,8 @@ GEODE_MEMBER_CHECK(GameObject, m_hasExtendedCollision, 0x218); GEODE_MEMBER_CHECK(GameObject, m_scaleX, 0x3e8); GEODE_SIZE_CHECK(SetupTriggerPopup, 0x2a8); +GEODE_SIZE_CHECK(GJOptionsLayer, 0x2d8); + GEODE_MEMBER_CHECK(ColorSelectPopup, m_colorAction, 0x2f0); GEODE_MEMBER_CHECK(ChallengesPage, m_dots, 0x1FC); diff --git a/test/members/Android64.cpp b/test/members/Android64.cpp index c85f48496..7d9a3050b 100644 --- a/test/members/Android64.cpp +++ b/test/members/Android64.cpp @@ -145,6 +145,8 @@ GEODE_SIZE_CHECK(TableView, 0x290); GEODE_SIZE_CHECK(CCTextInputNode, 0x238); GEODE_SIZE_CHECK(CCTouchDispatcher, 0x90); GEODE_SIZE_CHECK(AccountLayer, 0x2d0); +GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3c8); +GEODE_SIZE_CHECK(GJOptionsLayer, 0x408); GEODE_SIZE_CHECK(TableViewCell, 0x218); GEODE_MEMBER_CHECK(TableViewCell, m_tableView, 0x1a0); diff --git a/test/members/MacOSArm.cpp b/test/members/MacOSArm.cpp index 68a4bc59d..f3ffd6c51 100644 --- a/test/members/MacOSArm.cpp +++ b/test/members/MacOSArm.cpp @@ -67,4 +67,7 @@ GEODE_SIZE_CHECK(CCTextInputNode, 0x258); GEODE_SIZE_CHECK(CCLightFlash, 0x168); GEODE_SIZE_CHECK(CCLightStrip, 0x160); +GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); +GEODE_SIZE_CHECK(GJOptionsLayer, 0x3f0); + #endif diff --git a/test/members/MacOSIntel.cpp b/test/members/MacOSIntel.cpp index 388d4b43a..3bed6a78b 100644 --- a/test/members/MacOSIntel.cpp +++ b/test/members/MacOSIntel.cpp @@ -194,4 +194,7 @@ GEODE_SIZE_CHECK(CCTextInputNode, 0x258); GEODE_SIZE_CHECK(CCLightFlash, 0x168); GEODE_SIZE_CHECK(CCLightStrip, 0x160); +GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); +GEODE_SIZE_CHECK(GJOptionsLayer, 0x3f0); + #endif diff --git a/test/members/iOS.cpp b/test/members/iOS.cpp index 707b86034..3bce981ac 100644 --- a/test/members/iOS.cpp +++ b/test/members/iOS.cpp @@ -61,4 +61,7 @@ GEODE_SIZE_CHECK(CCTextInputNode, 0x258); GEODE_SIZE_CHECK(CCLightFlash, 0x168); GEODE_SIZE_CHECK(CCLightStrip, 0x160); +GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); +GEODE_SIZE_CHECK(GJOptionsLayer, 0x3f0); + #endif From 12406d1b06506d598eb73075e6742e54e0a23e9b Mon Sep 17 00:00:00 2001 From: Justin Pridgen Date: Sat, 10 Aug 2024 19:32:39 -0400 Subject: [PATCH 2/5] add padding while my pr gets merged --- bindings/2.206/GeometryDash.bro | 2 +- test/members/Windows.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bindings/2.206/GeometryDash.bro b/bindings/2.206/GeometryDash.bro index f6d9b2a73..a07389473 100644 --- a/bindings/2.206/GeometryDash.bro +++ b/bindings/2.206/GeometryDash.bro @@ -16955,7 +16955,7 @@ class SetupTriggerPopup : FLAlertLayer, TextInputDelegate, ConfigureValuePopupDe virtual void onCustomToggleTriggerValue(cocos2d::CCObject* sender) {} virtual TodoReturn valuePopupClosed(ConfigureValuePopup*, float) = win 0x4512a0, m1 0x1e5b60, imac 0x23a630; - PAD = android32 0xac, win 0x118, android64 0x138; + PAD = android32 0xac, win 0x118, android64 0x138, mac 0x120, ios 0x120; } [[link(android)]] diff --git a/test/members/Windows.cpp b/test/members/Windows.cpp index fc6c189af..8f8abc5d5 100644 --- a/test/members/Windows.cpp +++ b/test/members/Windows.cpp @@ -385,4 +385,7 @@ GEODE_MEMBER_CHECK(ShaderLayer, m_splitYRangeMultUniform, 0x64c); GEODE_SIZE_CHECK(CCLightFlash, 0x168); GEODE_SIZE_CHECK(CCLightStrip, 0x160); +GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3a8); +GEODE_SIZE_CHECK(GJOptionsLayer, 0x3f0); + #endif From a640369510d2b8a010a6d5e8394813ffea1793f0 Mon Sep 17 00:00:00 2001 From: Justin Pridgen Date: Sat, 10 Aug 2024 19:37:01 -0400 Subject: [PATCH 3/5] might have to shave down the padding --- bindings/2.206/GeometryDash.bro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/2.206/GeometryDash.bro b/bindings/2.206/GeometryDash.bro index a07389473..eab9f186e 100644 --- a/bindings/2.206/GeometryDash.bro +++ b/bindings/2.206/GeometryDash.bro @@ -16955,7 +16955,7 @@ class SetupTriggerPopup : FLAlertLayer, TextInputDelegate, ConfigureValuePopupDe virtual void onCustomToggleTriggerValue(cocos2d::CCObject* sender) {} virtual TodoReturn valuePopupClosed(ConfigureValuePopup*, float) = win 0x4512a0, m1 0x1e5b60, imac 0x23a630; - PAD = android32 0xac, win 0x118, android64 0x138, mac 0x120, ios 0x120; + PAD = android32 0xac, win 0x118, android64 0x130, mac 0x118, ios 0x118; } [[link(android)]] From b9270978691670f9dbc36517797aac9e03143bba Mon Sep 17 00:00:00 2001 From: Justin Pridgen Date: Sat, 10 Aug 2024 19:40:37 -0400 Subject: [PATCH 4/5] this is a losing battle --- bindings/2.206/GeometryDash.bro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/2.206/GeometryDash.bro b/bindings/2.206/GeometryDash.bro index eab9f186e..a07389473 100644 --- a/bindings/2.206/GeometryDash.bro +++ b/bindings/2.206/GeometryDash.bro @@ -16955,7 +16955,7 @@ class SetupTriggerPopup : FLAlertLayer, TextInputDelegate, ConfigureValuePopupDe virtual void onCustomToggleTriggerValue(cocos2d::CCObject* sender) {} virtual TodoReturn valuePopupClosed(ConfigureValuePopup*, float) = win 0x4512a0, m1 0x1e5b60, imac 0x23a630; - PAD = android32 0xac, win 0x118, android64 0x130, mac 0x118, ios 0x118; + PAD = android32 0xac, win 0x118, android64 0x138, mac 0x120, ios 0x120; } [[link(android)]] From 233d3a9e8a256e47e27f011b07d3609f12e12317 Mon Sep 17 00:00:00 2001 From: Justin Pridgen Date: Sat, 10 Aug 2024 20:21:29 -0400 Subject: [PATCH 5/5] this some bull --- test/members/MacOSArm.cpp | 1 - test/members/MacOSIntel.cpp | 1 - test/members/iOS.cpp | 1 - 3 files changed, 3 deletions(-) diff --git a/test/members/MacOSArm.cpp b/test/members/MacOSArm.cpp index 9d0c458e5..f3ffd6c51 100644 --- a/test/members/MacOSArm.cpp +++ b/test/members/MacOSArm.cpp @@ -66,7 +66,6 @@ GEODE_SIZE_CHECK(CCTextInputNode, 0x258); GEODE_SIZE_CHECK(CCLightFlash, 0x168); GEODE_SIZE_CHECK(CCLightStrip, 0x160); -GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); GEODE_SIZE_CHECK(GJOptionsLayer, 0x3f0); diff --git a/test/members/MacOSIntel.cpp b/test/members/MacOSIntel.cpp index aba43601c..3bed6a78b 100644 --- a/test/members/MacOSIntel.cpp +++ b/test/members/MacOSIntel.cpp @@ -193,7 +193,6 @@ GEODE_SIZE_CHECK(CCTextInputNode, 0x258); GEODE_SIZE_CHECK(CCLightFlash, 0x168); GEODE_SIZE_CHECK(CCLightStrip, 0x160); -GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); GEODE_SIZE_CHECK(GJOptionsLayer, 0x3f0); diff --git a/test/members/iOS.cpp b/test/members/iOS.cpp index c16a14a95..3bce981ac 100644 --- a/test/members/iOS.cpp +++ b/test/members/iOS.cpp @@ -60,7 +60,6 @@ GEODE_SIZE_CHECK(CCTextInputNode, 0x258); GEODE_SIZE_CHECK(CCLightFlash, 0x168); GEODE_SIZE_CHECK(CCLightStrip, 0x160); -GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); GEODE_SIZE_CHECK(SetupTriggerPopup, 0x3b0); GEODE_SIZE_CHECK(GJOptionsLayer, 0x3f0);