[version=100, target=main] //StageScene::control+18 BL stageSceneHook 4C8DD0 BL stageInitHook // hook to the init of a stage to modify certain conditions (we also have access to SceneInitInfo) 50F928 BL hakoniwaSequenceHook // hooks to start logger 5359D8 BL tryInitSocket // GameSystem::init B59E28 B seadPrintHook // sead::system::print // Debug Stuff 5359DC: MOV X0, X19 // move GameSystem to arg register BL setupDebugMenu 50F258: // HakoniwaSequence::drawMain+80 MOV X0, X19 // HakoniwaSequence MOV X1, SP // viewport MOV X2, X20 // drawContext BL drawMainHook // Main Stuff 50E89C BL constructHook // HakoniwaSequence::init+1F4 50EF2C: // HakoniwaSequence::init+884 MOV X0, X19 // move HakoniwaSequence ptr to arg register BL threadInit 41B4E4 BL setPlayerModel 1B3F0C NOP // disables call to open HTML viewer during first time odyssey flight 1F2A2C MOV W0, #1 // patches checkpoint system to always allow warping // Puppet Actor Setup 4B5E30 B ProjectActorFactory // patches actor factory ctor with custom matching factory 4CA0E4 BL initPuppetActors // Shine Syncing // 1CF470 BL shineHook //Shine::get 1D03EC MOV X1, X19 1D03F4 BL sendShinePacket //Shine::getWithDemo 1D1378 MOV X1, X19 1D1380 BL sendShinePacket //Shine::exeWaitRequestDemo 1D14C8 MOV X1, X19 1D14D0 BL sendShinePacket //Shine::receiveMsg 1D0188 MOV X1, X19 1D0190 BL sendShinePacket //Shine::getDirect 1CF124 MOV X1, X19 1CF12C BL sendShinePacket 1CEEDC BL registerShineToList // Amiibo Button Disabling 577078: // rs::isHoldAmiiboMode MOV X0, #0 RET 577018: // rs::isTriggerAmiiboMode MOV X0, #0 RET // Remap Snapshot to !L + Down 577014 B comboBtnHook // Capture Syncing 9CFB84 BL initObjHook // Save Data Edits 5167D0: GameConfigData::write+D0 B saveWriteHook 5168F8: GameConfigData::read+124 BL saveReadHook // WindowConfirm Edits 99C758: // WindowConfirmWait:tryEnd+1C (Forces logic to ignore current nerve) NOP NOP // Costume Setup 54C498: // rs::isHaveCloth MOV W0, #1 RET 54C4A4: // rs::isHaveCap MOV W0, #1 RET // Coin Counter Changes 20CA78 BL startCounterHook // starts coin counter if a gamemode is not active 20CAA8 BL startCounterHook // starts purple coin counter if gamemode is not active // Pause Menu Changes 4EAEC4 B overrideNerveHook // makes any button on pause menu run a specific nerve 4EA104 MOV W2, #5 // update state count to account for new custom state 4EA1F0 BL initNerveStateHook // inits options nerve state and server config state 4EA174 MOV X0, X20 // moves StageSceneStatePauseMenu to first arg 4EA17C NOP // prevents first new of StageSceneStateOption 4EA1A8 BL initStateHook // inits StageSceneStateOption and StageSceneStateServerConfig 4EA1C0 NOP // prevents mStateOption ptr from being overriden // Gravity hooks 455230 NOP // PlayerJointControlKeeper::update+C0 prevents PlayerJointControlGroundPose from updating 4B5E30 B ProjectActorFactory // patches actor factory ctor with custom matching factory 4BE628 B ProjectCameraPoserFactory // patches camera poser factory with custom matching factory 4463D8 BL initHackCapHook 4C9080 BL createTicketHook // hook to the init of a stage to create custom gravity camera ticket 5C00B0 BL borderPullBackHook // hooks over isFirstStep in WorldEndBorderKeeper::exePullBack so we can kill the player if they reach the border of the map