Document EnSyatekiWf and do some slight cleanup on object_wf and other Syateki actors (#1168)

This commit is contained in:
Tom Overton
2023-02-21 16:42:20 -03:00
committed by GitHub
parent a7fd595136
commit 50bd6056e2
8 changed files with 286 additions and 249 deletions
+7 -7
View File
@@ -65,11 +65,11 @@
<Skeleton Name="gWolfosWhiteSkel" Type="Flex" LimbType="Standard" LimbNone="WOLFOS_WHITE_LIMB_NONE" LimbMax="WOLFOS_WHITE_LIMB_MAX" EnumName="WolfosWhiteLimb" Offset="0x3BC0" />
<!-- Wolfos/White Wolfos Animations -->
<Animation Name="gWolfosSlashingAnim" Offset="0x4638" /> <!-- Original name is "wolfman_attack" -->
<Animation Name="gWolfosBackflippingAnim" Offset="0x4A90" /> <!-- Original name is "wolfman_back_jump" -->
<Animation Name="gWolfosBlockingAnim" Offset="0x4C44" /> <!-- Original name is "wolfman_defense" -->
<Animation Name="gWolfosRearingUpFallingOverAnim" Offset="0x53D0" /> <!-- Original name is "wolfman_down" -->
<Animation Name="gWolfosRunningAnim" Offset="0x5700" /> <!-- Original name is "wolfman_run" -->
<Animation Name="gWolfosSlashAnim" Offset="0x4638" /> <!-- Original name is "wolfman_attack" -->
<Animation Name="gWolfosBackflipAnim" Offset="0x4A90" /> <!-- Original name is "wolfman_back_jump" -->
<Animation Name="gWolfosBlockAnim" Offset="0x4C44" /> <!-- Original name is "wolfman_defense" -->
<Animation Name="gWolfosRearUpFallOverAnim" Offset="0x53D0" /> <!-- Original name is "wolfman_down" -->
<Animation Name="gWolfosRunAnim" Offset="0x5700" /> <!-- Original name is "wolfman_run" -->
<!-- Wolfos Limb DisplayLists -->
<DList Name="gWolfosNormalAbdomenDL" Offset="0x6D10" />
@@ -135,8 +135,8 @@
<Skeleton Name="gWolfosNormalSkel" Type="Flex" LimbType="Standard" LimbNone="WOLFOS_NORMAL_LIMB_NONE" LimbMax="WOLFOS_NORMAL_LIMB_MAX" EnumName="WolfosNormalLimb" Offset="0x95D0" />
<!-- Wolfos/White Wolfos Animations -->
<Animation Name="gWolfosSidesteppingAnim" Offset="0x9808" /> <!-- Original name is "wolfman_side_walk" -->
<Animation Name="gWolfosSidestepAnim" Offset="0x9808" /> <!-- Original name is "wolfman_side_walk" -->
<Animation Name="gWolfosDamagedAnim" Offset="0x9A50" /> <!-- Originla name is "wolfman_tail_hit" -->
<Animation Name="gWolfosWaitingAnim" Offset="0xA3CC" /> <!-- Original name is "wolfman_wait" -->
<Animation Name="gWolfosWaitAnim" Offset="0xA3CC" /> <!-- Original name is "wolfman_wait" -->
</File>
</Root>
@@ -16,8 +16,8 @@ void EnSyatekiCrow_Destroy(Actor* thisx, PlayState* play);
void EnSyatekiCrow_Update(Actor* thisx, PlayState* play);
void EnSyatekiCrow_Draw(Actor* thisx, PlayState* play);
void EnSyatekiCrow_SetupWaitForSpawn(EnSyatekiCrow* this);
void EnSyatekiCrow_WaitForSpawn(EnSyatekiCrow* this, PlayState* play);
void EnSyatekiCrow_SetupWaitForSignal(EnSyatekiCrow* this);
void EnSyatekiCrow_WaitForSignal(EnSyatekiCrow* this, PlayState* play);
void EnSyatekiCrow_SetupWaitToMove(EnSyatekiCrow* this);
void EnSyatekiCrow_WaitToMove(EnSyatekiCrow* this, PlayState* play);
void EnSyatekiCrow_Fly(EnSyatekiCrow* this, PlayState* play);
@@ -105,7 +105,7 @@ void EnSyatekiCrow_Init(Actor* thisx, PlayState* play2) {
this->maxPointIndex = path->count;
this->deathTimer = 20;
this->waitTimer = 0;
EnSyatekiCrow_SetupWaitForSpawn(this);
EnSyatekiCrow_SetupWaitForSignal(this);
}
void EnSyatekiCrow_Destroy(Actor* thisx, PlayState* play) {
@@ -114,7 +114,7 @@ void EnSyatekiCrow_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyJntSph(play, &this->collider);
}
void EnSyatekiCrow_SetupWaitForSpawn(EnSyatekiCrow* this) {
void EnSyatekiCrow_SetupWaitForSignal(EnSyatekiCrow* this) {
Actor_SetScale(&this->actor, 0.03f);
this->actor.speedXZ = 0.0f;
this->actor.gravity = 0.0f;
@@ -123,13 +123,13 @@ void EnSyatekiCrow_SetupWaitForSpawn(EnSyatekiCrow* this) {
this->actor.shape.rot = this->actor.world.rot;
this->currentPointIndex = 1;
this->actor.draw = NULL;
this->actionFunc = EnSyatekiCrow_WaitForSpawn;
this->actionFunc = EnSyatekiCrow_WaitForSignal;
}
/**
* Waits until the shooting gallery man sets the appropriate Guay flag to spawn.
* Waits until the shooting gallery man sets the appropriate Guay flag.
*/
void EnSyatekiCrow_WaitForSpawn(EnSyatekiCrow* this, PlayState* play) {
void EnSyatekiCrow_WaitForSignal(EnSyatekiCrow* this, PlayState* play) {
EnSyatekiMan* syatekiMan = (EnSyatekiMan*)this->actor.parent;
if ((syatekiMan->shootingGameState == SG_GAME_STATE_RUNNING) && (this->isActive == true) &&
@@ -144,6 +144,10 @@ void EnSyatekiCrow_WaitForSpawn(EnSyatekiCrow* this, PlayState* play) {
}
}
/**
* Positions the Guay at the start of its assigned path and rotates it to face the
* next point on the path, then sets it up to start waiting.
*/
void EnSyatekiCrow_SetupWaitToMove(EnSyatekiCrow* this) {
Vec3f targetPos;
@@ -181,7 +185,7 @@ void EnSyatekiCrow_Fly(EnSyatekiCrow* this, PlayState* play) {
EnSyatekiMan* syatekiMan = (EnSyatekiMan*)this->actor.parent;
if (syatekiMan->shootingGameState != SG_GAME_STATE_RUNNING) {
EnSyatekiCrow_SetupWaitForSpawn(this);
EnSyatekiCrow_SetupWaitForSignal(this);
return;
}
@@ -203,7 +207,7 @@ void EnSyatekiCrow_Fly(EnSyatekiCrow* this, PlayState* play) {
} else {
this->isActive = false;
syatekiMan->guayFlags &= ~(1 << EN_SYATEKI_CROW_GET_INDEX(&this->actor));
EnSyatekiCrow_SetupWaitForSpawn(this);
EnSyatekiCrow_SetupWaitForSignal(this);
}
SkelAnime_Update(&this->skelAnime);
@@ -242,7 +246,7 @@ void EnSyatekiCrow_Dead(EnSyatekiCrow* this, PlayState* play) {
func_800B3030(play, &this->actor.world.pos, &sZeroVec, &sZeroVec, this->actor.scale.x * 10000.0f, 0, 0);
syatekiMan->guayHitCounter++;
syatekiMan->guayFlags &= ~(1 << EN_SYATEKI_CROW_GET_INDEX(&this->actor));
EnSyatekiCrow_SetupWaitForSpawn(this);
EnSyatekiCrow_SetupWaitForSignal(this);
}
this->deathTimer++;
@@ -17,10 +17,10 @@ void EnSyatekiDekunuts_Destroy(Actor* thisx, PlayState* play);
void EnSyatekiDekunuts_Update(Actor* thisx, PlayState* play);
void EnSyatekiDekunuts_Draw(Actor* thisx, PlayState* play);
void EnSyatekiDekunuts_SetupWaitForSpawn(EnSyatekiDekunuts* this);
void EnSyatekiDekunuts_WaitForSpawn(EnSyatekiDekunuts* this, PlayState* play);
void EnSyatekiDekunuts_SetupSpawn(EnSyatekiDekunuts* this);
void EnSyatekiDekunuts_Spawn(EnSyatekiDekunuts* this, PlayState* play);
void EnSyatekiDekunuts_SetupWaitForSignal(EnSyatekiDekunuts* this);
void EnSyatekiDekunuts_WaitForSignal(EnSyatekiDekunuts* this, PlayState* play);
void EnSyatekiDekunuts_SetupWaitToStart(EnSyatekiDekunuts* this);
void EnSyatekiDekunuts_WaitToStart(EnSyatekiDekunuts* this, PlayState* play);
void EnSyatekiDekunuts_SetupWaitToEmerge(EnSyatekiDekunuts* this);
void EnSyatekiDekunuts_WaitToEmerge(EnSyatekiDekunuts* this, PlayState* play);
void EnSyatekiDekunuts_SetupEmerge(EnSyatekiDekunuts* this);
@@ -152,7 +152,7 @@ void EnSyatekiDekunuts_Init(Actor* thisx, PlayState* play2) {
this->timer = 0;
this->unk_1DC = 0;
this->waitTimer = 0;
EnSyatekiDekunuts_SetupWaitForSpawn(this);
EnSyatekiDekunuts_SetupWaitForSignal(this);
}
void EnSyatekiDekunuts_Destroy(Actor* thisx, PlayState* play) {
@@ -161,7 +161,7 @@ void EnSyatekiDekunuts_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider);
}
void EnSyatekiDekunuts_SetupWaitForSpawn(EnSyatekiDekunuts* this) {
void EnSyatekiDekunuts_SetupWaitForSignal(EnSyatekiDekunuts* this) {
Animation_PlayOnceSetSpeed(&this->skelAnime, &gDekuScrubUpAnim, 0.0f);
this->actor.speedXZ = 0.0f;
@@ -176,18 +176,18 @@ void EnSyatekiDekunuts_SetupWaitForSpawn(EnSyatekiDekunuts* this) {
this->isAlive = true;
}
this->actionFunc = EnSyatekiDekunuts_WaitForSpawn;
this->actionFunc = EnSyatekiDekunuts_WaitForSignal;
}
/**
* Waits until the shooting gallery man sets the appropriate Deku Scrub flag to spawn.
* Waits until the shooting gallery man sets the appropriate Deku Scrub flag.
*/
void EnSyatekiDekunuts_WaitForSpawn(EnSyatekiDekunuts* this, PlayState* play) {
void EnSyatekiDekunuts_WaitForSignal(EnSyatekiDekunuts* this, PlayState* play) {
EnSyatekiMan* syatekiMan = (EnSyatekiMan*)this->actor.parent;
if ((syatekiMan->shootingGameState == SG_GAME_STATE_RUNNING) && (this->isAlive == true) &&
(syatekiMan->dekuScrubFlags & (1 << this->index))) {
EnSyatekiDekunuts_SetupSpawn(this);
EnSyatekiDekunuts_SetupWaitToStart(this);
} else if (syatekiMan->shootingGameState != SG_GAME_STATE_RUNNING) {
this->isAlive = true;
}
@@ -201,7 +201,7 @@ void EnSyatekiDekunuts_WaitForSpawn(EnSyatekiDekunuts* this, PlayState* play) {
/**
* Positions the Deku Scrub to match up with its flower, then sets it up to start waiting.
*/
void EnSyatekiDekunuts_SetupSpawn(EnSyatekiDekunuts* this) {
void EnSyatekiDekunuts_SetupWaitToStart(EnSyatekiDekunuts* this) {
Vec3f pos;
EnSyatekiMan* syatekiMan = (EnSyatekiMan*)this->actor.parent;
@@ -221,13 +221,13 @@ void EnSyatekiDekunuts_SetupSpawn(EnSyatekiDekunuts* this) {
this->headdressType = EN_SYATEKI_DEKUNUTS_HEADDRESS_TYPE_NORMAL;
}
this->actionFunc = EnSyatekiDekunuts_Spawn;
this->actionFunc = EnSyatekiDekunuts_WaitToStart;
}
/**
* Waits 20 frames, then plays a sound and starts the process of making the Deku Scrubs emerge.
*/
void EnSyatekiDekunuts_Spawn(EnSyatekiDekunuts* this, PlayState* play) {
void EnSyatekiDekunuts_WaitToStart(EnSyatekiDekunuts* this, PlayState* play) {
EnSyatekiMan* syatekiMan;
if (this->waitTimer > 20) {
@@ -357,7 +357,7 @@ void EnSyatekiDekunuts_SetupGameEnd(EnSyatekiDekunuts* this) {
*/
void EnSyatekiDekunuts_GameEnd(EnSyatekiDekunuts* this, PlayState* play) {
if (this->waitTimer > 20) {
EnSyatekiDekunuts_SetupWaitForSpawn(this);
EnSyatekiDekunuts_SetupWaitForSignal(this);
this->waitTimer = 0;
} else {
this->waitTimer++;
@@ -411,7 +411,7 @@ void EnSyatekiDekunuts_Dead(EnSyatekiDekunuts* this, PlayState* play) {
syatekiMan->dekuScrubFlags &= ~(1 << this->index);
}
EnSyatekiDekunuts_SetupWaitForSpawn(this);
EnSyatekiDekunuts_SetupWaitForSignal(this);
}
} else if (this->timer < 160) {
this->timer--;
@@ -424,7 +424,7 @@ void EnSyatekiDekunuts_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
if ((this->actionFunc != EnSyatekiDekunuts_WaitForSpawn) && (this->timer < this->timeToBurrow) &&
if ((this->actionFunc != EnSyatekiDekunuts_WaitForSignal) && (this->timer < this->timeToBurrow) &&
(this->timer > 10)) {
if ((this->collider.base.acFlags & AC_HIT) && (this->isAlive == true)) {
if (EN_SYATEKI_DEKUNUTS_GET_TYPE(&this->actor) == EN_SYATEKI_DEKUNUTS_TYPE_BONUS) {
@@ -463,7 +463,7 @@ void EnSyatekiDekunuts_Draw(Actor* thisx, PlayState* play) {
Vec3f flowerPos;
s32 i;
if (this->actionFunc != EnSyatekiDekunuts_WaitForSpawn) {
if (this->actionFunc != EnSyatekiDekunuts_WaitForSignal) {
SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnSyatekiDekunuts_OverrideLimbDraw, NULL, &this->actor);
}
File diff suppressed because it is too large Load Diff
@@ -4,9 +4,9 @@
#include "global.h"
#include "objects/object_wf/object_wf.h"
#define EN_SYATEKI_WF_GET_PARAM_F0(thisx) (((thisx)->params & 0xF0) >> 4)
#define EN_SYATEKI_WF_GET_POINT_TO_HOWL(thisx) (((thisx)->params & 0xF0) >> 4)
#define EN_SYATEKI_WF_GET_INDEX(thisx) (((thisx)->params & 0xFF00) >> 8)
#define EN_SYATEKI_WF_PARAMS(index, unkF0, unused) (((index << 8) & 0xFF00) | ((unkF0 << 4) & 0xF0) | (unused & 0xF))
#define EN_SYATEKI_WF_PARAMS(index, pointToHowl, unused) (((index << 8) & 0xFF00) | ((pointToHowl << 4) & 0xF0) | (unused & 0xF))
struct EnSyatekiWf;
@@ -19,19 +19,19 @@ typedef struct EnSyatekiWf {
/* 0x20C */ Vec3s morphTable[WOLFOS_NORMAL_LIMB_MAX];
/* 0x290 */ UNK_TYPE1 unk_290[0x4];
/* 0x294 */ EnSyatekiWfActionFunc actionFunc;
/* 0x298 */ s16 unk_298;
/* 0x29A */ s16 unk_29A;
/* 0x29C */ s16 unk_29C;
/* 0x2A0 */ Vec3s* unk_2A0;
/* 0x2A4 */ s16 unk_2A4;
/* 0x2A6 */ s16 unk_2A6;
/* 0x2A8 */ s16 unk_2A8;
/* 0x2AC */ f32 unk_2AC;
/* 0x298 */ s16 isActive;
/* 0x29A */ s16 timer;
/* 0x29C */ s16 waitTimer;
/* 0x2A0 */ Vec3s* pathPoints;
/* 0x2A4 */ s16 currentPointIndex;
/* 0x2A6 */ s16 maxPointIndex;
/* 0x2A8 */ s16 yawTarget;
/* 0x2AC */ f32 unk_2AC; // set to 10.0f, but never used
/* 0x2B0 */ u8 eyeIndex;
/* 0x2B4 */ ColliderCylinder unk_2B4;
/* 0x300 */ ColliderCylinder unk_300;
/* 0x34C */ ColliderJntSph unk_34C;
/* 0x36C */ ColliderJntSphElement unk_36C[1];
/* 0x2B4 */ ColliderCylinder bodyCollider;
/* 0x300 */ ColliderCylinder tailCollider;
/* 0x34C */ ColliderJntSph headCollider;
/* 0x36C */ ColliderJntSphElement headColliderElements[1];
/* 0x3AC */ UNK_TYPE1 unk_3AC[0x20];
} EnSyatekiWf; // size = 0x3CC
+21 -21
View File
@@ -317,7 +317,7 @@ void EnWf_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.0075f);
if (this->actor.params == 0) {
SkelAnime_InitFlex(play, &this->skelAnime, &gWolfosNormalSkel, &gWolfosWaitingAnim, this->jointTable,
SkelAnime_InitFlex(play, &this->skelAnime, &gWolfosNormalSkel, &gWolfosWaitAnim, this->jointTable,
this->morphTable, WOLFOS_NORMAL_LIMB_MAX);
this->actor.hintId = TATL_HINT_ID_WOLFOS;
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable2, &sColChkInfoInit);
@@ -325,7 +325,7 @@ void EnWf_Init(Actor* thisx, PlayState* play) {
this->collider1.elements[1].info.toucher.damage = 8;
this->actor.colChkInfo.health = 6;
} else {
SkelAnime_InitFlex(play, &this->skelAnime, &gWolfosWhiteSkel, &gWolfosWaitingAnim, this->jointTable,
SkelAnime_InitFlex(play, &this->skelAnime, &gWolfosWhiteSkel, &gWolfosWaitAnim, this->jointTable,
this->morphTable, WOLFOS_WHITE_LIMB_MAX);
this->actor.hintId = TATL_HINT_ID_WHITE_WOLFOS;
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable1, &sColChkInfoInit);
@@ -549,7 +549,7 @@ void func_80990F50(EnWf* this, PlayState* play) {
}
void func_80990FC8(EnWf* this) {
Animation_Change(&this->skelAnime, &gWolfosRearingUpFallingOverAnim, 0.5f, 0.0f, 7.0f, ANIMMODE_ONCE_INTERP, 0.0f);
Animation_Change(&this->skelAnime, &gWolfosRearUpFallOverAnim, 0.5f, 0.0f, 7.0f, ANIMMODE_ONCE_INTERP, 0.0f);
this->unk_2A0 = 5;
this->actor.flags |= ACTOR_FLAG_1;
this->actionFunc = func_80991040;
@@ -572,7 +572,7 @@ void func_80991040(EnWf* this, PlayState* play) {
void func_809910F0(EnWf* this) {
this->collider2.base.acFlags &= ~AC_ON;
this->actor.speedXZ = 0.0f;
Animation_Change(&this->skelAnime, &gWolfosRearingUpFallingOverAnim, 0.5f, 0.0f, 7.0f, ANIMMODE_ONCE_INTERP, -5.0f);
Animation_Change(&this->skelAnime, &gWolfosRearUpFallOverAnim, 0.5f, 0.0f, 7.0f, ANIMMODE_ONCE_INTERP, -5.0f);
this->unk_2A0 = 5;
this->actionFunc = func_80991174;
}
@@ -591,7 +591,7 @@ void func_80991174(EnWf* this, PlayState* play) {
void func_80991200(EnWf* this) {
this->collider2.base.acFlags |= AC_ON;
Animation_MorphToLoop(&this->skelAnime, &gWolfosWaitingAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosWaitAnim, -4.0f);
this->unk_2A0 = (s32)Rand_ZeroFloat(10.0f) + 2;
this->actor.world.rot.y = this->actor.shape.rot.y;
this->actionFunc = func_80991280;
@@ -642,7 +642,7 @@ void func_80991280(EnWf* this, PlayState* play) {
void func_80991438(EnWf* this) {
this->collider2.base.acFlags |= AC_ON;
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunningAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunAnim, -4.0f);
this->actor.world.rot.y = this->actor.shape.rot.y;
this->actor.speedXZ = 8.0f;
this->actionFunc = func_8099149C;
@@ -703,7 +703,7 @@ void func_8099149C(EnWf* this, PlayState* play) {
}
void func_80991738(EnWf* this) {
Animation_MorphToLoop(&this->skelAnime, &gWolfosSidesteppingAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosSidestepAnim, -4.0f);
this->actionFunc = func_8099177C;
}
@@ -755,7 +755,7 @@ void func_8099177C(EnWf* this, PlayState* play) {
void func_80991948(EnWf* this) {
this->collider2.base.acFlags |= AC_ON;
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunningAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunAnim, -4.0f);
if (Rand_ZeroOne() > 0.5f) {
this->unk_29A = 16000;
} else {
@@ -809,7 +809,7 @@ void func_809919F4(EnWf* this, PlayState* play) {
void func_80991C04(EnWf* this) {
this->collider2.base.acFlags |= AC_ON;
Animation_PlayOnce(&this->skelAnime, &gWolfosSlashingAnim);
Animation_PlayOnce(&this->skelAnime, &gWolfosSlashAnim);
this->collider1.base.atFlags &= ~AT_BOUNCED;
this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
this->unk_2A0 = 7;
@@ -879,7 +879,7 @@ void func_80991FD8(EnWf* this) {
if (this->skelAnime.curFrame > 15.0f) {
phi_f0 = 15.0f;
}
Animation_Change(&this->skelAnime, &gWolfosSlashingAnim, -0.5f, this->skelAnime.curFrame - 1.0f, phi_f0,
Animation_Change(&this->skelAnime, &gWolfosSlashAnim, -0.5f, this->skelAnime.curFrame - 1.0f, phi_f0,
ANIMMODE_ONCE_INTERP, 0.0f);
this->collider1.base.atFlags &= ~AT_ON;
this->actionFunc = func_80992068;
@@ -923,7 +923,7 @@ void func_80992068(EnWf* this, PlayState* play) {
void func_8099223C(EnWf* this) {
this->collider2.base.acFlags &= ~AC_ON;
Animation_MorphToPlayOnce(&this->skelAnime, &gWolfosBackflippingAnim, -3.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &gWolfosBackflipAnim, -3.0f);
this->unk_2A0 = 0;
this->actor.speedXZ = -6.0f;
this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
@@ -1021,8 +1021,8 @@ void func_809924EC(EnWf* this, PlayState* play) {
void func_809926D0(EnWf* this) {
this->collider2.base.acFlags &= ~AC_ON;
Animation_Change(&this->skelAnime, &gWolfosBackflippingAnim, -1.0f,
Animation_GetLastFrame(&gWolfosBackflippingAnim.common), 0.0f, ANIMMODE_ONCE, -3.0f);
Animation_Change(&this->skelAnime, &gWolfosBackflipAnim, -1.0f, Animation_GetLastFrame(&gWolfosBackflipAnim.common),
0.0f, ANIMMODE_ONCE, -3.0f);
this->unk_2A0 = 0;
this->actor.speedXZ = 6.5f;
this->actor.velocity.y = 15.0f;
@@ -1053,8 +1053,8 @@ void func_8099282C(EnWf* this) {
this->collider1.base.atFlags &= ~AT_ON;
this->unk_2A0 = 10;
this->actor.speedXZ = 0.0f;
Animation_Change(&this->skelAnime, &gWolfosBlockingAnim, -1.0f, Animation_GetLastFrame(&gWolfosBlockingAnim.common),
0.0f, ANIMMODE_ONCE, -2.0f);
Animation_Change(&this->skelAnime, &gWolfosBlockAnim, -1.0f, Animation_GetLastFrame(&gWolfosBlockAnim.common), 0.0f,
ANIMMODE_ONCE, -2.0f);
this->actionFunc = func_809928CC;
}
@@ -1091,7 +1091,7 @@ void func_80992A74(EnWf* this, PlayState* play) {
f32 temp_f0;
this->collider2.base.acFlags |= AC_ON;
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunningAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunAnim, -4.0f);
player = GET_PLAYER(play);
temp_f0 = Math_SinS((player->actor.shape.rot.y + this->unk_29A) - this->actor.yawTowardsPlayer);
if (temp_f0 > 0.0f) {
@@ -1153,7 +1153,7 @@ void func_80992B8C(EnWf* this, PlayState* play) {
void func_80992D6C(EnWf* this) {
this->collider2.base.acFlags &= ~AC_ON;
Animation_MorphToPlayOnce(&this->skelAnime, &gWolfosRearingUpFallingOverAnim, -4.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &gWolfosRearUpFallOverAnim, -4.0f);
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
if (this->actor.bgCheckFlags & 1) {
this->actor.speedXZ = -6.0f;
@@ -1205,7 +1205,7 @@ void func_80992E0C(EnWf* this, PlayState* play) {
}
void func_80992FD4(EnWf* this) {
Animation_MorphToLoop(&this->skelAnime, &gWolfosWaitingAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosWaitAnim, -4.0f);
this->actionFunc = func_80993018;
}
@@ -1232,7 +1232,7 @@ void func_80993018(EnWf* this, PlayState* play) {
}
void func_80993148(EnWf* this) {
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunningAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunAnim, -4.0f);
this->actor.speedXZ = 0.0f;
this->actionFunc = func_80993194;
}
@@ -1277,7 +1277,7 @@ void func_80993194(EnWf* this, PlayState* play) {
}
void func_80993350(EnWf* this) {
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunningAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunAnim, -4.0f);
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_WOLFOS_APPEAR);
this->actionFunc = func_809933A0;
}
@@ -1317,7 +1317,7 @@ void func_809933A0(EnWf* this, PlayState* play) {
}
void func_80993524(EnWf* this) {
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunningAnim, -4.0f);
Animation_MorphToLoop(&this->skelAnime, &gWolfosRunAnim, -4.0f);
this->actor.speedXZ = 6.0f;
this->actor.world.rot.y = this->actor.shape.rot.y;
this->actionFunc = func_8099357C;
+21 -21
View File
@@ -9125,8 +9125,8 @@
0x809CA27C:("BgIcicle_Draw",),
0x809CA3F0:("EnSyatekiCrow_Init",),
0x809CA5A8:("EnSyatekiCrow_Destroy",),
0x809CA5D4:("EnSyatekiCrow_SetupWaitForSpawn",),
0x809CA67C:("EnSyatekiCrow_WaitForSpawn",),
0x809CA5D4:("EnSyatekiCrow_SetupWaitForSignal",),
0x809CA67C:("EnSyatekiCrow_WaitForSignal",),
0x809CA71C:("EnSyatekiCrow_SetupWaitToMove",),
0x809CA840:("EnSyatekiCrow_WaitToMove",),
0x809CA8E4:("EnSyatekiCrow_Fly",),
@@ -9876,21 +9876,21 @@
0x80A1FC50:("DmHina_Draw",),
0x80A1FE50:("EnSyatekiWf_Init",),
0x80A200A0:("EnSyatekiWf_Destroy",),
0x80A200E0:("func_80A200E0",),
0x80A201CC:("func_80A201CC",),
0x80A20284:("func_80A20284",),
0x80A2030C:("func_80A2030C",),
0x80A20320:("func_80A20320",),
0x80A20378:("func_80A20378",),
0x80A203DC:("func_80A203DC",),
0x80A20670:("func_80A20670",),
0x80A206DC:("func_80A206DC",),
0x80A20710:("func_80A20710",),
0x80A2075C:("func_80A2075C",),
0x80A2079C:("func_80A2079C",),
0x80A20800:("func_80A20800",),
0x80A20858:("func_80A20858",),
0x80A208F8:("func_80A208F8",),
0x80A200E0:("EnSyatekiWf_InitPathStart",),
0x80A201CC:("EnSyatekiWf_SetupWaitForSignal",),
0x80A20284:("EnSyatekiWf_WaitForSignal",),
0x80A2030C:("EnSyatekiWf_SetupWaitToMove",),
0x80A20320:("EnSyatekiWf_WaitToMove",),
0x80A20378:("EnSyatekiWf_SetupRun",),
0x80A203DC:("EnSyatekiWf_Run",),
0x80A20670:("EnSyatekiWf_SetupJump",),
0x80A206DC:("EnSyatekiWf_Jump",),
0x80A20710:("EnSyatekiWf_SetupLand",),
0x80A2075C:("EnSyatekiWf_Land",),
0x80A2079C:("EnSyatekiWf_SetupHowl",),
0x80A20800:("EnSyatekiWf_Howl",),
0x80A20858:("EnSyatekiWf_SetupDead",),
0x80A208F8:("EnSyatekiWf_Dead",),
0x80A20A50:("EnSyatekiWf_Update",),
0x80A20CF4:("EnSyatekiWf_OverrideLimbDraw",),
0x80A20D10:("EnSyatekiWf_PostLimbDraw",),
@@ -10063,10 +10063,10 @@
0x80A2B390:("BgDblueMovebg_Draw",),
0x80A2BC00:("EnSyatekiDekunuts_Init",),
0x80A2BE28:("EnSyatekiDekunuts_Destroy",),
0x80A2BE54:("EnSyatekiDekunuts_SetupWaitForSpawn",),
0x80A2BF18:("EnSyatekiDekunuts_WaitForSpawn",),
0x80A2BFC4:("EnSyatekiDekunuts_SetupSpawn",),
0x80A2C0F8:("EnSyatekiDekunuts_Spawn",),
0x80A2BE54:("EnSyatekiDekunuts_SetupWaitForSignal",),
0x80A2BF18:("EnSyatekiDekunuts_WaitForSignal",),
0x80A2BFC4:("EnSyatekiDekunuts_SetupWaitToStart",),
0x80A2C0F8:("EnSyatekiDekunuts_WaitToStart",),
0x80A2C150:("EnSyatekiDekunuts_SetupWaitToEmerge",),
0x80A2C168:("EnSyatekiDekunuts_WaitToEmerge",),
0x80A2C1AC:("EnSyatekiDekunuts_SetupEmerge",),
+4 -4
View File
@@ -10954,13 +10954,13 @@
0x80A20EA0:("D_80A20EA0","UNK_TYPE1","",0x1),
0x80A20EAC:("D_80A20EAC","UNK_PTR","",0x4),
0x80A20EB0:("D_80A20EB0","UNK_TYPE1","",0x1),
0x80A20EDC:("D_80A20EDC","UNK_TYPE1","",0x1),
0x80A20EE8:("D_80A20EE8","UNK_TYPE1","",0x1),
0x80A20EDC:("sVelocity","UNK_TYPE1","",0x1),
0x80A20EE8:("sAccel","UNK_TYPE1","",0x1),
0x80A20EF4:("En_Syateki_Wf_InitVars","UNK_TYPE1","",0x1),
0x80A20F14:("D_80A20F14","UNK_PTR","",0x4),
0x80A20FBC:("D_80A20FBC","UNK_TYPE1","",0x1),
0x80A20FC4:("D_80A20FC4","UNK_TYPE4","",0x4),
0x80A20FD0:("D_80A20FD0","UNK_TYPE1","",0x1),
0x80A20FC4:("sFireVelocityAndAccel","UNK_TYPE4","",0x4),
0x80A20FD0:("sTailColliderOffset","UNK_TYPE1","",0x1),
0x80A20FDC:("D_80A20FDC","UNK_TYPE1","",0x1),
0x80A20FF0:("D_80A20FF0","f32","",0x4),
0x80A229F0:("Obj_Skateblock_InitVars","UNK_TYPE1","",0x1),