diff --git a/assets/xml/objects/object_fu.xml b/assets/xml/objects/object_fu.xml
index 1bc18759a5..4a5bb6c74d 100644
--- a/assets/xml/objects/object_fu.xml
+++ b/assets/xml/objects/object_fu.xml
@@ -35,22 +35,22 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ge1.xml b/assets/xml/objects/object_ge1.xml
index bbb5d82a0d..0aaaf59b7b 100644
--- a/assets/xml/objects/object_ge1.xml
+++ b/assets/xml/objects/object_ge1.xml
@@ -2,24 +2,24 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_geldb.xml b/assets/xml/objects/object_geldb.xml
index f80ad410a6..1488db00b0 100644
--- a/assets/xml/objects/object_geldb.xml
+++ b/assets/xml/objects/object_geldb.xml
@@ -1,7 +1,7 @@
-
+
@@ -120,28 +120,28 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_hata.xml b/assets/xml/objects/object_hata.xml
index 98887b030d..7a8beff3a4 100644
--- a/assets/xml/objects/object_hata.xml
+++ b/assets/xml/objects/object_hata.xml
@@ -7,29 +7,29 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
index e8cfb6342f..9495395aa3 100644
--- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c
+++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
@@ -92,7 +92,7 @@ void EnFu_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
SkelAnime_InitFlex(play, &this->skelanime, &gWindmillManSkel, &gWindmillManPlayStillAnim, this->jointTable,
- this->morphTable, FU_LIMB_MAX);
+ this->morphTable, WINDMILL_MAN_LIMB_MAX);
Animation_PlayLoop(&this->skelanime, &gWindmillManPlayStillAnim);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
@@ -276,15 +276,15 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po
EnFu* this = (EnFu*)thisx;
s32 pad;
- if (limbIndex == FU_LIMB_UNK) {
+ if (limbIndex == WINDMILL_MAN_LIMB_UNK) {
return false;
}
switch (limbIndex) {
- case FU_LIMB_HEAD:
+ case WINDMILL_MAN_LIMB_HEAD:
rot->x += this->lookAngleOffset.y;
rot->z += this->lookAngleOffset.x;
break;
- case FU_LIMB_CHEST_MUSIC_BOX:
+ case WINDMILL_MAN_LIMB_CHEST_MUSIC_BOX:
break;
}
@@ -292,7 +292,7 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po
return false;
}
- if (limbIndex == FU_LIMB_CHEST_MUSIC_BOX) {
+ if (limbIndex == WINDMILL_MAN_LIMB_CHEST_MUSIC_BOX) {
rot->y += Math_SinS((play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Y))) * FIDGET_AMPLITUDE;
rot->z += Math_CosS((play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Z))) * FIDGET_AMPLITUDE;
}
@@ -302,7 +302,7 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po
void EnFu_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
EnFu* this = (EnFu*)thisx;
- if (limbIndex == FU_LIMB_HEAD) {
+ if (limbIndex == WINDMILL_MAN_LIMB_HEAD) {
Matrix_MultVec3f(&sMtxSrc, &this->actor.focus.pos);
}
}
diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.h b/src/overlays/actors/ovl_En_Fu/z_en_fu.h
index d2138f7613..bfd2842e14 100644
--- a/src/overlays/actors/ovl_En_Fu/z_en_fu.h
+++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.h
@@ -4,36 +4,18 @@
#include "ultra64.h"
#include "actor.h"
+#include "assets/objects/object_fu/object_fu.h"
+
struct EnFu;
typedef void (*EnFuActionFunc)(struct EnFu*, struct PlayState*);
-typedef enum EnFuLimb {
- /* 0x00 */ FU_LIMB_ROOT,
- /* 0x01 */ FU_LIMB_TORSO,
- /* 0x02 */ FU_LIMB_LEFT_THIGH,
- /* 0x03 */ FU_LIMB_LEFT_LEG,
- /* 0x04 */ FU_LIMB_LEFT_FOOT,
- /* 0x05 */ FU_LIMB_RIGHT_THIGH,
- /* 0x06 */ FU_LIMB_RIGHT_LEG,
- /* 0x07 */ FU_LIMB_RIGHT_FOOT,
- /* 0x08 */ FU_LIMB_CHEST_MUSIC_BOX,
- /* 0x09 */ FU_LIMB_LEFT_ARM_MUSIC_BOX,
- /* 0x0A */ FU_LIMB_UNK,
- /* 0x0B */ FU_LIMB_RIGHT_SHOULDER,
- /* 0x0C */ FU_LIMB_RIGHT_ARM,
- /* 0x0D */ FU_LIMB_RIGHT_HAND_AND_CRANK,
- /* 0x0E */ FU_LIMB_HEAD,
- /* 0x0F */ FU_LIMB_HORN,
- /* 0x10 */ FU_LIMB_MAX
-} EnFuLimb;
-
typedef struct EnFu {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelanime;
- /* 0x01DC */ Vec3s jointTable[FU_LIMB_MAX];
- /* 0x023C */ Vec3s morphTable[FU_LIMB_MAX];
+ /* 0x01DC */ Vec3s jointTable[WINDMILL_MAN_LIMB_MAX];
+ /* 0x023C */ Vec3s morphTable[WINDMILL_MAN_LIMB_MAX];
/* 0x029C */ Vec3s lookAngleOffset; // offset applied to neck rotation to look at link when he is close
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ u16 behaviorFlags;
diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
index 6d08efd921..01ebeccfc3 100644
--- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
+++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
@@ -107,7 +107,7 @@ void EnGe1_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoWhiteSkel, &gGerudoWhiteIdleAnim, this->jointTable,
- this->morphTable, GE1_LIMB_MAX);
+ this->morphTable, GERUDO_WHITE_LIMB_MAX);
Animation_PlayOnce(&this->skelAnime, &gGerudoWhiteIdleAnim);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
@@ -780,7 +780,7 @@ s32 EnGe1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
s32 pad;
EnGe1* this = (EnGe1*)thisx;
- if (limbIndex == GE1_LIMB_HEAD) {
+ if (limbIndex == GERUDO_WHITE_LIMB_HEAD) {
rot->x += this->headRot.y;
rot->z += this->headRot.x;
}
@@ -792,7 +792,8 @@ s32 EnGe1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
// The purpose of the state flag GE1_STATE_STOP_FIDGET is to skip this code, which this actor has in lieu of an idle
// animation.
- if ((limbIndex == GE1_LIMB_TORSO) || (limbIndex == GE1_LIMB_L_FOREARM) || (limbIndex == GE1_LIMB_R_FOREARM)) {
+ if ((limbIndex == GERUDO_WHITE_LIMB_TORSO) || (limbIndex == GERUDO_WHITE_LIMB_L_FOREARM) ||
+ (limbIndex == GERUDO_WHITE_LIMB_R_FOREARM)) {
rot->y += Math_SinS(play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Y)) * FIDGET_AMPLITUDE;
rot->z += Math_CosS(play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Z)) * FIDGET_AMPLITUDE;
}
@@ -804,7 +805,7 @@ void EnGe1_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
OPEN_DISPS(play->state.gfxCtx, "../z_en_ge1.c", 1419);
- if (limbIndex == GE1_LIMB_HEAD) {
+ if (limbIndex == GERUDO_WHITE_LIMB_HEAD) {
gSPDisplayList(POLY_OPA_DISP++, sHairstyleDLists[this->hairstyle]);
Matrix_MultVec3f(&D_80A327A8, &this->actor.focus.pos);
}
diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h
index 077f0f9cc0..4566dacbbd 100644
--- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h
+++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h
@@ -4,6 +4,8 @@
#include "ultra64.h"
#include "actor.h"
+#include "assets/objects/object_ge1/object_ge1.h"
+
struct EnGe1;
typedef void (*EnGe1AnimFunc)(struct EnGe1*);
@@ -18,32 +20,12 @@ typedef enum EnGe1Type {
/* 0x46 */ GE1_TYPE_TRAINING_GROUNDS_GUARD
} EnGe1Type;
-typedef enum EnGe1Limb {
- /* 00 */ GE1_LIMB_NONE,
- /* 01 */ GE1_LIMB_WAIST,
- /* 02 */ GE1_LIMB_L_THIGH,
- /* 03 */ GE1_LIMB_L_LOWER_LEG,
- /* 04 */ GE1_LIMB_L_FOOT,
- /* 05 */ GE1_LIMB_R_THIGH,
- /* 06 */ GE1_LIMB_R_LOWER_LEG,
- /* 07 */ GE1_LIMB_R_FOOT,
- /* 08 */ GE1_LIMB_TORSO,
- /* 09 */ GE1_LIMB_L_UPPER_ARM,
- /* 10 */ GE1_LIMB_L_FOREARM,
- /* 11 */ GE1_LIMB_L_HAND,
- /* 12 */ GE1_LIMB_R_UPPER_ARM,
- /* 13 */ GE1_LIMB_R_FOREARM,
- /* 14 */ GE1_LIMB_R_HAND,
- /* 15 */ GE1_LIMB_HEAD,
- /* 16 */ GE1_LIMB_MAX
-} EnGe1Limb;
-
typedef struct EnGe1 {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
- /* 0x01DC */ Vec3s jointTable[GE1_LIMB_MAX];
- /* 0x023C */ Vec3s morphTable[GE1_LIMB_MAX];
+ /* 0x01DC */ Vec3s jointTable[GERUDO_WHITE_LIMB_MAX];
+ /* 0x023C */ Vec3s morphTable[GERUDO_WHITE_LIMB_MAX];
/* 0x029C */ Vec3s headRot;
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ s16 eyeIndex;
diff --git a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
index ad77c01118..8ac3cdcd54 100644
--- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
+++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
@@ -81,7 +81,7 @@ void EnGe3_Init(Actor* thisx, PlayState* play2) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoRedSkel, NULL, this->jointTable, this->morphTable,
- GELDB_LIMB_MAX);
+ GERUDO_RED_LIMB_MAX);
Animation_PlayLoop(&this->skelAnime, &gGerudoRedStandAnim);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
@@ -241,13 +241,13 @@ s32 EnGe3_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
switch (limbIndex) {
// Hide swords and veil from object_geldb
- case GELDB_LIMB_VEIL:
- case GELDB_LIMB_R_SWORD:
- case GELDB_LIMB_L_SWORD:
+ case GERUDO_RED_LIMB_VEIL:
+ case GERUDO_RED_LIMB_R_SWORD:
+ case GERUDO_RED_LIMB_L_SWORD:
*dList = NULL;
return false;
// Turn head
- case GELDB_LIMB_HEAD:
+ case GERUDO_RED_LIMB_HEAD:
rot->x += this->headRot.y;
#if OOT_VERSION >= PAL_1_1
FALLTHROUGH;
@@ -256,14 +256,14 @@ s32 EnGe3_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
// depending on what was drawn earlier in the frame.
OPEN_DISPS(play->state.gfxCtx, "../z_en_ge3.c", 547);
switch (limbIndex) {
- case GELDB_LIMB_NECK:
+ case GERUDO_RED_LIMB_NECK:
break;
- case GELDB_LIMB_HEAD:
+ case GERUDO_RED_LIMB_HEAD:
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 80, 60, 10, 255);
break;
- case GELDB_LIMB_R_SWORD:
- case GELDB_LIMB_L_SWORD:
+ case GERUDO_RED_LIMB_R_SWORD:
+ case GERUDO_RED_LIMB_L_SWORD:
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 140, 170, 230, 255);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
@@ -284,7 +284,7 @@ void EnGe3_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
EnGe3* this = (EnGe3*)thisx;
Vec3f D_80A351C8 = { 600.0f, 700.0f, 0.0f };
- if (limbIndex == GELDB_LIMB_HEAD) {
+ if (limbIndex == GERUDO_RED_LIMB_HEAD) {
Matrix_MultVec3f(&D_80A351C8, &this->actor.focus.pos);
}
}
diff --git a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h
index 62b9882055..297129e439 100644
--- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h
+++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h
@@ -3,7 +3,8 @@
#include "ultra64.h"
#include "actor.h"
-#include "overlays/actors/ovl_En_GeldB/z_en_geldb.h"
+
+#include "assets/objects/object_geldb/object_geldb.h"
struct EnGe3;
@@ -13,8 +14,8 @@ typedef struct EnGe3 {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
- /* 0x01DC */ Vec3s jointTable[GELDB_LIMB_MAX];
- /* 0x026C */ Vec3s morphTable[GELDB_LIMB_MAX];
+ /* 0x01DC */ Vec3s jointTable[GERUDO_RED_LIMB_MAX];
+ /* 0x026C */ Vec3s morphTable[GERUDO_RED_LIMB_MAX];
/* 0x02FC */ s16 eyeIndex;
/* 0x02FE */ s16 blinkTimer;
/* 0x0300 */ Vec3s headRot;
diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
index 11850ccdf5..598cc7f616 100644
--- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
+++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
@@ -251,7 +251,7 @@ void EnGeldB_Init(Actor* thisx, PlayState* play) {
this->blinkState = 0;
this->unkFloat = 10.0f;
SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoRedSkel, &gGerudoRedNeutralAnim, this->jointTable,
- this->morphTable, GELDB_LIMB_MAX);
+ this->morphTable, GERUDO_RED_LIMB_MAX);
Collider_InitCylinder(play, &this->bodyCollider);
Collider_SetCylinder(play, &this->bodyCollider, thisx, &sBodyCylinderInit);
Collider_InitTris(play, &this->blockCollider);
@@ -1464,14 +1464,14 @@ s32 EnGeldB_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
EnGeldB* this = (EnGeldB*)thisx;
OPEN_DISPS(play->state.gfxCtx, "../z_en_geldB.c", 2507);
- if (limbIndex == GELDB_LIMB_NECK) {
+ if (limbIndex == GERUDO_RED_LIMB_NECK) {
rot->z += this->headRot.x;
rot->x += this->headRot.y;
rot->y += this->headRot.z;
- } else if (limbIndex == GELDB_LIMB_HEAD) {
+ } else if (limbIndex == GERUDO_RED_LIMB_HEAD) {
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 80, 60, 10, 255);
- } else if ((limbIndex == GELDB_LIMB_R_SWORD) || (limbIndex == GELDB_LIMB_L_SWORD)) {
+ } else if ((limbIndex == GERUDO_RED_LIMB_R_SWORD) || (limbIndex == GERUDO_RED_LIMB_L_SWORD)) {
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 140, 170, 230, 255);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
@@ -1497,7 +1497,7 @@ void EnGeldB_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
EnGeldB* this = (EnGeldB*)thisx;
s32 bodyPart = -1;
- if (limbIndex == GELDB_LIMB_R_SWORD) {
+ if (limbIndex == GERUDO_RED_LIMB_R_SWORD) {
Matrix_MultVec3f(&swordQuadOffset1, &this->swordCollider.dim.quad[1]);
Matrix_MultVec3f(&swordQuadOffset0, &this->swordCollider.dim.quad[0]);
Matrix_MultVec3f(&swordQuadOffset3, &this->swordCollider.dim.quad[3]);
@@ -1515,42 +1515,43 @@ void EnGeldB_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
EffectBlure_AddVertex(Effect_GetByIndex(this->blureIndex), &swordTip, &swordHilt);
}
} else {
- Actor_SetFeetPos(&this->actor, limbIndex, GELDB_LIMB_L_FOOT, &footOffset, GELDB_LIMB_R_FOOT, &footOffset);
+ Actor_SetFeetPos(&this->actor, limbIndex, GERUDO_RED_LIMB_L_FOOT, &footOffset, GERUDO_RED_LIMB_R_FOOT,
+ &footOffset);
}
- if (limbIndex == GELDB_LIMB_L_FOOT) {
+ if (limbIndex == GERUDO_RED_LIMB_L_FOOT) {
Matrix_MultVec3f(&footOffset, &this->leftFootPos);
- } else if (limbIndex == GELDB_LIMB_R_FOOT) {
+ } else if (limbIndex == GERUDO_RED_LIMB_R_FOOT) {
Matrix_MultVec3f(&footOffset, &this->rightFootPos);
}
if (this->iceTimer != 0) {
switch (limbIndex) {
- case GELDB_LIMB_NECK:
+ case GERUDO_RED_LIMB_NECK:
bodyPart = 0;
break;
- case GELDB_LIMB_L_SWORD:
+ case GERUDO_RED_LIMB_L_SWORD:
bodyPart = 1;
break;
- case GELDB_LIMB_R_SWORD:
+ case GERUDO_RED_LIMB_R_SWORD:
bodyPart = 2;
break;
- case GELDB_LIMB_L_UPPER_ARM:
+ case GERUDO_RED_LIMB_L_UPPER_ARM:
bodyPart = 3;
break;
- case GELDB_LIMB_R_UPPER_ARM:
+ case GERUDO_RED_LIMB_R_UPPER_ARM:
bodyPart = 4;
break;
- case GELDB_LIMB_TORSO:
+ case GERUDO_RED_LIMB_TORSO:
bodyPart = 5;
break;
- case GELDB_LIMB_WAIST:
+ case GERUDO_RED_LIMB_WAIST:
bodyPart = 6;
break;
- case GELDB_LIMB_L_FOOT:
+ case GERUDO_RED_LIMB_L_FOOT:
bodyPart = 7;
break;
- case GELDB_LIMB_R_FOOT:
+ case GERUDO_RED_LIMB_R_FOOT:
bodyPart = 8;
break;
default:
diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h
index a5ce4286b5..003a6dc5a5 100644
--- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h
+++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h
@@ -4,35 +4,9 @@
#include "ultra64.h"
#include "actor.h"
-struct EnGeldB;
+#include "assets/objects/object_geldb/object_geldb.h"
-typedef enum EnGeldBLimb {
- /* 0x00 */ GELDB_LIMB_NONE,
- /* 0x01 */ GELDB_LIMB_ROOT,
- /* 0x02 */ GELDB_LIMB_TORSO,
- /* 0x03 */ GELDB_LIMB_NECK,
- /* 0x04 */ GELDB_LIMB_PONYTAIL,
- /* 0x05 */ GELDB_LIMB_VEIL,
- /* 0x06 */ GELDB_LIMB_HEAD,
- /* 0x07 */ GELDB_LIMB_R_UPPER_ARM,
- /* 0x08 */ GELDB_LIMB_R_FOREARM,
- /* 0x09 */ GELDB_LIMB_R_WRIST,
- /* 0x0A */ GELDB_LIMB_R_HAND,
- /* 0x0B */ GELDB_LIMB_R_SWORD,
- /* 0x0C */ GELDB_LIMB_L_UPPER_ARM,
- /* 0x0D */ GELDB_LIMB_L_FOREARM,
- /* 0x0E */ GELDB_LIMB_L_WRIST,
- /* 0x0F */ GELDB_LIMB_L_HAND,
- /* 0x10 */ GELDB_LIMB_L_SWORD,
- /* 0x11 */ GELDB_LIMB_L_THIGH,
- /* 0x12 */ GELDB_LIMB_L_SHIN,
- /* 0x13 */ GELDB_LIMB_L_FOOT,
- /* 0x14 */ GELDB_LIMB_R_THIGH,
- /* 0x15 */ GELDB_LIMB_R_SHIN,
- /* 0x16 */ GELDB_LIMB_R_FOOT,
- /* 0x17 */ GELDB_LIMB_WAIST,
- /* 0x18 */ GELDB_LIMB_MAX
-} EnGeldBLimb;
+struct EnGeldB;
typedef void (*EnGeldBActionFunc)(struct EnGeldB*, struct PlayState*);
@@ -40,8 +14,8 @@ typedef struct EnGeldB {
/* 0x0000 */ Actor actor;
/* 0x014C */ Vec3s bodyPartsPos[10];
/* 0x0188 */ SkelAnime skelAnime;
- /* 0x01CC */ Vec3s jointTable[GELDB_LIMB_MAX];
- /* 0x025C */ Vec3s morphTable[GELDB_LIMB_MAX];
+ /* 0x01CC */ Vec3s jointTable[GERUDO_RED_LIMB_MAX];
+ /* 0x025C */ Vec3s morphTable[GERUDO_RED_LIMB_MAX];
/* 0x02EC */ s32 action;
/* 0x02F0 */ char unk_2F0[4];
/* 0x02F4 */ EnGeldBActionFunc actionFunc;
diff --git a/src/overlays/actors/ovl_En_Hata/z_en_hata.h b/src/overlays/actors/ovl_En_Hata/z_en_hata.h
index 53d31bab58..38c85e6349 100644
--- a/src/overlays/actors/ovl_En_Hata/z_en_hata.h
+++ b/src/overlays/actors/ovl_En_Hata/z_en_hata.h
@@ -4,31 +4,7 @@
#include "ultra64.h"
#include "actor.h"
-
-typedef enum EnHataLimb {
- /* 0x00 */ FLAGPOLE_LIMB_NONE,
- /* 0x01 */ FLAGPOLE_LIMB_POLE_BASE,
- /* 0x02 */ FLAGPOLE_LIMB_POLE,
- /* 0x03 */ FLAGPOLE_LIMB_FLAG_1_BASE,
- /* 0x04 */ FLAGPOLE_LIMB_FLAG_1_HOIST_END_BASE,
- /* 0x05 */ FLAGPOLE_LIMB_FLAG_1_HOIST_MID_BASE,
- /* 0x06 */ FLAGPOLE_LIMB_FLAG_1_FLY_MID_BASE,
- /* 0x07 */ FLAGPOLE_LIMB_FLAG_1_FLY_END_BASE,
- /* 0x08 */ FLAGPOLE_LIMB_FLAG_1_FLY_END,
- /* 0x09 */ FLAGPOLE_LIMB_FLAG_1_FLY_MID,
- /* 0x0A */ FLAGPOLE_LIMB_FLAG_1_HOIST_MID,
- /* 0x0B */ FLAGPOLE_LIMB_FLAG_1_HOIST_END,
- /* 0x0C */ FLAGPOLE_LIMB_FLAG_2_BASE,
- /* 0x0D */ FLAGPOLE_LIMB_FLAG_2_HOIST_END_BASE,
- /* 0x0E */ FLAGPOLE_LIMB_FLAG_2_HOIST_MID_BASE,
- /* 0x0F */ FLAGPOLE_LIMB_FLAG_2_FLY_MID_BASE,
- /* 0x10 */ FLAGPOLE_LIMB_FLAG_2_FLY_END_BASE,
- /* 0x11 */ FLAGPOLE_LIMB_FLAG_2_FLY_END,
- /* 0x12 */ FLAGPOLE_LIMB_FLAG_2_FLY_MID,
- /* 0x13 */ FLAGPOLE_LIMB_FLAG_2_HOIST_MID,
- /* 0x14 */ FLAGPOLE_LIMB_FLAG_2_HOIST_END,
- /* 0x15 */ FLAGPOLE_LIMB_MAX
-} EnHataLimb;
+#include "assets/objects/object_hata/object_hata.h"
typedef struct EnHata {
/* 0x0000 */ DynaPolyActor dyna;