summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--soh/soh/Enhancements/SwitchAge.cpp5
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