diff --git a/assets/xml/objects/object_bigokuta.xml b/assets/xml/objects/object_bigokuta.xml
index 21ead0501a..2c54c6a61a 100644
--- a/assets/xml/objects/object_bigokuta.xml
+++ b/assets/xml/objects/object_bigokuta.xml
@@ -34,25 +34,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_bigslime.xml b/assets/xml/objects/object_bigslime.xml
index 5b7530addf..7195c20c71 100644
--- a/assets/xml/objects/object_bigslime.xml
+++ b/assets/xml/objects/object_bigslime.xml
@@ -65,30 +65,30 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_bji.xml b/assets/xml/objects/object_bji.xml
index b41ac15468..0fec0c8c36 100644
--- a/assets/xml/objects/object_bji.xml
+++ b/assets/xml/objects/object_bji.xml
@@ -3,21 +3,23 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -36,22 +38,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_fsn.xml b/assets/xml/objects/object_fsn.xml
index 2ed2b5d081..e3ae8db1bd 100644
--- a/assets/xml/objects/object_fsn.xml
+++ b/assets/xml/objects/object_fsn.xml
@@ -53,8 +53,8 @@
-
-
+
+
diff --git a/assets/xml/objects/object_harfgibud.xml b/assets/xml/objects/object_harfgibud.xml
index a97e42c000..361bbe74c6 100644
--- a/assets/xml/objects/object_harfgibud.xml
+++ b/assets/xml/objects/object_harfgibud.xml
@@ -5,23 +5,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -35,47 +37,51 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -91,25 +97,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_pamera.xml b/assets/xml/objects/object_pamera.xml
index 6b457ab8b6..28f73983e1 100644
--- a/assets/xml/objects/object_pamera.xml
+++ b/assets/xml/objects/object_pamera.xml
@@ -1,26 +1,28 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -38,29 +40,31 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_sdn.xml b/assets/xml/objects/object_sdn.xml
index 219436b025..88c62434e8 100644
--- a/assets/xml/objects/object_sdn.xml
+++ b/assets/xml/objects/object_sdn.xml
@@ -44,23 +44,23 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/overlays/ovl_En_Bigslime.xml b/assets/xml/overlays/ovl_En_Bigslime.xml
index 9526daea6f..fe92a87fb0 100644
--- a/assets/xml/overlays/ovl_En_Bigslime.xml
+++ b/assets/xml/overlays/ovl_En_Bigslime.xml
@@ -1,20 +1,14 @@
-
+
-
-
-
-
-
-
diff --git a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
index 60dbab0412..2b1111809f 100644
--- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
+++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
@@ -5,7 +5,6 @@
*/
#include "z_en_bigokuta.h"
-#include "assets/objects/object_bigokuta/object_bigokuta.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4)
@@ -584,7 +583,7 @@ s32 EnBigokuta_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec
}
rot->x -= rotX;
}
- } else if (limbIndex == BIGOKUTA_LIMB_SNOUT_CENTER) {
+ } else if (limbIndex == BIGOKUTA_LIMB_CENTER_SNOUT) {
EnBigokuta* this = THIS;
if (this->actionFunc == EnBigokuta_PlayDeathEffects) {
diff --git a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.h b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.h
index c5cb799a52..ba59e9a976 100644
--- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.h
+++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.h
@@ -2,36 +2,13 @@
#define Z_EN_BIGOKUTA_H
#include "global.h"
+#include "assets/objects/object_bigokuta/object_bigokuta.h"
struct EnBigokuta;
typedef void (*EnBigokutaActionFunc)(struct EnBigokuta*, PlayState*);
typedef void (*EnBigokutaUnkFunc)(PlayState*, struct EnBigokuta*);
-typedef enum {
- /* 00 */ BIGOKUTA_LIMB_NONE,
- /* 01 */ BIGOKUTA_LIMB_BODY,
- /* 02 */ BIGOKUTA_LIMB_ARM_BASE_RIGHT_FRONT,
- /* 03 */ BIGOKUTA_LIMB_ARM_END_RIGHT_FRONT,
- /* 04 */ BIGOKUTA_LIMB_ARM_BASE_LEFT_FRONT,
- /* 05 */ BIGOKUTA_LIMB_ARM_END_LEFT_FRONT,
- /* 06 */ BIGOKUTA_LIMB_ARM_BASE_RIGHT_BACK,
- /* 07 */ BIGOKUTA_LIMB_ARM_END_RIGHT_BACK,
- /* 08 */ BIGOKUTA_LIMB_ARM_BASE_LEFT_BACK,
- /* 09 */ BIGOKUTA_LIMB_ARM_END_LEFT_BACK,
- /* 10 */ BIGOKUTA_LIMB_HEAD,
- /* 11 */ BIGOKUTA_LIMB_TENTACLE_BASE_LEFT,
- /* 12 */ BIGOKUTA_LIMB_TENTACLE_TIP_LEFT,
- /* 13 */ BIGOKUTA_LIMB_TENTACLE_BASE_RIGHT,
- /* 14 */ BIGOKUTA_LIMB_TENTACLE_TIP_RIGHT,
- /* 15 */ BIGOKUTA_LIMB_WEAK_POINT_LEFT,
- /* 16 */ BIGOKUTA_LIMB_WEAK_POINT_RIGHT,
- /* 17 */ BIGOKUTA_LIMB_SNOUT_CENTER,
- /* 18 */ BIGOKUTA_LIMB_SNOUT_RIGHT,
- /* 19 */ BIGOKUTA_LIMB_SNOUT_LEFT,
- /* 20 */ BIGOKUTA_LIMB_MAX
-} ObjectBigokutaLimbs;
-
typedef struct EnBigokuta {
/* 0x000 */ Actor actor;
/* 0x144 */ EnBigokutaUnkFunc unkFunc; // possibly something to do with photographing
diff --git a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c
index e22457a128..6f48cdb7a0 100644
--- a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c
+++ b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c
@@ -153,7 +153,7 @@ static Vtx sBigslimeTargetVtx[BIGSLIME_NUM_VTX] = {
* Purpose: indices to calculate/update normal vector for lighting calculations
* "EnBigslimeTri" struct based on "Tri" struct from gbi.h, but without the flag
*/
-static EnBigslimeTri sEnbigslimeTri[BIGSLIME_NUM_FACES] = {
+static EnBigslimeTri sBigslimeTri[BIGSLIME_NUM_FACES] = {
{ 0, 2, 1 }, { 1, 7, 6 }, { 1, 2, 7 }, { 2, 8, 7 }, { 6, 17, 16 }, { 6, 7, 17 },
{ 8, 19, 18 }, { 7, 8, 18 }, { 7, 18, 17 }, { 9, 21, 20 }, { 0, 3, 2 }, { 2, 9, 8 },
{ 2, 3, 9 }, { 3, 10, 9 }, { 8, 20, 19 }, { 8, 9, 20 }, { 10, 22, 21 }, { 9, 10, 21 },
@@ -436,13 +436,13 @@ void EnBigslime_UpdateSurfaceNorm(EnBigslime* this) {
}
for (i = 0; i < BIGSLIME_NUM_FACES; i++) {
- dynamicVtx0 = &sBigslimeDynamicVtx[this->dynamicVtxState][sEnbigslimeTri[i].v[0]];
- dynamicVtx12 = &sBigslimeDynamicVtx[this->dynamicVtxState][sEnbigslimeTri[i].v[1]];
+ dynamicVtx0 = &sBigslimeDynamicVtx[this->dynamicVtxState][sBigslimeTri[i].v[0]];
+ dynamicVtx12 = &sBigslimeDynamicVtx[this->dynamicVtxState][sBigslimeTri[i].v[1]];
vecTriEdge1.x = dynamicVtx12->n.ob[0] - dynamicVtx0->n.ob[0];
vecTriEdge1.y = dynamicVtx12->n.ob[1] - dynamicVtx0->n.ob[1];
vecTriEdge1.z = dynamicVtx12->n.ob[2] - dynamicVtx0->n.ob[2];
- dynamicVtx12 = &sBigslimeDynamicVtx[this->dynamicVtxState][sEnbigslimeTri[i].v[2]];
+ dynamicVtx12 = &sBigslimeDynamicVtx[this->dynamicVtxState][sBigslimeTri[i].v[2]];
vecTriEdge2.x = dynamicVtx12->n.ob[0] - dynamicVtx0->n.ob[0];
vecTriEdge2.y = dynamicVtx12->n.ob[1] - dynamicVtx0->n.ob[1];
vecTriEdge2.z = dynamicVtx12->n.ob[2] - dynamicVtx0->n.ob[2];
@@ -450,9 +450,9 @@ void EnBigslime_UpdateSurfaceNorm(EnBigslime* this) {
Math3D_CrossProduct(&vecTriEdge1, &vecTriEdge2, &vecTriNorm);
EnBigslime_Vec3fNormalize(&vecTriNorm);
- Math_Vec3f_Sum(&vtxNorm[sEnbigslimeTri[i].v[0]], &vecTriNorm, &vtxNorm[sEnbigslimeTri[i].v[0]]);
- Math_Vec3f_Sum(&vtxNorm[sEnbigslimeTri[i].v[1]], &vecTriNorm, &vtxNorm[sEnbigslimeTri[i].v[1]]);
- Math_Vec3f_Sum(&vtxNorm[sEnbigslimeTri[i].v[2]], &vecTriNorm, &vtxNorm[sEnbigslimeTri[i].v[2]]);
+ Math_Vec3f_Sum(&vtxNorm[sBigslimeTri[i].v[0]], &vecTriNorm, &vtxNorm[sBigslimeTri[i].v[0]]);
+ Math_Vec3f_Sum(&vtxNorm[sBigslimeTri[i].v[1]], &vecTriNorm, &vtxNorm[sBigslimeTri[i].v[1]]);
+ Math_Vec3f_Sum(&vtxNorm[sBigslimeTri[i].v[2]], &vecTriNorm, &vtxNorm[sBigslimeTri[i].v[2]]);
}
for (i = 0; i < BIGSLIME_NUM_VTX; i++) {
@@ -3053,7 +3053,7 @@ void EnBigslime_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s*
Matrix_MultZero(&this->limbPos[limbPosIndex[limbIndex]]);
}
- if (limbIndex == GEKKO_LIMB_R_ANKLE) {
+ if (limbIndex == GEKKO_LIMB_RIGHT_ANKLE) {
Matrix_MultVec3f(&rightFootOffsetRef, &rightFootOffset);
this->gekkoCollider.dim.pos.y = rightFootOffset.y;
}
diff --git a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c
index 63cc7ed57f..725b740f07 100644
--- a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c
+++ b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c
@@ -5,7 +5,6 @@
*/
#include "z_en_bji_01.h"
-#include "objects/object_bji/object_bji.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10)
@@ -90,7 +89,7 @@ void func_809CCE98(EnBji01* this, PlayState* play) {
void func_809CCEE8(EnBji01* this, PlayState* play) {
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.home.rot.y, 0x444);
- if (this->actor.params == ENBJI01_PARAMS_DEFAULT) {
+ if (this->actor.params == SHIKASHI_TYPE_DEFAULT) {
if ((this->actor.xzDistToPlayer <= 60.0f) && (this->actor.playerHeightRel <= 10.0f)) {
this->actor.flags |= ACTOR_FLAG_10000;
} else {
@@ -118,8 +117,8 @@ void func_809CD028(EnBji01* this, PlayState* play) {
f32 timeBeforeMoonCrash;
switch (this->actor.params) {
- case ENBJI01_PARAMS_DEFAULT:
- case ENBJI01_PARAMS_FINISHED_CONVERSATION:
+ case SHIKASHI_TYPE_DEFAULT:
+ case SHIKASHI_TYPE_FINISHED_CONVERSATION:
switch (gSaveContext.save.playerForm) {
case PLAYER_FORM_DEKU:
if (gSaveContext.save.weekEventReg[17] & 0x10) {
@@ -154,7 +153,7 @@ void func_809CD028(EnBji01* this, PlayState* play) {
break;
}
break;
- case ENBJI01_PARAMS_LOOKED_THROUGH_TELESCOPE:
+ case SHIKASHI_TYPE_LOOKED_THROUGH_TELESCOPE:
switch (gSaveContext.save.playerForm) {
case PLAYER_FORM_DEKU:
if (gSaveContext.save.weekEventReg[74] & 0x80) {
@@ -208,7 +207,7 @@ void EnBji01_DialogueHandler(EnBji01* this, PlayState* play) {
case TEXT_STATE_CHOICE:
if (Message_ShouldAdvance(play)) {
this->actor.flags &= ~ACTOR_FLAG_10000;
- this->actor.params = ENBJI01_PARAMS_FINISHED_CONVERSATION;
+ this->actor.params = SHIKASHI_TYPE_FINISHED_CONVERSATION;
switch (play->msgCtx.choiceIndex) {
case 0:
func_8019F208();
@@ -276,14 +275,14 @@ void EnBji01_DialogueHandler(EnBji01* this, PlayState* play) {
case 0x5F8:
func_801477B4(play);
this->actor.flags &= ~ACTOR_FLAG_10000;
- this->actor.params = ENBJI01_PARAMS_FINISHED_CONVERSATION;
+ this->actor.params = SHIKASHI_TYPE_FINISHED_CONVERSATION;
func_809CCE98(this, play);
break;
}
}
break;
case TEXT_STATE_DONE:
- this->actor.params = ENBJI01_PARAMS_FINISHED_CONVERSATION;
+ this->actor.params = SHIKASHI_TYPE_FINISHED_CONVERSATION;
this->actor.flags &= ~ACTOR_FLAG_10000;
func_809CCE98(this, play);
break;
@@ -330,8 +329,8 @@ void EnBji01_Init(Actor* thisx, PlayState* play) {
EnBji01* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &object_bji_Skel_00578C, &object_bji_Anim_000FDC, this->jointTable,
- this->morphTable, BJI_LIMB_MAX);
+ SkelAnime_InitFlex(play, &this->skelAnime, &gShikashiSkel, &object_bji_Anim_000FDC, this->jointTable,
+ this->morphTable, SHIKASHI_LIMB_MAX);
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
@@ -346,14 +345,14 @@ void EnBji01_Init(Actor* thisx, PlayState* play) {
switch (gSaveContext.save.entranceIndex) {
case 0x4C00: /* Observatory from ECT */
case 0x4C10: /* Observatory from Termina Field door */
- this->actor.params = ENBJI01_PARAMS_DEFAULT;
+ this->actor.params = SHIKASHI_TYPE_DEFAULT;
func_809CCE98(this, play);
break;
case 0x4C20: /* Observatory from Termina Field telescope */
this->actor.flags |= ACTOR_FLAG_10000;
func_801A5BD0(0);
Audio_QueueSeqCmd(0xE0000100);
- this->actor.params = ENBJI01_PARAMS_LOOKED_THROUGH_TELESCOPE;
+ this->actor.params = SHIKASHI_TYPE_LOOKED_THROUGH_TELESCOPE;
func_809CCE98(this, play);
break;
default:
@@ -394,20 +393,20 @@ void EnBji01_Update(Actor* thisx, PlayState* play) {
s32 EnBji01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnBji01* this = THIS;
- if ((limbIndex == BJI_LIMB_NONE) && ((play->gameplayFrames % 2) != 0)) {
+ if ((limbIndex == SHIKASHI_LIMB_NONE) && ((play->gameplayFrames % 2) != 0)) {
*dList = NULL;
}
- if (limbIndex == BJI_LIMB_NONE) {
+ if (limbIndex == SHIKASHI_LIMB_NONE) {
rot->x = rot->x;
rot->y = rot->y;
rot->z = rot->z;
}
switch (limbIndex) {
- case BJI_LIMB_TORSO:
+ case SHIKASHI_LIMB_TORSO:
rot->x += this->torsoXRotStep;
rot->z += this->torsoZRotStep;
break;
- case BJI_LIMB_HEAD:
+ case SHIKASHI_LIMB_HEAD:
rot->x += this->headXRotStep;
rot->z += this->headZRotStep;
break;
@@ -421,7 +420,7 @@ void EnBji01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
Vec3f sp20;
s32 temp_f4 = 0;
- if (limbIndex == BJI_LIMB_HEAD) {
+ if (limbIndex == SHIKASHI_LIMB_HEAD) {
Math_Vec3f_Copy(&sp20, &D_809CDCC8);
sp20.x += temp_f4 * 0.1f;
sp20.y += temp_f4 * 0.1f;
diff --git a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.h b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.h
index 113db6a388..ac738bc715 100644
--- a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.h
+++ b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.h
@@ -3,44 +3,25 @@
#include "global.h"
#include "overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.h"
+#include "objects/object_bji/object_bji.h"
struct EnBji01;
typedef void (*EnBji01ActionFunc)(struct EnBji01*, PlayState*);
typedef enum {
- /* 00 */ BJI_LIMB_NONE,
- /* 01 */ BJI_LIMB_ROOT,
- /* 02 */ BJI_LIMB_THIGH_LEFT,
- /* 03 */ BJI_LIMB_LEG_LEFT,
- /* 04 */ BJI_LIMB_FOOT_LEFT,
- /* 05 */ BJI_LIMB_THIGH_RIGHT,
- /* 06 */ BJI_LIMB_LEG_RIGHT,
- /* 07 */ BJI_LIMB_FOOT_RIGHT,
- /* 08 */ BJI_LIMB_TORSO,
- /* 09 */ BJI_LIMB_ARM_LEFT,
- /* 10 */ BJI_LIMB_FOREARM_LEFT,
- /* 11 */ BJI_LIMB_HAND_LEFT,
- /* 12 */ BJI_LIMB_ARM_RIGHT,
- /* 13 */ BJI_LIMB_FOREARM_RIGHT,
- /* 14 */ BJI_LIMB_HAND_RIGHT,
- /* 15 */ BJI_LIMB_HEAD,
- /* 16 */ BJI_LIMB_MAX
-} ObjectBjiLimbs;
-
-typedef enum {
- /* 00 */ ENBJI01_PARAMS_DEFAULT,
- /* 01 */ ENBJI01_PARAMS_FINISHED_CONVERSATION,
- /* 03 */ ENBJI01_PARAMS_LOOKED_THROUGH_TELESCOPE = 3
-} EnBji01Params;
+ /* 0 */ SHIKASHI_TYPE_DEFAULT,
+ /* 1 */ SHIKASHI_TYPE_FINISHED_CONVERSATION,
+ /* 3 */ SHIKASHI_TYPE_LOOKED_THROUGH_TELESCOPE = 3
+} ShikashiType;
typedef struct EnBji01 {
/* 0x000 */ Actor actor;
/* 0x144 */ EnBji01ActionFunc actionFunc;
/* 0x148 */ SkelAnime skelAnime;
/* 0x18C */ ColliderCylinder collider;
- /* 0x1D8 */ Vec3s jointTable[BJI_LIMB_MAX];
- /* 0x238 */ Vec3s morphTable[BJI_LIMB_MAX];
+ /* 0x1D8 */ Vec3s jointTable[SHIKASHI_LIMB_MAX];
+ /* 0x238 */ Vec3s morphTable[SHIKASHI_LIMB_MAX];
/* 0x298 */ s32 animationIndex;
/* 0x29C */ s16 eyeTexIndex;
/* 0x29E */ s16 blinkSeqIndex;
diff --git a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c
index 17ee92ede8..4b6eae5bb2 100644
--- a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c
+++ b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c
@@ -5,7 +5,6 @@
*/
#include "z_en_demo_heishi.h"
-#include "objects/object_sdn/object_sdn.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8)
@@ -69,8 +68,8 @@ void EnDemoheishi_Init(Actor* thisx, PlayState* play) {
EnDemoheishi* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkeleton, &gSoldierWave, this->jointTable, this->morphTable,
- 17);
+ SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierWave, this->jointTable, this->morphTable,
+ SOLDIER_LIMB_MAX);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actor.targetMode = 6;
this->actor.gravity = -3.0f;
@@ -175,7 +174,7 @@ void EnDemoheishi_Update(Actor* thisx, PlayState* play) {
s32 EnDemoheishi_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnDemoheishi* this = THIS;
- if (limbIndex == DEMOHEISHI_LIMB_HEAD) {
+ if (limbIndex == SOLDIER_LIMB_HEAD) {
rot->x += this->headRotX;
rot->y += this->headRotY;
rot->z += this->headRotZ;
diff --git a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.h b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.h
index f67cbe0743..c14fa53269 100644
--- a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.h
+++ b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.h
@@ -2,37 +2,17 @@
#define Z_EN_DEMO_HEISHI_H
#include "global.h"
+#include "objects/object_sdn/object_sdn.h"
struct EnDemoheishi;
typedef void (*EnDemoheishiActionFunc)(struct EnDemoheishi*, PlayState*);
-typedef enum {
- /* 0 */ DEMOHEISHI_LIMB_NONE,
- /* 1 */ DEMOHEISHI_LIMB_ROOT,
- /* 2 */ DEMOHEISHI_LIMB_PELVIS,
- /* 3 */ DEMOHEISHI_LIMB_LEFT_THIGH,
- /* 4 */ DEMOHEISHI_LIMB_LEFT_SHIN,
- /* 5 */ DEMOHEISHI_LIMB_LEFT_FOOT,
- /* 6 */ DEMOHEISHI_LIMB_RIGHT_THIGH,
- /* 7 */ DEMOHEISHI_LIMB_RIGHT_SHIN,
- /* 8 */ DEMOHEISHI_LIMB_RIGHT_FOOT,
- /* 9 */ DEMOHEISHI_LIMB_TORSO,
- /* 10 */ DEMOHEISHI_LIMB_LEFT_SHOULDER,
- /* 11 */ DEMOHEISHI_LIMB_LEFT_FOREARM,
- /* 12 */ DEMOHEISHI_LIMB_LEFT_HAND,
- /* 13 */ DEMOHEISHI_LIMB_RIGHT_SHOULDER,
- /* 14 */ DEMOHEISHI_LIMB_RIGHT_FOREARM,
- /* 15 */ DEMOHEISHI_LIMB_RIGHT_HAND_WITH_SPEAR,
- /* 16 */ DEMOHEISHI_LIMB_HEAD,
- /* 17 */ DEMOHEISHI_LIMB_MAX
-} EnDemoheishiLimbs;
-
typedef struct EnDemoheishi {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
- /* 0x188 */ Vec3s jointTable[DEMOHEISHI_LIMB_MAX];
- /* 0x1EE */ Vec3s morphTable[DEMOHEISHI_LIMB_MAX];
+ /* 0x188 */ Vec3s jointTable[SOLDIER_LIMB_MAX];
+ /* 0x1EE */ Vec3s morphTable[SOLDIER_LIMB_MAX];
/* 0x254 */ EnDemoheishiActionFunc actionFunc;
/* 0x258 */ s16 headRotY;
/* 0x25A */ s16 headRotX;
diff --git a/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.c b/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.c
index 9a58673d05..716237321c 100644
--- a/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.c
+++ b/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.c
@@ -38,7 +38,7 @@ void EnEndingHero4_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
this->actor.targetMode = 6;
this->actor.gravity = -3.0f;
- SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkeleton, &gSoldierCheerWithSpear, this->jointTable,
+ SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierCheerWithSpear, this->jointTable,
this->morphTable, 17);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
func_80C23748(this);
diff --git a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
index e22603b4ef..d6da2f9787 100644
--- a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
+++ b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
@@ -37,9 +37,9 @@ const ActorInit En_Ending_Hero6_InitVars = {
};
static FlexSkeletonHeader* sSkeletons[] = {
- &object_dt_Skel_00B0CC, &object_bai_Skel_007908, &object_toryo_Skel_007150,
- &gSoldierSkeleton, &object_daiku_Skel_00A850, &object_daiku_Skel_00A850,
- &object_daiku_Skel_00A850, &object_daiku_Skel_00A850, &object_daiku_Skel_00A850,
+ &object_dt_Skel_00B0CC, &object_bai_Skel_007908, &object_toryo_Skel_007150, &gSoldierSkel,
+ &object_daiku_Skel_00A850, &object_daiku_Skel_00A850, &object_daiku_Skel_00A850, &object_daiku_Skel_00A850,
+ &object_daiku_Skel_00A850,
};
static AnimationHeader* sAnimations[] = {
diff --git a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c
index 74693be4e6..aba6b4f900 100644
--- a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c
+++ b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c
@@ -5,7 +5,6 @@
*/
#include "z_en_heishi.h"
-#include "objects/object_sdn/object_sdn.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8)
@@ -65,8 +64,8 @@ void EnHeishi_Init(Actor* thisx, PlayState* play) {
EnHeishi* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkeleton, &gSoldierWave, this->jointTable, this->morphTable,
- HEISHI_LIMB_MAX);
+ SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierWave, this->jointTable, this->morphTable,
+ SOLDIER_LIMB_MAX);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->paramsCopy = this->actor.params;
this->yawTowardsPlayer = this->actor.world.rot.y;
@@ -174,7 +173,7 @@ void EnHeishi_Update(Actor* thisx, PlayState* play) {
s32 EnHeishi_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnHeishi* this = THIS;
- if (limbIndex == HEISHI_LIMB_HEAD) {
+ if (limbIndex == SOLDIER_LIMB_HEAD) {
rot->x += this->headRotX;
rot->y += this->headRotY;
rot->z += this->headRotZ;
diff --git a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.h b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.h
index 6e5d65e8f8..1758ceae6d 100644
--- a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.h
+++ b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.h
@@ -2,37 +2,17 @@
#define Z_EN_HEISHI_H
#include "global.h"
+#include "objects/object_sdn/object_sdn.h"
struct EnHeishi;
typedef void (*EnHeishiActionFunc)(struct EnHeishi*, PlayState*);
-typedef enum {
- /* 0 */ HEISHI_LIMB_NONE,
- /* 1 */ HEISHI_LIMB_ROOT,
- /* 2 */ HEISHI_LIMB_PELVIS,
- /* 3 */ HEISHI_LIMB_LEFT_THIGH,
- /* 4 */ HEISHI_LIMB_LEFT_CALF,
- /* 5 */ HEISHI_LIMB_LEFT_FOOT,
- /* 6 */ HEISHI_LIMB_RIGHT_THIGH,
- /* 7 */ HEISHI_LIMB_RIGHT_CALF,
- /* 8 */ HEISHI_LIMB_RIGHT_FOOT,
- /* 9 */ HEISHI_LIMB_TORSO,
- /* 10 */ HEISHI_LIMB_LEFT_SHOULDER,
- /* 11 */ HEISHI_LIMB_LEFT_FOREARM,
- /* 12 */ HEISHI_LIMB_LEFT_HAND,
- /* 13 */ HEISHI_LIMB_RIGHT_SHOULDER,
- /* 14 */ HEISHI_LIMB_RIGHT_FOREARM,
- /* 15 */ HEISHI_LIMB_RIGHT_HAND_WITH_SPEAR,
- /* 16 */ HEISHI_LIMB_HEAD,
- /* 17 */ HEISHI_LIMB_MAX
-} EnHeishiLimbs;
-
typedef struct EnHeishi {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
- /* 0x188 */ Vec3s jointTable[HEISHI_LIMB_MAX];
- /* 0x1EE */ Vec3s morphTable[HEISHI_LIMB_MAX];
+ /* 0x188 */ Vec3s jointTable[SOLDIER_LIMB_MAX];
+ /* 0x1EE */ Vec3s morphTable[SOLDIER_LIMB_MAX];
/* 0x254 */ EnHeishiActionFunc actionFunc;
/* 0x258 */ s16 headRotY;
/* 0x25A */ s16 headRotX;
diff --git a/src/overlays/actors/ovl_En_Hg/z_en_hg.c b/src/overlays/actors/ovl_En_Hg/z_en_hg.c
index d3af20a413..c247a34023 100644
--- a/src/overlays/actors/ovl_En_Hg/z_en_hg.c
+++ b/src/overlays/actors/ovl_En_Hg/z_en_hg.c
@@ -1,11 +1,10 @@
/*
* File: z_en_hg.c
* Overlay: ovl_En_Hg
- * Description: Pamela's Father (Human)
+ * Description: Pamela's Father (Gibdo)
*/
#include "z_en_hg.h"
-#include "objects/object_harfgibud/object_harfgibud.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10 | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
@@ -121,8 +120,8 @@ void EnHg_Init(Actor* thisx, PlayState* play) {
s32 i;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 36.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &object_harfgibud_Skel_008580, &object_harfgibud_Anim_00260C,
- this->jointTable, this->morphTable, HG_LIMB_MAX);
+ SkelAnime_InitFlex(play, &this->skelAnime, &gHarfgibudGibdoSkel, &object_harfgibud_Anim_00260C, this->jointTable,
+ this->morphTable, HARFGIBUD_GIBDO_LIMB_MAX);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit2);
@@ -401,9 +400,9 @@ s32 EnHg_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po
void EnHg_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnHg* this = THIS;
- if (limbIndex == HG_LIMB_HEAD) {
+ if (limbIndex == HARFGIBUD_GIBDO_LIMB_EYEBROWS) {
Matrix_Get(&this->unk1D8);
- } else if (limbIndex == HG_LIMB_PELVIS) {
+ } else if (limbIndex == HARFGIBUD_GIBDO_LIMB_HEAD) {
Matrix_MultZero(&this->actor.focus.pos);
}
}
@@ -417,6 +416,6 @@ void EnHg_Draw(Actor* thisx, PlayState* play) {
EnHg_OverrideLimbDraw, EnHg_PostLimbDraw, &this->actor);
Matrix_Put(&this->unk1D8);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, object_harfgibud_DL_005E28);
+ gSPDisplayList(POLY_OPA_DISP++, gHarfgibudGibdoEyebrowsDL);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_En_Hg/z_en_hg.h b/src/overlays/actors/ovl_En_Hg/z_en_hg.h
index 75703ccbd1..2883143791 100644
--- a/src/overlays/actors/ovl_En_Hg/z_en_hg.h
+++ b/src/overlays/actors/ovl_En_Hg/z_en_hg.h
@@ -2,34 +2,13 @@
#define Z_EN_HG_H
#include "global.h"
+#include "objects/object_harfgibud/object_harfgibud.h"
+
struct EnHg;
typedef void (*EnHgActionFunc)(struct EnHg*, PlayState*);
-typedef enum {
- /* 00 */ HG_LIMB_NONE,
- /* 01 */ HG_LIMB_ABDOMEN,
- /* 02 */ HG_LIMB_CHEST,
- /* 03 */ HG_LIMB_SHOULDER_LEFT,
- /* 04 */ HG_LIMB_ARM_LEFT,
- /* 05 */ HG_LIMB_HAND_LEFT,
- /* 06 */ HG_LIMB_SHOULDER_RIGHT,
- /* 07 */ HG_LIMB_ARM_RIGHT,
- /* 08 */ HG_LIMB_HAND_RIGHT,
- /* 09 */ HG_LIMB_EYEBROW,
- /* 10 */ HG_LIMB_HEAD,
- /* 11 */ HG_LIMB_PELVIS,
- /* 12 */ HG_LIMB_THIGH_LEFT,
- /* 13 */ HG_LIMB_LEG_LEFT,
- /* 14 */ HG_LIMB_FOOT_LEFT,
- /* 15 */ HG_LIMB_THIGH_RIGHT,
- /* 16 */ HG_LIMB_LEG_RIGHT,
- /* 17 */ HG_LIMB_FOOT_RIGHT,
- /* 19 */ HG_LIMB_UNK,
- /* 20 */ HG_LIMB_MAX,
-} ObjectHgLimbs;
-
typedef struct EnHg {
/* 0x000 */ Actor actor;
/* 0x144 */ ColliderCylinder collider;
@@ -38,8 +17,8 @@ typedef struct EnHg {
/* 0x1D8 */ MtxF unk1D8;
/* 0x218 */ s32 unk218;
/* 0x21C */ s32 currentAnimation;
- /* 0x220 */ Vec3s jointTable[HG_LIMB_MAX];
- /* 0x292 */ Vec3s morphTable[HG_LIMB_MAX];
+ /* 0x220 */ Vec3s jointTable[HARFGIBUD_GIBDO_LIMB_MAX];
+ /* 0x292 */ Vec3s morphTable[HARFGIBUD_GIBDO_LIMB_MAX];
/* 0x304 */ UNK_TYPE1 pad304[0xC];
/* 0x310 */ u16 cutscenes[4];
} EnHg; // size = 0x318
diff --git a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c
index 0c99521493..c8de1f2105 100644
--- a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c
+++ b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c
@@ -1,11 +1,10 @@
/*
* File: z_en_hgo.c
* Overlay: ovl_En_Hgo
- * Description: Pamela's Father (Gibdo)
+ * Description: Pamela's Father (Human)
*/
#include "z_en_hgo.h"
-#include "objects/object_harfgibud/object_harfgibud.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
@@ -83,8 +82,8 @@ void EnHgo_Init(Actor* thisx, PlayState* play) {
s32 pad;
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &object_harfgibud_Skel_012A58, &object_harfgibud_Anim_00B644,
- this->jointTable, this->morphTable, HGO_LIMB_MAX);
+ SkelAnime_InitFlex(play, &this->skelAnime, &gHarfgibudHumanSkel, &object_harfgibud_Anim_00B644, this->jointTable,
+ this->morphTable, HARFGIBUD_HUMAN_LIMB_MAX);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&thisx->colChkInfo, NULL, &sColChkInfoInit);
@@ -319,7 +318,7 @@ s32 func_80BD0898(EnHgo* this, PlayState* play) {
}
void func_80BD0B8C(EnHgo* this, PlayState* play) {
- Actor_TrackPlayer(play, &this->actor, &this->unk_300, &this->unk_306, this->actor.focus.pos);
+ Actor_TrackPlayer(play, &this->actor, &this->headRot, &this->torsoRot, this->actor.focus.pos);
if (this->unk_30E > 2) {
this->unk_30E--;
} else if (this->unk_30E == 2) {
@@ -341,7 +340,7 @@ void EnHgo_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
SkelAnime_Update(&this->skelAnime);
if (func_80BD0898(this, play)) {
- Actor_TrackNone(&this->unk_300, &this->unk_306);
+ Actor_TrackNone(&this->headRot, &this->torsoRot);
} else if (this->actionFunc != func_80BD0410) {
if (this->actionFunc != func_80BD0434) {
Collider_UpdateCylinder(&this->actor, &this->collider);
@@ -354,9 +353,9 @@ void EnHgo_Update(Actor* thisx, PlayState* play) {
s32 EnHgo_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnHgo* this = THIS;
- if (limbIndex == HGO_LIMB_PELVIS) {
- rot->x += this->unk_300.y;
- rot->z += this->unk_300.x;
+ if (limbIndex == HARFGIBUD_HUMAN_LIMB_HEAD) {
+ rot->x += this->headRot.y;
+ rot->z += this->headRot.x;
}
return false;
}
@@ -364,7 +363,7 @@ s32 EnHgo_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
void EnHgo_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* pos, Actor* thisx) {
EnHgo* this = THIS;
- if (limbIndex == HGO_LIMB_PELVIS) {
+ if (limbIndex == HARFGIBUD_HUMAN_LIMB_HEAD) {
Matrix_Get(&this->unk_1D8);
Matrix_MultZero(&this->actor.focus.pos);
}
@@ -380,6 +379,6 @@ void EnHgo_Draw(Actor* thisx, PlayState* play) {
EnHgo_OverrideLimbDraw, &EnHgo_PostLimbDraw, &this->actor);
Matrix_Put(&this->unk_1D8);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, object_harfgibud_DL_00F248);
+ gSPDisplayList(POLY_OPA_DISP++, gHarfgibudHumanEyebrowsDL);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.h b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.h
index 994dabcfb2..34e4ebdc48 100644
--- a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.h
+++ b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.h
@@ -2,35 +2,12 @@
#define Z_EN_HGO_H
#include "global.h"
+#include "objects/object_harfgibud/object_harfgibud.h"
struct EnHgo;
typedef void (*EnHgoActionFunc)(struct EnHgo*, PlayState*);
-// Shares the same setup as en_hg
-typedef enum {
- /* 00 */ HGO_LIMB_NONE,
- /* 01 */ HGO_LIMB_ABDOMEN,
- /* 02 */ HGO_LIMB_CHEST,
- /* 03 */ HGO_LIMB_SHOULDER_LEFT,
- /* 04 */ HGO_LIMB_ARM_LEFT,
- /* 05 */ HGO_LIMB_HAND_LEFT,
- /* 06 */ HGO_LIMB_SHOULDER_RIGHT,
- /* 07 */ HGO_LIMB_ARM_RIGHT,
- /* 08 */ HGO_LIMB_HAND_RIGHT,
- /* 09 */ HGO_LIMB_EYEBROW,
- /* 10 */ HGO_LIMB_HEAD,
- /* 11 */ HGO_LIMB_PELVIS,
- /* 12 */ HGO_LIMB_THIGH_LEFT,
- /* 13 */ HGO_LIMB_LEG_LEFT,
- /* 14 */ HGO_LIMB_FOOT_LEFT,
- /* 15 */ HGO_LIMB_THIGH_RIGHT,
- /* 16 */ HGO_LIMB_LEG_RIGHT,
- /* 17 */ HGO_LIMB_FOOT_RIGHT,
- /* 18 */ HGO_LIMB_UNK,
- /* 19 */ HGO_LIMB_MAX,
-} ObjectHgoLimbs;
-
typedef struct EnHgo {
/* 0x000 */ Actor actor;
/* 0x144 */ ColliderCylinder collider;
@@ -38,10 +15,10 @@ typedef struct EnHgo {
/* 0x1D4 */ EnHgoActionFunc actionFunc;
/* 0x1D8 */ MtxF unk_1D8;
/* 0x218 */ s32 unk_218;
- /* 0x21C */ Vec3s jointTable[HGO_LIMB_MAX];
- /* 0x28E */ Vec3s morphTable[HGO_LIMB_MAX];
- /* 0x300 */ Vec3s unk_300;
- /* 0x306 */ Vec3s unk_306;
+ /* 0x21C */ Vec3s jointTable[HARFGIBUD_HUMAN_LIMB_MAX];
+ /* 0x28E */ Vec3s morphTable[HARFGIBUD_HUMAN_LIMB_MAX];
+ /* 0x300 */ Vec3s headRot;
+ /* 0x306 */ Vec3s torsoRot; // Set, but not used
/* 0x30C */ s16 unk_30C;
/* 0x30E */ s16 unk_30E;
/* 0x310 */ s16 unk_310;
diff --git a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c
index a848f43a32..603d08fb5f 100644
--- a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c
+++ b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c
@@ -5,9 +5,8 @@
*/
#include "z_en_pamera.h"
-#include "../ovl_En_Bom/z_en_bom.h"
-#include "../ovl_En_Door/z_en_door.h"
-#include "objects/object_pamera/object_pamera.h"
+#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
+#include "overlays/actors/ovl_En_Door/z_en_door.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10)
@@ -136,8 +135,8 @@ void EnPamera_Init(Actor* thisx, PlayState* play) {
Vec3f sp44;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 15.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &object_pamera_Skel_008448, &object_pamera_Anim_0005BC, this->jointTable,
- this->morphTable, PAMERA_LIMB_MAX);
+ SkelAnime_InitFlex(play, &this->skelAnime, &gPamelaSkel, &object_pamera_Anim_0005BC, this->jointTable,
+ this->morphTable, PAMELA_LIMB_MAX);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, NULL, &sColChkInfoInit2);
@@ -511,9 +510,9 @@ void func_80BD94E0(EnPamera* this, PlayState* play) {
if ((this->actionFunc != func_80BD8B70) && (this->actionFunc != func_80BD8964) &&
(this->actionFunc != func_80BD909C) && (this->actionFunc != func_80BD8D1C) &&
((this->actionFunc != func_80BD8DB0) || (this->actor.speedXZ == 3.0f))) {
- Actor_TrackPlayer(play, &this->actor, &this->limb9Rot, &this->limb8Rot, this->actor.focus.pos);
+ Actor_TrackPlayer(play, &this->actor, &this->headRot, &this->torsoRot, this->actor.focus.pos);
} else {
- Actor_TrackNone(&this->limb9Rot, &this->limb8Rot);
+ Actor_TrackNone(&this->headRot, &this->torsoRot);
}
}
@@ -534,9 +533,9 @@ void EnPamera_Update(Actor* thisx, PlayState* play) {
s32 EnPamera_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnPamera* this = THIS;
- if (limbIndex == PAMERA_LIMB_HAIR) {
- rot->x += this->limb9Rot.y;
- rot->z += this->limb9Rot.x;
+ if (limbIndex == PAMELA_LIMB_HEAD) {
+ rot->x += this->headRot.y;
+ rot->z += this->headRot.x;
}
return false;
}
@@ -544,7 +543,7 @@ s32 EnPamera_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f
void EnPamera_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnPamera* this = THIS;
- if (limbIndex == PAMERA_LIMB_HAIR) {
+ if (limbIndex == PAMELA_LIMB_HEAD) {
Matrix_MultVec3f(&D_80BDA5F0, &this->actor.focus.pos);
}
}
@@ -858,7 +857,7 @@ void func_80BDA344(Actor* thisx, PlayState* play) {
if (!(gSaveContext.save.weekEventReg[61] & 4)) {
gSaveContext.save.weekEventReg[61] |= 4;
}
- Actor_TrackNone(&this->limb9Rot, &this->limb8Rot);
+ Actor_TrackNone(&this->headRot, &this->torsoRot);
} else {
func_80BD94E0(this, play);
if (this->actionFunc == func_80BD994C) {
diff --git a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h
index 0cebc213f7..cf5611c4ed 100644
--- a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h
+++ b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h
@@ -2,36 +2,10 @@
#define Z_EN_PAMERA_H
#include "global.h"
+#include "objects/object_pamera/object_pamera.h"
struct EnPamera;
-typedef enum {
- /* 00 */ PAMERA_LIMB_NONE,
- /* 01 */ PAMERA_LIMB_ROOT,
- /* 02 */ PAMERA_LIMB_SHOULDER_LEFT,
- /* 03 */ PAMERA_LIMB_FOREARM_LEFT,
- /* 04 */ PAMERA_LIMB_HAND_LEFT,
- /* 05 */ PAMERA_LIMB_SHOULDER_RIGHT,
- /* 06 */ PAMERA_LIMB_FOREARM_RIGHT,
- /* 07 */ PAMERA_LIMB_HAND_RIGHT,
- /* 08 */ PAMERA_LIMB_HEAD_FRONT_AND_TOP,
- /* 09 */ PAMERA_LIMB_HAIR,
- /* 10 */ PAMERA_LIMB_TORSO_FRONT,
- /* 11 */ PAMERA_LIMB_NECK,
- /* 12 */ PAMERA_LIMB_THIGH_LEFT,
- /* 13 */ PAMERA_LIMB_LEG_LEFT,
- /* 14 */ PAMERA_LIMB_FOOT_LEFT,
- /* 15 */ PAMERA_LIMB_THIGH_RIGHT,
- /* 16 */ PAMERA_LIMB_LEG_RIGHT,
- /* 17 */ PAMERA_LIMB_FOOT_RIGHT,
- /* 18 */ PAMERA_DRESS_FRONT,
- /* 19 */ PAMERA_DRESS_BACK,
- /* 20 */ PAMERA_DRESS_SIDES,
- /* 21 */ PAMERA_LIMB_UNK,
- /* 22 */ PAMERA_LIMB_UNK2,
- /* 23 */ PAMERA_LIMB_MAX
-} ObjectPameraLimbs;
-
typedef void (*EnPameraActionFunc)(struct EnPamera*, PlayState*);
typedef void (*EnPameraSetupFunc)(struct EnPamera*, PlayState*);
@@ -46,10 +20,10 @@ typedef struct EnPamera {
/* 0x1E4 */ s32 pathPointsCount;
/* 0x1E8 */ s32 pathId;
/* 0x1EC */ s32 unk_1EC;
- /* 0x1F0 */ Vec3s jointTable[PAMERA_LIMB_MAX];
- /* 0x27A */ Vec3s morphTable[PAMERA_LIMB_MAX];
- /* 0x304 */ Vec3s limb9Rot;
- /* 0x30A */ Vec3s limb8Rot;
+ /* 0x1F0 */ Vec3s jointTable[PAMELA_LIMB_MAX];
+ /* 0x27A */ Vec3s morphTable[PAMELA_LIMB_MAX];
+ /* 0x304 */ Vec3s headRot;
+ /* 0x30A */ Vec3s torsoRot; // Set, but not used
/* 0x310 */ s16 unk_310;
/* 0x312 */ s16 unk_312;
/* 0x314 */ s16 unk_314;
diff --git a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c
index e47ca26b81..420d40b780 100644
--- a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c
+++ b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c
@@ -8,7 +8,6 @@
#include "z64rumble.h"
#include "overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
-#include "objects/object_bigslime/object_bigslime.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4 | ACTOR_FLAG_10 | ACTOR_FLAG_20)
@@ -1370,16 +1369,16 @@ void EnPametfrog_Update(Actor* thisx, PlayState* play) {
/* value -1: Limb Not used
* value 0: GEKKO_LIMB_WAIST
- * value 1: GEKKO_LIMB_L_SHIN
- * value 2: GEKKO_LIMB_L_FOOT
- * value 3: GEKKO_LIMB_R_SHIN
- * value 4: GEKKO_LIMB_R_FOOT
- * value 5: GEKKO_LIMB_L_UPPER_ARM
- * value 6: GEKKO_LIMB_L_FOREARM
- * value 7: GEKKO_LIMB_L_HAND
- * value 8: GEKKO_LIMB_R_UPPER_ARM
- * value 9: GEKKO_LIMB_R_FOREARM
- * value 10: GEKKO_LIMB_R_HAND
+ * value 1: GEKKO_LIMB_LEFT_SHIN
+ * value 2: GEKKO_LIMB_LEFT_FOOT
+ * value 3: GEKKO_LIMB_RIGHT_SHIN
+ * value 4: GEKKO_LIMB_RIGHT_FOOT
+ * value 5: GEKKO_LIMB_LEFT_UPPER_ARM
+ * value 6: GEKKO_LIMB_LEFT_FOREARM
+ * value 7: GEKKO_LIMB_LEFT_HAND
+ * value 8: GEKKO_LIMB_RIGHT_UPPER_ARM
+ * value 9: GEKKO_LIMB_RIGHT_FOREARM
+ * value 10: GEKKO_LIMB_RIGHT_HAND
* value 11: GEKKO_LIMB_JAW
*/
static s8 limbPosIndex[] = {
diff --git a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h
index 2b56261099..3f3e82165b 100644
--- a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h
+++ b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h
@@ -2,6 +2,7 @@
#define Z_EN_PAMETFROG_H
#include "global.h"
+#include "objects/object_bigslime/object_bigslime.h"
struct EnPametfrog;
@@ -20,34 +21,6 @@ typedef enum {
/* 0x9 */ GEKKO_DEFEAT,
} EnPametfrogState;
-typedef enum {
- /* 0x00 */ GEKKO_LIMB_NONE,
- /* 0x01 */ GEKKO_LIMB_ROOT,
- /* 0x02 */ GEKKO_LIMB_WAIST,
- /* 0x03 */ GEKKO_LIMB_L_THIGH,
- /* 0x04 */ GEKKO_LIMB_L_SHIN,
- /* 0x05 */ GEKKO_LIMB_L_ANKLE,
- /* 0x06 */ GEKKO_LIMB_L_FOOT,
- /* 0x07 */ GEKKO_LIMB_R_THIGH,
- /* 0x08 */ GEKKO_LIMB_R_SHIN,
- /* 0x09 */ GEKKO_LIMB_R_ANKLE,
- /* 0x0A */ GEKKO_LIMB_R_FOOT,
- /* 0x0B */ GEKKO_LIMB_TORSO,
- /* 0x0C */ GEKKO_LIMB_L_UPPER_ARM,
- /* 0x0D */ GEKKO_LIMB_L_FOREARM,
- /* 0x0E */ GEKKO_LIMB_L_WRIST,
- /* 0x0F */ GEKKO_LIMB_L_HAND,
- /* 0x10 */ GEKKO_LIMB_R_UPPER_ARM,
- /* 0x11 */ GEKKO_LIMB_R_FOREARM,
- /* 0x12 */ GEKKO_LIMB_R_WRIST,
- /* 0x13 */ GEKKO_LIMB_R_HAND,
- /* 0x14 */ GEKKO_LIMB_HEAD,
- /* 0x15 */ GEKKO_LIMB_JAW,
- /* 0x16 */ GEKKO_LIMB_L_EYE,
- /* 0x17 */ GEKKO_LIMB_R_EYE,
- /* 0x18 */ GEKKO_LIMB_MAX,
-} EnPametfrogLimb;
-
typedef struct EnPametfrog {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;