diff --git a/bindings/GeometryDash.bro b/bindings/GeometryDash.bro index c238a317..1f403867 100644 --- a/bindings/GeometryDash.bro +++ b/bindings/GeometryDash.bro @@ -246,7 +246,7 @@ class ButtonSprite : cocos2d::CCSprite { void updateBGImage(const char*) = mac 0x502d0, win 0x13af0; static ButtonSprite* create(char const*, float) = mac 0x4fa60; void setString(const char* txt) = mac 0x4fec0, win 0x14030; - void updateSpriteBGSize(cocos2d::CCPoint const& offset) = win 0x13c00; + void updateSpriteBGSize() = win 0x13c00; void setColor(cocos2d::ccColor3B color) = mac 0x50410, win 0x143e0; PAD = mac 0x18, win 0x18; @@ -261,7 +261,7 @@ class ButtonSprite : cocos2d::CCSprite { class CCAnimatedSprite : cocos2d::CCSprite { void runAnimation(gd::string) = mac 0x1a6430, win 0x14f60; void tweenToAnimation(gd::string, float) = mac 0x1a65b0, win 0x15080; - static CCAnimatedSprite* create(const char* file) = win 0x14540; + static CCAnimatedSprite* createWithType(const char* file) = win 0x14540; gd::string m_unknown1; gd::string m_unknown2; @@ -328,7 +328,7 @@ class CCContentLayer : cocos2d::CCLayerColor { } class CCIndexPath : cocos2d::CCObject { - static CCIndexPath* create(unsigned int idk1, int idk2) = win 0x30e40; + static CCIndexPath* CCIndexPathWithSectionRow(unsigned int idk1, int idk2) = win 0x30e40; inline CCIndexPath() = default; int m_unknown1; int m_unknown2; @@ -1149,7 +1149,7 @@ class EditLevelLayer : cocos2d::CCLayer, FLAlertLayerProtocol, TextInputDelegate static EditLevelLayer* create(GJGameLevel* level) = mac 0xe1e50, win 0x6f530, ios 0x82420; bool init(GJGameLevel* level) = mac 0xe1fd0, win 0x6f5d0; - void onLevelInfo() = win 0x70660; + void onLevelInfo(cocos2d::CCObject*) = win 0x70660; cocos2d::CCMenu* m_buttonMenu; GJGameLevel* m_level; @@ -1292,7 +1292,7 @@ class EditorUI : cocos2d::CCLayer, FLAlertLayerProtocol, ColorSelectDelegate, GJ this->updateScaleControl(); } void constrainGameLayerPosition(float x, float y) = mac 0x18890, win 0x8f920; - void moveGameLayer(cocos2d::CCPoint const& pos) = mac 0x1ca90, win 0x79290; + void moveGameLayer(cocos2d::CCPoint pos) = mac 0x1ca90, win 0x79290; void showUI(bool show) = mac 0x245b0, win 0x87180; void resetUI() = mac 0x18520, win 0x7ac10; void editObject2(cocos2d::CCObject* sender) = win 0x8d1b0; @@ -2322,7 +2322,7 @@ class GJGarageLayer : cocos2d::CCLayer, TextInputDelegate, FLAlertLayerProtocol, } void onPlayerColor1(cocos2d::CCObject*) = mac 0x1ba640, win 0x129470, ios 0x22531c; void onPlayerColor2(cocos2d::CCObject*) = mac 0x1ba8c0, win 0x129590, ios 0x225408; - static GJGarageLayer* create() = win 0x125220; + static GJGarageLayer* node() = win 0x125220; virtual bool init() = mac 0x1b4980, win 0x1255d0; void onSelectTab(cocos2d::CCObject* sender) = win 0x127c30; void onPlayerIcon(cocos2d::CCObject* sender) = win 0x127f30; @@ -2387,7 +2387,7 @@ class GJLevelScoreCell : TableViewCell { class GJListLayer : cocos2d::CCLayerColor { ~GJListLayer() = mac 0x344350; - static GJListLayer* create(cocos2d::CCObject* target, const char* title, cocos2d::ccColor4B color, float width, float height) = mac 0x343e10, win 0x12e000; + static GJListLayer* create(BoomListView* target, const char* title, cocos2d::ccColor4B color, float width, float height) = mac 0x343e10, win 0x12e000; BoomListView* m_listView; } @@ -2462,7 +2462,7 @@ class GJRotationControl : cocos2d::CCLayer { m_sliderThumb->setPosition(m_sliderPosition); } - void updateSliderPosition(cocos2d::CCPoint const& pos) = win 0x94020; + void updateSliderPosition(cocos2d::CCPoint pos) = win 0x94020; float m_unknown0; float m_unknown1; @@ -2703,7 +2703,7 @@ class GameLevelManager : cocos2d::CCNode { GJGameLevel* getMainLevel(int id, bool unk) = win 0xa0940; bool hasLikedItemFullCheck(LikeItemType type, int itemID, int commentSourceID) = mac 0x2d83d0; bool hasRatedLevelStars(int levelID) = mac 0x2ca3a0; - callback void ProcessHttpRequest(gd::string, gd::string, gd::string, int) = mac 0x2a8670, win 0x9f8e0; + callback void ProcessHttpRequest(gd::string, gd::string, gd::string, GJHttpType) = mac 0x2a8670, win 0x9f8e0; cocos2d::CCDictionary* responseToDict(gd::string response, bool comment) = win 0xbba50; void storeUserNames(gd::string) = win 0xa1840; gd::string userNameForUserID(int id) = win 0xa1c20; @@ -3388,7 +3388,6 @@ class GameStatsManager : cocos2d::CCNode { void awardSecretKey() = mac 0x4b1e0; int getAwardedCurrencyForLevel(GJGameLevel*) = win 0xf83e0; int getBaseCurrencyForLevel(GJGameLevel*) = win 0xf8530; - const char* getCoinKey(int) = win 0xbda50; GJChallengeItem* getChallenge(int id) = win 0xa2fb0; void getSecretCoinKey(char const*) = mac 0x429f0; int getStat(char const*) = mac 0x3d310, win 0xf3580; @@ -3434,14 +3433,13 @@ class GameStatsManager : cocos2d::CCNode { } class GameToolbox { - static gd::string stringFromHSV(cocos2d::ccHSVValue hsv) = mac 0x28cf90; - static cocos2d::ccHSVValue hsvFromString(gd::string str) = mac 0x28cc30; + static gd::string stringFromHSV(cocos2d::ccHSVValue hsv, const char* separator) = mac 0x28cf90; + static cocos2d::ccHSVValue hsvFromString(gd::string str, char const* separator) = mac 0x28cc30, win 0x26da0; static cocos2d::CCDictionary* stringSetupToDict(gd::string text, char const* delimeter) = mac 0x28d700, win 0x272a0; static CCMenuItemToggler* createToggleButton(gd::string text, cocos2d::SEL_MenuHandler onToggled, bool isToggled, cocos2d::CCMenu* toggleMenu, cocos2d::CCPoint position, cocos2d::CCNode* callbackTarget, cocos2d::CCNode* labelParent, cocos2d::CCArray* toggleArray) = mac 0x28bc90, win 0x25fe0; static CCMenuItemToggler* createToggleButton(gd::string text, cocos2d::SEL_MenuHandler onToggled, bool isToggled, cocos2d::CCMenu* toggleMenu, cocos2d::CCPoint position, cocos2d::CCNode* callbackTarget, cocos2d::CCNode* labelParent, float checkboxScale, float labelSize, float maxWidth, cocos2d::CCPoint labelOffset, const char* unknown, bool anchorHorizontally, int toggleTag, cocos2d::CCArray* toggleArray) = mac 0x28bdd0, win 0x25fe0; - static void transformColor(cocos2d::ccColor3B* src, cocos2d::ccColor3B* dest, cocos2d::ccHSVValue hsv) = win 0x26a60; - static void alignItemsHorisontally(cocos2d::CCArray* array, bool idk, cocos2d::CCPoint start, float pad) = win 0x25b20; - static cocos2d::_ccHSVValue hsvFromString(gd::string, char const*) = mac 0x28cc30, win 0x26da0; + static cocos2d::ccColor3B transformColor(cocos2d::ccColor3B const& src, cocos2d::ccHSVValue hsv) = win 0x26a60; + static void alignItemsHorisontally(cocos2d::CCArray* array, float pad, cocos2d::CCPoint start, bool idk) = win 0x25b20; static gd::map stringSetupToMap(gd::string, char const*) = mac 0x28d4c0; static cocos2d::ccColor3B multipliedColorValue(cocos2d::ccColor3B color1, cocos2d::ccColor3B color2, float factor) = win 0x26CE0; } @@ -3473,7 +3471,7 @@ class GaragePage : cocos2d::CCLayer, ListButtonBarDelegate { } class GauntletSelectLayer { - static GauntletSelectLayer* create() = win 0x105120; + static GauntletSelectLayer* create(int) = win 0x105120; } class GhostTrailEffect {} @@ -3512,10 +3510,10 @@ class HardStreak : cocos2d::CCDrawNode { } class InfoAlertButton : CCMenuItemSpriteExtra { - bool init(gd::string const& title, gd::string const& text, float scale) = win 0x14ef50; + bool init(gd::string title, gd::string text, float scale) = win 0x14ef50; void activate() = win 0x14f050; inline InfoAlertButton() {} - static InfoAlertButton* create(gd::string const& title, gd::string const& text, float scale) = win 0x14ed20, mac 0x2ecad0; + static InfoAlertButton* create(gd::string title, gd::string text, float scale) = win 0x14ed20, mac 0x2ecad0; } class InfoLayer : FLAlertLayer, LevelCommentDelegate, CommentUploadDelegate, FLAlertLayerProtocol { @@ -3523,7 +3521,7 @@ class InfoLayer : FLAlertLayer, LevelCommentDelegate, CommentUploadDelegate, FLA void setupCommentsBrowser(cocos2d::CCArray* comments) = win 0x152270; void onMore(cocos2d::CCObject* sender) = win 0x151500; void onLevelInfo(cocos2d::CCObject* sender) = win 0x151850; - void loadPage(int page) = win 0x151e70; + void loadPage(int page, bool) = win 0x151e70; static InfoLayer* create(GJGameLevel* level, GJUserScore* score) = win 0x14f4f0; GJGameLevel* m_level; @@ -3866,8 +3864,8 @@ class LevelInfoLayer : cocos2d::CCLayer, LevelDownloadDelegate, LevelUpdateDeleg class LevelLeaderboard : FLAlertLayer { void onChangeType(cocos2d::CCObject* sender) = win 0x17d090; - void onGarage(cocos2d::CCObject* sender) = win 0x17d1b0; - bool init(GJGameLevel* level, int type) = mac 0x20d710, win 0x17c4f0; + void onUpdate(cocos2d::CCObject* sender) = win 0x17d1b0; + bool init(GJGameLevel* level, LevelLeaderboardType type) = mac 0x20d710, win 0x17c4f0; static LevelLeaderboard* create(GJGameLevel* level, LevelLeaderboardType leaderboardType) = win 0x17c440; } @@ -4127,7 +4125,7 @@ class MoreSearchLayer : FLAlertLayer { virtual bool init() = win 0x1825c0; } -class MoreOptionsLayer { +class MoreOptionsLayer : FLAlertLayer, TextInputDelegate, GooglePlayDelegate { static MoreOptionsLayer* create() = win 0x1de850; virtual bool init() = mac 0x43f470, win 0x1DE8F0; void addToggle(const char* name, const char* key, const char* info) = mac 0x440430, win 0x1df6b0; @@ -4729,10 +4727,10 @@ class PlayerObject : GameObject, AnimatedSpriteDelegate { void preCollision() = mac 0x21ccc0; void preSlopeCollision(float, GameObject*) = mac 0x21ec80; void propellPlayer(float) = mac 0x22d8e0, win 0x1f8b50; - void pushButton(int) = mac 0x22aa00, win 0x1f4e40; + void pushButton(PlayerButton) = mac 0x22aa00, win 0x1f4e40; void pushDown() = mac 0x22dbd0; void pushPlayer(float) = mac 0x22dbb0; - void releaseButton(int) = mac 0x22b6f0, win 0x1f4f70; + void releaseButton(PlayerButton) = mac 0x22b6f0, win 0x1f4f70; void removeAllParticles() = mac 0x218ac0; void removePendingCheckpoint() = mac 0x2237b0, win 0x1fa260; void resetAllParticles() = mac 0x21adb0, win 0x1e8ef0; @@ -5456,7 +5454,7 @@ class TeleportPortalObject : GameObject { } class TextAlertPopup : cocos2d::CCNode { - static TextAlertPopup* create(gd::string const& text, float time, float scale) = win 0x1450b0; + static TextAlertPopup* create(gd::string text, float time, float scale) = win 0x1450b0; } class TextArea : cocos2d::CCSprite { @@ -5595,9 +5593,9 @@ class LevelTools { static bool verifyLevelIntegrity(gd::string, int) = mac 0x294360, win 0x18b180; static float xPosForTime(float, cocos2d::CCArray*, int) = mac 0x293d90, win 0x18acd0; static float timeForXPos(float, cocos2d::CCArray*, int) = mac 0x293eb0, win 0x18ae70; - static gd::string getAudioFilename(int) = mac 0x292840; + static gd::string getAudioFileName(int) = mac 0x292840; static gd::string getAudioTitle(int) = mac 0x2922f0; - static gd::string getArtistForAudio(int) = mac 0x292d90; - static gd::string getURLForAudio(int) = mac 0x292f10; + static gd::string artistForAudio(int) = mac 0x292d90; + static gd::string urlForAudio(int) = mac 0x292f10; } // clang-format on diff --git a/loader/include/Geode/Enums.hpp b/loader/include/Geode/Enums.hpp index d4476266..fb429453 100644 --- a/loader/include/Geode/Enums.hpp +++ b/loader/include/Geode/Enums.hpp @@ -313,6 +313,10 @@ enum class LevelLeaderboardType { Weekly = 2 }; +enum class GJHttpType { + +}; + enum class DialogChatPlacement { Center = 0, Top = 1, diff --git a/loader/include/Geode/cocos/platform/android/CCApplication.h b/loader/include/Geode/cocos/platform/android/CCApplication.h index d0a7eab1..d12e93d1 100644 --- a/loader/include/Geode/cocos/platform/android/CCApplication.h +++ b/loader/include/Geode/cocos/platform/android/CCApplication.h @@ -12,6 +12,7 @@ class CC_DLL CCApplication : public CCApplicationProtocol { GEODE_FRIEND_MODIFY public: + GEODE_CUSTOM_CONSTRUCTOR_BEGIN(CCApplication) CCApplication(); virtual ~CCApplication(); @@ -45,6 +46,8 @@ public: */ virtual TargetPlatform getTargetPlatform(); + virtual void openURL(char const* url) override; + protected: static CCApplication * sm_pSharedApplication; };