From a4980cea4949a2525bea9268a83d3691a0a475e8 Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Tue, 10 Jun 2025 19:31:53 +0200 Subject: [PATCH] Assets: Move limb enums into xmls 2 --- assets/xml/objects/object_fu.xml | 32 ++++++------- assets/xml/objects/object_ge1.xml | 32 ++++++------- assets/xml/objects/object_geldb.xml | 48 +++++++++---------- assets/xml/objects/object_hata.xml | 42 ++++++++-------- src/overlays/actors/ovl_En_Fu/z_en_fu.c | 12 ++--- src/overlays/actors/ovl_En_Fu/z_en_fu.h | 26 ++-------- src/overlays/actors/ovl_En_Ge1/z_en_ge1.c | 9 ++-- src/overlays/actors/ovl_En_Ge1/z_en_ge1.h | 26 ++-------- src/overlays/actors/ovl_En_Ge3/z_en_ge3.c | 20 ++++---- src/overlays/actors/ovl_En_Ge3/z_en_ge3.h | 7 +-- src/overlays/actors/ovl_En_GeldB/z_en_geldb.c | 35 +++++++------- src/overlays/actors/ovl_En_GeldB/z_en_geldb.h | 34 ++----------- src/overlays/actors/ovl_En_Hata/z_en_hata.h | 26 +--------- 13 files changed, 133 insertions(+), 216 deletions(-) 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;