@@ -8190,7 +8190,7 @@ class GameManager : GManager {
81908190 cocos2d::ccColor3B colorForIdx(int) = ios 0x316f24, win 0x17e330, imac 0x36c520, m1 0x2fdae8;
81918191 TodoReturn colorForPos(int);
81928192 gd::string colorKey(int, UnlockType) = win 0x179790, m1 0x2f766c, imac 0x364cb0, ios 0x312e84;
8193- void completedAchievement(gd::string) = win 0x17a1d0, m1 0x2f8464, imac 0x365aa0;
8193+ void completedAchievement(gd::string) = win 0x17a1d0, m1 0x2f8464, imac 0x365aa0, ios 0x31383c ;
81948194 int countForType(IconType) = ios 0x3178fc, win 0x17ebe0, m1 0x2febfc, imac 0x36d6f0;
81958195 TodoReturn defaultFrameForAnimation(int);
81968196 TodoReturn defaultYOffsetForBG2(int);
@@ -8408,8 +8408,12 @@ class GameManager : GManager {
84088408 void loadMiddleground(int) = win 0x17f9e0, m1 0x301148, imac 0x36fe10, ios 0x3187ac;
84098409 void loadMiddlegroundAsync(int);
84108410 void loadVideoSettings() = m1 0x306228, imac 0x375a90;
8411- TodoReturn lockColor(int, UnlockType);
8412- TodoReturn lockIcon(int, IconType);
8411+ void lockColor(int id, UnlockType type) = win inline, m1 0x2f7a20, imac 0x365080, ios 0x3130f4 {
8412+ m_valueKeeper->removeObjectForKey(this->colorKey(id, type));
8413+ }
8414+ void lockIcon(int id, IconType type) = win inline, m1 0x2f75f8, imac 0x364c50, ios 0x312e20 {
8415+ m_valueKeeper->removeObjectForKey(this->iconKey(id, type));
8416+ }
84138417 TodoReturn logLoadedIconInfo();
84148418 void openEditorGuide();
84158419 void playMenuMusic() = win 0x178810, m1 0x2f66b4, imac 0x3639a0, ios 0x312208;
@@ -8433,7 +8437,7 @@ class GameManager : GManager {
84338437 TodoReturn reorderKey(int, bool);
84348438 void reportAchievementWithID(char const*, int, bool) = ios 0x313e4c, win 0x17afd0, imac 0x366830, m1 0x2f9160;
84358439 void reportPercentageForLevel(int levelID, int percentage, bool isPlatformer) = ios 0x313a44, win 0x17a5f0, m1 0x2f87b4, imac 0x365da0;
8436- void resetAchievement(gd::string) = win 0x17a390, m1 0x2f8614, imac 0x365c30;
8440+ void resetAchievement(gd::string) = win 0x17a390, m1 0x2f8614, imac 0x365c30, ios 0x313930 ;
84378441 TodoReturn resetAdTimer();
84388442 TodoReturn resetAllIcons();
84398443 void resetCoinUnlocks() = win 0x17db50;
@@ -8521,9 +8525,13 @@ class GameManager : GManager {
85218525 TodoReturn unloadBackground();
85228526 void unloadIcon(int, int, int) = ios 0x317ea4, win 0x17f050, m1 0x30016c, imac 0x36ee80;
85238527 void unloadIcons(int) = win 0x17f310, m1 0x3008e4, imac 0x36f5c0, ios 0x3181c0;
8524- TodoReturn unlockColor(int, UnlockType);
8528+ void unlockColor(int id, UnlockType type) = win inline, m1 0x2f7974, imac 0x364ff0, ios 0x31305c {
8529+ m_valueKeeper->setObject(cocos2d::CCString::create("1"), this->colorKey(id, type));
8530+ }
85258531 TodoReturn unlockedPremium();
8526- void unlockIcon(int, IconType);
8532+ void unlockIcon(int id, IconType type) = win inline, m1 0x2f754c, imac 0x364bc0, ios 0x312d88 {
8533+ m_valueKeeper->setObject(cocos2d::CCString::create("1"), this->iconKey(id, type));
8534+ }
85278535 IconType unlockTypeToIconType(int) = ios 0x312d64, win 0x1796e0, imac 0x364ba0, m1 0x2f7528;
85288536 void updateCustomFPS() = win 0x187cc0, m1 0x3099c4, imac 0x379480;
85298537 TodoReturn updateMusic();
@@ -9982,7 +9990,7 @@ class GameStatsManager : cocos2d::CCNode {
99829990 char const* getMapPackKey(int);
99839991 TodoReturn getNextGoldChestID();
99849992 TodoReturn getNextVideoAdReward();
9985- gd::string getPathRewardKey(int) = win 0x1e7330;
9993+ gd::string getPathRewardKey(int) = win 0x1e7330, m1 0x60000, imac 0x6c480, ios 0x3302fc ;
99869994 GJChallengeItem* getQueuedChallenge(int) = ios 0x333d78, win 0x1def40, m1 0x66b94, imac 0x73100;
99879995 GJRewardItem* getRewardForSecretChest(int id) = win inline, m1 0x7f8cc, imac 0x8bc30, ios inline {
99889996 return static_cast<GJRewardItem*>(m_allTreasureRoomChests->objectForKey(id));
@@ -10103,26 +10111,34 @@ class GameStatsManager : cocos2d::CCNode {
1010310111 void tryFixPathBug() = win 0x1d1810, m1 0x5f61c, imac 0x6ba70;
1010410112 void trySelectActivePath() = m1 0x5f0c4, imac 0x6b5e0;
1010510113 void uncompleteLevel(GJGameLevel*) = win 0x1dbbc0;
10106- void unlockGauntletChest(int);
10107- GJRewardItem* unlockGoldChest(int) = win inline, m1 0x7f8d8, imac 0x8bc50, ios 0x33e16c {
10108- if (!this->isSecretChestUnlocked(p0)) {
10109- if (auto reward = this->getRewardForSecretChest(p0)) {
10114+ GJRewardItem* unlockGauntletChest(int id) = win inline, m1 0x6ba10, imac 0x78110, ios 0x3369b8 {
10115+ if (auto reward = this->unlockSpecialChest(this->getGauntletRewardKey(id))) {
10116+ this->incrementStat("40");
10117+ return reward;
10118+ }
10119+ return nullptr;
10120+ }
10121+ GJRewardItem* unlockGoldChest(int id) = win inline, m1 0x7f8d8, imac 0x8bc50, ios 0x33e16c {
10122+ if (!this->isSecretChestUnlocked(id)) {
10123+ if (auto reward = this->getRewardForSecretChest(id)) {
1011010124 auto keys = this->getStat("43");
1011110125 if (keys > 0) {
1011210126 this->setStat("43", keys - 1);
1011310127 this->preProcessReward(reward);
1011410128 this->registerRewardsFromItem(reward);
10115- m_treasureRoomChests->setObject(reward, cocos2d::CCString::createWithFormat("%i", p0 )->getCString());
10129+ m_treasureRoomChests->setObject(reward, cocos2d::CCString::createWithFormat("%i", id )->getCString());
1011610130 return reward;
1011710131 }
1011810132 }
1011910133 }
1012010134 return nullptr;
1012110135 }
10122- void unlockOnlineChest(gd::string) = win 0x1e7410;
10123- TodoReturn unlockPathChest(int);
10124- GJRewardItem* unlockSecretChest(int) = win 0x1e75a0, m1 0x7f6f4, imac 0x8ba60, ios 0x33e00c;
10125- GJRewardItem* unlockSpecialChest(gd::string) = win 0x1e7250, m1 0x6b8c8, imac 0x77ff0, ios 0x336884;
10136+ GJRewardItem* unlockOnlineChest(gd::string key) = win 0x1e7410, m1 0x67e84, imac 0x742e0, ios 0x3348c4;
10137+ GJRewardItem* unlockPathChest(int id) = win inline, m1 0x6bc08, imac 0x782b0, ios 0x336b50 {
10138+ return this->unlockSpecialChest(this->getPathRewardKey(id));
10139+ }
10140+ GJRewardItem* unlockSecretChest(int id) = win 0x1e75a0, m1 0x7f6f4, imac 0x8ba60, ios 0x33e00c;
10141+ GJRewardItem* unlockSpecialChest(gd::string key) = win 0x1e7250, m1 0x6b8c8, imac 0x77ff0, ios 0x336884;
1012610142 TodoReturn updateActivePath(StatKey);
1012710143 gd::string usernameForAccountID(int);
1012810144 void verifyPathAchievements() = win 0x1d1f80, m1 0x601c0, imac 0x6c680;
@@ -10136,8 +10152,8 @@ class GameStatsManager : cocos2d::CCNode {
1013610152 cocos2d::CCDictionary* m_allTreasureRoomChestItems;
1013710153 cocos2d::CCDictionary* m_allSpecialChests;
1013810154 cocos2d::CCDictionary* m_allSpecialChestItems;
10139- gd::unordered_map<int , gd::string> m_specialRewardDescriptions;
10140- gd::unordered_map<int , gd::string> m_createSpecialChestItemsMap;
10155+ gd::unordered_map<gd::string , gd::string> m_specialRewardDescriptions;
10156+ gd::unordered_map<gd::string , gd::string> m_createSpecialChestItemsMap;
1014110157 cocos2d::CCDictionary* m_specialChestsLite;
1014210158 cocos2d::CCArray* m_storeItemArray;
1014310159 cocos2d::CCDictionary* m_rewardItems;
0 commit comments