Skip to content

Commit 5d22ba8

Browse files
committed
Fix a few constructors and destructors
1 parent 0574691 commit 5d22ba8

1 file changed

Lines changed: 143 additions & 36 deletions

File tree

bindings/2.2074/GeometryDash.bro

Lines changed: 143 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -788,8 +788,13 @@ class AudioLineGuideGameObject : EffectGameObject {
788788

789789
[[link(android)]]
790790
class BitmapFontCache : cocos2d::CCObject {
791-
// virtual ~BitmapFontCache();
792-
BitmapFontCache() {}
791+
BitmapFontCache() {
792+
m_cache = nullptr;
793+
}
794+
~BitmapFontCache() {
795+
CC_SAFE_RELEASE(m_cache);
796+
}
797+
793798
static void purgeSharedFontCache() = win inline {
794799
auto** instancePtr = reinterpret_cast<BitmapFontCache**>(geode::base::get() + 0x6a4e08);
795800
if (*instancePtr) {
@@ -842,7 +847,16 @@ class BoomListLayer : cocos2d::CCLayerColor {
842847

843848
[[link(android)]]
844849
class BoomListView : cocos2d::CCLayer, TableViewDelegate, TableViewDataSource {
845-
BoomListView() {}
850+
BoomListView() {
851+
m_tableView = nullptr;
852+
m_entries = nullptr;
853+
m_type = BoomListType::Default;
854+
m_height = 0.f;
855+
m_width = 0.f;
856+
m_itemSeparation = 0.f;
857+
m_currentPage = 0;
858+
m_locked = false;
859+
}
846860
~BoomListView() {
847861
CC_SAFE_RELEASE(m_entries);
848862
}
@@ -1390,8 +1404,7 @@ class CCCircleWaveDelegate {
13901404

13911405
[[link(android)]]
13921406
class CCContentLayer : cocos2d::CCLayerColor {
1393-
inline CCContentLayer() {}
1394-
~CCContentLayer();
1407+
CCContentLayer() {}
13951408

13961409
static CCContentLayer* create(cocos2d::ccColor4B const&, float, float);
13971410

@@ -1478,10 +1491,18 @@ class CCExtenderNode : cocos2d::CCNode {
14781491

14791492
[[link(android)]]
14801493
class CCIndexPath : cocos2d::CCObject {
1481-
CCIndexPath() {}
1494+
CCIndexPath() {
1495+
m_row = 0;
1496+
m_section = 0;
1497+
}
14821498
// virtual ~CCIndexPath();
14831499

1484-
TodoReturn CCIndexPathWithSectionRow(int, int);
1500+
static CCIndexPath* CCIndexPathWithSectionRow(int section, int row) {
1501+
auto ret = new CCIndexPath();
1502+
ret->m_row = row;
1503+
ret->m_section = section;
1504+
return ret;
1505+
}
14851506

14861507
int m_row;
14871508
int m_section;
@@ -1659,7 +1680,12 @@ class CCMenuItemSpriteExtra : cocos2d::CCMenuItemSprite {
16591680

16601681
[[link(android)]]
16611682
class CCMenuItemToggler : cocos2d::CCMenuItem {
1662-
CCMenuItemToggler() {}
1683+
CCMenuItemToggler() {
1684+
m_offButton = nullptr;
1685+
m_onButton = nullptr;
1686+
m_toggled = false;
1687+
m_notClickable = false;
1688+
}
16631689
// virtual ~CCMenuItemToggler();
16641690

16651691
static CCMenuItemToggler* create(cocos2d::CCNode*, cocos2d::CCNode*, cocos2d::CCObject*, cocos2d::SEL_MenuHandler) = ios 0x19452c, win 0x451e0, imac 0x59c70, m1 0x4f880;
@@ -2391,8 +2417,14 @@ class CCURLObject : cocos2d::CCObject {
23912417

23922418
[[link(android), depends(ChallengesPage), depends(GJChallengeItem)]]
23932419
class ChallengeNode : cocos2d::CCNode {
2394-
// virtual ~ChallengeNode();
2395-
inline ChallengeNode() {}
2420+
ChallengeNode() {
2421+
m_challengeItem = nullptr;
2422+
m_countdownLabel = nullptr;
2423+
m_unloaded = false;
2424+
}
2425+
~ChallengeNode() {
2426+
CC_SAFE_RELEASE(m_challengeItem);
2427+
}
23962428

23972429
static ChallengeNode* create(GJChallengeItem* challengeItem, ChallengesPage* challengesPage, bool isNew) = ios 0x36c94, win inline, imac 0x38b290, m1 0x31a788 {
23982430
auto ret = new ChallengeNode();
@@ -2417,7 +2449,6 @@ class ChallengeNode : cocos2d::CCNode {
24172449

24182450
[[link(android)]]
24192451
class ChallengesPage : FLAlertLayer, FLAlertLayerProtocol, GJChallengeDelegate, CurrencyRewardDelegate {
2420-
// virtual ~ChallengesPage();
24212452
ChallengesPage() {
24222453
m_dots = nullptr;
24232454
m_countdownLabel = nullptr;
@@ -2427,6 +2458,13 @@ class ChallengesPage : FLAlertLayer, FLAlertLayerProtocol, GJChallengeDelegate,
24272458
m_currencyRewardLayer = nullptr;
24282459
m_challengeNodes = nullptr;
24292460
}
2461+
~ChallengesPage() {
2462+
auto glm = GameLevelManager::sharedState();
2463+
if (glm->m_GJChallengeDelegate == this) glm->m_GJChallengeDelegate = nullptr;
2464+
if (m_currencyRewardLayer) m_currencyRewardLayer->m_delegate = nullptr;
2465+
CC_SAFE_RELEASE(m_challengeNodes);
2466+
CC_SAFE_RELEASE(m_dots);
2467+
}
24302468

24312469
static ChallengesPage* create() = ios 0x35d18, win inline, imac 0x389da0, m1 0x3193ec {
24322470
auto ret = new ChallengesPage();
@@ -3719,8 +3757,9 @@ class CustomizeObjectSettingsPopup : SetupTriggerPopup {
37193757

37203758
[[link(android)]]
37213759
class CustomListView : BoomListView {
3722-
inline CustomListView() {}
3723-
~CustomListView() {}
3760+
CustomListView() {
3761+
m_cellMode = 0;
3762+
}
37243763

37253764
static CustomListView* create(cocos2d::CCArray*, TableViewCellDelegate*, float, float, int, BoomListType, float) = ios 0x10364c, win 0xaa010, imac 0x22eb50, m1 0x1df724;
37263765

@@ -3735,7 +3774,7 @@ class CustomListView : BoomListView {
37353774
float getCellHeight(BoomListType) = ios 0x103e9c, imac 0x22fd60;
37363775
void reloadAll() = ios 0x10e7b0, win 0xabc90, imac 0x23bfe0, m1 0x1ebe10;
37373776

3738-
int m_unknown;
3777+
int m_cellMode;
37393778
}
37403779

37413780
[[link(android)]]
@@ -4164,8 +4203,15 @@ class DemonFilterDelegate {
41644203

41654204
[[link(android)]]
41664205
class DemonFilterSelectLayer : FLAlertLayer {
4167-
// virtual ~DemonFilterSelectLayer();
4168-
DemonFilterSelectLayer() {}
4206+
DemonFilterSelectLayer() {
4207+
m_demons = nullptr;
4208+
m_unkPtr = nullptr;
4209+
m_currentDemon = 0;
4210+
m_delegate = nullptr;
4211+
}
4212+
~DemonFilterSelectLayer() {
4213+
CC_SAFE_RELEASE(m_demons);
4214+
}
41694215

41704216
static DemonFilterSelectLayer* create() = win inline {
41714217
auto ret = new DemonFilterSelectLayer();
@@ -5864,7 +5910,9 @@ class ExplodeItemSprite : cocos2d::CCSprite {
58645910
[[link(android)]]
58655911
class ExtendedLayer : cocos2d::CCLayer {
58665912
// virtual ~ExtendedLayer();
5867-
ExtendedLayer() {}
5913+
ExtendedLayer() {
5914+
m_delegate = nullptr;
5915+
}
58685916

58695917
static ExtendedLayer* create() = win inline {
58705918
auto ret = new ExtendedLayer();
@@ -8503,7 +8551,7 @@ class GameToolbox {
85038551
static float fast_rand_0_1() = imac 0x4dea80, m1 0x441870, ios 0x49540;
85048552
static TodoReturn fast_rand_minus1_1();
85058553
static void fast_srand(uint64_t) = ios 0x49534, m1 0x441830, imac 0x4dea30;
8506-
static TodoReturn gen_random(int) = m1 0x464058, imac 0x504920;
8554+
static gd::string gen_random(int) = m1 0x464058, imac 0x504920;
85078555
static TodoReturn getDropActionWDelay(float, float, float, cocos2d::CCNode*, cocos2d::SEL_CallFunc);
85088556
static TodoReturn getDropActionWEnd(float, float, float, cocos2d::CCAction*, float);
85098557
static cocos2d::CCActionEase* getEasedAction(cocos2d::CCActionInterval*, int, float) = imac 0x4de7b0, m1 0x4415e8;
@@ -8515,7 +8563,7 @@ class GameToolbox {
85158563
static TodoReturn getRelativeOffset(GameObject*, cocos2d::CCPoint) = win 0x64970;
85168564
static gd::string getResponse(cocos2d::extension::CCHttpResponse*) = win 0x64310, imac 0x4dba00, m1 0x43eb40;
85178565
static gd::string getTimeString(int, bool) = win 0x65e20, imac 0x4de620, m1 0x44145c, ios 0x49338;
8518-
static TodoReturn hsvFromString(gd::string const&, char const*) = imac 0x4dd030;
8566+
static cocos2d::ccHSVValue hsvFromString(gd::string const&, char const*) = win 0x654e0, imac 0x4dd030;
85198567
static gd::string intToShortString(int) = win 0x69120, imac 0x4e4250, m1 0x4465bc, ios 0x4bd08;
85208568
static gd::string intToString(int) = win 0x69060, imac 0x4e3f30, m1 0x446284;
85218569
static bool isIOS();
@@ -8541,7 +8589,7 @@ class GameToolbox {
85418589
static TodoReturn saveStringToFile(gd::string const&, gd::string const&);
85428590
static gd::string stringFromHSV(cocos2d::ccHSVValue, char const*) = win 0x656f0;
85438591
static cocos2d::CCDictionary* stringSetupToDict(gd::string const&, char const*) = win 0x65c30, m1 0x440d54;
8544-
static gd::map<gd::string,gd::string> stringSetupToMap(gd::string const&, char const*, gd::map<gd::string, gd::string>&) = win 0x65890;
8592+
static void stringSetupToMap(gd::string const&, char const*, gd::map<gd::string, gd::string>&) = win 0x65890;
85458593
static TodoReturn strongColor(cocos2d::ccColor3B);
85468594
static TodoReturn timestampToHumanReadable(long) = m1 0x4469a4, imac 0x4e4690;
85478595
static cocos2d::ccColor3B transformColor(cocos2d::ccColor3B const&, cocos2d::ccHSVValue) = ios 0x4854c, win 0x65290, m1 0x43fbfc, imac 0x4dcb20;
@@ -8550,8 +8598,20 @@ class GameToolbox {
85508598

85518599
[[link(android)]]
85528600
class GauntletLayer : cocos2d::CCLayer, LevelManagerDelegate {
8553-
// virtual ~GauntletLayer();
8554-
GauntletLayer() {}
8601+
GauntletLayer() {
8602+
m_levels = nullptr;
8603+
m_loadingCircle = nullptr;
8604+
m_backgroundSprite = nullptr;
8605+
m_unkPtr = nullptr;
8606+
m_activeItemButton = nullptr;
8607+
m_activeObjects = nullptr;
8608+
m_tryAgainText = nullptr;
8609+
}
8610+
~GauntletLayer() {
8611+
auto glm = GameLevelManager::sharedState();
8612+
if (glm->m_levelManagerDelegate == this) glm->m_levelManagerDelegate = nullptr;
8613+
CC_SAFE_RELEASE(m_activeObjects);
8614+
}
85558615

85568616
static GauntletLayer* create(GauntletType gauntletType) = win inline, imac 0x37f700, m1 0x30fc28 {
85578617
auto ret = new GauntletLayer();
@@ -8587,7 +8647,10 @@ class GauntletLayer : cocos2d::CCLayer, LevelManagerDelegate {
85878647
[[link(android)]]
85888648
class GauntletNode : cocos2d::CCNode {
85898649
// virtual ~GauntletNode();
8590-
GauntletNode() {}
8650+
GauntletNode() {
8651+
m_gauntletInfoNode = nullptr;
8652+
m_rewardNode = nullptr;
8653+
}
85918654

85928655
static GauntletNode* create(GJMapPack* gauntlet) = win inline, m1 0x4b2728, imac 0x55c250 {
85938656
auto ret = new GauntletNode();
@@ -8610,8 +8673,22 @@ class GauntletNode : cocos2d::CCNode {
86108673

86118674
[[link(android)]]
86128675
class GauntletSelectLayer : cocos2d::CCLayer, BoomScrollLayerDelegate, LevelManagerDelegate {
8613-
// virtual ~GauntletSelectLayer();
8614-
GauntletSelectLayer() {}
8676+
GauntletSelectLayer() {
8677+
m_backgroundSprite = nullptr;
8678+
m_scrollLayer = nullptr;
8679+
m_refreshButton = nullptr;
8680+
m_exiting = false;
8681+
m_playing = false;
8682+
m_tryAgainText = nullptr;
8683+
m_loadingCircle = nullptr;
8684+
m_gauntlets = nullptr;
8685+
m_playBlocked = false;
8686+
}
8687+
~GauntletSelectLayer() {
8688+
auto glm = GameLevelManager::sharedState();
8689+
if (glm->m_levelManagerDelegate == this) glm->m_levelManagerDelegate = nullptr;
8690+
CC_SAFE_RELEASE(m_gauntlets);
8691+
}
86158692

86168693
static GauntletSelectLayer* create(int p0) = win inline, imac 0x55abc0, m1 0x4b1248, ios 0x1c0448 {
86178694
auto ret = new GauntletSelectLayer();
@@ -13034,7 +13111,11 @@ class GJWriteMessagePopup : FLAlertLayer, TextInputDelegate, UploadMessageDelega
1303413111

1303513112
[[link(android)]]
1303613113
class GManager : cocos2d::CCNode {
13037-
inline GManager() {}
13114+
GManager() {
13115+
m_setup = false;
13116+
m_saved = false;
13117+
m_quickSave = false;
13118+
}
1303813119
// virtual ~GManager();
1303913120

1304013121
virtual bool init() = win 0x6a7c0, imac 0x498f00, m1 0x404d70, ios 0x249774;
@@ -13069,7 +13150,7 @@ class GooglePlayDelegate {
1306913150
class GooglePlayManager : cocos2d::CCNode {
1307013151
// virtual ~GooglePlayManager();
1307113152

13072-
static GooglePlayManager* sharedState() = ios 0x458d8, win 0x6ac50;
13153+
static GooglePlayManager* sharedState() = win 0x6ac50, m1 0x3d5188, imac 0x4651e0, ios 0x458d8;
1307313154

1307413155
virtual bool init() = m1 0x3d51f8, imac 0x465240, ios 0x45938 { return true; }
1307513156

@@ -15262,7 +15343,11 @@ class ListUploadDelegate {
1526215343
[[link(android)]]
1526315344
class LoadingCircle : cocos2d::CCLayerColor {
1526415345
// virtual ~LoadingCircle();
15265-
LoadingCircle() {}
15346+
LoadingCircle() {
15347+
m_sprite = nullptr;
15348+
m_parentLayer = nullptr;
15349+
m_fade = false;
15350+
}
1526615351

1526715352
static LoadingCircle* create() = ios 0x392c28, win 0x6b840, m1 0x414ec0, imac 0x4abd70;
1526815353

@@ -15626,8 +15711,20 @@ class MessagesProfilePage : FLAlertLayer, FLAlertLayerProtocol, UploadActionDele
1562615711

1562715712
[[link(android)]]
1562815713
class MoreOptionsLayer : FLAlertLayer, TextInputDelegate, GooglePlayDelegate, GJDropDownLayerDelegate {
15629-
// virtual ~MoreOptionsLayer();
15630-
MoreOptionsLayer() {}
15714+
MoreOptionsLayer() {
15715+
m_page = -1;
15716+
m_toggleCount = 0;
15717+
m_pageCount = 0;
15718+
m_gpSignInBtn = nullptr;
15719+
m_gpSignOutBtn = nullptr;
15720+
m_categoryLabel = nullptr;
15721+
}
15722+
~MoreOptionsLayer() {
15723+
CC_SAFE_RELEASE(m_objects);
15724+
CC_SAFE_RELEASE(m_variables);
15725+
auto gpm = GooglePlayManager::sharedState();
15726+
if (gpm->m_delegate2 == this) gpm->m_delegate2 = nullptr;
15727+
}
1563115728

1563215729
static MoreOptionsLayer* create() = ios 0xf0558, win inline, imac 0x785240, m1 0x6993f0 {
1563315730
auto ret = new MoreOptionsLayer();
@@ -15686,8 +15783,12 @@ class MoreOptionsLayer : FLAlertLayer, TextInputDelegate, GooglePlayDelegate, GJ
1568615783

1568715784
[[link(android)]]
1568815785
class MoreSearchLayer : FLAlertLayer, TextInputDelegate {
15689-
// virtual ~MoreSearchLayer();
15690-
inline MoreSearchLayer() {}
15786+
MoreSearchLayer() {}
15787+
~MoreSearchLayer() {
15788+
CC_SAFE_RELEASE(m_commonSongNodes);
15789+
CC_SAFE_RELEASE(m_normalSongNodes);
15790+
CC_SAFE_RELEASE(m_customSongNodes);
15791+
}
1569115792

1569215793
static MoreSearchLayer* create() = ios 0x57e9c, win inline, m1 0x541374, imac 0x615070 {
1569315794
auto ret = new MoreSearchLayer();
@@ -18918,8 +19019,14 @@ class SelectListIconDelegate {
1891819019

1891919020
[[link(android)]]
1892019021
class SelectListIconLayer : FLAlertLayer {
18921-
// virtual ~SelectListIconLayer();
18922-
SelectListIconLayer() {}
19022+
SelectListIconLayer() {
19023+
m_difficulties = nullptr;
19024+
m_currentDifficulty = 0;
19025+
m_delegate = nullptr;
19026+
}
19027+
~SelectListIconLayer() {
19028+
CC_SAFE_RELEASE(m_difficulties);
19029+
}
1892319030

1892419031
static SelectListIconLayer* create(int difficulty) = win inline, imac 0x34cd20 {
1892519032
auto ret = new SelectListIconLayer();
@@ -22940,7 +23047,7 @@ class StatsCell : TableViewCell {
2294023047
[[link(android)]]
2294123048
class StatsLayer : GJDropDownLayer {
2294223049
// virtual ~StatsLayer();
22943-
inline StatsLayer() {}
23050+
StatsLayer() {}
2294423051

2294523052
static StatsLayer* create() = win inline, m1 0x8e198, imac 0x9b220 {
2294623053
auto ret = new StatsLayer();
@@ -23466,7 +23573,7 @@ class TopArtistsLayer : FLAlertLayer, OnlineListDelegate {
2346623573
[[link(android)]]
2346723574
class TOSPopup : FLAlertLayer {
2346823575
// virtual ~TOSPopup();
23469-
inline TOSPopup() {}
23576+
TOSPopup() {}
2347023577

2347123578
static TOSPopup* create() = win inline {
2347223579
auto ret = new TOSPopup();

0 commit comments

Comments
 (0)