|
| 1 | +#include <Common.hpp> |
| 2 | + |
| 3 | +#ifdef GEODE_IS_ANDROID32 |
| 4 | + |
| 5 | +using namespace geode::prelude; |
| 6 | + |
| 7 | +// Add known android struct members here |
| 8 | + |
| 9 | +GEODE_SIZE_CHECK(CCObject, 0x34); |
| 10 | +GEODE_SIZE_CHECK(CCNode, 0x108); |
| 11 | +GEODE_SIZE_CHECK(CCNodeRGBA, 0x118); |
| 12 | +GEODE_SIZE_CHECK(CCLayer, 0x13c); |
| 13 | +GEODE_SIZE_CHECK(CCLayerRGBA, 0x14c); |
| 14 | +GEODE_SIZE_CHECK(CCLayerColor, 0x1b8); |
| 15 | +GEODE_SIZE_CHECK(CCSprite, 0x1fc); |
| 16 | + |
| 17 | +GEODE_SIZE_CHECK(CCMenu, 0x154); |
| 18 | +GEODE_SIZE_CHECK(CCMenuItem, 0x12c); |
| 19 | +GEODE_SIZE_CHECK(CCMenuItemSprite, 0x138); |
| 20 | + |
| 21 | +GEODE_SIZE_CHECK(CCScale9Sprite, 0x1a4); |
| 22 | + |
| 23 | +GEODE_SIZE_CHECK(FLAlertLayer, 0x1f0); |
| 24 | +GEODE_SIZE_CHECK(BoomListView, 0x164); |
| 25 | +GEODE_SIZE_CHECK(CustomListView, 0x168); |
| 26 | +GEODE_SIZE_CHECK(CCMenuItemSpriteExtra, 0x174); |
| 27 | +GEODE_SIZE_CHECK(LoadingLayer, 0x15c); |
| 28 | +GEODE_SIZE_CHECK(GJDropDownLayer, 0x1e0); |
| 29 | +GEODE_SIZE_CHECK(TableViewCell, 0x19c); |
| 30 | +GEODE_SIZE_CHECK(Slider, 0x158); |
| 31 | +GEODE_SIZE_CHECK(SliderTouchLogic, 0x174); |
| 32 | +GEODE_SIZE_CHECK(CCScrollLayerExt, 0x184); |
| 33 | +GEODE_SIZE_CHECK(TableView, 0x1dc); |
| 34 | +GEODE_SIZE_CHECK(CCTextInputNode, 0x1a0); |
| 35 | +GEODE_SIZE_CHECK(CCTouchDispatcher, 0x6c); |
| 36 | +GEODE_SIZE_CHECK(CCSpritePlus, 0x208); |
| 37 | + |
| 38 | +// GEODE_MEMBER_CHECK(CCTouchDispatcher, m_forcePrio, 0x60); |
| 39 | + |
| 40 | +GEODE_MEMBER_CHECK(CCTextInputNode, m_maxLabelWidth, 0x164); |
| 41 | +GEODE_MEMBER_CHECK(CCTextInputNode, m_textField, 0x17c); |
| 42 | +GEODE_MEMBER_CHECK(FLAlertLayer, m_buttonMenu, 0x1b8); |
| 43 | +GEODE_MEMBER_CHECK(FLAlertLayer, m_mainLayer, 0x1c8); |
| 44 | +GEODE_MEMBER_CHECK(TableView, m_cellArray, 0x1b0); |
| 45 | +GEODE_MEMBER_CHECK(TableViewCell, m_indexPath, 0x144); |
| 46 | +GEODE_MEMBER_CHECK(TableViewCell, m_unknownString, 0x184); |
| 47 | +GEODE_MEMBER_CHECK(TableViewCell, m_backgroundLayer, 0x190); |
| 48 | +GEODE_SIZE_CHECK(CCBlockLayer, 0x1bc); |
| 49 | + |
| 50 | + |
| 51 | +GEODE_SIZE_CHECK(GJBaseGameLayer, 0x2d68); |
| 52 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_player1, 0x894); |
| 53 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_player2, 0x898); |
| 54 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_groupDict, 0x95c); |
| 55 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_unknownE38, 0x98c); |
| 56 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_massiveFloatArray, 0xa48); |
| 57 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_particlesDict, 0x2a04); |
| 58 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_customParticles, 0x2a08); |
| 59 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_unclaimedParticles, 0x2a0c); |
| 60 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_claimedParticles, 0x2a2c); |
| 61 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_temporaryParticles, 0x2a30); |
| 62 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_attempts, 0x29d4); |
| 63 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_gradientLayers, 0x2a50); |
| 64 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_startPosObject, 0x2a60); |
| 65 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_unk2a84, 0x2aa4); |
| 66 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_audioEffectsLayer, 0x2b04); |
| 67 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_queuedButtons, 0x2b5c); |
| 68 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_uiLayer, 0x2c10); |
| 69 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_sections, 0x2c34); |
| 70 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_sectionSizes, 0x2c88); |
| 71 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_audioVisualizerBG, 0x2ce4); |
| 72 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_loadingLayer, 0x2d54); |
| 73 | +GEODE_MEMBER_CHECK(GJBaseGameLayer, m_debugDrawNode, 0x2d58); |
| 74 | +// GEODE_MEMBER_CHECK(GJBaseGameLayer, m_started, 0x2c28); // i dont even know anymore |
| 75 | + |
| 76 | +GEODE_SIZE_CHECK(PlayLayer, 0x2f60); |
| 77 | +GEODE_MEMBER_CHECK(PlayLayer, m_circleWaveArray, 0x2e24); |
| 78 | +GEODE_MEMBER_CHECK(PlayLayer, m_attemptLabel, 0x2e38); |
| 79 | +GEODE_MEMBER_CHECK(PlayLayer, m_progressBar, 0x2e44); |
| 80 | +GEODE_MEMBER_CHECK(PlayLayer, m_jumps, 0x2e8c); |
| 81 | +GEODE_MEMBER_CHECK(PlayLayer, m_hasCompletedLevel, 0x2e99); |
| 82 | +GEODE_MEMBER_CHECK(PlayLayer, m_isPaused, 0x2eff); |
| 83 | + |
| 84 | +GEODE_SIZE_CHECK(DrawGridLayer, 0x1c0); |
| 85 | +GEODE_MEMBER_CHECK(DrawGridLayer, m_editorLayer, 0x17c); |
| 86 | +GEODE_MEMBER_CHECK(DrawGridLayer, m_gridSize, 0x1bc); |
| 87 | + |
| 88 | +GEODE_SIZE_CHECK(LevelEditorLayer, 0x2f48); |
| 89 | +GEODE_MEMBER_CHECK(LevelEditorLayer, m_trailTimer, 0x2e04); |
| 90 | +GEODE_MEMBER_CHECK(LevelEditorLayer, m_drawGridLayer, 0x2e24); |
| 91 | + |
| 92 | +GEODE_SIZE_CHECK(GameObject, 0x488); |
| 93 | +GEODE_MEMBER_CHECK(GameObject, m_particleString, 0x298); |
| 94 | + |
| 95 | +GEODE_SIZE_CHECK(EnhancedGameObject, 0x4f0); |
| 96 | +GEODE_SIZE_CHECK(EffectGameObject, 0x668); |
| 97 | +GEODE_SIZE_CHECK(TextGameObject, 0x490); |
| 98 | +GEODE_SIZE_CHECK(SmartGameObject, 0x490); |
| 99 | +GEODE_SIZE_CHECK(ParticleGameObject, 0x618); |
| 100 | +GEODE_SIZE_CHECK(SpecialAnimGameObject, 0x4f0); |
| 101 | +GEODE_SIZE_CHECK(RingObject, 0x668); |
| 102 | +GEODE_SIZE_CHECK(StartPosObject, 0x668); |
| 103 | +GEODE_SIZE_CHECK(LabelGameObject, 0x690); |
| 104 | +GEODE_SIZE_CHECK(TeleportPortalObject, 0x6a0); |
| 105 | + |
| 106 | +GEODE_SIZE_CHECK(PlayerObject, 0x9c8); |
| 107 | +GEODE_MEMBER_CHECK(PlayerObject, m_particleSystems, 0x580); |
| 108 | +GEODE_MEMBER_CHECK(PlayerObject, m_isHidden, 0x5cb); |
| 109 | +GEODE_MEMBER_CHECK(PlayerObject, m_ghostTrail, 0x5d0); |
| 110 | +GEODE_MEMBER_CHECK(PlayerObject, m_waveTrail, 0x610); |
| 111 | +GEODE_MEMBER_CHECK(PlayerObject, m_trailingParticleLife, 0x630); |
| 112 | +GEODE_MEMBER_CHECK(PlayerObject, m_padRingRelated, 0x640); |
| 113 | +GEODE_MEMBER_CHECK(PlayerObject, m_gv0096, 0x68a); |
| 114 | +GEODE_MEMBER_CHECK(PlayerObject, m_ringRelatedSet, 0x6a4); |
| 115 | +GEODE_MEMBER_CHECK(PlayerObject, m_objectSnappedTo, 0x6c0); |
| 116 | +GEODE_MEMBER_CHECK(PlayerObject, m_spiderSprite, 0x6d0); |
| 117 | +GEODE_MEMBER_CHECK(PlayerObject, m_playerGroundParticles, 0x6d8); |
| 118 | +GEODE_MEMBER_CHECK(PlayerObject, m_landParticles1, 0x704); |
| 119 | +GEODE_MEMBER_CHECK(PlayerObject, m_hasCustomGlowColor, 0x770); |
| 120 | +GEODE_MEMBER_CHECK(PlayerObject, m_isDart, 0x7ac); |
| 121 | +GEODE_MEMBER_CHECK(PlayerObject, m_vehicleSize, 0x7e0); |
| 122 | +GEODE_MEMBER_CHECK(PlayerObject, m_playerSpeed, 0x7e4); |
| 123 | +GEODE_MEMBER_CHECK(PlayerObject, m_shipRotation, 0x7e8); |
| 124 | +GEODE_MEMBER_CHECK(PlayerObject, m_lastGroundedPos, 0x81c); |
| 125 | +GEODE_MEMBER_CHECK(PlayerObject, m_touchingRings, 0x824); |
| 126 | +GEODE_MEMBER_CHECK(PlayerObject, m_position, 0x850); |
| 127 | +GEODE_MEMBER_CHECK(PlayerObject, m_playerFollowFloats, 0x880); |
| 128 | +GEODE_MEMBER_CHECK(PlayerObject, m_platformerXVelocity, 0x8a8); |
| 129 | +GEODE_MEMBER_CHECK(PlayerObject, m_isPlatformer, 0x920); |
| 130 | +GEODE_MEMBER_CHECK(PlayerObject, m_currentRobotAnimation, 0x988); |
| 131 | +GEODE_MEMBER_CHECK(PlayerObject, m_gameLayer, 0x9a8); |
| 132 | +GEODE_MEMBER_CHECK(PlayerObject, m_parentLayer, 0x9ac); |
| 133 | +GEODE_MEMBER_CHECK(PlayerObject, m_actionManager, 0x9b0); |
| 134 | + |
| 135 | + |
| 136 | + |
| 137 | +// following are from 2.205 so might not all be right |
| 138 | + |
| 139 | +GEODE_SIZE_CHECK(FMODAudioEngine, 0x4b0); |
| 140 | +GEODE_SIZE_CHECK(FMODAudioState, 0x1c8); |
| 141 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_musicVolume, 0x15c); |
| 142 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_sfxVolume, 0x160); |
| 143 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_pulse1, 0x16c); |
| 144 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_pulse2, 0x170); |
| 145 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_pulse3, 0x174); |
| 146 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_metering, 0x17c); |
| 147 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_system, 0x184); |
| 148 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_mainDSP, 0x188); |
| 149 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_globalChannelDSP, 0x18c); |
| 150 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_globalChannel, 0x190); |
| 151 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_channelGroup2, 0x194); |
| 152 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_lastResult, 0x198); |
| 153 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_sampleRate, 0x19c); |
| 154 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_reducedQuality, 0x1a0); |
| 155 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_audioState, 0x1b0); |
| 156 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_unkSoundVector, 0x378); |
| 157 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_queuedEffects, 0x430); |
| 158 | +GEODE_MEMBER_CHECK(FMODAudioEngine, m_unkMapIntChannelGroup474, 0x474); |
| 159 | + |
| 160 | +GEODE_MEMBER_CHECK(GameManager, m_playLayer, 0x16c); |
| 161 | +GEODE_MEMBER_CHECK(GameManager, m_gameLayer, 0x174); |
| 162 | + |
| 163 | +GEODE_MEMBER_CHECK(EditorUI, m_selectedObjects, 0x260); |
| 164 | +GEODE_MEMBER_CHECK(EditorUI, m_selectedObject, 0x370); |
| 165 | +GEODE_MEMBER_CHECK(EditorUI, m_buttonBar, 0x1c0); |
| 166 | +GEODE_MEMBER_CHECK(EditorUI, m_transformControl, 0x218); |
| 167 | +GEODE_MEMBER_CHECK(EditorUI, m_editButtonBar, 0x22c); |
| 168 | +GEODE_MEMBER_CHECK(EditorUI, m_positionSlider, 0x230); |
| 169 | +GEODE_MEMBER_CHECK(EditorUI, m_transformState, 0x174); |
| 170 | +GEODE_MEMBER_CHECK(EditorUI, m_editButtonBar, 0x22c); |
| 171 | +GEODE_MEMBER_CHECK(EditorUI, m_positionSlider, 0x230); |
| 172 | +GEODE_MEMBER_CHECK(EditorUI, m_selectedObjects, 0x260); |
| 173 | +GEODE_MEMBER_CHECK(EditorUI, m_selectedMode, 0x338); |
| 174 | +GEODE_MEMBER_CHECK(EditorUI, m_selectedObject, 0x370); |
| 175 | + |
| 176 | +GEODE_MEMBER_CHECK(GameObject, m_hasExtendedCollision, 0x218); |
| 177 | +GEODE_MEMBER_CHECK(GameObject, m_scaleX, 0x3e8); |
| 178 | + |
| 179 | +GEODE_SIZE_CHECK(SetupTriggerPopup, 0x2a8); |
| 180 | +GEODE_SIZE_CHECK(GJOptionsLayer, 0x2d8); |
| 181 | + |
| 182 | +GEODE_MEMBER_CHECK(ColorSelectPopup, m_colorAction, 0x2f0); |
| 183 | + |
| 184 | +GEODE_MEMBER_CHECK(ChallengesPage, m_dots, 0x1FC); |
| 185 | +GEODE_MEMBER_CHECK(ChallengesPage, m_challengeNodes, 0x210); |
| 186 | + |
| 187 | +GEODE_MEMBER_CHECK(GJEffectManager, m_colorActionDict, 0x198); |
| 188 | + |
| 189 | +GEODE_MEMBER_CHECK(HardStreak, m_pointArray, 0x158); |
| 190 | + |
| 191 | +GEODE_MEMBER_CHECK(GJShaderState, m_time, 0x38); |
| 192 | +GEODE_MEMBER_CHECK(GJShaderState, m_prevTime, 0x40); |
| 193 | +GEODE_MEMBER_CHECK(GJShaderState, m_lensCircleTintR, 0x176); |
| 194 | +GEODE_MEMBER_CHECK(GJShaderState, m_lensCircleTintG, 0x177); |
| 195 | +GEODE_MEMBER_CHECK(GJShaderState, m_lensCircleTintB, 0x178); |
| 196 | + |
| 197 | +GEODE_MEMBER_CHECK(ShaderLayer, m_shader, 0x3c4); |
| 198 | +GEODE_MEMBER_CHECK(ShaderLayer, m_gameLayer, 0x3d8); |
| 199 | +GEODE_MEMBER_CHECK(ShaderLayer, m_splitYRangeMultUniform, 0x590); |
| 200 | + |
| 201 | +GEODE_MEMBER_CHECK(SetupInstantCountPopup, m_itemID, 0x2b4); |
| 202 | + |
| 203 | +#endif |
0 commit comments