From 1d2626514c94158001566fa664222b0dcf34a4f7 Mon Sep 17 00:00:00 2001 From: angie Date: Tue, 28 Mar 2023 11:47:14 -0300 Subject: [PATCH] `DmaAnimation` rename --- include/z64.h | 2 +- include/z64animation.h | 44 +++---- include/z64player.h | 18 +-- src/code/z_skelanime.c | 119 +++++++++--------- src/overlays/actors/ovl_En_Rz/z_en_rz.c | 16 ++- src/overlays/actors/ovl_En_Test3/z_en_test3.c | 2 +- src/overlays/actors/ovl_En_Yb/z_en_yb.c | 16 +-- tools/disasm/functions.txt | 40 +++--- tools/namefixer.py | 32 ++--- tools/sizes/code_functions.csv | 40 +++--- 10 files changed, 162 insertions(+), 167 deletions(-) diff --git a/include/z64.h b/include/z64.h index 2a5f3621c3..29df90939b 100644 --- a/include/z64.h +++ b/include/z64.h @@ -752,7 +752,7 @@ typedef struct PlayState { /* 0x1878C */ void (*unk_1878C)(struct PlayState* play); /* 0x18790 */ void (*unk_18790)(struct PlayState* play, s16 arg1); /* 0x18794 */ PlayerItemAction (*unk_18794)(struct PlayState* play, Player* player, ItemId itemId); - /* 0x18798 */ s32 (*setPlayerTalkAnim)(struct PlayState* play, PlayerAnimationHeader* talkAnim, s32 animMode); + /* 0x18798 */ s32 (*setPlayerTalkAnim)(struct PlayState* play, DmaAnimationHeader* talkAnim, s32 animMode); /* 0x1879C */ s16 playerActorCsIds[10]; /* 0x187B0 */ MtxF viewProjectionMtxF; /* 0x187F0 */ Vec3f projectionMtxFDiagonal; diff --git a/include/z64animation.h b/include/z64animation.h index 4dd808af88..b8dec5f1c1 100644 --- a/include/z64animation.h +++ b/include/z64animation.h @@ -156,7 +156,7 @@ typedef struct { void* segmentVoid; struct PlayerAnimationFrame* linkAnimSegment; }; -} PlayerAnimationHeader; // size = 0x8 +} DmaAnimationHeader; // size = 0x8 typedef struct SkelAnime { /* 0x00 */ u8 limbCount; // Number of limbs in the skeleton @@ -164,7 +164,7 @@ typedef struct SkelAnime { /* 0x02 */ u8 dListCount; // Number of display lists in a flexible skeleton /* 0x03 */ s8 taper; // Tapering to use when morphing between animations. Only used by Door_Warp1. /* 0x04 */ void** skeleton; // An array of pointers to limbs. Can be StandardLimb, LodLimb, or SkinLimb. - /* 0x08 */ void* animation; // Can be an AnimationHeader or PlayerAnimationHeader. + /* 0x08 */ void* animation; // Can be an AnimationHeader or DmaAnimationHeader. /* 0x0C */ f32 startFrame; // In mode 4, start of partial loop. /* 0x10 */ f32 endFrame; // In mode 2, Update returns true when curFrame is equal to this. In mode 4, end of partial loop. /* 0x14 */ f32 animLength; // Total number of frames in the current animation's file. @@ -176,7 +176,7 @@ typedef struct SkelAnime { /* 0x2C */ f32 morphRate; // Reciprocal of the number of frames in the morph /* 0x30 */ union { s32 (*normal)(struct SkelAnime*);// Can be Loop, Partial loop, Play once, Morph, or Tapered morph - s32 (*player)(struct PlayState*, struct SkelAnime*); // Loop, Play once, and Morph + s32 (*dma)(struct PlayState*, struct SkelAnime*); // Loop, Play once, and Morph } update; /* 0x34 */ s8 initFlags; // Flags used when initializing Player's skeleton /* 0x35 */ u8 moveFlags; // Flags used for animations that move the actor in worldspace. @@ -315,7 +315,7 @@ Gfx* SkelAnime_DrawFlex(struct PlayState* play, void** skeleton, Vec3s* jointTab void AnimationContext_Reset(AnimationContext* animationCtx); void AnimationContext_SetNextQueue(struct PlayState* play); void AnimationContext_DisableQueue(struct PlayState* play); -void AnimationContext_SetLoadFrame(struct PlayState* play, PlayerAnimationHeader* animation, s32 frame, s32 limbCount, Vec3s* frameTable); +void AnimationContext_SetLoadFrame(struct PlayState* play, DmaAnimationHeader* animation, s32 frame, s32 limbCount, Vec3s* frameTable); void AnimationContext_SetCopyAll(struct PlayState* play, s32 vecCount, Vec3s* dst, Vec3s* src); void AnimationContext_SetInterp(struct PlayState* play, s32 vecCount, Vec3s* base, Vec3s* mod, f32 weight); void AnimationContext_SetCopyTrue(struct PlayState* play, s32 vecCount, Vec3s* dst, Vec3s* src, u8* copyFlag); @@ -323,24 +323,24 @@ void AnimationContext_SetCopyFalse(struct PlayState* play, s32 vecCount, Vec3s* void AnimationContext_SetMoveActor(struct PlayState* play, struct Actor* actor, SkelAnime* skelAnime, f32 arg3); void AnimationContext_Update(struct PlayState* play, AnimationContext* animationCtx); -void SkelAnime_InitPlayer(struct PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, PlayerAnimationHeader* animation, s32 flags, void* jointTableBuffer, void* morphTableBuffer, s32 limbBufCount); -void PlayerAnimation_SetUpdateFunction(SkelAnime* skelAnime); -s32 PlayerAnimation_Update(struct PlayState* play, SkelAnime* skelAnime); +void SkelAnime_InitPlayer(struct PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, DmaAnimationHeader* animation, s32 flags, void* jointTableBuffer, void* morphTableBuffer, s32 limbBufCount); +void DmaAnimation_SetUpdateFunction(SkelAnime* skelAnime); +s32 DmaAnimation_Update(struct PlayState* play, SkelAnime* skelAnime); void Animation_SetMorph(struct PlayState* play, SkelAnime* skelAnime, f32 morphFrames); -void PlayerAnimation_Change(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 playSpeed, f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames); -void PlayerAnimation_PlayOnce(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation); -void PlayerAnimation_PlayOnceSetSpeed(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 playSpeed); -void PlayerAnimation_PlayLoop(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation); -void PlayerAnimation_PlayLoopSetSpeed(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 playSpeed); -void PlayerAnimation_CopyJointToMorph(struct PlayState* play, SkelAnime* skelAnime); -void PlayerAnimation_CopyMorphToJoint(struct PlayState* play, SkelAnime* skelAnime); -void PlayerAnimation_LoadToMorph(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 frame); -void PlayerAnimation_LoadToJoint(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 frame); -void PlayerAnimation_InterpJointMorph(struct PlayState* play, SkelAnime* skelAnime, f32 weight); -void PlayerAnimation_BlendToJoint(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation1, f32 frame1, PlayerAnimationHeader* animation2, f32 frame2, f32 blendWeight, void* blendTableBuffer); -void PlayerAnimation_BlendToMorph(struct PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation1, f32 frame1, PlayerAnimationHeader* animation2, f32 frame2, f32 blendWeight, void* blendTableBuffer); -void PlayerAnimation_EndLoop(SkelAnime* skelAnime); -s32 PlayerAnimation_OnFrame(SkelAnime* skelAnime, f32 frame); +void DmaAnimation_Change(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 playSpeed, f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames); +void DmaAnimation_PlayOnce(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation); +void DmaAnimation_PlayOnceSetSpeed(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 playSpeed); +void DmaAnimation_PlayLoop(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation); +void DmaAnimation_PlayLoopSetSpeed(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 playSpeed); +void DmaAnimation_CopyJointToMorph(struct PlayState* play, SkelAnime* skelAnime); +void DmaAnimation_CopyMorphToJoint(struct PlayState* play, SkelAnime* skelAnime); +void DmaAnimation_LoadToMorph(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 frame); +void DmaAnimation_LoadToJoint(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 frame); +void DmaAnimation_InterpJointMorph(struct PlayState* play, SkelAnime* skelAnime, f32 weight); +void DmaAnimation_BlendToJoint(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation1, f32 frame1, DmaAnimationHeader* animation2, f32 frame2, f32 blendWeight, void* blendTableBuffer); +void DmaAnimation_BlendToMorph(struct PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation1, f32 frame1, DmaAnimationHeader* animation2, f32 frame2, f32 blendWeight, void* blendTableBuffer); +void DmaAnimation_EndLoop(SkelAnime* skelAnime); +s32 DmaAnimation_OnFrame(SkelAnime* skelAnime, f32 frame); void SkelAnime_Init(struct PlayState* play, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, AnimationHeader* animation, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount); void SkelAnime_InitFlex(struct PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, AnimationHeader* animation, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount); @@ -365,6 +365,6 @@ void SkelAnime_Free(SkelAnime* skelAnime, struct PlayState* play); // ZAPD compatibility typedefs // TODO: Remove when ZAPD adds support for them -typedef PlayerAnimationHeader LinkAnimationHeader; +typedef DmaAnimationHeader LinkAnimationHeader; #endif diff --git a/include/z64player.h b/include/z64player.h index fe4bfac58a..fa2c24905b 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -399,15 +399,15 @@ typedef struct PlayerAgeProperties { /* 0x94 */ u16 surfaceSfxIdOffset; /* 0x98 */ f32 unk_98; /* 0x9C */ f32 unk_9C; - /* 0xA0 */ PlayerAnimationHeader* unk_A0; - /* 0xA4 */ PlayerAnimationHeader* unk_A4; - /* 0xA8 */ PlayerAnimationHeader* unk_A8; - /* 0xAC */ PlayerAnimationHeader* unk_AC; - /* 0xB0 */ PlayerAnimationHeader* unk_B0; - /* 0xB4 */ PlayerAnimationHeader* unk_B4[4]; - /* 0xC4 */ PlayerAnimationHeader* unk_C4[2]; - /* 0xCC */ PlayerAnimationHeader* unk_CC[2]; - /* 0xD4 */ PlayerAnimationHeader* unk_D4[2]; + /* 0xA0 */ DmaAnimationHeader* unk_A0; + /* 0xA4 */ DmaAnimationHeader* unk_A4; + /* 0xA8 */ DmaAnimationHeader* unk_A8; + /* 0xAC */ DmaAnimationHeader* unk_AC; + /* 0xB0 */ DmaAnimationHeader* unk_B0; + /* 0xB4 */ DmaAnimationHeader* unk_B4[4]; + /* 0xC4 */ DmaAnimationHeader* unk_C4[2]; + /* 0xCC */ DmaAnimationHeader* unk_CC[2]; + /* 0xD4 */ DmaAnimationHeader* unk_D4[2]; } PlayerAgeProperties; // size = 0xDC typedef struct { diff --git a/src/code/z_skelanime.c b/src/code/z_skelanime.c index cba6b0a1dd..6290998be5 100644 --- a/src/code/z_skelanime.c +++ b/src/code/z_skelanime.c @@ -3,15 +3,15 @@ #define ANIM_INTERP 1 -s32 PlayerAnimation_Loop(PlayState* play, SkelAnime* skelAnime); -s32 PlayerAnimation_Once(PlayState* play, SkelAnime* skelAnime); +s32 DmaAnimation_Loop(PlayState* play, SkelAnime* skelAnime); +s32 DmaAnimation_Once(PlayState* play, SkelAnime* skelAnime); s32 SkelAnime_LoopFull(SkelAnime* skelAnime); s32 SkelAnime_LoopPartial(SkelAnime* skelAnime); s32 SkelAnime_Once(SkelAnime* skelAnime); void Animation_PlayLoop(SkelAnime* skelAnime, AnimationHeader* animation); void SkelAnime_UpdateTranslation(SkelAnime* skelAnime, Vec3f* diff, s16 angle); -void PlayerAnimation_Change(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 playSpeed, - f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames); +void DmaAnimation_Change(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 playSpeed, + f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames); void SkelAnime_CopyFrameTable(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src); void AnimationContext_LoadFrame(struct PlayState* play, AnimationEntryData* data); @@ -1001,18 +1001,18 @@ AnimationEntry* AnimationContext_AddEntry(AnimationContext* animationCtx, Animat /** * Requests loading frame data from the Player animation into frameTable */ -void AnimationContext_SetLoadFrame(PlayState* play, PlayerAnimationHeader* animation, s32 frame, s32 limbCount, +void AnimationContext_SetLoadFrame(PlayState* play, DmaAnimationHeader* animation, s32 frame, s32 limbCount, Vec3s* frameTable) { AnimationEntry* entry = AnimationContext_AddEntry(&play->animationCtx, ANIMATION_LINKANIMETION); if (entry != NULL) { - PlayerAnimationHeader* playerAnimHeader = Lib_SegmentedToVirtual(animation); + DmaAnimationHeader* dmaAnimHeader = Lib_SegmentedToVirtual(animation); void* ram = (void*)frameTable; osCreateMesgQueue(&entry->data.load.msgQueue, entry->data.load.msg, ARRAY_COUNT(entry->data.load.msg)); DmaMgr_SendRequestImpl( &entry->data.load.req, ram, - LINK_ANIMETION_OFFSET(playerAnimHeader->linkAnimSegment, (sizeof(Vec3s) * limbCount + sizeof(s16)) * frame), + LINK_ANIMETION_OFFSET(dmaAnimHeader->segmentVoid, (sizeof(Vec3s) * limbCount + sizeof(s16)) * frame), sizeof(Vec3s) * limbCount + sizeof(s16), 0, &entry->data.load.msgQueue, NULL); } } @@ -1195,11 +1195,11 @@ void AnimationContext_Update(PlayState* play, AnimationContext* animationCtx) { } /** - * Initializes a skeleton to be used with Player animations to a looping animation, dynamically allocating the frame + * Initializes a skeleton to be used with DMA animations to a looping animation, dynamically allocating the frame * tables if not given. */ void SkelAnime_InitPlayer(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, - PlayerAnimationHeader* animation, s32 flags, void* jointTableBuffer, void* morphTableBuffer, + DmaAnimationHeader* animation, s32 flags, void* jointTableBuffer, void* morphTableBuffer, s32 limbBufCount) { FlexSkeletonHeader* skeletonHeader; s32 headerJointCount; @@ -1236,17 +1236,17 @@ void SkelAnime_InitPlayer(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHea skelAnime->morphTable = (void*)ALIGN16((uintptr_t)morphTableBuffer); } - PlayerAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f); + DmaAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f); } /** - * Sets the update function of a SkelAnime that uses Player animations based on its mode + * Sets the update function of a SkelAnime that uses DMA animations based on its mode */ -void PlayerAnimation_SetUpdateFunction(SkelAnime* skelAnime) { +void DmaAnimation_SetUpdateFunction(SkelAnime* skelAnime) { if (skelAnime->mode <= ANIMMODE_LOOP_INTERP) { - skelAnime->update.player = PlayerAnimation_Loop; + skelAnime->update.dma = DmaAnimation_Loop; } else { - skelAnime->update.player = PlayerAnimation_Once; + skelAnime->update.dma = DmaAnimation_Once; } skelAnime->morphWeight = 0.0f; } @@ -1255,21 +1255,21 @@ void PlayerAnimation_SetUpdateFunction(SkelAnime* skelAnime) { * Advances the current Player animation and updates all frame tables. If the animation plays once, returns true when it * finishes. */ -s32 PlayerAnimation_Update(PlayState* play, SkelAnime* skelAnime) { - return skelAnime->update.player(play, skelAnime); +s32 DmaAnimation_Update(PlayState* play, SkelAnime* skelAnime) { + return skelAnime->update.dma(play, skelAnime); } /** * Requests an interpolation between the pose in jointTable to the one in morphTable, advancing the morph but not the * animation frame */ -s32 PlayerAnimation_Morph(PlayState* play, SkelAnime* skelAnime) { +s32 DmaAnimation_Morph(PlayState* play, SkelAnime* skelAnime) { f32 prevMorphWeight = skelAnime->morphWeight; f32 updateRate = (s32)play->state.framerateDivisor * 0.5f; skelAnime->morphWeight -= skelAnime->morphRate * updateRate; if (skelAnime->morphWeight <= 0.0f) { - PlayerAnimation_SetUpdateFunction(skelAnime); + DmaAnimation_SetUpdateFunction(skelAnime); } AnimationContext_SetInterp(play, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable, @@ -1281,7 +1281,7 @@ s32 PlayerAnimation_Morph(PlayState* play, SkelAnime* skelAnime) { * Requests a load of the next frame of a Player animation, advances the morph, and requests an interpolation between * jointTable and morphTable */ -void PlayerAnimation_AnimateFrame(PlayState* play, SkelAnime* skelAnime) { +void DmaAnimation_AnimateFrame(PlayState* play, SkelAnime* skelAnime) { AnimationContext_SetLoadFrame(play, skelAnime->animation, skelAnime->curFrame, skelAnime->limbCount, skelAnime->jointTable); if (skelAnime->morphWeight != 0) { @@ -1299,7 +1299,7 @@ void PlayerAnimation_AnimateFrame(PlayState* play, SkelAnime* skelAnime) { /** * Advances a Player animation that loops over its full length */ -s32 PlayerAnimation_Loop(PlayState* play, SkelAnime* skelAnime) { +s32 DmaAnimation_Loop(PlayState* play, SkelAnime* skelAnime) { f32 updateRate = (s32)play->state.framerateDivisor * 0.5f; skelAnime->curFrame += skelAnime->playSpeed * updateRate; @@ -1308,18 +1308,18 @@ s32 PlayerAnimation_Loop(PlayState* play, SkelAnime* skelAnime) { } else if (skelAnime->animLength <= skelAnime->curFrame) { skelAnime->curFrame -= skelAnime->animLength; } - PlayerAnimation_AnimateFrame(play, skelAnime); + DmaAnimation_AnimateFrame(play, skelAnime); return false; } /** * Advances a Player animation that stops at endFrame and returns true when it is reached. */ -s32 PlayerAnimation_Once(PlayState* play, SkelAnime* skelAnime) { +s32 DmaAnimation_Once(PlayState* play, SkelAnime* skelAnime) { f32 updateRate = (s32)play->state.framerateDivisor * 0.5f; if (skelAnime->curFrame == skelAnime->endFrame) { - PlayerAnimation_AnimateFrame(play, skelAnime); + DmaAnimation_AnimateFrame(play, skelAnime); return true; } @@ -1334,7 +1334,7 @@ s32 PlayerAnimation_Once(PlayState* play, SkelAnime* skelAnime) { skelAnime->curFrame -= skelAnime->animLength; } } - PlayerAnimation_AnimateFrame(play, skelAnime); + DmaAnimation_AnimateFrame(play, skelAnime); return false; } @@ -1352,23 +1352,22 @@ void Animation_SetMorph(PlayState* play, SkelAnime* skelAnime, f32 morphFrames) * animation, then start the new animation. Negative morph frames start the new animation immediately, modified by the * pose immediately before the animation change. */ -void PlayerAnimation_Change(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 playSpeed, - f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames) { +void DmaAnimation_Change(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 playSpeed, + f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames) { skelAnime->mode = mode; if ((morphFrames != 0.0f) && ((animation != skelAnime->animation) || (startFrame != skelAnime->curFrame))) { if (morphFrames < 0) { - PlayerAnimation_SetUpdateFunction(skelAnime); + DmaAnimation_SetUpdateFunction(skelAnime); SkelAnime_CopyFrameTable(skelAnime, skelAnime->morphTable, skelAnime->jointTable); morphFrames = -morphFrames; } else { - skelAnime->update.player = PlayerAnimation_Morph; - AnimationContext_SetLoadFrame(play, animation, (s32)startFrame, skelAnime->limbCount, - skelAnime->morphTable); + skelAnime->update.dma = DmaAnimation_Morph; + AnimationContext_SetLoadFrame(play, animation, startFrame, skelAnime->limbCount, skelAnime->morphTable); } skelAnime->morphWeight = 1.0f; skelAnime->morphRate = 1.0f / morphFrames; } else { - PlayerAnimation_SetUpdateFunction(skelAnime); + DmaAnimation_SetUpdateFunction(skelAnime); AnimationContext_SetLoadFrame(play, animation, (s32)startFrame, skelAnime->limbCount, skelAnime->jointTable); skelAnime->morphWeight = 0.0f; } @@ -1385,78 +1384,77 @@ void PlayerAnimation_Change(PlayState* play, SkelAnime* skelAnime, PlayerAnimati /** * Immediately changes to a Player animation that plays once at the default speed. */ -void PlayerAnimation_PlayOnce(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation) { - PlayerAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(&animation->common), - ANIMMODE_ONCE, 0.0f); +void DmaAnimation_PlayOnce(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation) { + DmaAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(&animation->common), + ANIMMODE_ONCE, 0.0f); } /** * Immediately changes to a Player animation that plays once at the specified speed. */ -void PlayerAnimation_PlayOnceSetSpeed(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, - f32 playSpeed) { - PlayerAnimation_Change(play, skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(&animation->common), - ANIMMODE_ONCE, 0.0f); +void DmaAnimation_PlayOnceSetSpeed(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, + f32 playSpeed) { + DmaAnimation_Change(play, skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(&animation->common), + ANIMMODE_ONCE, 0.0f); } /** * Immediately changes to a Player animation that loops at the default speed. */ -void PlayerAnimation_PlayLoop(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation) { - PlayerAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(&animation->common), - ANIMMODE_LOOP, 0.0f); +void DmaAnimation_PlayLoop(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation) { + DmaAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(&animation->common), + ANIMMODE_LOOP, 0.0f); } /** * Immediately changes to a Player animation that loops at the specified speed. */ -void PlayerAnimation_PlayLoopSetSpeed(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, - f32 playSpeed) { - PlayerAnimation_Change(play, skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(&animation->common), - ANIMMODE_LOOP, 0.0f); +void DmaAnimation_PlayLoopSetSpeed(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, + f32 playSpeed) { + DmaAnimation_Change(play, skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(&animation->common), + ANIMMODE_LOOP, 0.0f); } /** * Requests copying jointTable to morphTable */ -void PlayerAnimation_CopyJointToMorph(PlayState* play, SkelAnime* skelAnime) { +void DmaAnimation_CopyJointToMorph(PlayState* play, SkelAnime* skelAnime) { AnimationContext_SetCopyAll(play, skelAnime->limbCount, skelAnime->morphTable, skelAnime->jointTable); } /** * Requests copying morphTable to jointTable */ -void PlayerAnimation_CopyMorphToJoint(PlayState* play, SkelAnime* skelAnime) { +void DmaAnimation_CopyMorphToJoint(PlayState* play, SkelAnime* skelAnime) { AnimationContext_SetCopyAll(play, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable); } /** * Requests loading frame data from the Player animation into morphTable */ -void PlayerAnimation_LoadToMorph(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 frame) { +void DmaAnimation_LoadToMorph(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 frame) { AnimationContext_SetLoadFrame(play, animation, (s32)frame, skelAnime->limbCount, skelAnime->morphTable); } /** * Requests loading frame data from the Player animation into jointTable */ -void PlayerAnimation_LoadToJoint(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 frame) { +void DmaAnimation_LoadToJoint(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation, f32 frame) { AnimationContext_SetLoadFrame(play, animation, (s32)frame, skelAnime->limbCount, skelAnime->jointTable); } /** * Requests interpolating between jointTable and morphTable, placing the result in jointTable */ -void PlayerAnimation_InterpJointMorph(PlayState* play, SkelAnime* skelAnime, f32 weight) { +void DmaAnimation_InterpJointMorph(PlayState* play, SkelAnime* skelAnime, f32 weight) { AnimationContext_SetInterp(play, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable, weight); } /** - * Requests loading frame data from the Player animations and blending them, placing the result in jointTable + * Requests loading frame data from the DMA animations and blending them, placing the result in jointTable */ -void PlayerAnimation_BlendToJoint(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation1, f32 frame1, - PlayerAnimationHeader* animation2, f32 frame2, f32 blendWeight, - void* blendTableBuffer) { +void DmaAnimation_BlendToJoint(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation1, f32 frame1, + DmaAnimationHeader* animation2, f32 frame2, f32 blendWeight, void* blendTableBuffer) { void* alignedBlendTable; AnimationContext_SetLoadFrame(play, animation1, (s32)frame1, skelAnime->limbCount, skelAnime->jointTable); @@ -1468,11 +1466,10 @@ void PlayerAnimation_BlendToJoint(PlayState* play, SkelAnime* skelAnime, PlayerA } /** - * Requests loading frame data from the Player animations and blending them, placing the result in morphTable + * Requests loading frame data from the DMA animations and blending them, placing the result in morphTable */ -void PlayerAnimation_BlendToMorph(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation1, f32 frame1, - PlayerAnimationHeader* animation2, f32 frame2, f32 blendWeight, - void* blendTableBuffer) { +void DmaAnimation_BlendToMorph(PlayState* play, SkelAnime* skelAnime, DmaAnimationHeader* animation1, f32 frame1, + DmaAnimationHeader* animation2, f32 frame2, f32 blendWeight, void* blendTableBuffer) { void* alignedBlendTable; AnimationContext_SetLoadFrame(play, animation1, (s32)frame1, skelAnime->limbCount, skelAnime->morphTable); @@ -1486,9 +1483,9 @@ void PlayerAnimation_BlendToMorph(PlayState* play, SkelAnime* skelAnime, PlayerA /** * Changes a looping animation to one that stops at the end. */ -void PlayerAnimation_EndLoop(SkelAnime* skelAnime) { +void DmaAnimation_EndLoop(SkelAnime* skelAnime) { skelAnime->mode = ANIMMODE_ONCE; - PlayerAnimation_SetUpdateFunction(skelAnime); + DmaAnimation_SetUpdateFunction(skelAnime); } /** @@ -1521,7 +1518,7 @@ s32 Animation_OnFrameImpl(SkelAnime* skelAnime, f32 frame, f32 updateRate) { /** * Checks if the current Player animation has reached the specified frame */ -s32 PlayerAnimation_OnFrame(SkelAnime* skelAnime, f32 frame) { +s32 DmaAnimation_OnFrame(SkelAnime* skelAnime, f32 frame) { f32 updateRate = gFramerateDivisorHalf; return Animation_OnFrameImpl(skelAnime, frame, updateRate); diff --git a/src/overlays/actors/ovl_En_Rz/z_en_rz.c b/src/overlays/actors/ovl_En_Rz/z_en_rz.c index a9ee562ef2..bca44b7159 100644 --- a/src/overlays/actors/ovl_En_Rz/z_en_rz.c +++ b/src/overlays/actors/ovl_En_Rz/z_en_rz.c @@ -203,7 +203,7 @@ void EnRz_ChangeAnim(PlayState* play, EnRz* this, s16 animIndex, u8 animMode, f3 &gRosaSistersStandingAnim, &gRosaSistersStandingAnim, &gRosaSistersWalkingAnim, &gRosaSistersSittingAnim, &gRosaSistersApplaudingAnim, &gRosaSistersOnKneesAnim, &gRosaSistersDancingAnim, }; - static PlayerAnimationHeader* sPlayerAnimations[] = { + static DmaAnimationHeader* sDmaAnimations[] = { &gPlayerAnim_link_normal_wait_free, &gPlayerAnim_alink_dance_loop, }; @@ -219,15 +219,13 @@ void EnRz_ChangeAnim(PlayState* play, EnRz* this, s16 animIndex, u8 animMode, f3 if ((animIndex >= EN_RZ_ANIM_THINKING) && (animIndex < EN_RZ_ANIM_MAX) && ((animIndex != this->animIndex) || (animMode != ANIMMODE_LOOP))) { if (animIndex >= ARRAY_COUNT(sJudoAnimations)) { - endFrame = Animation_GetLastFrame(sPlayerAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)]); + endFrame = Animation_GetLastFrame(sDmaAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)]); if (animMode == ANIMMODE_LOOP) { - PlayerAnimation_Change(play, &this->skelAnime, - sPlayerAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)], 2.0f / 3.0f, 0.0f, - endFrame, ANIMMODE_LOOP, morphFrames); + DmaAnimation_Change(play, &this->skelAnime, sDmaAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)], + 2.0f / 3.0f, 0.0f, endFrame, ANIMMODE_LOOP, morphFrames); } else { - PlayerAnimation_Change(play, &this->skelAnime, - sPlayerAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)], 2.0f / 3.0f, 0.0f, - endFrame, ANIMMODE_LOOP, morphFrames); + DmaAnimation_Change(play, &this->skelAnime, sDmaAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)], + 2.0f / 3.0f, 0.0f, endFrame, ANIMMODE_LOOP, morphFrames); } } else { Animation_Change(&this->skelAnime, animationPtr[animIndex], 1.0f, 0.0f, @@ -327,7 +325,7 @@ s32 EnRz_UpdateSkelAnime(EnRz* this, PlayState* play) { if (this->animIndex < EN_RZ_ANIM_LINK_NORMAL_WAIT_FREE) { return SkelAnime_Update(&this->skelAnime); } else { - return PlayerAnimation_Update(play, &this->skelAnime); + return DmaAnimation_Update(play, &this->skelAnime); } } diff --git a/src/overlays/actors/ovl_En_Test3/z_en_test3.c b/src/overlays/actors/ovl_En_Test3/z_en_test3.c index 3844242652..63d0e7ebc7 100644 --- a/src/overlays/actors/ovl_En_Test3/z_en_test3.c +++ b/src/overlays/actors/ovl_En_Test3/z_en_test3.c @@ -321,7 +321,7 @@ s32 func_80A3E898(EnTest3* this, PlayState* play) { func_80151938(play, textId); } if (textId == 0x296B) { - PlayerAnimation_PlayOnceSetSpeed(play, &this->player.skelAnime, &gPlayerAnim_al_yareyare, 2.0f / 3.0f); + DmaAnimation_PlayOnceSetSpeed(play, &this->player.skelAnime, &gPlayerAnim_al_yareyare, 2.0f / 3.0f); } return false; } diff --git a/src/overlays/actors/ovl_En_Yb/z_en_yb.c b/src/overlays/actors/ovl_En_Yb/z_en_yb.c index d5bba97500..8b4a9cac60 100644 --- a/src/overlays/actors/ovl_En_Yb/z_en_yb.c +++ b/src/overlays/actors/ovl_En_Yb/z_en_yb.c @@ -68,7 +68,7 @@ static ColliderCylinderInit sCylinderInit = { // assumption: draw uses two different skeleton functions, might be incompatible static AnimationHeader* gYbUnusedAnimations[] = { &object_yb_Anim_000200 }; -static PlayerAnimationHeader* gPlayerAnimations[] = { +static DmaAnimationHeader* gDmaAnimations[] = { &gPlayerAnim_link_normal_wait_free, &gPlayerAnim_alink_dance_loop, }; @@ -174,14 +174,14 @@ void EnYb_ChangeAnim(PlayState* play, EnYb* this, s16 animIndex, u8 animMode, f3 if ((animIndex != this->animIndex) || (animMode != ANIMMODE_LOOP)) { if (animIndex > 0) { if (animMode == ANIMMODE_LOOP) { - PlayerAnimation_Change(play, &this->skelAnime, gPlayerAnimations[animIndex - 1], 1.0f, 0.0f, - Animation_GetLastFrame(gPlayerAnimations[animIndex - 1]), ANIMMODE_LOOP, - morphFrames); + DmaAnimation_Change(play, &this->skelAnime, gDmaAnimations[animIndex - 1], 1.0f, 0.0f, + Animation_GetLastFrame(gDmaAnimations[animIndex - 1]), ANIMMODE_LOOP, + morphFrames); } else { // unused case, (only called once with animMode = ANIMMODE_LOOP) - PlayerAnimation_Change(play, &this->skelAnime, gPlayerAnimations[animIndex - 1], 1.0f, 0.0f, - Animation_GetLastFrame(gPlayerAnimations[animIndex - 1]), ANIMMODE_LOOP, - morphFrames); + DmaAnimation_Change(play, &this->skelAnime, gDmaAnimations[animIndex - 1], 1.0f, 0.0f, + Animation_GetLastFrame(gDmaAnimations[animIndex - 1]), ANIMMODE_LOOP, + morphFrames); } } else { // unused case, (only called once with animIndex = 2) @@ -210,7 +210,7 @@ void EnYb_UpdateAnimation(EnYb* this, PlayState* play) { if (this->animIndex <= 0) { SkelAnime_Update(&this->skelAnime); } else { - PlayerAnimation_Update(play, &this->skelAnime); + DmaAnimation_Update(play, &this->skelAnime); } } diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index 6dab02dfef..8bd50fd5f4 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -2559,28 +2559,28 @@ 0x80135E3C:("AnimationContext_MoveActor",), 0x80135EE8:("AnimationContext_Update",), 0x80135F88:("SkelAnime_InitPlayer",), - 0x801360A8:("PlayerAnimation_SetUpdateFunction",), - 0x801360E0:("PlayerAnimation_Update",), - 0x80136104:("PlayerAnimation_Morph",), - 0x801361BC:("PlayerAnimation_AnimateFrame",), - 0x80136288:("PlayerAnimation_Loop",), - 0x8013631C:("PlayerAnimation_Once",), + 0x801360A8:("DmaAnimation_SetUpdateFunction",), + 0x801360E0:("DmaAnimation_Update",), + 0x80136104:("DmaAnimation_Morph",), + 0x801361BC:("DmaAnimation_AnimateFrame",), + 0x80136288:("DmaAnimation_Loop",), + 0x8013631C:("DmaAnimation_Once",), 0x801363F0:("Animation_SetMorph",), - 0x80136414:("PlayerAnimation_Change",), - 0x8013658C:("PlayerAnimation_PlayOnce",), - 0x801365EC:("PlayerAnimation_PlayOnceSetSpeed",), - 0x80136650:("PlayerAnimation_PlayLoop",), - 0x801366AC:("PlayerAnimation_PlayLoopSetSpeed",), - 0x8013670C:("PlayerAnimation_CopyJointToMorph",), - 0x8013673C:("PlayerAnimation_CopyMorphToJoint",), - 0x8013676C:("PlayerAnimation_LoadToMorph",), - 0x801367B0:("PlayerAnimation_LoadToJoint",), - 0x801367F4:("PlayerAnimation_InterpJointMorph",), - 0x8013682C:("PlayerAnimation_BlendToJoint",), - 0x801368CC:("PlayerAnimation_BlendToMorph",), - 0x8013696C:("PlayerAnimation_EndLoop",), + 0x80136414:("DmaAnimation_Change",), + 0x8013658C:("DmaAnimation_PlayOnce",), + 0x801365EC:("DmaAnimation_PlayOnceSetSpeed",), + 0x80136650:("DmaAnimation_PlayLoop",), + 0x801366AC:("DmaAnimation_PlayLoopSetSpeed",), + 0x8013670C:("DmaAnimation_CopyJointToMorph",), + 0x8013673C:("DmaAnimation_CopyMorphToJoint",), + 0x8013676C:("DmaAnimation_LoadToMorph",), + 0x801367B0:("DmaAnimation_LoadToJoint",), + 0x801367F4:("DmaAnimation_InterpJointMorph",), + 0x8013682C:("DmaAnimation_BlendToJoint",), + 0x801368CC:("DmaAnimation_BlendToMorph",), + 0x8013696C:("DmaAnimation_EndLoop",), 0x80136990:("Animation_OnFrameImpl",), - 0x80136A48:("PlayerAnimation_OnFrame",), + 0x80136A48:("DmaAnimation_OnFrame",), 0x80136A7C:("SkelAnime_Init",), 0x80136B30:("SkelAnime_InitFlex",), 0x80136BEC:("SkelAnime_InitSkin",), diff --git a/tools/namefixer.py b/tools/namefixer.py index 101183c973..6987ef64fd 100755 --- a/tools/namefixer.py +++ b/tools/namefixer.py @@ -194,23 +194,23 @@ wordReplace = { "SkelAnime_AnimationType5Loaded": "AnimationContext_MoveActor", "func_80135EE8": "AnimationContext_Update", "SkelAnime_InitLink": "SkelAnime_InitPlayer", - "LinkAnimation_SetUpdateFunction": "PlayerAnimation_SetUpdateFunction", - "LinkAnimation_Update": "PlayerAnimation_Update", + "LinkAnimation_SetUpdateFunction": "DmaAnimation_SetUpdateFunction", + "LinkAnimation_Update": "DmaAnimation_Update", "SkelAnime_SetTransition": "Animation_SetMorph", - "LinkAnimation_Change": "PlayerAnimation_Change", - "LinkAnimation_PlayOnce": "PlayerAnimation_PlayOnce", - "LinkAnimation_PlayOnceSetSpeed": "PlayerAnimation_PlayOnceSetSpeed", - "LinkAnimation_PlayLoop": "PlayerAnimation_PlayLoop", - "LinkAnimation_PlayLoopSetSpeed": "PlayerAnimation_PlayLoopSetSpeed", - "LinkAnimation_CopyJointToMorph": "PlayerAnimation_CopyJointToMorph", - "LinkAnimation_CopyMorphToJoint": "PlayerAnimation_CopyMorphToJoint", - "LinkAnimation_LoadToMorph": "PlayerAnimation_LoadToMorph", - "LinkAnimation_LoadToJoint": "PlayerAnimation_LoadToJoint", - "LinkAnimation_InterpJointMorph": "PlayerAnimation_InterpJointMorph", - "LinkAnimation_BlendToJoint": "PlayerAnimation_BlendToJoint", - "LinkAnimation_BlendToMorph": "PlayerAnimation_BlendToMorph", - "LinkAnimation_EndLoop": "PlayerAnimation_EndLoop", - "LinkAnimation_OnFrame": "PlayerAnimation_OnFrame", + "LinkAnimation_Change": "DmaAnimation_Change", + "LinkAnimation_PlayOnce": "DmaAnimation_PlayOnce", + "LinkAnimation_PlayOnceSetSpeed": "DmaAnimation_PlayOnceSetSpeed", + "LinkAnimation_PlayLoop": "DmaAnimation_PlayLoop", + "LinkAnimation_PlayLoopSetSpeed": "DmaAnimation_PlayLoopSetSpeed", + "LinkAnimation_CopyJointToMorph": "DmaAnimation_CopyJointToMorph", + "LinkAnimation_CopyMorphToJoint": "DmaAnimation_CopyMorphToJoint", + "LinkAnimation_LoadToMorph": "DmaAnimation_LoadToMorph", + "LinkAnimation_LoadToJoint": "DmaAnimation_LoadToJoint", + "LinkAnimation_InterpJointMorph": "DmaAnimation_InterpJointMorph", + "LinkAnimation_BlendToJoint": "DmaAnimation_BlendToJoint", + "LinkAnimation_BlendToMorph": "DmaAnimation_BlendToMorph", + "LinkAnimation_EndLoop": "DmaAnimation_EndLoop", + "LinkAnimation_OnFrame": "DmaAnimation_OnFrame", "SkelAnime_InitSV": "SkelAnime_InitFlex", "SkelAnime_FrameUpdateMatrix": "SkelAnime_Update", diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index e6e8017684..06064d3584 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -2073,28 +2073,28 @@ asm/non_matchings/code/z_skelanime/AnimationContext_CopyFalse.s,AnimationContext asm/non_matchings/code/z_skelanime/AnimationContext_MoveActor.s,AnimationContext_MoveActor,0x80135E3C,0x2B asm/non_matchings/code/z_skelanime/AnimationContext_Update.s,AnimationContext_Update,0x80135EE8,0x28 asm/non_matchings/code/z_skelanime/SkelAnime_InitPlayerAnimetion.s,SkelAnime_InitPlayerAnimetion,0x80135F88,0x48 -asm/non_matchings/code/z_skelanime/PlayerAnimation_SetUpdateFunction.s,PlayerAnimation_SetUpdateFunction,0x801360A8,0xE -asm/non_matchings/code/z_skelanime/PlayerAnimation_Update.s,PlayerAnimation_Update,0x801360E0,0x9 -asm/non_matchings/code/z_skelanime/PlayerAnimation_Morph.s,PlayerAnimation_Morph,0x80136104,0x2E -asm/non_matchings/code/z_skelanime/PlayerAnimation_AnimateFrame.s,PlayerAnimation_AnimateFrame,0x801361BC,0x33 -asm/non_matchings/code/z_skelanime/PlayerAnimation_Loop.s,PlayerAnimation_Loop,0x80136288,0x25 -asm/non_matchings/code/z_skelanime/PlayerAnimation_Once.s,PlayerAnimation_Once,0x8013631C,0x35 +asm/non_matchings/code/z_skelanime/DmaAnimation_SetUpdateFunction.s,DmaAnimation_SetUpdateFunction,0x801360A8,0xE +asm/non_matchings/code/z_skelanime/DmaAnimation_Update.s,DmaAnimation_Update,0x801360E0,0x9 +asm/non_matchings/code/z_skelanime/DmaAnimation_Morph.s,DmaAnimation_Morph,0x80136104,0x2E +asm/non_matchings/code/z_skelanime/DmaAnimation_AnimateFrame.s,DmaAnimation_AnimateFrame,0x801361BC,0x33 +asm/non_matchings/code/z_skelanime/DmaAnimation_Loop.s,DmaAnimation_Loop,0x80136288,0x25 +asm/non_matchings/code/z_skelanime/DmaAnimation_Once.s,DmaAnimation_Once,0x8013631C,0x35 asm/non_matchings/code/z_skelanime/Animation_SetMorph.s,Animation_SetMorph,0x801363F0,0x9 -asm/non_matchings/code/z_skelanime/PlayerAnimation_Change.s,PlayerAnimation_Change,0x80136414,0x5E -asm/non_matchings/code/z_skelanime/PlayerAnimation_ChangeDefaultStop.s,PlayerAnimation_ChangeDefaultStop,0x8013658C,0x18 -asm/non_matchings/code/z_skelanime/PlayerAnimation_ChangePlaybackStop.s,PlayerAnimation_ChangePlaybackStop,0x801365EC,0x19 -asm/non_matchings/code/z_skelanime/PlayerAnimation_ChangeDefaultRepeat.s,PlayerAnimation_ChangeDefaultRepeat,0x80136650,0x17 -asm/non_matchings/code/z_skelanime/PlayerAnimation_ChangePlaybackRepeat.s,PlayerAnimation_ChangePlaybackRepeat,0x801366AC,0x18 -asm/non_matchings/code/z_skelanime/PlayerAnimation_CopyJointToMorph.s,PlayerAnimation_CopyJointToMorph,0x8013670C,0xC -asm/non_matchings/code/z_skelanime/PlayerAnimation_CopyMorphToJoint.s,PlayerAnimation_CopyMorphToJoint,0x8013673C,0xC -asm/non_matchings/code/z_skelanime/PlayerAnimation_LoadToMorph.s,PlayerAnimation_LoadToMorph,0x8013676C,0x11 -asm/non_matchings/code/z_skelanime/PlayerAnimation_LoadToJoint.s,PlayerAnimation_LoadToJoint,0x801367B0,0x11 -asm/non_matchings/code/z_skelanime/PlayerAnimation_InterpJointMorph.s,PlayerAnimation_InterpJointMorph,0x801367F4,0xE -asm/non_matchings/code/z_skelanime/PlayerAnimation_BlendToJoint.s,PlayerAnimation_BlendToJoint,0x8013682C,0x28 -asm/non_matchings/code/z_skelanime/PlayerAnimation_BlendToMorph.s,PlayerAnimation_BlendToMorph,0x801368CC,0x28 -asm/non_matchings/code/z_skelanime/PlayerAnimation_EndLoop.s,PlayerAnimation_EndLoop,0x8013696C,0x9 +asm/non_matchings/code/z_skelanime/DmaAnimation_Change.s,DmaAnimation_Change,0x80136414,0x5E +asm/non_matchings/code/z_skelanime/DmaAnimation_ChangeDefaultStop.s,DmaAnimation_ChangeDefaultStop,0x8013658C,0x18 +asm/non_matchings/code/z_skelanime/DmaAnimation_ChangePlaybackStop.s,DmaAnimation_ChangePlaybackStop,0x801365EC,0x19 +asm/non_matchings/code/z_skelanime/DmaAnimation_ChangeDefaultRepeat.s,DmaAnimation_ChangeDefaultRepeat,0x80136650,0x17 +asm/non_matchings/code/z_skelanime/DmaAnimation_ChangePlaybackRepeat.s,DmaAnimation_ChangePlaybackRepeat,0x801366AC,0x18 +asm/non_matchings/code/z_skelanime/DmaAnimation_CopyJointToMorph.s,DmaAnimation_CopyJointToMorph,0x8013670C,0xC +asm/non_matchings/code/z_skelanime/DmaAnimation_CopyMorphToJoint.s,DmaAnimation_CopyMorphToJoint,0x8013673C,0xC +asm/non_matchings/code/z_skelanime/DmaAnimation_LoadToMorph.s,DmaAnimation_LoadToMorph,0x8013676C,0x11 +asm/non_matchings/code/z_skelanime/DmaAnimation_LoadToJoint.s,DmaAnimation_LoadToJoint,0x801367B0,0x11 +asm/non_matchings/code/z_skelanime/DmaAnimation_InterpJointMorph.s,DmaAnimation_InterpJointMorph,0x801367F4,0xE +asm/non_matchings/code/z_skelanime/DmaAnimation_BlendToJoint.s,DmaAnimation_BlendToJoint,0x8013682C,0x28 +asm/non_matchings/code/z_skelanime/DmaAnimation_BlendToMorph.s,DmaAnimation_BlendToMorph,0x801368CC,0x28 +asm/non_matchings/code/z_skelanime/DmaAnimation_EndLoop.s,DmaAnimation_EndLoop,0x8013696C,0x9 asm/non_matchings/code/z_skelanime/Animation_OnFrameImpl.s,Animation_OnFrameImpl,0x80136990,0x2E -asm/non_matchings/code/z_skelanime/PlayerAnimation_OnFrame.s,PlayerAnimation_OnFrame,0x80136A48,0xD +asm/non_matchings/code/z_skelanime/DmaAnimation_OnFrame.s,DmaAnimation_OnFrame,0x80136A48,0xD asm/non_matchings/code/z_skelanime/SkelAnime_Init.s,SkelAnime_Init,0x80136A7C,0x2D asm/non_matchings/code/z_skelanime/SkelAnime_InitFlex.s,SkelAnime_InitFlex,0x80136B30,0x2F asm/non_matchings/code/z_skelanime/SkelAnime_InitSkin.s,SkelAnime_InitSkin,0x80136BEC,0x26