mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-10 05:57:00 -04:00
Rename LinkAnimation to PlayerAnimation
This commit is contained in:
+44
-44
@@ -2,14 +2,14 @@
|
||||
|
||||
#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,
|
||||
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);
|
||||
|
||||
@@ -43,7 +43,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;
|
||||
@@ -990,12 +990,12 @@ AnimationEntry* AnimationContext_AddEntry(AnimationContext* animationCtx, Animat
|
||||
/**
|
||||
* Requests loading frame data from the Link 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);
|
||||
PlayerAnimationHeader* linkAnimHeader = Lib_SegmentedToVirtual(animation);
|
||||
uintptr_t ram = frameTable;
|
||||
|
||||
osCreateMesgQueue(&entry->data.load.msgQueue, &entry->data.load.msg, 1);
|
||||
@@ -1187,7 +1187,7 @@ void AnimationContext_Update(PlayState* play, AnimationContext* animationCtx) {
|
||||
* tables if not given.
|
||||
*/
|
||||
void SkelAnime_InitLink(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
|
||||
LinkAnimationHeader* animation, s32 flags, void* jointTableBuffer, void* morphTableBuffer,
|
||||
PlayerAnimationHeader* animation, s32 flags, void* jointTableBuffer, void* morphTableBuffer,
|
||||
s32 limbBufCount) {
|
||||
FlexSkeletonHeader* skeletonHeader;
|
||||
s32 headerJointCount;
|
||||
@@ -1224,17 +1224,17 @@ 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
|
||||
*/
|
||||
void LinkAnimation_SetUpdateFunction(SkelAnime* skelAnime) {
|
||||
void PlayerAnimation_SetUpdateFunction(SkelAnime* skelAnime) {
|
||||
if (skelAnime->mode <= ANIMMODE_LOOP_INTERP) {
|
||||
skelAnime->update.link = LinkAnimation_Loop;
|
||||
skelAnime->update.link = PlayerAnimation_Loop;
|
||||
} else {
|
||||
skelAnime->update.link = LinkAnimation_Once;
|
||||
skelAnime->update.link = PlayerAnimation_Once;
|
||||
}
|
||||
skelAnime->morphWeight = 0.0f;
|
||||
}
|
||||
@@ -1243,7 +1243,7 @@ void LinkAnimation_SetUpdateFunction(SkelAnime* skelAnime) {
|
||||
* Advances the current Link animation and updates all frame tables. If the animation plays once, returns true when it
|
||||
* finishes.
|
||||
*/
|
||||
s32 LinkAnimation_Update(PlayState* play, SkelAnime* skelAnime) {
|
||||
s32 PlayerAnimation_Update(PlayState* play, SkelAnime* skelAnime) {
|
||||
return skelAnime->update.link(play, skelAnime);
|
||||
}
|
||||
|
||||
@@ -1251,13 +1251,13 @@ s32 LinkAnimation_Update(PlayState* play, SkelAnime* 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,
|
||||
@@ -1269,7 +1269,7 @@ s32 LinkAnimation_Morph(PlayState* play, SkelAnime* skelAnime) {
|
||||
* Requests a load of the next frame of a Link 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,7 +1287,7 @@ void LinkAnimation_AnimateFrame(PlayState* play, SkelAnime* skelAnime) {
|
||||
/**
|
||||
* Advances a Link 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;
|
||||
@@ -1296,18 +1296,18 @@ s32 LinkAnimation_Loop(PlayState* play, SkelAnime* skelAnime) {
|
||||
} else if (skelAnime->animLength <= skelAnime->curFrame) {
|
||||
skelAnime->curFrame -= skelAnime->animLength;
|
||||
}
|
||||
LinkAnimation_AnimateFrame(play, skelAnime);
|
||||
PlayerAnimation_AnimateFrame(play, skelAnime);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Advances a Link 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);
|
||||
PlayerAnimation_AnimateFrame(play, skelAnime);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1322,7 +1322,7 @@ s32 LinkAnimation_Once(PlayState* play, SkelAnime* skelAnime) {
|
||||
skelAnime->curFrame -= skelAnime->animLength;
|
||||
}
|
||||
}
|
||||
LinkAnimation_AnimateFrame(play, skelAnime);
|
||||
PlayerAnimation_AnimateFrame(play, skelAnime);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1340,23 +1340,23 @@ 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 LinkAnimation_Change(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation, f32 playSpeed,
|
||||
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.link = 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,77 +1373,77 @@ void LinkAnimation_Change(PlayState* play, SkelAnime* skelAnime, LinkAnimationHe
|
||||
/**
|
||||
* Immediately changes to a Link 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),
|
||||
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.
|
||||
*/
|
||||
void LinkAnimation_PlayOnceSetSpeed(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation,
|
||||
void PlayerAnimation_PlayOnceSetSpeed(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation,
|
||||
f32 playSpeed) {
|
||||
LinkAnimation_Change(play, skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(&animation->common),
|
||||
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.
|
||||
*/
|
||||
void LinkAnimation_PlayLoop(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation) {
|
||||
LinkAnimation_Change(play, skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(&animation->common),
|
||||
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.
|
||||
*/
|
||||
void LinkAnimation_PlayLoopSetSpeed(PlayState* play, SkelAnime* skelAnime, LinkAnimationHeader* animation,
|
||||
void PlayerAnimation_PlayLoopSetSpeed(PlayState* play, SkelAnime* skelAnime, PlayerAnimationHeader* animation,
|
||||
f32 playSpeed) {
|
||||
LinkAnimation_Change(play, skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(&animation->common),
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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,8 +1457,8 @@ void LinkAnimation_BlendToJoint(PlayState* play, SkelAnime* skelAnime, LinkAnima
|
||||
/**
|
||||
* Requests loading frame data from the Link 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);
|
||||
@@ -1472,9 +1472,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,7 +1507,7 @@ s32 Animation_OnFrameImpl(SkelAnime* skelAnime, f32 frame, f32 updateRate) {
|
||||
/**
|
||||
* Checks if the current Link 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);
|
||||
|
||||
@@ -203,7 +203,7 @@ void EnRz_ChangeAnim(PlayState* play, EnRz* this, s16 animIndex, u8 animMode, f3
|
||||
&gRosaSistersStandingAnim, &gRosaSistersStandingAnim, &gRosaSistersWalkingAnim, &gRosaSistersSittingAnim,
|
||||
&gRosaSistersApplaudingAnim, &gRosaSistersOnKneesAnim, &gRosaSistersDancingAnim,
|
||||
};
|
||||
static LinkAnimationHeader* sLinkAnimations[] = {
|
||||
static PlayerAnimationHeader* sPlayerAnimations[] = {
|
||||
&gPlayerAnim_link_normal_wait_free,
|
||||
&gPlayerAnim_alink_dance_loop,
|
||||
};
|
||||
@@ -219,12 +219,12 @@ 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(sLinkAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)]);
|
||||
endFrame = Animation_GetLastFrame(sPlayerAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)]);
|
||||
if (animMode == ANIMMODE_LOOP) {
|
||||
LinkAnimation_Change(play, &this->skelAnime, sLinkAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)],
|
||||
PlayerAnimation_Change(play, &this->skelAnime, sPlayerAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)],
|
||||
2.0f / 3.0f, 0.0f, endFrame, ANIMMODE_LOOP, morphFrames);
|
||||
} else {
|
||||
LinkAnimation_Change(play, &this->skelAnime, sLinkAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)],
|
||||
PlayerAnimation_Change(play, &this->skelAnime, sPlayerAnimations[animIndex - ARRAY_COUNT(sJudoAnimations)],
|
||||
2.0f / 3.0f, 0.0f, endFrame, ANIMMODE_LOOP, morphFrames);
|
||||
}
|
||||
} else {
|
||||
@@ -325,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 LinkAnimation_Update(play, &this->skelAnime);
|
||||
return PlayerAnimation_Update(play, &this->skelAnime);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -320,7 +320,7 @@ s32 func_80A3E898(EnTest3* this, PlayState* play) {
|
||||
func_80151938(play, textId);
|
||||
}
|
||||
if (textId == 0x296B) {
|
||||
LinkAnimation_PlayOnceSetSpeed(play, &this->player.skelAnime, &gPlayerAnim_al_yareyare, 2.0f / 3.0f);
|
||||
PlayerAnimation_PlayOnceSetSpeed(play, &this->player.skelAnime, &gPlayerAnim_al_yareyare, 2.0f / 3.0f);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -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 LinkAnimationHeader* gLinkAnimations[] = { &gPlayerAnim_link_normal_wait_free, &gPlayerAnim_alink_dance_loop };
|
||||
static PlayerAnimationHeader* gPlayerAnimations[] = { &gPlayerAnim_link_normal_wait_free, &gPlayerAnim_alink_dance_loop };
|
||||
|
||||
static Vec3f D_80BFB2E8 = { 0.0f, 0.5f, 0.0f };
|
||||
|
||||
@@ -171,13 +171,13 @@ 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) {
|
||||
LinkAnimation_Change(play, &this->skelAnime, gLinkAnimations[animIndex - 1], 1.0f, 0.0f,
|
||||
Animation_GetLastFrame(gLinkAnimations[animIndex - 1]), ANIMMODE_LOOP,
|
||||
PlayerAnimation_Change(play, &this->skelAnime, gPlayerAnimations[animIndex - 1], 1.0f, 0.0f,
|
||||
Animation_GetLastFrame(gPlayerAnimations[animIndex - 1]), ANIMMODE_LOOP,
|
||||
morphFrames);
|
||||
} else {
|
||||
// unused case, (only called once with animMode = ANIMMODE_LOOP)
|
||||
LinkAnimation_Change(play, &this->skelAnime, gLinkAnimations[animIndex - 1], 1.0f, 0.0f,
|
||||
Animation_GetLastFrame(gLinkAnimations[animIndex - 1]), ANIMMODE_LOOP,
|
||||
PlayerAnimation_Change(play, &this->skelAnime, gPlayerAnimations[animIndex - 1], 1.0f, 0.0f,
|
||||
Animation_GetLastFrame(gPlayerAnimations[animIndex - 1]), ANIMMODE_LOOP,
|
||||
morphFrames);
|
||||
}
|
||||
} else {
|
||||
@@ -207,7 +207,7 @@ void EnYb_UpdateAnimation(EnYb* this, PlayState* play) {
|
||||
if (this->animIndex <= 0) {
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
} else {
|
||||
LinkAnimation_Update(play, &this->skelAnime);
|
||||
PlayerAnimation_Update(play, &this->skelAnime);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user