From ac095e9abfaae963e73598e058f6410ed04ab275 Mon Sep 17 00:00:00 2001 From: Archez Date: Sun, 19 May 2024 13:05:35 -0400 Subject: [PATCH] Pass in original animation from subs to Animation_change (#425) --- mm/src/code/z_sub_s.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mm/src/code/z_sub_s.c b/mm/src/code/z_sub_s.c index a1a8f003f..44191455b 100644 --- a/mm/src/code/z_sub_s.c +++ b/mm/src/code/z_sub_s.c @@ -538,8 +538,9 @@ s32 SubS_ChangeAnimationByInfoS(SkelAnime* skelAnime, AnimationInfoS* animationI animationInfo += animIndex; AnimationHeader* anim = animationInfo->animation; + AnimationHeader* ogAnim = anim; - if (ResourceMgr_OTRSigCheck(anim)) + if (ResourceMgr_OTRSigCheck(anim)) anim = ResourceMgr_LoadAnimByName(anim); endFrame = animationInfo->frameCount; @@ -553,7 +554,7 @@ s32 SubS_ChangeAnimationByInfoS(SkelAnime* skelAnime, AnimationInfoS* animationI if (animationInfo->playSpeed < 0.0f) { SWAP(s32, endFrame, startFrame); } - Animation_Change(skelAnime, anim, animationInfo->playSpeed, startFrame, endFrame, + Animation_Change(skelAnime, ogAnim, animationInfo->playSpeed, startFrame, endFrame, animationInfo->mode, animationInfo->morphFrames); return true; } @@ -1389,7 +1390,8 @@ void SubS_ChangeAnimationBySpeedInfo(SkelAnime* skelAnime, AnimationSpeedInfo* a f32 endFrame; f32 morphFrames; - AnimationHeader* anim = animation->animation; + AnimationHeader* anim = animation->animation; + AnimationHeader* ogAnim = anim; if (ResourceMgr_OTRSigCheck(anim)) anim = ResourceMgr_LoadAnimByName(anim); @@ -1411,7 +1413,7 @@ void SubS_ChangeAnimationBySpeedInfo(SkelAnime* skelAnime, AnimationSpeedInfo* a startFrame = Animation_GetLastFrame(&anim->common); endFrame = 0.0f; } - Animation_Change(skelAnime, anim, animation->playSpeed, startFrame, endFrame, animation->mode, + Animation_Change(skelAnime, ogAnim, animation->playSpeed, startFrame, endFrame, animation->mode, morphFrames); *curAnimIndex = nextAnimIndex; }