diff options
Diffstat (limited to 'mm/2s2h/GameInteractor/GameInteractor.cpp')
| -rw-r--r-- | mm/2s2h/GameInteractor/GameInteractor.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/mm/2s2h/GameInteractor/GameInteractor.cpp b/mm/2s2h/GameInteractor/GameInteractor.cpp index 7c3dd4d26..487af4f19 100644 --- a/mm/2s2h/GameInteractor/GameInteractor.cpp +++ b/mm/2s2h/GameInteractor/GameInteractor.cpp @@ -510,10 +510,15 @@ void ProcessEvents(Actor* actor) { f32 x2 = e->posX * c - e->posZ * s; f32 z2 = e->posX * s + e->posZ * c; Actor_Spawn(&gPlayState->actorCtx, gPlayState, e->actorId, x + x2, y + e->posY, z + z2, 0, - e->rot + player->actor.world.rot.y, 0, e->params); + e->rotY + player->actor.world.rot.y, 0, e->params); } else { - Actor_Spawn(&gPlayState->actorCtx, gPlayState, e->actorId, e->posX, e->posY, e->posZ, 0, e->rot, 0, - e->params); + Actor_Spawn(&gPlayState->actorCtx, gPlayState, e->actorId, e->posX, e->posY, e->posZ, e->rotX, e->rotY, + e->rotZ, e->params); + } + GameInteractor::Instance->currentEvent = GIEventNone{}; + } else if (auto e = std::get_if<GIEventTrap>(&nextEvent)) { + if (e->action) { + e->action(); } GameInteractor::Instance->currentEvent = GIEventNone{}; } |
