2022-06-16 21:33:18 +00:00
[version=100, target=main]
2024-06-14 09:21:27 +00:00
// StageScene::control+18 BL stageSceneHook
2022-06-16 21:33:18 +00:00
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
2024-06-14 09:21:27 +00:00
5359D8 BL tryInitSocket // GameSystem::init
B59E28 B seadPrintHook // sead::system::print
2022-06-16 21:33:18 +00:00
// Debug Stuff
5359DC:
MOV X0, X19 // move GameSystem to arg register
BL setupDebugMenu
2024-06-14 09:21:27 +00:00
50F258: // HakoniwaSequence::drawMain+80
2022-06-16 21:33:18 +00:00
MOV X0, X19 // HakoniwaSequence
2024-06-14 09:21:27 +00:00
MOV X1, SP // viewport
2022-06-16 21:33:18 +00:00
MOV X2, X20 // drawContext
BL drawMainHook
// Main Stuff
50E89C BL constructHook // HakoniwaSequence::init+1F4
2024-06-14 09:21:27 +00:00
50EF2C: // HakoniwaSequence::init+884
MOV X0, X19 // move HakoniwaSequence ptr to arg register
2022-06-16 21:33:18 +00:00
BL threadInit
41B4E4 BL setPlayerModel
2022-12-06 21:02:41 +00:00
1B3F0C NOP // disables call to open HTML viewer during first time odyssey flight
1F2998 B freezeIsCheckpointWarpAllowed // Patches checkpoint system to always allow warping, disable in freeze tag
216FAC MOV W0, #0 // disables AppearSwitchTimer's camera switch
2022-06-16 21:33:18 +00:00
// Puppet Actor Setup
4B5E30 B ProjectActorFactory // patches actor factory ctor with custom matching factory
4CA0E4 BL initPuppetActors
// Shine Syncing
// 1CF470 BL shineHook
2024-06-14 09:21:27 +00:00
// Shine::get
2022-06-16 21:33:18 +00:00
1D03EC MOV X1, X19
1D03F4 BL sendShinePacket
2024-06-14 09:21:27 +00:00
// Shine::getWithDemo
2022-06-16 21:33:18 +00:00
1D1378 MOV X1, X19
1D1380 BL sendShinePacket
2024-06-14 09:21:27 +00:00
// Shine::exeWaitRequestDemo
2022-06-16 21:33:18 +00:00
1D14C8 MOV X1, X19
1D14D0 BL sendShinePacket
2024-06-14 09:21:27 +00:00
// Shine::receiveMsg
2022-06-16 21:33:18 +00:00
1D0188 MOV X1, X19
1D0190 BL sendShinePacket
2024-06-14 09:21:27 +00:00
// Shine::getDirect
2022-06-16 21:33:18 +00:00
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
2022-12-06 21:02:41 +00:00
// Remap Snapshot to !L + Down, disables snapshot mode in freeze tag
2022-06-16 21:33:18 +00:00
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
// 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
2022-09-04 09:23:02 +00:00
// Other HUD Changes
20CB4C BL modeE3Hook // PlayGuideMenuLyt at StageSceneStateLayout::start+140
20CA5C BL modeE3Hook // MapMini::appearSlideIn at StageSceneStateLayout::start+50
20D160 BL modeE3Hook // MapMini::end at StageSceneStateLayout::exeEnd+8C
20D154 BL playGuideEndHook
2022-06-16 21:33:18 +00:00
// Pause Menu Changes
2022-10-27 03:40:21 +00:00
// 4EAEC4 B overrideNerveHook // makes any button on pause menu run a specific nerve
2024-06-14 09:21:27 +00:00
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
2022-10-27 03:40:21 +00:00
4EAFA4 B overrideHelpFadeNerve
2022-06-16 21:33:18 +00:00
// Gravity hooks
2024-06-14 09:21:27 +00:00
455230 NOP // PlayerJointControlKeeper::update+C0 prevents PlayerJointControlGroundPose from updating
4B5E30 B ProjectActorFactory // patches actor factory ctor with custom matching factory
2022-06-16 21:33:18 +00:00
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
2022-08-10 21:11:52 +00:00
2022-09-04 09:23:02 +00:00
// 4E46BC NOP // removes call to setEnableData for one of the commonverticallists in the options menu, which makes all entries in the menu look the same
8912B8 B drawTableHook
// 891394 BL drawInitHook
2022-12-06 21:02:41 +00:00
// 91328 BL updateInitHook
// Freeze tag hooks
4272F0 BL freezeDeathArea // Replaces functionality of death areas in freeze tag
538A94 B freezePlayerHitPointDamage // Reimplements the damage function, disabling it's functionality in Freeze Tag
51B280 B freezeKidsMode // Forces kids mode to be enabled during Freeze Tag
1CFBA0 BL freezeMoonHitboxDisable // When mode enabled, disable hitboxes with moons to avoid softlocks
2022-12-30 22:39:56 +00:00
// custom bootscreen hooks
50EF28 BL speedboot::hakoniwaSetNerveSetup
50EB88 ORR w2, wzr, #0x1f // nerve state count
50EB64 BL speedboot::prepareLayoutInitInfo