From 7c0d7ba57a2038af5b96a367679aeb70c045a12d Mon Sep 17 00:00:00 2001 From: altalk23 <45172705+altalk23@users.noreply.github.com> Date: Wed, 20 Dec 2023 18:36:54 +0300 Subject: [PATCH] make member check and size check less confusing --- loader/test/members/Android.cpp | 44 ++++----- loader/test/members/Common.hpp | 31 +++++-- loader/test/members/MacOS.cpp | 152 ++++++++++++++++---------------- loader/test/members/Windows.cpp | 96 ++++++++++---------- 4 files changed, 171 insertions(+), 152 deletions(-) diff --git a/loader/test/members/Android.cpp b/loader/test/members/Android.cpp index d7e61a34..b6598d3a 100644 --- a/loader/test/members/Android.cpp +++ b/loader/test/members/Android.cpp @@ -4,36 +4,38 @@ // Add known android struct members here +GEODE_SIZE_CHECK(CCObject, 0x34); + // needed classes are ones in the ids folder and some generic ones (i think they are already done though so only ids) -GEODE_MEMBER_CHECK(GameManager, m_playLayer, 0x138); -GEODE_MEMBER_CHECK(GameManager, m_levelEditorLayer, 0x13c); -GEODE_MEMBER_CHECK(GameManager, m_canGetLevelSaveData, 0x28c); +// GEODE_MEMBER_CHECK(GameManager, m_playLayer, 0x138); +// GEODE_MEMBER_CHECK(GameManager, m_levelEditorLayer, 0x13c); +// GEODE_MEMBER_CHECK(GameManager, m_canGetLevelSaveData, 0x28c); -static_assert(sizeof(GJBaseGameLayer) == 0x2cc); +// static_assert(sizeof(GJBaseGameLayer) == 0x2cc); -GEODE_MEMBER_CHECK(PlayLayer, unknown4e8, 0x2e8); -GEODE_MEMBER_CHECK(PlayLayer, m_endPortal, 0x324); -GEODE_MEMBER_CHECK(PlayLayer, m_bottomGround, 0x37c); -GEODE_MEMBER_CHECK(PlayLayer, m_topGround, 0x380); -GEODE_MEMBER_CHECK(PlayLayer, m_level, 0x470); -GEODE_MEMBER_CHECK(PlayLayer, m_shouldTryToKick, 0x4e0); +// GEODE_MEMBER_CHECK(PlayLayer, unknown4e8, 0x2e8); +// GEODE_MEMBER_CHECK(PlayLayer, m_endPortal, 0x324); +// GEODE_MEMBER_CHECK(PlayLayer, m_bottomGround, 0x37c); +// GEODE_MEMBER_CHECK(PlayLayer, m_topGround, 0x380); +// GEODE_MEMBER_CHECK(PlayLayer, m_level, 0x470); +// GEODE_MEMBER_CHECK(PlayLayer, m_shouldTryToKick, 0x4e0); -static_assert(sizeof(GameObject) == 0x42c); +// static_assert(sizeof(GameObject) == 0x42c); -GEODE_MEMBER_CHECK(GameStatsManager, m_dailyChests, 0x110); -GEODE_MEMBER_CHECK(GameStatsManager, m_completedLevels, 0x164); +// GEODE_MEMBER_CHECK(GameStatsManager, m_dailyChests, 0x110); +// GEODE_MEMBER_CHECK(GameStatsManager, m_completedLevels, 0x164); -GEODE_MEMBER_CHECK(DailyLevelPage, m_weekly, 0x1ed); +// GEODE_MEMBER_CHECK(DailyLevelPage, m_weekly, 0x1ed); -GEODE_MEMBER_CHECK(TeleportPortalObject, m_orangePortal, 0x430); +// GEODE_MEMBER_CHECK(TeleportPortalObject, m_orangePortal, 0x430); -GEODE_MEMBER_CHECK(EditorUI, m_rotationControl, 0x16c); -GEODE_MEMBER_CHECK(EditorUI, m_updateTimeMarkers, 0x1a4); -GEODE_MEMBER_CHECK(EditorUI, m_selectedObjects, 0x1bc); -GEODE_MEMBER_CHECK(EditorUI, m_selectedObject, 0x2c4); +// GEODE_MEMBER_CHECK(EditorUI, m_rotationControl, 0x16c); +// GEODE_MEMBER_CHECK(EditorUI, m_updateTimeMarkers, 0x1a4); +// GEODE_MEMBER_CHECK(EditorUI, m_selectedObjects, 0x1bc); +// GEODE_MEMBER_CHECK(EditorUI, m_selectedObject, 0x2c4); -GEODE_MEMBER_CHECK(MoreSearchLayer, m_enterSongID, 0x1E4); -GEODE_MEMBER_CHECK(MoreSearchLayer, m_songLeftBtn, 0x1D4); +// GEODE_MEMBER_CHECK(MoreSearchLayer, m_enterSongID, 0x1E4); +// GEODE_MEMBER_CHECK(MoreSearchLayer, m_songLeftBtn, 0x1D4); #endif \ No newline at end of file diff --git a/loader/test/members/Common.hpp b/loader/test/members/Common.hpp index 72b0b87b..10b004b1 100644 --- a/loader/test/members/Common.hpp +++ b/loader/test/members/Common.hpp @@ -6,19 +6,36 @@ struct False { static constexpr auto value = false; }; -template +template struct MemberIsOffsetBy { - static_assert(False::value, "Member is offset by this value"); + static_assert(False::value, "Member is offset by this value (Difference, Expected, Current)"); }; -template +template +struct SizeIsOffsetBy { + static_assert(False::value, "Size is offset by this value (Difference, Expected, Current)"); +}; + +template struct MemberIsOffsetBy { }; -template -struct SingleChecker { - using IsOffsetBy = MemberIsOffsetBy; +template +struct SizeIsOffsetBy { + }; -#define GEODE_MEMBER_CHECK(Class_, Member_, Offset_) class Member_; SingleChecker::IsOffsetBy GEODE_CONCAT(OffsetBy, __LINE__) +template +struct SingleMemberChecker { + using IsOffsetBy = MemberIsOffsetBy; +}; + +template +struct SingleSizeChecker { + using IsOffsetBy = MemberIsOffsetBy; +}; + +#define GEODE_MEMBER_CHECK(Class_, Member_, Offset_) class Member_; SingleMemberChecker::IsOffsetBy GEODE_CONCAT(OffsetBy, __LINE__) + +#define GEODE_SIZE_CHECK(Class_, Offset_) class Class_; SingleMemberChecker::IsOffsetBy GEODE_CONCAT(OffsetBy, __LINE__) diff --git a/loader/test/members/MacOS.cpp b/loader/test/members/MacOS.cpp index bbff3753..01fe5770 100644 --- a/loader/test/members/MacOS.cpp +++ b/loader/test/members/MacOS.cpp @@ -2,97 +2,97 @@ #ifdef GEODE_IS_MACOS -// PlayerObject -GEODE_MEMBER_CHECK(PlayerObject, m_collisionLog, 0x518); -GEODE_MEMBER_CHECK(PlayerObject, m_particleSystems, 0x590); -GEODE_MEMBER_CHECK(PlayerObject, m_waveTrail, 0x600); -GEODE_MEMBER_CHECK(PlayerObject, m_objectSnappedTo, 0x690); -GEODE_MEMBER_CHECK(PlayerObject, m_playerColor1, 0x7c2); +// // PlayerObject +// GEODE_MEMBER_CHECK(PlayerObject, m_collisionLog, 0x518); +// GEODE_MEMBER_CHECK(PlayerObject, m_particleSystems, 0x590); +// GEODE_MEMBER_CHECK(PlayerObject, m_waveTrail, 0x600); +// GEODE_MEMBER_CHECK(PlayerObject, m_objectSnappedTo, 0x690); +// GEODE_MEMBER_CHECK(PlayerObject, m_playerColor1, 0x7c2); -// EditorUI -GEODE_MEMBER_CHECK(EditorUI, m_buttonBar, 0x1a0); -GEODE_MEMBER_CHECK(EditorUI, m_scaleControl, 0x208); -GEODE_MEMBER_CHECK(EditorUI, m_swipeEnabled, 0x23c); -GEODE_MEMBER_CHECK(EditorUI, m_updateTimeMarkers, 0x244); -GEODE_MEMBER_CHECK(EditorUI, m_selectedObjects, 0x260); -GEODE_MEMBER_CHECK(EditorUI, m_selectedObject, 0x440); +// // EditorUI +// GEODE_MEMBER_CHECK(EditorUI, m_buttonBar, 0x1a0); +// GEODE_MEMBER_CHECK(EditorUI, m_scaleControl, 0x208); +// GEODE_MEMBER_CHECK(EditorUI, m_swipeEnabled, 0x23c); +// GEODE_MEMBER_CHECK(EditorUI, m_updateTimeMarkers, 0x244); +// GEODE_MEMBER_CHECK(EditorUI, m_selectedObjects, 0x260); +// GEODE_MEMBER_CHECK(EditorUI, m_selectedObject, 0x440); -// LevelEditorLayer -GEODE_MEMBER_CHECK(LevelEditorLayer, m_editorUI, 0x5d8); -GEODE_MEMBER_CHECK(LevelEditorLayer, m_level, 0x618); +// // LevelEditorLayer +// GEODE_MEMBER_CHECK(LevelEditorLayer, m_editorUI, 0x5d8); +// GEODE_MEMBER_CHECK(LevelEditorLayer, m_level, 0x618); -// PlayLayer -GEODE_MEMBER_CHECK(PlayLayer, unknown518, 0x518); -GEODE_MEMBER_CHECK(PlayLayer, unknown5f4, 0x5f4); -GEODE_MEMBER_CHECK(PlayLayer, unknown680, 0x680); -GEODE_MEMBER_CHECK(PlayLayer, m_replayInputs, 0x6a8); -GEODE_MEMBER_CHECK(PlayLayer, m_level, 0x728); -GEODE_MEMBER_CHECK(PlayLayer, m_shouldTryToKick, 0x7a8); +// // PlayLayer +// GEODE_MEMBER_CHECK(PlayLayer, unknown518, 0x518); +// GEODE_MEMBER_CHECK(PlayLayer, unknown5f4, 0x5f4); +// GEODE_MEMBER_CHECK(PlayLayer, unknown680, 0x680); +// GEODE_MEMBER_CHECK(PlayLayer, m_replayInputs, 0x6a8); +// GEODE_MEMBER_CHECK(PlayLayer, m_level, 0x728); +// GEODE_MEMBER_CHECK(PlayLayer, m_shouldTryToKick, 0x7a8); -// GameManager -GEODE_MEMBER_CHECK(GameManager, m_playLayer, 0x180); -GEODE_MEMBER_CHECK(GameManager, m_levelEditorLayer, 0x188); -GEODE_MEMBER_CHECK(GameManager, m_menuLayer, 0x198); -GEODE_MEMBER_CHECK(GameManager, m_playerUDID, 0x1b8); -GEODE_MEMBER_CHECK(GameManager, m_playerUserID, 0x1cc); -GEODE_MEMBER_CHECK(GameManager, m_playerFrame, 0x200); -GEODE_MEMBER_CHECK(GameManager, m_clickedGarage, 0x2a2); // todo: find why this is not 0x2a2 +// // GameManager +// GEODE_MEMBER_CHECK(GameManager, m_playLayer, 0x180); +// GEODE_MEMBER_CHECK(GameManager, m_levelEditorLayer, 0x188); +// GEODE_MEMBER_CHECK(GameManager, m_menuLayer, 0x198); +// GEODE_MEMBER_CHECK(GameManager, m_playerUDID, 0x1b8); +// GEODE_MEMBER_CHECK(GameManager, m_playerUserID, 0x1cc); +// GEODE_MEMBER_CHECK(GameManager, m_playerFrame, 0x200); +// GEODE_MEMBER_CHECK(GameManager, m_clickedGarage, 0x2a2); // todo: find why this is not 0x2a2 -// GameObject -GEODE_MEMBER_CHECK(GameObject, m_baseColorID, 0x27c); -GEODE_MEMBER_CHECK(GameObject, m_detailColorID, 0x280); -GEODE_MEMBER_CHECK(GameObject, m_active, 0x2e5); -GEODE_MEMBER_CHECK(GameObject, m_baseSprite, 0x348); -GEODE_MEMBER_CHECK(GameObject, m_startPosition, 0x37c); -GEODE_MEMBER_CHECK(GameObject, m_baseColor, 0x410); -GEODE_MEMBER_CHECK(GameObject, m_groups, 0x458); -GEODE_MEMBER_CHECK(GameObject, m_effectManager, 0x4d8); +// // GameObject +// GEODE_MEMBER_CHECK(GameObject, m_baseColorID, 0x27c); +// GEODE_MEMBER_CHECK(GameObject, m_detailColorID, 0x280); +// GEODE_MEMBER_CHECK(GameObject, m_active, 0x2e5); +// GEODE_MEMBER_CHECK(GameObject, m_baseSprite, 0x348); +// GEODE_MEMBER_CHECK(GameObject, m_startPosition, 0x37c); +// GEODE_MEMBER_CHECK(GameObject, m_baseColor, 0x410); +// GEODE_MEMBER_CHECK(GameObject, m_groups, 0x458); +// GEODE_MEMBER_CHECK(GameObject, m_effectManager, 0x4d8); -// EffectGameObject -GEODE_MEMBER_CHECK(EffectGameObject, m_duration, 0x4f0); -GEODE_MEMBER_CHECK(EffectGameObject, m_followMod, 0x530); -GEODE_MEMBER_CHECK(EffectGameObject, m_hsvValue, 0x560); -GEODE_MEMBER_CHECK(EffectGameObject, m_spawnDelay, 0x588); -GEODE_MEMBER_CHECK(EffectGameObject, m_itemBlockAID, 0x5b0); +// // EffectGameObject +// GEODE_MEMBER_CHECK(EffectGameObject, m_duration, 0x4f0); +// GEODE_MEMBER_CHECK(EffectGameObject, m_followMod, 0x530); +// GEODE_MEMBER_CHECK(EffectGameObject, m_hsvValue, 0x560); +// GEODE_MEMBER_CHECK(EffectGameObject, m_spawnDelay, 0x588); +// GEODE_MEMBER_CHECK(EffectGameObject, m_itemBlockAID, 0x5b0); -// TeleportPortalObject -GEODE_MEMBER_CHECK(TeleportPortalObject, m_orangePortal, 0x4f8); +// // TeleportPortalObject +// GEODE_MEMBER_CHECK(TeleportPortalObject, m_orangePortal, 0x4f8); -// StartPosObject -GEODE_MEMBER_CHECK(StartPosObject, m_levelSettings, 0x5e0); +// // StartPosObject +// GEODE_MEMBER_CHECK(StartPosObject, m_levelSettings, 0x5e0); -// SetupPulsePopup -GEODE_MEMBER_CHECK(SetupPulsePopup, m_currentColorSpr, 0x2d0); -GEODE_MEMBER_CHECK(SetupPulsePopup, m_pulseMode, 0x38c); +// // SetupPulsePopup +// GEODE_MEMBER_CHECK(SetupPulsePopup, m_currentColorSpr, 0x2d0); +// GEODE_MEMBER_CHECK(SetupPulsePopup, m_pulseMode, 0x38c); -// ColorSelectPopup -GEODE_MEMBER_CHECK(ColorSelectPopup, m_copyColor, 0x372); +// // ColorSelectPopup +// GEODE_MEMBER_CHECK(ColorSelectPopup, m_copyColor, 0x372); -// LevelInfoLayer -GEODE_MEMBER_CHECK(LevelInfoLayer, m_level, 0x1c0); +// // LevelInfoLayer +// GEODE_MEMBER_CHECK(LevelInfoLayer, m_level, 0x1c0); -// LevelBrowserLayer -GEODE_MEMBER_CHECK(LevelBrowserLayer, m_rightArrow, 0x1a8); -GEODE_MEMBER_CHECK(LevelBrowserLayer, m_leftArrow, 0x1b0); -GEODE_MEMBER_CHECK(LevelBrowserLayer, m_searchObject, 0x1d8); -GEODE_MEMBER_CHECK(LevelBrowserLayer, m_itemCount, 0x208); +// // LevelBrowserLayer +// GEODE_MEMBER_CHECK(LevelBrowserLayer, m_rightArrow, 0x1a8); +// GEODE_MEMBER_CHECK(LevelBrowserLayer, m_leftArrow, 0x1b0); +// GEODE_MEMBER_CHECK(LevelBrowserLayer, m_searchObject, 0x1d8); +// GEODE_MEMBER_CHECK(LevelBrowserLayer, m_itemCount, 0x208); -// LocalLevelManager -GEODE_MEMBER_CHECK(LocalLevelManager, m_localLevels, 0x140); +// // LocalLevelManager +// GEODE_MEMBER_CHECK(LocalLevelManager, m_localLevels, 0x140); -// GameStatsManager -GEODE_MEMBER_CHECK(GameStatsManager, m_dailyChests, 0x170); -GEODE_MEMBER_CHECK(GameStatsManager, m_completedLevels, 0x200); -GEODE_MEMBER_CHECK(GameStatsManager, m_weeklyChest, 0x278); +// // GameStatsManager +// GEODE_MEMBER_CHECK(GameStatsManager, m_dailyChests, 0x170); +// GEODE_MEMBER_CHECK(GameStatsManager, m_completedLevels, 0x200); +// GEODE_MEMBER_CHECK(GameStatsManager, m_weeklyChest, 0x278); -// DailyLevelPage -GEODE_MEMBER_CHECK(DailyLevelPage, m_weekly, 0x291); +// // DailyLevelPage +// GEODE_MEMBER_CHECK(DailyLevelPage, m_weekly, 0x291); -// GameLevelManager -GEODE_MEMBER_CHECK(GameLevelManager, m_weeklyID, 0x1a8); -GEODE_MEMBER_CHECK(GameLevelManager, m_gauntletLevels, 0x1b0); -GEODE_MEMBER_CHECK(GameLevelManager, m_timerDict, 0x1e8); -GEODE_MEMBER_CHECK(GameLevelManager, m_accountIDtoUserIDDict, 0x1f8); -GEODE_MEMBER_CHECK(GameLevelManager, m_userIDtoAccountIDDict, 0x200); +// // GameLevelManager +// GEODE_MEMBER_CHECK(GameLevelManager, m_weeklyID, 0x1a8); +// GEODE_MEMBER_CHECK(GameLevelManager, m_gauntletLevels, 0x1b0); +// GEODE_MEMBER_CHECK(GameLevelManager, m_timerDict, 0x1e8); +// GEODE_MEMBER_CHECK(GameLevelManager, m_accountIDtoUserIDDict, 0x1f8); +// GEODE_MEMBER_CHECK(GameLevelManager, m_userIDtoAccountIDDict, 0x200); #endif diff --git a/loader/test/members/Windows.cpp b/loader/test/members/Windows.cpp index 486ad8ae..ef64c583 100644 --- a/loader/test/members/Windows.cpp +++ b/loader/test/members/Windows.cpp @@ -2,64 +2,64 @@ #ifdef GEODE_IS_WINDOWS -GEODE_MEMBER_CHECK(cocos2d::CCApplication, m_fVsyncInterval, 0x8c); -GEODE_MEMBER_CHECK(AppDelegate, m_runningScene, 0xa0); +// GEODE_MEMBER_CHECK(cocos2d::CCApplication, m_fVsyncInterval, 0x8c); +// GEODE_MEMBER_CHECK(AppDelegate, m_runningScene, 0xa0); -GEODE_MEMBER_CHECK(GameObject, m_effectPlistName, 0x278); -GEODE_MEMBER_CHECK(GameObject, m_effectManager, 0x454); -GEODE_MEMBER_CHECK(GameObject, m_firstPosition, 0x424); +// GEODE_MEMBER_CHECK(GameObject, m_effectPlistName, 0x278); +// GEODE_MEMBER_CHECK(GameObject, m_effectManager, 0x454); +// GEODE_MEMBER_CHECK(GameObject, m_firstPosition, 0x424); -GEODE_MEMBER_CHECK(PlayerObject, m_unk484, 0x484); -GEODE_MEMBER_CHECK(PlayerObject, m_ghostTrail, 0x4E4); -GEODE_MEMBER_CHECK(PlayerObject, m_waveTrail, 0x514); -GEODE_MEMBER_CHECK(PlayerObject, m_isDart, 0x63b); -GEODE_MEMBER_CHECK(PlayerObject, m_isDashing, 0x641); +// GEODE_MEMBER_CHECK(PlayerObject, m_unk484, 0x484); +// GEODE_MEMBER_CHECK(PlayerObject, m_ghostTrail, 0x4E4); +// GEODE_MEMBER_CHECK(PlayerObject, m_waveTrail, 0x514); +// GEODE_MEMBER_CHECK(PlayerObject, m_isDart, 0x63b); +// GEODE_MEMBER_CHECK(PlayerObject, m_isDashing, 0x641); -GEODE_MEMBER_CHECK(EditorUI, m_buttonBar, 0x134); -GEODE_MEMBER_CHECK(EditorUI, m_hideableUIElementArray, 0x13c); -GEODE_MEMBER_CHECK(EditorUI, m_gridSize, 0x140); -GEODE_MEMBER_CHECK(EditorUI, m_objectInfoLabel, 0x168); -GEODE_MEMBER_CHECK(EditorUI, m_scaleControl, 0x17c); -GEODE_MEMBER_CHECK(EditorUI, m_selectedObject, 0x2c4); +// GEODE_MEMBER_CHECK(EditorUI, m_buttonBar, 0x134); +// GEODE_MEMBER_CHECK(EditorUI, m_hideableUIElementArray, 0x13c); +// GEODE_MEMBER_CHECK(EditorUI, m_gridSize, 0x140); +// GEODE_MEMBER_CHECK(EditorUI, m_objectInfoLabel, 0x168); +// GEODE_MEMBER_CHECK(EditorUI, m_scaleControl, 0x17c); +// GEODE_MEMBER_CHECK(EditorUI, m_selectedObject, 0x2c4); -GEODE_MEMBER_CHECK(LevelEditorLayer, m_editorUI, 0x380); -GEODE_MEMBER_CHECK(LevelEditorLayer, m_level, 0x3a8); +// GEODE_MEMBER_CHECK(LevelEditorLayer, m_editorUI, 0x380); +// GEODE_MEMBER_CHECK(LevelEditorLayer, m_level, 0x3a8); -GEODE_MEMBER_CHECK(GameManager, m_valueKeeper, 0x110); -GEODE_MEMBER_CHECK(GameManager, m_loaded, 0x148); -GEODE_MEMBER_CHECK(GameManager, m_playLayer, 0x164); -GEODE_MEMBER_CHECK(GameManager, m_levelEditorLayer, 0x168); -GEODE_MEMBER_CHECK(GameManager, m_playerUDID, 0x180); -GEODE_MEMBER_CHECK(GameManager, m_backgroundMusicVolume, 0x1c0); -GEODE_MEMBER_CHECK(GameManager, m_sceneEnum, 0x1dc); -GEODE_MEMBER_CHECK(GameManager, m_ratePower, 0x2d0); +// GEODE_MEMBER_CHECK(GameManager, m_valueKeeper, 0x110); +// GEODE_MEMBER_CHECK(GameManager, m_loaded, 0x148); +// GEODE_MEMBER_CHECK(GameManager, m_playLayer, 0x164); +// GEODE_MEMBER_CHECK(GameManager, m_levelEditorLayer, 0x168); +// GEODE_MEMBER_CHECK(GameManager, m_playerUDID, 0x180); +// GEODE_MEMBER_CHECK(GameManager, m_backgroundMusicVolume, 0x1c0); +// GEODE_MEMBER_CHECK(GameManager, m_sceneEnum, 0x1dc); +// GEODE_MEMBER_CHECK(GameManager, m_ratePower, 0x2d0); -GEODE_MEMBER_CHECK(PlayLayer, m_startPos, 0x32c); -GEODE_MEMBER_CHECK(PlayLayer, m_screenRingObjects, 0x36c); -GEODE_MEMBER_CHECK(PlayLayer, m_bottomGround, 0x38c); -GEODE_MEMBER_CHECK(PlayLayer, m_topGround, 0x390); -GEODE_MEMBER_CHECK(PlayLayer, m_isDead, 0x39c); -GEODE_MEMBER_CHECK(PlayLayer, m_levelLength, 0x3b4); -GEODE_MEMBER_CHECK(PlayLayer, m_attemptLabel, 0x3bc); -GEODE_MEMBER_CHECK(PlayLayer, m_sliderGrooveSprite, 0x404); -GEODE_MEMBER_CHECK(PlayLayer, m_gravitySprites, 0x424); -GEODE_MEMBER_CHECK(PlayLayer, m_level, 0x488); -GEODE_MEMBER_CHECK(PlayLayer, m_isTestMode, 0x494); -GEODE_MEMBER_CHECK(PlayLayer, m_antiCheatObject, 0x530); -GEODE_MEMBER_CHECK(PlayLayer, m_disableGravityEffect, 0x536); +// GEODE_MEMBER_CHECK(PlayLayer, m_startPos, 0x32c); +// GEODE_MEMBER_CHECK(PlayLayer, m_screenRingObjects, 0x36c); +// GEODE_MEMBER_CHECK(PlayLayer, m_bottomGround, 0x38c); +// GEODE_MEMBER_CHECK(PlayLayer, m_topGround, 0x390); +// GEODE_MEMBER_CHECK(PlayLayer, m_isDead, 0x39c); +// GEODE_MEMBER_CHECK(PlayLayer, m_levelLength, 0x3b4); +// GEODE_MEMBER_CHECK(PlayLayer, m_attemptLabel, 0x3bc); +// GEODE_MEMBER_CHECK(PlayLayer, m_sliderGrooveSprite, 0x404); +// GEODE_MEMBER_CHECK(PlayLayer, m_gravitySprites, 0x424); +// GEODE_MEMBER_CHECK(PlayLayer, m_level, 0x488); +// GEODE_MEMBER_CHECK(PlayLayer, m_isTestMode, 0x494); +// GEODE_MEMBER_CHECK(PlayLayer, m_antiCheatObject, 0x530); +// GEODE_MEMBER_CHECK(PlayLayer, m_disableGravityEffect, 0x536); -GEODE_MEMBER_CHECK(GJBaseGameLayer, m_boundingBox, 0x120); -GEODE_MEMBER_CHECK(GJBaseGameLayer, m_player1, 0x224); -GEODE_MEMBER_CHECK(GJBaseGameLayer, m_groups, 0x274); -GEODE_MEMBER_CHECK(GJBaseGameLayer, m_attemptClickCount, 0x2b4); -static_assert(sizeof(GJBaseGameLayer) == 0x2cc); +// GEODE_MEMBER_CHECK(GJBaseGameLayer, m_boundingBox, 0x120); +// GEODE_MEMBER_CHECK(GJBaseGameLayer, m_player1, 0x224); +// GEODE_MEMBER_CHECK(GJBaseGameLayer, m_groups, 0x274); +// GEODE_MEMBER_CHECK(GJBaseGameLayer, m_attemptClickCount, 0x2b4); +// static_assert(sizeof(GJBaseGameLayer) == 0x2cc); -GEODE_MEMBER_CHECK(AudioEffectsLayer, m_unk19C, 0x19c); +// GEODE_MEMBER_CHECK(AudioEffectsLayer, m_unk19C, 0x19c); -GEODE_MEMBER_CHECK(GameStatsManager, m_dailyChests, 0x114); -GEODE_MEMBER_CHECK(GameStatsManager, m_completedLevels, 0x144); +// GEODE_MEMBER_CHECK(GameStatsManager, m_dailyChests, 0x114); +// GEODE_MEMBER_CHECK(GameStatsManager, m_completedLevels, 0x144); -GEODE_MEMBER_CHECK(DailyLevelPage, m_weekly, 0x1ed); +// GEODE_MEMBER_CHECK(DailyLevelPage, m_weekly, 0x1ed); #endif