summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorAnghelo Carvajal <angheloalf95@gmail.com>2023-04-18 22:38:22 -0400
committerGitHub <noreply@github.com>2023-04-18 22:38:22 -0400
commitf9c638117c0b5f9559ee8952fe459cac178bc73c (patch)
tree1f4352ea3282df335323251281cacea7818229ac /src/code
parent3c107cb148d784e2af4a347dc78f25b1697410be (diff)
Rename `LinkAnimation` to `DmaAnimation` and other `skelanime` misc cleanups (#1147)
* Rename LinkAnimation to PlayerAnimation * remove the remaining link stuff * Move functions out of functions.h * cleanup returns * more cleanups * format * format again * format again again * Remove internal functions from header * legacy * bss * linkAnimSegment * Update src/overlays/actors/ovl_En_Yb/z_en_yb.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * bss * `DmaAnimation` rename * more DMA i missed * Revert "more DMA i missed" This reverts commit 6c0ca44f450c92d8c12374fa243c8b17d46527d3. * Revert "`DmaAnimation` rename" This reverts commit 1d2626514c94158001566fa664222b0dcf34a4f7. * Add LinkAnimationHeader rename to namefixer.py --------- Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_skelanime.c199
1 files changed, 106 insertions, 93 deletions
diff --git a/src/code/z_skelanime.c b/src/code/z_skelanime.c
index 9890f4741..cf7f95078 100644
--- a/src/code/z_skelanime.c
+++ b/src/code/z_skelanime.c
@@ -3,17 +3,24 @@
#define ANIM_INTERP 1
-s32 LinkAnimation_Loop(PlayState* play, SkelAnime* skelAnime);
-s32 LinkAnimation_Once(PlayState* play, SkelAnime* skelAnime);
+s32 PlayerAnimation_Loop(PlayState* play, SkelAnime* skelAnime);
+s32 PlayerAnimation_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 LinkAnimation_Change(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation, f32 playSpeed,
- f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames);
+void PlayerAnimation_Change(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* 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);
+void AnimationContext_CopyAll(struct PlayState* play, AnimationEntryData* data);
+void AnimationContext_Interp(struct PlayState* play, AnimationEntryData* data);
+void AnimationContext_CopyTrue(struct PlayState* play, AnimationEntryData* data);
+void AnimationContext_CopyFalse(struct PlayState* play, AnimationEntryData* data);
+void AnimationContext_MoveActor(struct PlayState* play, AnimationEntryData* data);
+
static AnimationEntryCallback sAnimationLoadDone[] = {
AnimationContext_LoadFrame, AnimationContext_CopyAll, AnimationContext_Interp,
AnimationContext_CopyTrue, AnimationContext_CopyFalse, AnimationContext_MoveActor,
@@ -44,7 +51,7 @@ void SkelAnime_DrawLimbLod(PlayState* play, s32 limbIndex, void** skeleton, Vec3
pos.z = limb->jointPos.z;
dList = limb->dLists[lod];
- if ((overrideLimbDraw == NULL) || (overrideLimbDraw(play, limbIndex, &dList, &pos, &rot, actor) == 0)) {
+ if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &dList, &pos, &rot, actor)) {
Matrix_TranslateRotateZYX(&pos, &rot);
if (dList != NULL) {
Gfx* polyTemp = POLY_OPA_DISP;
@@ -876,7 +883,7 @@ Gfx* SkelAnime_DrawFlex(PlayState* play, void** skeleton, Vec3s* jointTable, s32
s16 SkelAnime_GetFrameDataLegacy(LegacyAnimationHeader* animation, s32 frame, Vec3s* frameTable) {
LegacyAnimationHeader* animHeader = Lib_SegmentedToVirtual(animation);
s16 limbCount = animHeader->limbCount;
- JointKey* key = Lib_SegmentedToVirtual(animHeader->jointKey);
+ LegacyJointKey* key = Lib_SegmentedToVirtual(animHeader->jointKey);
s16* frameData = Lib_SegmentedToVirtual(animHeader->frameData);
s16* staticData = &frameData[0];
s16* dynamicData = &frameData[frame];
@@ -901,7 +908,7 @@ s16 SkelAnime_GetFrameDataLegacy(LegacyAnimationHeader* animation, s32 frame, Ve
/**
* Used by legacy animation format
*/
-s16 Animation_GetLimbCount2(LegacyAnimationHeader* animation) {
+s16 Animation_GetLimbCountLegacy(LegacyAnimationHeader* animation) {
LegacyAnimationHeader* animHeader = Lib_SegmentedToVirtual(animation);
return animHeader->limbCount;
@@ -910,7 +917,7 @@ s16 Animation_GetLimbCount2(LegacyAnimationHeader* animation) {
/**
* Used by legacy animation format
*/
-s16 Animation_GetLength2(LegacyAnimationHeader* animation) {
+s16 Animation_GetLengthLegacy(LegacyAnimationHeader* animation) {
LegacyAnimationHeader* animHeader = Lib_SegmentedToVirtual(animation);
return animHeader->frameCount;
@@ -919,7 +926,7 @@ s16 Animation_GetLength2(LegacyAnimationHeader* animation) {
/**
* Used by legacy animation format
*/
-s16 Animation_GetLastFrame2(LegacyAnimationHeader* animation) {
+s16 Animation_GetLastFrameLegacy(LegacyAnimationHeader* animation) {
AnimationHeaderCommon* animHeader = Lib_SegmentedToVirtual(animation);
return animHeader->frameCount - 1;
@@ -979,7 +986,7 @@ AnimationEntry* AnimationContext_AddEntry(AnimationContext* animationCtx, Animat
AnimationEntry* entry;
s16 index = animationCtx->animationCount;
- if (index >= ANIMATION_ENTRY_MAX) {
+ if (index >= ARRAY_COUNT(animationCtx->entries)) {
return NULL;
}
@@ -989,21 +996,25 @@ AnimationEntry* AnimationContext_AddEntry(AnimationContext* animationCtx, Animat
return entry;
}
+#define LINK_ANIMETION_OFFSET(addr, offset) \
+ (SEGMENT_ROM_START(link_animetion) + ((uintptr_t)addr & 0xFFFFFF) + ((u32)offset))
+
/**
- * Requests loading frame data from the Link animation into frameTable
+ * Requests loading frame data from the Player animation into frameTable
*/
-void AnimationContext_SetLoadFrame(PlayState* play, LinkAnimationHeader* animation, s32 frame, s32 limbCount,
+void AnimationContext_SetLoadFrame(PlayState* play, PlayerAnimationHeader* animation, s32 frame, s32 limbCount,
Vec3s* frameTable) {
AnimationEntry* entry = AnimationContext_AddEntry(&play->animationCtx, ANIMATION_LINKANIMETION);
if (entry != NULL) {
- LinkAnimationHeader* linkAnimHeader = Lib_SegmentedToVirtual(animation);
- uintptr_t ram = frameTable;
+ PlayerAnimationHeader* playerAnimHeader = Lib_SegmentedToVirtual(animation);
+ void* ram = (void*)frameTable;
- osCreateMesgQueue(&entry->data.load.msgQueue, &entry->data.load.msg, 1);
- DmaMgr_SendRequestImpl(&entry->data.load.req, ram,
- LINK_ANIMETION_OFFSET(linkAnimHeader->segment, (sizeof(Vec3s) * limbCount + 2) * frame),
- sizeof(Vec3s) * limbCount + 2, 0, &entry->data.load.msgQueue, NULL);
+ 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),
+ sizeof(Vec3s) * limbCount + sizeof(s16), 0, &entry->data.load.msgQueue, NULL);
}
}
@@ -1080,7 +1091,7 @@ void AnimationContext_SetMoveActor(PlayState* play, Actor* actor, SkelAnime* ske
}
/**
- * Receives the request for Link's animation frame data
+ * Receives the request for Player's animation frame data
*/
void AnimationContext_LoadFrame(PlayState* play, AnimationEntryData* data) {
AnimEntryLoadFrame* entry = &data->load;
@@ -1185,12 +1196,12 @@ void AnimationContext_Update(PlayState* play, AnimationContext* animationCtx) {
}
/**
- * Initializes a skeleton to be used with Link animations to a looping animation, dynamically allocating the frame
+ * Initializes a skeleton to be used with Player animations to a looping animation, dynamically allocating the frame
* tables if not given.
*/
-void SkelAnime_InitLink(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
- LinkAnimationHeader* animation, s32 flags, void* jointTableBuffer, void* morphTableBuffer,
- s32 limbBufCount) {
+void SkelAnime_InitPlayer(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
+ PlayerAnimationHeader* animation, s32 flags, void* jointTableBuffer, void* morphTableBuffer,
+ s32 limbBufCount) {
FlexSkeletonHeader* skeletonHeader;
s32 headerJointCount;
s32 limbCount;
@@ -1226,52 +1237,52 @@ void SkelAnime_InitLink(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeade
skelAnime->morphTable = (void*)ALIGN16((uintptr_t)morphTableBuffer);
}
- LinkAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f);
+ PlayerAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f);
}
/**
- * Sets the update function of a SkelAnime that uses Link animations based on its mode
+ * Sets the update function of a SkelAnime that uses Player animations based on its mode
*/
-void LinkAnimation_SetUpdateFunction(SkelAnime* skelAnime) {
+void PlayerAnimation_SetUpdateFunction(SkelAnime* skelAnime) {
if (skelAnime->mode <= ANIMMODE_LOOP_INTERP) {
- skelAnime->update.link = LinkAnimation_Loop;
+ skelAnime->update.player = PlayerAnimation_Loop;
} else {
- skelAnime->update.link = LinkAnimation_Once;
+ skelAnime->update.player = PlayerAnimation_Once;
}
skelAnime->morphWeight = 0.0f;
}
/**
- * Advances the current Link animation and updates all frame tables. If the animation plays once, returns true when it
+ * Advances the current Player animation and updates all frame tables. If the animation plays once, returns true when it
* finishes.
*/
-s32 LinkAnimation_Update(PlayState* play, SkelAnime* skelAnime) {
- return skelAnime->update.link(play, skelAnime);
+s32 PlayerAnimation_Update(PlayState* play, SkelAnime* skelAnime) {
+ return skelAnime->update.player(play, skelAnime);
}
/**
* Requests an interpolation between the pose in jointTable to the one in morphTable, advancing the morph but not the
* animation frame
*/
-s32 LinkAnimation_Morph(PlayState* play, SkelAnime* skelAnime) {
+s32 PlayerAnimation_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) {
- LinkAnimation_SetUpdateFunction(skelAnime);
+ PlayerAnimation_SetUpdateFunction(skelAnime);
}
AnimationContext_SetInterp(play, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable,
1.0f - (skelAnime->morphWeight / prevMorphWeight));
- return 0;
+ return false;
}
/**
- * Requests a load of the next frame of a Link animation, advances the morph, and requests an interpolation between
+ * Requests a load of the next frame of a Player animation, advances the morph, and requests an interpolation between
* jointTable and morphTable
*/
-void LinkAnimation_AnimateFrame(PlayState* play, SkelAnime* skelAnime) {
+void PlayerAnimation_AnimateFrame(PlayState* play, SkelAnime* skelAnime) {
AnimationContext_SetLoadFrame(play, skelAnime->animation, skelAnime->curFrame, skelAnime->limbCount,
skelAnime->jointTable);
if (skelAnime->morphWeight != 0) {
@@ -1287,9 +1298,9 @@ void LinkAnimation_AnimateFrame(PlayState* play, SkelAnime* skelAnime) {
}
/**
- * Advances a Link animation that loops over its full length
+ * Advances a Player animation that loops over its full length
*/
-s32 LinkAnimation_Loop(PlayState* play, SkelAnime* skelAnime) {
+s32 PlayerAnimation_Loop(PlayState* play, SkelAnime* skelAnime) {
f32 updateRate = (s32)play->state.framerateDivisor * 0.5f;
skelAnime->curFrame += skelAnime->playSpeed * updateRate;
@@ -1298,19 +1309,19 @@ s32 LinkAnimation_Loop(PlayState* play, SkelAnime* skelAnime) {
} else if (skelAnime->animLength <= skelAnime->curFrame) {
skelAnime->curFrame -= skelAnime->animLength;
}
- LinkAnimation_AnimateFrame(play, skelAnime);
- return 0;
+ PlayerAnimation_AnimateFrame(play, skelAnime);
+ return false;
}
/**
- * Advances a Link animation that stops at endFrame and returns true when it is reached.
+ * Advances a Player animation that stops at endFrame and returns true when it is reached.
*/
-s32 LinkAnimation_Once(PlayState* play, SkelAnime* skelAnime) {
+s32 PlayerAnimation_Once(PlayState* play, SkelAnime* skelAnime) {
f32 updateRate = (s32)play->state.framerateDivisor * 0.5f;
if (skelAnime->curFrame == skelAnime->endFrame) {
- LinkAnimation_AnimateFrame(play, skelAnime);
- return 1;
+ PlayerAnimation_AnimateFrame(play, skelAnime);
+ return true;
}
skelAnime->curFrame += skelAnime->playSpeed * updateRate;
@@ -1324,8 +1335,8 @@ s32 LinkAnimation_Once(PlayState* play, SkelAnime* skelAnime) {
skelAnime->curFrame -= skelAnime->animLength;
}
}
- LinkAnimation_AnimateFrame(play, skelAnime);
- return 0;
+ PlayerAnimation_AnimateFrame(play, skelAnime);
+ return false;
}
/**
@@ -1337,28 +1348,28 @@ void Animation_SetMorph(PlayState* play, SkelAnime* skelAnime, f32 morphFrames)
}
/**
- * General way to set a new Link animation, allowing choice of playback speed, start frame, end frame, play mode, and
+ * General way to set a new Player animation, allowing choice of playback speed, start frame, end frame, play mode, and
* number of transition frames. Positive morph frames morph from the current pose to the start pose of the new
* animation, then start the new animation. Negative morph frames start the new animation immediately, modified by the
* pose immediately before the animation change.
*/
-void LinkAnimation_Change(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation, f32 playSpeed,
- f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames) {
+void PlayerAnimation_Change(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* 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) {
- LinkAnimation_SetUpdateFunction(skelAnime);
+ PlayerAnimation_SetUpdateFunction(skelAnime);
SkelAnime_CopyFrameTable(skelAnime, skelAnime->morphTable, skelAnime->jointTable);
morphFrames = -morphFrames;
} else {
- skelAnime->update.link = LinkAnimation_Morph;
+ skelAnime->update.player = PlayerAnimation_Morph;
AnimationContext_SetLoadFrame(play, animation, (s32)startFrame, skelAnime->limbCount,
skelAnime->morphTable);
}
skelAnime->morphWeight = 1.0f;
skelAnime->morphRate = 1.0f / morphFrames;
} else {
- LinkAnimation_SetUpdateFunction(skelAnime);
+ PlayerAnimation_SetUpdateFunction(skelAnime);
AnimationContext_SetLoadFrame(play, animation, (s32)startFrame, skelAnime->limbCount, skelAnime->jointTable);
skelAnime->morphWeight = 0.0f;
}
@@ -1373,79 +1384,80 @@ void LinkAnimation_Change(PlayState* play, SkelAnime* skelAnime, LinkAnimationHe
}
/**
- * Immediately changes to a Link animation that plays once at the default speed.
+ * Immediately changes to a Player animation that plays once at the default speed.
*/
-void LinkAnimation_PlayOnce(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation) {
- LinkAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(&animation->common),
- ANIMMODE_ONCE, 0.0f);
+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);
}
/**
- * Immediately changes to a Link animation that plays once at the specified speed.
+ * Immediately changes to a Player animation that plays once at the specified speed.
*/
-void LinkAnimation_PlayOnceSetSpeed(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation,
- f32 playSpeed) {
- LinkAnimation_Change(play, skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(&animation->common),
- ANIMMODE_ONCE, 0.0f);
+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);
}
/**
- * Immediately changes to a Link animation that loops at the default speed.
+ * Immediately changes to a Player animation that loops at the default speed.
*/
-void LinkAnimation_PlayLoop(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation) {
- LinkAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(&animation->common),
- ANIMMODE_LOOP, 0.0f);
+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);
}
/**
- * Immediately changes to a Link animation that loops at the specified speed.
+ * Immediately changes to a Player animation that loops at the specified speed.
*/
-void LinkAnimation_PlayLoopSetSpeed(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation,
- f32 playSpeed) {
- LinkAnimation_Change(play, skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(&animation->common),
- ANIMMODE_LOOP, 0.0f);
+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);
}
/**
* Requests copying jointTable to morphTable
*/
-void LinkAnimation_CopyJointToMorph(PlayState* play, SkelAnime* skelAnime) {
+void PlayerAnimation_CopyJointToMorph(PlayState* play, SkelAnime* skelAnime) {
AnimationContext_SetCopyAll(play, skelAnime->limbCount, skelAnime->morphTable, skelAnime->jointTable);
}
/**
* Requests copying morphTable to jointTable
*/
-void LinkAnimation_CopyMorphToJoint(PlayState* play, SkelAnime* skelAnime) {
+void PlayerAnimation_CopyMorphToJoint(PlayState* play, SkelAnime* skelAnime) {
AnimationContext_SetCopyAll(play, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable);
}
/**
- * Requests loading frame data from the Link animation into morphTable
+ * Requests loading frame data from the Player animation into morphTable
*/
-void LinkAnimation_LoadToMorph(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation, f32 frame) {
+void PlayerAnimation_LoadToMorph(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation, f32 frame) {
AnimationContext_SetLoadFrame(play, animation, (s32)frame, skelAnime->limbCount, skelAnime->morphTable);
}
/**
- * Requests loading frame data from the Link animation into jointTable
+ * Requests loading frame data from the Player animation into jointTable
*/
-void LinkAnimation_LoadToJoint(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation, f32 frame) {
+void PlayerAnimation_LoadToJoint(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* 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 LinkAnimation_InterpJointMorph(PlayState* play, SkelAnime* skelAnime, f32 weight) {
+void PlayerAnimation_InterpJointMorph(PlayState* play, SkelAnime* skelAnime, f32 weight) {
AnimationContext_SetInterp(play, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable, weight);
}
/**
- * Requests loading frame data from the Link animations and blending them, placing the result in jointTable
+ * Requests loading frame data from the Player animations and blending them, placing the result in jointTable
*/
-void LinkAnimation_BlendToJoint(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation1, f32 frame1,
- LinkAnimationHeader* animation2, f32 frame2, f32 blendWeight, void* blendTableBuffer) {
+void PlayerAnimation_BlendToJoint(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation1, f32 frame1,
+ PlayerAnimationHeader* animation2, f32 frame2, f32 blendWeight,
+ void* blendTableBuffer) {
void* alignedBlendTable;
AnimationContext_SetLoadFrame(play, animation1, (s32)frame1, skelAnime->limbCount, skelAnime->jointTable);
@@ -1457,10 +1469,11 @@ void LinkAnimation_BlendToJoint(PlayState* play, SkelAnime* skelAnime, LinkAnima
}
/**
- * Requests loading frame data from the Link animations and blending them, placing the result in morphTable
+ * Requests loading frame data from the Player animations and blending them, placing the result in morphTable
*/
-void LinkAnimation_BlendToMorph(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation1, f32 frame1,
- LinkAnimationHeader* animation2, f32 frame2, f32 blendWeight, void* blendTableBuffer) {
+void PlayerAnimation_BlendToMorph(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation1, f32 frame1,
+ PlayerAnimationHeader* animation2, f32 frame2, f32 blendWeight,
+ void* blendTableBuffer) {
void* alignedBlendTable;
AnimationContext_SetLoadFrame(play, animation1, (s32)frame1, skelAnime->limbCount, skelAnime->morphTable);
@@ -1474,9 +1487,9 @@ void LinkAnimation_BlendToMorph(PlayState* play, SkelAnime* skelAnime, LinkAnima
/**
* Changes a looping animation to one that stops at the end.
*/
-void LinkAnimation_EndLoop(SkelAnime* skelAnime) {
+void PlayerAnimation_EndLoop(SkelAnime* skelAnime) {
skelAnime->mode = ANIMMODE_ONCE;
- LinkAnimation_SetUpdateFunction(skelAnime);
+ PlayerAnimation_SetUpdateFunction(skelAnime);
}
/**
@@ -1507,9 +1520,9 @@ s32 Animation_OnFrameImpl(SkelAnime* skelAnime, f32 frame, f32 updateRate) {
}
/**
- * Checks if the current Link animation has reached the specified frame
+ * Checks if the current Player animation has reached the specified frame
*/
-s32 LinkAnimation_OnFrame(SkelAnime* skelAnime, f32 frame) {
+s32 PlayerAnimation_OnFrame(SkelAnime* skelAnime, f32 frame) {
f32 updateRate = gFramerateDivisorHalf;
return Animation_OnFrameImpl(skelAnime, frame, updateRate);
@@ -1620,7 +1633,7 @@ s32 SkelAnime_Morph(SkelAnime* skelAnime) {
}
SkelAnime_InterpFrameTable(skelAnime->limbCount, skelAnime->jointTable, skelAnime->jointTable,
skelAnime->morphTable, 1.0f - (skelAnime->morphWeight / prevMorphWeight));
- return 0;
+ return false;
}
/**
@@ -1654,7 +1667,7 @@ s32 SkelAnime_MorphTaper(SkelAnime* skelAnime) {
}
SkelAnime_InterpFrameTable(skelAnime->limbCount, skelAnime->jointTable, skelAnime->jointTable,
skelAnime->morphTable, 1.0f - curWeight);
- return 0;
+ return false;
}
/**
@@ -1701,7 +1714,7 @@ s32 SkelAnime_LoopFull(SkelAnime* skelAnime) {
}
SkelAnime_AnimateFrame(skelAnime);
- return 0;
+ return false;
}
/**
@@ -1718,7 +1731,7 @@ s32 SkelAnime_LoopPartial(SkelAnime* skelAnime) {
}
SkelAnime_AnimateFrame(skelAnime);
- return 0;
+ return false;
}
/**
@@ -1730,7 +1743,7 @@ s32 SkelAnime_Once(SkelAnime* skelAnime) {
if (skelAnime->curFrame == skelAnime->endFrame) {
SkelAnime_GetFrameData(skelAnime->animation, skelAnime->curFrame, skelAnime->limbCount, skelAnime->jointTable);
SkelAnime_AnimateFrame(skelAnime);
- return 1;
+ return true;
}
skelAnime->curFrame += skelAnime->playSpeed * updateRate;
@@ -1746,7 +1759,7 @@ s32 SkelAnime_Once(SkelAnime* skelAnime) {
}
}
SkelAnime_AnimateFrame(skelAnime);
- return 0;
+ return false;
}
/**