diff options
| author | Philip Dubé <159546+serprex@users.noreply.github.com> | 2026-10-03 14:33:49 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-03 14:33:49 +0000 |
| commit | e4f019f56165f4e2b463f77e02a9e6a7c03d7dfa (patch) | |
| tree | 5ac3bf360b42b8eadd1bccebe314806d75431589 | |
| parent | 45b9321593f5c12c2b747a9280554237eae0e034 (diff) | |
SwitchAge: prevent Link walking without collision for a bit (#7286)
| -rw-r--r-- | soh/soh/Enhancements/SwitchAge.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/soh/soh/Enhancements/SwitchAge.cpp b/soh/soh/Enhancements/SwitchAge.cpp index 71848f7eb..cd6a457a4 100644 --- a/soh/soh/Enhancements/SwitchAge.cpp +++ b/soh/soh/Enhancements/SwitchAge.cpp @@ -28,6 +28,7 @@ void SwitchAge() { gSaveContext.respawn[RESPAWN_MODE_DOWN].roomIndex = gPlayState->roomCtx.curRoom.num; gSaveContext.respawn[RESPAWN_MODE_DOWN].pos = player->actor.world.pos; gSaveContext.respawn[RESPAWN_MODE_DOWN].yaw = player->actor.shape.rot.y; + gSaveContext.entranceSpeed = 0.0f; if (gPlayState->roomCtx.curRoom.behaviorType2 < 4) { gSaveContext.respawn[RESPAWN_MODE_DOWN].playerParams = 0x0DFF; @@ -58,8 +59,12 @@ void SwitchAge() { } static HOOK_ID hookId = 0; + if (hookId != 0) { + GameInteractor::Instance->UnregisterGameHookForID<GameInteractor::OnVanillaBehavior>(hookId); + } hookId = REGISTER_VB_SHOULD(VB_INFLICT_VOID_DAMAGE, { *should = false; GameInteractor::Instance->UnregisterGameHookForID<GameInteractor::OnVanillaBehavior>(hookId); + hookId = 0; }); }
\ No newline at end of file |
