From 1df6a3ee12025437f562c4905538244062edd34c Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Thu, 12 Jun 2025 21:46:13 +0200 Subject: [PATCH 1/7] Assets: Move limb enums into xmls 1 (#2625) --- assets/xml/objects/object_anubice.xml | 32 ++++++------- assets/xml/objects/object_bl.xml | 10 ++-- assets/xml/objects/object_bw.xml | 24 +++++----- assets/xml/objects/object_gndd.xml | 48 +++++++++---------- assets/xml/objects/object_im.xml | 34 ++++++------- src/overlays/actors/ovl_Demo_Im/z_demo_im.h | 23 +-------- .../actors/ovl_En_Anubice/z_en_anubice.h | 22 +-------- src/overlays/actors/ovl_En_Bili/z_en_bili.c | 8 ++-- src/overlays/actors/ovl_En_Bili/z_en_bili.h | 15 ++---- src/overlays/actors/ovl_En_Bw/z_en_bw.h | 18 +------ .../actors/ovl_En_Viewer/z_en_viewer.h | 28 ----------- 11 files changed, 88 insertions(+), 174 deletions(-) diff --git a/assets/xml/objects/object_anubice.xml b/assets/xml/objects/object_anubice.xml index 492a8e4235..903804f74a 100644 --- a/assets/xml/objects/object_anubice.xml +++ b/assets/xml/objects/object_anubice.xml @@ -1,6 +1,6 @@ - + @@ -69,20 +69,20 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_bl.xml b/assets/xml/objects/object_bl.xml index a987840a31..3ae9c89dc0 100644 --- a/assets/xml/objects/object_bl.xml +++ b/assets/xml/objects/object_bl.xml @@ -34,10 +34,10 @@ - - - - - + + + + + diff --git a/assets/xml/objects/object_bw.xml b/assets/xml/objects/object_bw.xml index 27a84f18f2..e7693b47aa 100644 --- a/assets/xml/objects/object_bw.xml +++ b/assets/xml/objects/object_bw.xml @@ -33,20 +33,20 @@ - - - - - - - - - - - + + + + + + + + + + + - + diff --git a/assets/xml/objects/object_gndd.xml b/assets/xml/objects/object_gndd.xml index d284893579..8f119f05ef 100644 --- a/assets/xml/objects/object_gndd.xml +++ b/assets/xml/objects/object_gndd.xml @@ -145,31 +145,31 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/assets/xml/objects/object_im.xml b/assets/xml/objects/object_im.xml index c6ce6b6890..546f38a9a3 100644 --- a/assets/xml/objects/object_im.xml +++ b/assets/xml/objects/object_im.xml @@ -107,23 +107,23 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/src/overlays/actors/ovl_Demo_Im/z_demo_im.h b/src/overlays/actors/ovl_Demo_Im/z_demo_im.h index ac3e06250c..ddbec02833 100644 --- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.h +++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.h @@ -4,32 +4,13 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_im/object_im.h" + struct DemoIm; typedef void (*DemoImActionFunc)(struct DemoIm*, struct PlayState*); typedef void (*DemoImDrawFunc)(struct DemoIm*, struct PlayState*); -typedef enum ImpaLimb { - /* 0x00 */ IMPA_LIMB_NONE, - /* 0x01 */ IMPA_LIMB_ROOT, - /* 0x02 */ IMPA_LIMB_TORSO, - /* 0x03 */ IMPA_LIMB_LEFT_THIGH, - /* 0x04 */ IMPA_LIMB_LEFT_LEG, - /* 0x05 */ IMPA_LIMB_LEFT_FOOT, - /* 0x06 */ IMPA_LIMB_RIGHT_THIGH, - /* 0x07 */ IMPA_LIMB_RIGHT_LEG, - /* 0x08 */ IMPA_LIMB_RIGHT_FOOT, - /* 0x09 */ IMPA_LIMB_CHEST, - /* 0x0A */ IMPA_LIMB_LEFT_SHOULDER, - /* 0x0B */ IMPA_LIMB_LEFT_ARM, - /* 0x0C */ IMPA_LIMB_LEFT_HAND, - /* 0x0D */ IMPA_LIMB_RIGHT_SHOULDER, - /* 0x0E */ IMPA_LIMB_RIGHT_ARM, - /* 0x0F */ IMPA_LIMB_RIGHT_HAND, - /* 0x10 */ IMPA_LIMB_HEAD, - /* 0x11 */ IMPA_LIMB_MAX -} ImpaLimb; - typedef struct DemoIm { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h index 51b143fa1e..fd54405a29 100644 --- a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h +++ b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h @@ -4,30 +4,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_anubice/object_anubice.h" + struct EnAnubice; typedef void (*EnAnubiceActionFunc)(struct EnAnubice*, struct PlayState*); -typedef enum AnubiceLimbs { - /* 0 */ ANUBICE_LIMB_NONE, - /* 1 */ ANUBICE_LIMB_ROOT, - /* 2 */ ANUBICE_LIMB_BODY_ROOT, - /* 3 */ ANUBICE_LIMB_CHEST, - /* 4 */ ANUBICE_LIMB_ABDOMEN_ROOT, - /* 5 */ ANUBICE_LIMB_UPPER_ABDOMEN, - /* 6 */ ANUBICE_LIMB_LOWER_ABDOMEN, - /* 7 */ ANUBICE_LIMB_TAIL_ROOT, - /* 8 */ ANUBICE_LIMB_TAIL_BASE, - /* 9 */ ANUBICE_LIMB_TAIL_TIP, - /* 10 */ ANUBICE_LIMB_JEWEL_ROOT, - /* 11 */ ANUBICE_LIMB_JEWEL, - /* 12 */ ANUBICE_LIMB_HEAD_ROOT, - /* 13 */ ANUBICE_LIMB_HEAD, - /* 14 */ ANUBICE_LIMB_JAW_ROOT, - /* 15 */ ANUBICE_LIMB_JAW, - /* 16 */ ANUBICE_LIMB_MAX -} AnubiceLimbs; - typedef struct EnAnubice { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Bili/z_en_bili.c b/src/overlays/actors/ovl_En_Bili/z_en_bili.c index 0e7c532efb..4f7ef8cde7 100644 --- a/src/overlays/actors/ovl_En_Bili/z_en_bili.c +++ b/src/overlays/actors/ovl_En_Bili/z_en_bili.c @@ -134,7 +134,7 @@ void EnBili_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 17.0f); this->actor.shape.shadowAlpha = 155; SkelAnime_Init(play, &this->skelAnime, &gBiriSkel, &gBiriDefaultAnim, this->jointTable, this->morphTable, - EN_BILI_LIMB_MAX); + BIRI_LIMB_MAX); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); @@ -749,11 +749,11 @@ s32 EnBili_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* Vec3f limbScale = { 1.0f, 1.0f, 1.0f }; f32 curFrame = this->skelAnime.curFrame; - if (limbIndex == EN_BILI_LIMB_OUTER_HOOD) { + if (limbIndex == BIRI_LIMB_OUTER_HOOD) { EnBili_PulseLimb3(this, curFrame, &limbScale); - } else if (limbIndex == EN_BILI_LIMB_INNER_HOOD) { + } else if (limbIndex == BIRI_LIMB_INNER_HOOD) { EnBili_PulseLimb2(this, curFrame, &limbScale); - } else if (limbIndex == EN_BILI_LIMB_TENTACLES) { + } else if (limbIndex == BIRI_LIMB_TENTACLES) { EnBili_PulseLimb4(this, curFrame, &limbScale); rot->y = (Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)) - this->actor.shape.rot.y) + 0x8000; } diff --git a/src/overlays/actors/ovl_En_Bili/z_en_bili.h b/src/overlays/actors/ovl_En_Bili/z_en_bili.h index b0e58c4679..0675847ee2 100644 --- a/src/overlays/actors/ovl_En_Bili/z_en_bili.h +++ b/src/overlays/actors/ovl_En_Bili/z_en_bili.h @@ -4,19 +4,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_bl/object_bl.h" + struct EnBili; typedef void (*EnBiliActionFunc)(struct EnBili*, struct PlayState*); -typedef enum EnBiliLimb { - /* 0 */ EN_BILI_LIMB_NONE, - /* 1 */ EN_BILI_LIMB_ROOT, - /* 2 */ EN_BILI_LIMB_INNER_HOOD, - /* 3 */ EN_BILI_LIMB_OUTER_HOOD, - /* 4 */ EN_BILI_LIMB_TENTACLES, - /* 5 */ EN_BILI_LIMB_MAX -} EnBiliLimb; - typedef struct EnBili { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; @@ -24,8 +17,8 @@ typedef struct EnBili { /* 0x0194 */ u8 tentaclesTexIndex; /* 0x0195 */ u8 playFlySfx; /* 0x0196 */ s16 timer; - /* 0x0198 */ Vec3s jointTable[EN_BILI_LIMB_MAX]; - /* 0x01B6 */ Vec3s morphTable[EN_BILI_LIMB_MAX]; + /* 0x0198 */ Vec3s jointTable[BIRI_LIMB_MAX]; + /* 0x01B6 */ Vec3s morphTable[BIRI_LIMB_MAX]; /* 0x01D4 */ ColliderCylinder collider; } EnBili; // size = 0x0220 diff --git a/src/overlays/actors/ovl_En_Bw/z_en_bw.h b/src/overlays/actors/ovl_En_Bw/z_en_bw.h index fe9f8ef90a..e3ae7da245 100644 --- a/src/overlays/actors/ovl_En_Bw/z_en_bw.h +++ b/src/overlays/actors/ovl_En_Bw/z_en_bw.h @@ -4,25 +4,11 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_bw/object_bw.h" + struct EnBw; typedef void (*EnBwActionFunc)(struct EnBw*, struct PlayState*); -typedef enum TorchSlugLimb { - /* 0 */ TORCH_SLUG_LIMB_NONE, - /* 1 */ TORCH_SLUG_LIMB_BODY, - /* 2 */ TORCH_SLUG_LIMB_LEFT_EYESTALK_ROOT_ROOT, - /* 3 */ TORCH_SLUG_LIMB_LEFT_EYESTALK_ROOT, - /* 4 */ TORCH_SLUG_LIMB_LEFT_UPPER_EYESTALK_ROOT, - /* 5 */ TORCH_SLUG_LIMB_LEFT_UPPER_EYESTALK, - /* 6 */ TORCH_SLUG_LIMB_LEFT_LOWER_EYESTALK, - /* 7 */ TORCH_SLUG_LIMB_RIGHT_EYESTALK_ROOT_ROOT, - /* 8 */ TORCH_SLUG_LIMB_RIGHT_EYESTALK_ROOT, - /* 9 */ TORCH_SLUG_LIMB_RIGHT_UPPER_EYESTALK_ROOT, - /* 10 */ TORCH_SLUG_LIMB_RIGHT_UPPER_EYESTALK, - /* 11 */ TORCH_SLUG_LIMB_RIGHT_LOWER_EYESTALK, - /* 12 */ TORCH_SLUG_LIMB_MAX -} TorchSlugLimb; - typedef struct EnBw { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h index 1bb5780203..c23a2edba4 100644 --- a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h +++ b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h @@ -59,34 +59,6 @@ typedef struct EnViewerFireEffect { /* 0x30 */ u8 state; } EnViewerFireEffect; // size = 0x34 -typedef enum YoungGanondorfLimb { - /* 0 */ YOUNG_GANONDORF_LIMB_NONE, - /* 1 */ YOUNG_GANONDORF_LIMB_ROOT, - /* 2 */ YOUNG_GANONDORF_LIMB_TORSO, - /* 3 */ YOUNG_GANONDORF_LIMB_LEFT_UPPER_ARM, - /* 4 */ YOUNG_GANONDORF_LIMB_LEFT_FOREARM, - /* 5 */ YOUNG_GANONDORF_LIMB_LEFT_HAND, - /* 6 */ YOUNG_GANONDORF_LIMB_RIGHT_UPPER_ARM, - /* 7 */ YOUNG_GANONDORF_LIMB_RIGHT_FOREARM, - /* 8 */ YOUNG_GANONDORF_LIMB_RIGHT_HAND, - /* 9 */ YOUNG_GANONDORF_LIMB_JEWEL, - /* 10 */ YOUNG_GANONDORF_LIMB_LEFT_UPPER_LIP, - /* 11 */ YOUNG_GANONDORF_LIMB_JAW, - /* 12 */ YOUNG_GANONDORF_LIMB_CHIN, - /* 13 */ YOUNG_GANONDORF_LIMB_RIGHT_UPPER_LIP, - /* 14 */ YOUNG_GANONDORF_LIMB_TEETH, - /* 15 */ YOUNG_GANONDORF_LIMB_HEAD, - /* 16 */ YOUNG_GANONDORF_LIMB_PELVIS, - /* 17 */ YOUNG_GANONDORF_LIMB_LEFT_THIGH, - /* 18 */ YOUNG_GANONDORF_LIMB_LEFT_SHIN, - /* 19 */ YOUNG_GANONDORF_LIMB_LEFT_FOOT, - /* 20 */ YOUNG_GANONDORF_LIMB_KNIFE, - /* 21 */ YOUNG_GANONDORF_LIMB_RIGHT_THIGH, - /* 22 */ YOUNG_GANONDORF_LIMB_RIGHT_SHIN, - /* 23 */ YOUNG_GANONDORF_LIMB_RIGHT_FOOT, - /* 24 */ YOUNG_GANONDORF_LIMB_MAX -} YoungGanondorfLimb; - typedef struct EnViewer { /* 0x0000 */ Actor actor; /* 0x014C */ Skin skin; From e4e14a6bcf1d591ce34ccc3eea01faea18f07316 Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Thu, 12 Jun 2025 23:23:47 +0200 Subject: [PATCH 2/7] Assets: Move limb enums into xmls 2 (#2626) --- 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; From 8a823a7ad24d25d5ebc390e7436e6859227a0ace Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Fri, 13 Jun 2025 23:45:22 +0200 Subject: [PATCH 3/7] `Camera_KeepOn4` docs 1 (#2627) * `Camera_KeepOn4` docs 1 * add comment * backticks around at, eye --- src/code/z_camera.c | 136 +++++++++++++++++------------------ src/code/z_camera_data.inc.c | 12 ++-- 2 files changed, 75 insertions(+), 73 deletions(-) diff --git a/src/code/z_camera.c b/src/code/z_camera.c index 71f6a0b82e..0dbffa669d 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -3593,7 +3593,7 @@ s32 Camera_KeepOn3(Camera* camera) { playerHeadPos = camPlayerPosRot->pos; playerHeadPos.y += playerHeight; rwData->atTarget = Camera_AddVecGeoToVec3f(&playerHeadPos, &targetToPlayerDir); - angleCnt = ARRAY_COUNT(D_8011D3B0); + angleCnt = ARRAY_COUNT(sCamCheckAroundOffsetsYaw); i = 0; targetToPlayerDir.r = prevTargetPlayerDist; atToEyeAdj.r = roData->minDist + (targetToPlayerDir.r * (1 - 0.5f)) - atToEyeNextDir.r + atToEyeNextDir.r; @@ -3605,8 +3605,8 @@ s32 Camera_KeepOn3(Camera* camera) { !Camera_BGCheck(camera, &rwData->atTarget, &lineChkPointB)) { break; } - atToEyeAdj.yaw = sp80 + D_8011D3B0[i]; - atToEyeAdj.pitch = sp82 + D_8011D3CC[i]; + atToEyeAdj.yaw = sp80 + sCamCheckAroundOffsetsYaw[i]; + atToEyeAdj.pitch = sp82 + sCamCheckAroundOffsetsPitch[i]; lineChkPointB = Camera_AddVecGeoToVec3f(&rwData->atTarget, &atToEyeAdj); i++; } @@ -3664,24 +3664,24 @@ s32 Camera_KeepOn3(Camera* camera) { "ique-cn:128 ntsc-1.0:79 ntsc-1.1:79 ntsc-1.2:79 pal-1.0:79 pal-1.1:79" s32 Camera_KeepOn4(Camera* camera) { - static Vec3f D_8015BD50; + static Vec3f sAtTarget; static Vec3f D_8015BD60; - static Vec3f D_8015BD70; + static Vec3f sEyeCandidate; Vec3f* eye = &camera->eye; Vec3f* at = &camera->at; Vec3f* eyeNext = &camera->eyeNext; - Actor* spCC[2]; + Actor* lineOCCheckExclusions[2]; f32 t = -0.5f; f32 temp_f0_2; CollisionPoly* spC0; - VecGeo spB8; - UNUSED VecGeo spB0; - VecGeo spA8; + VecGeo vecGeo; + VecGeo atToEyeDir; + VecGeo atToEyeNextDir; s16* itemType = &camera->data2; - s16 spA2; - s16 spA0; + s16 atToEyeBasePitch; + s16 atToEyeBaseYaw; s16 sp9E; - s16 sp9C; + s16 lineOCCheckNumExclusions; PosRot* playerPosRot = &camera->playerPosRot; KeepOn4ReadOnlyData* roData = &camera->paramData.keep4.roData; KeepOn4ReadWriteData* rwData = &camera->paramData.keep4.rwData; @@ -3839,87 +3839,87 @@ s32 Camera_KeepOn4(Camera* camera) { sUpdateCameraDirection = 1; sCameraInterfaceField = roData->interfaceField; - spB0 = OLib_Vec3fDiffToVecGeo(at, eye); - spA8 = OLib_Vec3fDiffToVecGeo(at, eyeNext); - D_8015BD50 = playerPosRot->pos; - D_8015BD50.y += playerHeight; - temp_f0_2 = BgCheck_CameraRaycastDown2(&camera->play->colCtx, &spC0, &i, &D_8015BD50); - if (temp_f0_2 > (roData->unk_00 + D_8015BD50.y)) { - D_8015BD50.y = temp_f0_2 + 10.0f; + atToEyeDir = OLib_Vec3fDiffToVecGeo(at, eye); + atToEyeNextDir = OLib_Vec3fDiffToVecGeo(at, eyeNext); + sAtTarget = playerPosRot->pos; + sAtTarget.y += playerHeight; + temp_f0_2 = BgCheck_CameraRaycastDown2(&camera->play->colCtx, &spC0, &i, &sAtTarget); + if (temp_f0_2 > (roData->unk_00 + sAtTarget.y)) { + sAtTarget.y = temp_f0_2 + 10.0f; } else { - D_8015BD50.y += roData->unk_00; + sAtTarget.y += roData->unk_00; } - sp9C = 0; + lineOCCheckNumExclusions = 0; switch (camera->animState) { case 0: case 20: - spCC[sp9C] = &camera->player->actor; - sp9C++; + lineOCCheckExclusions[lineOCCheckNumExclusions] = &camera->player->actor; + lineOCCheckNumExclusions++; func_80043ABC(camera); camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); rwData->unk_10 = roData->unk_1E; rwData->unk_08 = playerPosRot->pos.y - camera->playerPosDelta.y; if (roData->interfaceField & KEEPON4_FLAG_1) { - spA2 = CAM_DEG_TO_BINANG(roData->unk_08); - spA0 = (s16)((s16)(playerPosRot->rot.y - 0x7FFF) - spA8.yaw) > 0 - ? (s16)(playerPosRot->rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C) - : (s16)(playerPosRot->rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->unk_0C); + atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08); + atToEyeBaseYaw = (s16)((s16)(playerPosRot->rot.y - 0x7FFF) - atToEyeNextDir.yaw) > 0 + ? (s16)(playerPosRot->rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C) + : (s16)(playerPosRot->rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->unk_0C); } else if (roData->interfaceField & KEEPON4_FLAG_2) { - spA2 = CAM_DEG_TO_BINANG(roData->unk_08); - spA0 = CAM_DEG_TO_BINANG(roData->unk_0C); + atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08); + atToEyeBaseYaw = CAM_DEG_TO_BINANG(roData->unk_0C); } else if ((roData->interfaceField & KEEPON4_FLAG_3) && camera->target != NULL) { PosRot sp60; sp60 = Actor_GetWorldPosShapeRot(camera->target); - spA2 = CAM_DEG_TO_BINANG(roData->unk_08) - sp60.rot.x; - spA0 = (s16)((s16)(sp60.rot.y - 0x7FFF) - spA8.yaw) > 0 - ? (s16)(sp60.rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C) - : (s16)(sp60.rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->unk_0C); - spCC[1] = camera->target; - sp9C++; + atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08) - sp60.rot.x; + atToEyeBaseYaw = (s16)((s16)(sp60.rot.y - 0x7FFF) - atToEyeNextDir.yaw) > 0 + ? (s16)(sp60.rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C) + : (s16)(sp60.rot.y - 0x7FFF) - CAM_DEG_TO_BINANG(roData->unk_0C); + lineOCCheckExclusions[1] = camera->target; + lineOCCheckNumExclusions++; } else if ((roData->interfaceField & KEEPON4_FLAG_7) && camera->target != NULL) { PosRot sp4C; sp4C = Actor_GetWorld(camera->target); - spA2 = CAM_DEG_TO_BINANG(roData->unk_08); + atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08); sp9E = Camera_XZAngle(&sp4C.pos, &playerPosRot->pos); - spA0 = ((s16)(sp9E - spA8.yaw) > 0) ? sp9E + CAM_DEG_TO_BINANG(roData->unk_0C) - : sp9E - CAM_DEG_TO_BINANG(roData->unk_0C); - spCC[1] = camera->target; - sp9C++; + atToEyeBaseYaw = ((s16)(sp9E - atToEyeNextDir.yaw) > 0) ? sp9E + CAM_DEG_TO_BINANG(roData->unk_0C) + : sp9E - CAM_DEG_TO_BINANG(roData->unk_0C); + lineOCCheckExclusions[1] = camera->target; + lineOCCheckNumExclusions++; } else if (roData->interfaceField & KEEPON4_FLAG_6) { - spA2 = CAM_DEG_TO_BINANG(roData->unk_08); - spA0 = spA8.yaw; + atToEyeBasePitch = CAM_DEG_TO_BINANG(roData->unk_08); + atToEyeBaseYaw = atToEyeNextDir.yaw; } else { - spA2 = spA8.pitch; - spA0 = spA8.yaw; + atToEyeBasePitch = atToEyeNextDir.pitch; + atToEyeBaseYaw = atToEyeNextDir.yaw; } - spB8.pitch = spA2; - spB8.yaw = spA0; - spB8.r = roData->unk_04; - D_8015BD70 = Camera_AddVecGeoToVec3f(&D_8015BD50, &spB8); + vecGeo.pitch = atToEyeBasePitch; + vecGeo.yaw = atToEyeBaseYaw; + vecGeo.r = roData->unk_04; + sEyeCandidate = Camera_AddVecGeoToVec3f(&sAtTarget, &vecGeo); if (!(roData->interfaceField & KEEPON4_FLAG_0)) { - angleCnt = ARRAY_COUNT(D_8011D3B0); + angleCnt = ARRAY_COUNT(sCamCheckAroundOffsetsYaw); for (i = 0; i < angleCnt; i++) { - if (!CollisionCheck_LineOCCheck(camera->play, &camera->play->colChkCtx, &D_8015BD50, &D_8015BD70, - spCC, sp9C) && - !Camera_BGCheck(camera, &D_8015BD50, &D_8015BD70)) { + if (!CollisionCheck_LineOCCheck(camera->play, &camera->play->colChkCtx, &sAtTarget, &sEyeCandidate, + lineOCCheckExclusions, lineOCCheckNumExclusions) && + !Camera_BGCheck(camera, &sAtTarget, &sEyeCandidate)) { break; } - spB8.yaw = D_8011D3B0[i] + spA0; - spB8.pitch = D_8011D3CC[i] + spA2; - D_8015BD70 = Camera_AddVecGeoToVec3f(&D_8015BD50, &spB8); + vecGeo.yaw = sCamCheckAroundOffsetsYaw[i] + atToEyeBaseYaw; + vecGeo.pitch = sCamCheckAroundOffsetsPitch[i] + atToEyeBasePitch; + sEyeCandidate = Camera_AddVecGeoToVec3f(&sAtTarget, &vecGeo); } #if DEBUG_FEATURES PRINTF("camera: item: BG&collision check %d time(s)\n", i); #endif } - rwData->unk_04 = (s16)(spB8.pitch - spA8.pitch) / (f32)rwData->unk_10; - rwData->unk_00 = (s16)(spB8.yaw - spA8.yaw) / (f32)rwData->unk_10; - rwData->unk_0C = spA8.yaw; - rwData->unk_0E = spA8.pitch; + rwData->unk_04 = (s16)(vecGeo.pitch - atToEyeNextDir.pitch) / (f32)rwData->unk_10; + rwData->unk_00 = (s16)(vecGeo.yaw - atToEyeNextDir.yaw) / (f32)rwData->unk_10; + rwData->unk_0C = atToEyeNextDir.yaw; + rwData->unk_0E = atToEyeNextDir.pitch; camera->animState++; rwData->unk_12 = 1; break; @@ -3931,16 +3931,16 @@ s32 Camera_KeepOn4(Camera* camera) { camera->xzOffsetUpdateRate = 0.25f; camera->yOffsetUpdateRate = 0.25f; camera->atLERPStepScale = 0.75f; - Camera_LERPCeilVec3f(&D_8015BD50, at, 0.5f, 0.5f, 0.2f); + Camera_LERPCeilVec3f(&sAtTarget, at, 0.5f, 0.5f, 0.2f); if (roData->unk_10 != 0.0f) { - spB8.r = roData->unk_10; - spB8.pitch = 0; - spB8.yaw = playerPosRot->rot.y; - *at = Camera_AddVecGeoToVec3f(at, &spB8); + vecGeo.r = roData->unk_10; + vecGeo.pitch = 0; + vecGeo.yaw = playerPosRot->rot.y; + *at = Camera_AddVecGeoToVec3f(at, &vecGeo); } camera->atLERPStepScale = 0.0f; camera->dist = Camera_LERPCeilF(roData->unk_04, camera->dist, 0.25f, 2.0f); - spB8.r = camera->dist; + vecGeo.r = camera->dist; if (rwData->unk_10 != 0) { camera->stateFlags |= CAM_STATE_LOCK_MODE; rwData->unk_0C += (s16)rwData->unk_00; @@ -3967,9 +3967,9 @@ s32 Camera_KeepOn4(Camera* camera) { } } } - spB8.yaw = Camera_LERPCeilS(rwData->unk_0C, spA8.yaw, roData->unk_14, 4); - spB8.pitch = Camera_LERPCeilS(rwData->unk_0E, spA8.pitch, roData->unk_14, 4); - *eyeNext = Camera_AddVecGeoToVec3f(at, &spB8); + vecGeo.yaw = Camera_LERPCeilS(rwData->unk_0C, atToEyeNextDir.yaw, roData->unk_14, 4); + vecGeo.pitch = Camera_LERPCeilS(rwData->unk_0E, atToEyeNextDir.pitch, roData->unk_14, 4); + *eyeNext = Camera_AddVecGeoToVec3f(at, &vecGeo); *eye = *eyeNext; Camera_BGCheck(camera, at, eye); camera->fov = Camera_LERPCeilF(roData->unk_18, camera->fov, camera->fovUpdateRate, 1.0f); diff --git a/src/code/z_camera_data.inc.c b/src/code/z_camera_data.inc.c index 9a9795f453..9f724ec084 100644 --- a/src/code/z_camera_data.inc.c +++ b/src/code/z_camera_data.inc.c @@ -2574,12 +2574,14 @@ s32 sCameraLetterboxSize = 32; s32 D_8011D3AC = -1; -s16 D_8011D3B0[] = { - 0x0AAA, 0xF556, 0x1555, 0xEAAB, 0x2AAA, 0xD556, 0x3FFF, 0xC001, 0x5555, 0xAAAB, 0x6AAA, 0x9556, 0x7FFF, 0x0000, +// Used in Camera_KeepOn3 and Camera_KeepOn4 to check around an `at` position for an `eye` position such that the +// `at`-`eye` segment is not obstructed by collision or colliders. +s16 sCamCheckAroundOffsetsYaw[] = { + 0x0AAA, -0x0AAA, 0x1555, -0x1555, 0x2AAA, -0x2AAA, 0x3FFF, + -0x3FFF, 0x5555, -0x5555, 0x6AAA, -0x6AAA, 0x7FFF, 0x0000, }; - -s16 D_8011D3CC[] = { - 0x0000, 0x02C6, 0x058C, 0x0000, 0x0000, 0xFD3A, 0x0000, 0x0852, 0x0000, 0x0000, 0x0B18, 0x02C6, 0xFA74, 0x0000, +s16 sCamCheckAroundOffsetsPitch[] = { + 0x0000, 0x02C6, 0x058C, 0x0000, 0x0000, -0x02C6, 0x0000, 0x0852, 0x0000, 0x0000, 0x0B18, 0x02C6, -0x058C, 0x0000, }; s32 sUpdateCameraDirection = 0; From 7547603989320735451c5b0c59dfa56aad7e474d Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Sat, 14 Jun 2025 22:06:53 +0200 Subject: [PATCH 4/7] Pause doc: DrawInfoPanel textures (#2628) * Pause doc: DrawInfoPanel textures * plural Widths --- .../icon_item_fra_static.c | 8 +-- .../icon_item_fra_static.h | 18 ++---- .../icon_item_ger_static.c | 8 +-- .../icon_item_ger_static.h | 18 ++---- .../icon_item_jpn_static.c | 8 +-- .../icon_item_jpn_static.h | 18 ++---- .../icon_item_nes_static.c | 8 +-- .../icon_item_nes_static.h | 18 ++---- .../misc/ovl_kaleido_scope/z_kaleido_scope.c | 63 ++++++++++--------- .../misc/ovl_kaleido_scope/z_kaleido_scope.h | 3 + 10 files changed, 78 insertions(+), 92 deletions(-) diff --git a/assets/textures/icon_item_fra_static/icon_item_fra_static.c b/assets/textures/icon_item_fra_static/icon_item_fra_static.c index 80dae50a8d..3cfec8f8d4 100644 --- a/assets/textures/icon_item_fra_static/icon_item_fra_static.c +++ b/assets/textures/icon_item_fra_static/icon_item_fra_static.c @@ -52,19 +52,19 @@ u64 gPauseToPlayMelodyFRATex[TEX_LEN(u64, gPauseToPlayMelodyFRATex_WIDTH, gPause #include "assets/textures/icon_item_fra_static/gPauseToPlayMelodyFRATex.ia8.inc.c" }; -u64 gPauseToSelectItemFRATex[TEX_LEN(u64, gPauseToSelectItemFRATex_WIDTH, gPauseToSelectItemFRATex_HEIGHT, 8)] = { +u64 gPauseToSelectItemFRATex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_fra_static/gPauseToSelectItemFRATex.ia8.inc.c" }; -u64 gPauseToMapFRATex[TEX_LEN(u64, gPauseToMapFRATex_WIDTH, gPauseToMapFRATex_HEIGHT, 8)] = { +u64 gPauseToMapFRATex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_fra_static/gPauseToMapFRATex.ia8.inc.c" }; -u64 gPauseToQuestStatusFRATex[TEX_LEN(u64, gPauseToQuestStatusFRATex_WIDTH, gPauseToQuestStatusFRATex_HEIGHT, 8)] = { +u64 gPauseToQuestStatusFRATex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_fra_static/gPauseToQuestStatusFRATex.ia8.inc.c" }; -u64 gPauseToEquipmentFRATex[TEX_LEN(u64, gPauseToEquipmentFRATex_WIDTH, gPauseToEquipmentFRATex_HEIGHT, 8)] = { +u64 gPauseToEquipmentFRATex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_fra_static/gPauseToEquipmentFRATex.ia8.inc.c" }; diff --git a/assets/textures/icon_item_fra_static/icon_item_fra_static.h b/assets/textures/icon_item_fra_static/icon_item_fra_static.h index 2a7152a416..7689e75fed 100644 --- a/assets/textures/icon_item_fra_static/icon_item_fra_static.h +++ b/assets/textures/icon_item_fra_static/icon_item_fra_static.h @@ -44,18 +44,12 @@ extern u64 gPauseToDecideFRATex[TEX_LEN(u64, gPauseToDecideFRATex_WIDTH, gPauseT #define gPauseToPlayMelodyFRATex_WIDTH 112 #define gPauseToPlayMelodyFRATex_HEIGHT 16 extern u64 gPauseToPlayMelodyFRATex[TEX_LEN(u64, gPauseToPlayMelodyFRATex_WIDTH, gPauseToPlayMelodyFRATex_HEIGHT, 8)]; -#define gPauseToSelectItemFRATex_WIDTH 128 -#define gPauseToSelectItemFRATex_HEIGHT 16 -extern u64 gPauseToSelectItemFRATex[TEX_LEN(u64, gPauseToSelectItemFRATex_WIDTH, gPauseToSelectItemFRATex_HEIGHT, 8)]; -#define gPauseToMapFRATex_WIDTH 128 -#define gPauseToMapFRATex_HEIGHT 16 -extern u64 gPauseToMapFRATex[TEX_LEN(u64, gPauseToMapFRATex_WIDTH, gPauseToMapFRATex_HEIGHT, 8)]; -#define gPauseToQuestStatusFRATex_WIDTH 128 -#define gPauseToQuestStatusFRATex_HEIGHT 16 -extern u64 gPauseToQuestStatusFRATex[TEX_LEN(u64, gPauseToQuestStatusFRATex_WIDTH, gPauseToQuestStatusFRATex_HEIGHT, 8)]; -#define gPauseToEquipmentFRATex_WIDTH 128 -#define gPauseToEquipmentFRATex_HEIGHT 16 -extern u64 gPauseToEquipmentFRATex[TEX_LEN(u64, gPauseToEquipmentFRATex_WIDTH, gPauseToEquipmentFRATex_HEIGHT, 8)]; + +extern u64 gPauseToSelectItemFRATex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToMapFRATex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToQuestStatusFRATex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToEquipmentFRATex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; + #define gPauseSavePromptFRATex_WIDTH 152 #define gPauseSavePromptFRATex_HEIGHT 16 extern u64 gPauseSavePromptFRATex[TEX_LEN(u64, gPauseSavePromptFRATex_WIDTH, gPauseSavePromptFRATex_HEIGHT, 8)]; diff --git a/assets/textures/icon_item_ger_static/icon_item_ger_static.c b/assets/textures/icon_item_ger_static/icon_item_ger_static.c index 379f7f6816..e8523db713 100644 --- a/assets/textures/icon_item_ger_static/icon_item_ger_static.c +++ b/assets/textures/icon_item_ger_static/icon_item_ger_static.c @@ -52,19 +52,19 @@ u64 gPauseToPlayMelodyGERTex[TEX_LEN(u64, gPauseToPlayMelodyGERTex_WIDTH, gPause #include "assets/textures/icon_item_ger_static/gPauseToPlayMelodyGERTex.ia8.inc.c" }; -u64 gPauseToSelectItemGERTex[TEX_LEN(u64, gPauseToSelectItemGERTex_WIDTH, gPauseToSelectItemGERTex_HEIGHT, 8)] = { +u64 gPauseToSelectItemGERTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_ger_static/gPauseToSelectItemGERTex.ia8.inc.c" }; -u64 gPauseToMapGERTex[TEX_LEN(u64, gPauseToMapGERTex_WIDTH, gPauseToMapGERTex_HEIGHT, 8)] = { +u64 gPauseToMapGERTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_ger_static/gPauseToMapGERTex.ia8.inc.c" }; -u64 gPauseToQuestStatusGERTex[TEX_LEN(u64, gPauseToQuestStatusGERTex_WIDTH, gPauseToQuestStatusGERTex_HEIGHT, 8)] = { +u64 gPauseToQuestStatusGERTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_ger_static/gPauseToQuestStatusGERTex.ia8.inc.c" }; -u64 gPauseToEquipmentGERTex[TEX_LEN(u64, gPauseToEquipmentGERTex_WIDTH, gPauseToEquipmentGERTex_HEIGHT, 8)] = { +u64 gPauseToEquipmentGERTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_ger_static/gPauseToEquipmentGERTex.ia8.inc.c" }; diff --git a/assets/textures/icon_item_ger_static/icon_item_ger_static.h b/assets/textures/icon_item_ger_static/icon_item_ger_static.h index bd69237b9a..30a8455717 100644 --- a/assets/textures/icon_item_ger_static/icon_item_ger_static.h +++ b/assets/textures/icon_item_ger_static/icon_item_ger_static.h @@ -44,18 +44,12 @@ extern u64 gPauseToDecideGERTex[TEX_LEN(u64, gPauseToDecideGERTex_WIDTH, gPauseT #define gPauseToPlayMelodyGERTex_WIDTH 104 #define gPauseToPlayMelodyGERTex_HEIGHT 16 extern u64 gPauseToPlayMelodyGERTex[TEX_LEN(u64, gPauseToPlayMelodyGERTex_WIDTH, gPauseToPlayMelodyGERTex_HEIGHT, 8)]; -#define gPauseToSelectItemGERTex_WIDTH 128 -#define gPauseToSelectItemGERTex_HEIGHT 16 -extern u64 gPauseToSelectItemGERTex[TEX_LEN(u64, gPauseToSelectItemGERTex_WIDTH, gPauseToSelectItemGERTex_HEIGHT, 8)]; -#define gPauseToMapGERTex_WIDTH 128 -#define gPauseToMapGERTex_HEIGHT 16 -extern u64 gPauseToMapGERTex[TEX_LEN(u64, gPauseToMapGERTex_WIDTH, gPauseToMapGERTex_HEIGHT, 8)]; -#define gPauseToQuestStatusGERTex_WIDTH 128 -#define gPauseToQuestStatusGERTex_HEIGHT 16 -extern u64 gPauseToQuestStatusGERTex[TEX_LEN(u64, gPauseToQuestStatusGERTex_WIDTH, gPauseToQuestStatusGERTex_HEIGHT, 8)]; -#define gPauseToEquipmentGERTex_WIDTH 128 -#define gPauseToEquipmentGERTex_HEIGHT 16 -extern u64 gPauseToEquipmentGERTex[TEX_LEN(u64, gPauseToEquipmentGERTex_WIDTH, gPauseToEquipmentGERTex_HEIGHT, 8)]; + +extern u64 gPauseToSelectItemGERTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToMapGERTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToQuestStatusGERTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToEquipmentGERTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; + #define gPauseSavePromptGERTex_WIDTH 152 #define gPauseSavePromptGERTex_HEIGHT 16 extern u64 gPauseSavePromptGERTex[TEX_LEN(u64, gPauseSavePromptGERTex_WIDTH, gPauseSavePromptGERTex_HEIGHT, 8)]; diff --git a/assets/textures/icon_item_jpn_static/icon_item_jpn_static.c b/assets/textures/icon_item_jpn_static/icon_item_jpn_static.c index 92d56b0724..1418c209aa 100644 --- a/assets/textures/icon_item_jpn_static/icon_item_jpn_static.c +++ b/assets/textures/icon_item_jpn_static/icon_item_jpn_static.c @@ -52,19 +52,19 @@ u64 gPauseToPlayMelodyJPNTex[TEX_LEN(u64, gPauseToPlayMelodyJPNTex_WIDTH, gPause #include "assets/textures/icon_item_jpn_static/gPauseToPlayMelodyJPNTex.ia8.inc.c" }; -u64 gPauseToSelectItemJPNTex[TEX_LEN(u64, gPauseToSelectItemJPNTex_WIDTH, gPauseToSelectItemJPNTex_HEIGHT, 8)] = { +u64 gPauseToSelectItemJPNTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_jpn_static/gPauseToSelectItemJPNTex.ia8.inc.c" }; -u64 gPauseToMapJPNTex[TEX_LEN(u64, gPauseToMapJPNTex_WIDTH, gPauseToMapJPNTex_HEIGHT, 8)] = { +u64 gPauseToMapJPNTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_jpn_static/gPauseToMapJPNTex.ia8.inc.c" }; -u64 gPauseToQuestStatusJPNTex[TEX_LEN(u64, gPauseToQuestStatusJPNTex_WIDTH, gPauseToQuestStatusJPNTex_HEIGHT, 8)] = { +u64 gPauseToQuestStatusJPNTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_jpn_static/gPauseToQuestStatusJPNTex.ia8.inc.c" }; -u64 gPauseToEquipmentJPNTex[TEX_LEN(u64, gPauseToEquipmentJPNTex_WIDTH, gPauseToEquipmentJPNTex_HEIGHT, 8)] = { +u64 gPauseToEquipmentJPNTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_jpn_static/gPauseToEquipmentJPNTex.ia8.inc.c" }; diff --git a/assets/textures/icon_item_jpn_static/icon_item_jpn_static.h b/assets/textures/icon_item_jpn_static/icon_item_jpn_static.h index bd21c0a74e..d850c943c0 100644 --- a/assets/textures/icon_item_jpn_static/icon_item_jpn_static.h +++ b/assets/textures/icon_item_jpn_static/icon_item_jpn_static.h @@ -44,18 +44,12 @@ extern u64 gPauseToDecideJPNTex[TEX_LEN(u64, gPauseToDecideJPNTex_WIDTH, gPauseT #define gPauseToPlayMelodyJPNTex_WIDTH 96 #define gPauseToPlayMelodyJPNTex_HEIGHT 16 extern u64 gPauseToPlayMelodyJPNTex[TEX_LEN(u64, gPauseToPlayMelodyJPNTex_WIDTH, gPauseToPlayMelodyJPNTex_HEIGHT, 8)]; -#define gPauseToSelectItemJPNTex_WIDTH 128 -#define gPauseToSelectItemJPNTex_HEIGHT 16 -extern u64 gPauseToSelectItemJPNTex[TEX_LEN(u64, gPauseToSelectItemJPNTex_WIDTH, gPauseToSelectItemJPNTex_HEIGHT, 8)]; -#define gPauseToMapJPNTex_WIDTH 128 -#define gPauseToMapJPNTex_HEIGHT 16 -extern u64 gPauseToMapJPNTex[TEX_LEN(u64, gPauseToMapJPNTex_WIDTH, gPauseToMapJPNTex_HEIGHT, 8)]; -#define gPauseToQuestStatusJPNTex_WIDTH 128 -#define gPauseToQuestStatusJPNTex_HEIGHT 16 -extern u64 gPauseToQuestStatusJPNTex[TEX_LEN(u64, gPauseToQuestStatusJPNTex_WIDTH, gPauseToQuestStatusJPNTex_HEIGHT, 8)]; -#define gPauseToEquipmentJPNTex_WIDTH 128 -#define gPauseToEquipmentJPNTex_HEIGHT 16 -extern u64 gPauseToEquipmentJPNTex[TEX_LEN(u64, gPauseToEquipmentJPNTex_WIDTH, gPauseToEquipmentJPNTex_HEIGHT, 8)]; + +extern u64 gPauseToSelectItemJPNTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToMapJPNTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToQuestStatusJPNTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToEquipmentJPNTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; + #define gPauseSavePromptJPNTex_WIDTH 152 #define gPauseSavePromptJPNTex_HEIGHT 16 extern u64 gPauseSavePromptJPNTex[TEX_LEN(u64, gPauseSavePromptJPNTex_WIDTH, gPauseSavePromptJPNTex_HEIGHT, 8)]; diff --git a/assets/textures/icon_item_nes_static/icon_item_nes_static.c b/assets/textures/icon_item_nes_static/icon_item_nes_static.c index 5e84c69162..aeb95065c5 100644 --- a/assets/textures/icon_item_nes_static/icon_item_nes_static.c +++ b/assets/textures/icon_item_nes_static/icon_item_nes_static.c @@ -52,19 +52,19 @@ u64 gPauseToPlayMelodyENGTex[TEX_LEN(u64, gPauseToPlayMelodyENGTex_WIDTH, gPause #include "assets/textures/icon_item_nes_static/gPauseToPlayMelodyENGTex.ia8.inc.c" }; -u64 gPauseToSelectItemENGTex[TEX_LEN(u64, gPauseToSelectItemENGTex_WIDTH, gPauseToSelectItemENGTex_HEIGHT, 8)] = { +u64 gPauseToSelectItemENGTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_nes_static/gPauseToSelectItemENGTex.ia8.inc.c" }; -u64 gPauseToMapENGTex[TEX_LEN(u64, gPauseToMapENGTex_WIDTH, gPauseToMapENGTex_HEIGHT, 8)] = { +u64 gPauseToMapENGTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_nes_static/gPauseToMapENGTex.ia8.inc.c" }; -u64 gPauseToQuestStatusENGTex[TEX_LEN(u64, gPauseToQuestStatusENGTex_WIDTH, gPauseToQuestStatusENGTex_HEIGHT, 8)] = { +u64 gPauseToQuestStatusENGTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_nes_static/gPauseToQuestStatusENGTex.ia8.inc.c" }; -u64 gPauseToEquipmentENGTex[TEX_LEN(u64, gPauseToEquipmentENGTex_WIDTH, gPauseToEquipmentENGTex_HEIGHT, 8)] = { +u64 gPauseToEquipmentENGTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)] = { #include "assets/textures/icon_item_nes_static/gPauseToEquipmentENGTex.ia8.inc.c" }; diff --git a/assets/textures/icon_item_nes_static/icon_item_nes_static.h b/assets/textures/icon_item_nes_static/icon_item_nes_static.h index 007bebf3bc..7c732e0973 100644 --- a/assets/textures/icon_item_nes_static/icon_item_nes_static.h +++ b/assets/textures/icon_item_nes_static/icon_item_nes_static.h @@ -44,18 +44,12 @@ extern u64 gPauseToDecideENGTex[TEX_LEN(u64, gPauseToDecideENGTex_WIDTH, gPauseT #define gPauseToPlayMelodyENGTex_WIDTH 80 #define gPauseToPlayMelodyENGTex_HEIGHT 16 extern u64 gPauseToPlayMelodyENGTex[TEX_LEN(u64, gPauseToPlayMelodyENGTex_WIDTH, gPauseToPlayMelodyENGTex_HEIGHT, 8)]; -#define gPauseToSelectItemENGTex_WIDTH 128 -#define gPauseToSelectItemENGTex_HEIGHT 16 -extern u64 gPauseToSelectItemENGTex[TEX_LEN(u64, gPauseToSelectItemENGTex_WIDTH, gPauseToSelectItemENGTex_HEIGHT, 8)]; -#define gPauseToMapENGTex_WIDTH 128 -#define gPauseToMapENGTex_HEIGHT 16 -extern u64 gPauseToMapENGTex[TEX_LEN(u64, gPauseToMapENGTex_WIDTH, gPauseToMapENGTex_HEIGHT, 8)]; -#define gPauseToQuestStatusENGTex_WIDTH 128 -#define gPauseToQuestStatusENGTex_HEIGHT 16 -extern u64 gPauseToQuestStatusENGTex[TEX_LEN(u64, gPauseToQuestStatusENGTex_WIDTH, gPauseToQuestStatusENGTex_HEIGHT, 8)]; -#define gPauseToEquipmentENGTex_WIDTH 128 -#define gPauseToEquipmentENGTex_HEIGHT 16 -extern u64 gPauseToEquipmentENGTex[TEX_LEN(u64, gPauseToEquipmentENGTex_WIDTH, gPauseToEquipmentENGTex_HEIGHT, 8)]; + +extern u64 gPauseToSelectItemENGTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToMapENGTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToQuestStatusENGTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; +extern u64 gPauseToEquipmentENGTex[TEX_LEN(u64, TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 8)]; + #define gPauseSavePromptENGTex_WIDTH 152 #define gPauseSavePromptENGTex_HEIGHT 16 extern u64 gPauseSavePromptENGTex[TEX_LEN(u64, gPauseSavePromptENGTex_WIDTH, gPauseSavePromptENGTex_HEIGHT, 8)]; diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c index 2a76a40fa2..84b7687bb4 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c @@ -1653,13 +1653,13 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { } void KaleidoScope_DrawInfoPanel(PlayState* play) { - static void* D_8082AD54[] = + static void* sToEquipTextTextures[] = LANGUAGE_ARRAY(gPauseToEquipJPNTex, gPauseToEquipENGTex, gPauseToEquipGERTex, gPauseToEquipFRATex); - static void* D_8082AD60[] = + static void* sToDecideTextTextures[] = LANGUAGE_ARRAY(gPauseToDecideJPNTex, gPauseToDecideENGTex, gPauseToDecideGERTex, gPauseToDecideFRATex); - static void* D_8082AD6C[] = LANGUAGE_ARRAY(gPauseToPlayMelodyJPNTex, gPauseToPlayMelodyENGTex, - gPauseToPlayMelodyGERTex, gPauseToPlayMelodyFRATex); - static void* D_8082AD78[][LANGUAGE_MAX] = { + static void* sToPlayMelodyTextTextures[] = LANGUAGE_ARRAY(gPauseToPlayMelodyJPNTex, gPauseToPlayMelodyENGTex, + gPauseToPlayMelodyGERTex, gPauseToPlayMelodyFRATex); + static void* sScrollLeftLabels[][LANGUAGE_MAX] = { LANGUAGE_ARRAY(gPauseToEquipmentJPNTex, gPauseToEquipmentENGTex, gPauseToEquipmentGERTex, gPauseToEquipmentFRATex), LANGUAGE_ARRAY(gPauseToSelectItemJPNTex, gPauseToSelectItemENGTex, gPauseToSelectItemGERTex, @@ -1668,7 +1668,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { LANGUAGE_ARRAY(gPauseToQuestStatusJPNTex, gPauseToQuestStatusENGTex, gPauseToQuestStatusGERTex, gPauseToQuestStatusFRATex), }; - static void* D_8082ADA8[][LANGUAGE_MAX] = { + static void* sScrollRightLabels[][LANGUAGE_MAX] = { LANGUAGE_ARRAY(gPauseToMapJPNTex, gPauseToMapENGTex, gPauseToMapGERTex, gPauseToMapFRATex), LANGUAGE_ARRAY(gPauseToQuestStatusJPNTex, gPauseToQuestStatusENGTex, gPauseToQuestStatusGERTex, gPauseToQuestStatusFRATex), @@ -1677,9 +1677,13 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { LANGUAGE_ARRAY(gPauseToSelectItemJPNTex, gPauseToSelectItemENGTex, gPauseToSelectItemGERTex, gPauseToSelectItemFRATex), }; - static u16 D_8082ADD8[] = LANGUAGE_ARRAY(56, 56, 88, 80); - static u16 D_8082ADE0[] = LANGUAGE_ARRAY(48, 64, 88, 72); - static u16 D_8082ADE8[] = LANGUAGE_ARRAY(96, 80, 104, 112); + static u16 sToEquipTextWidths[] = LANGUAGE_ARRAY(gPauseToEquipJPNTex_WIDTH, gPauseToEquipENGTex_WIDTH, + gPauseToEquipGERTex_WIDTH, gPauseToEquipFRATex_WIDTH); + static u16 sToDecideTextWidths[] = LANGUAGE_ARRAY(gPauseToDecideJPNTex_WIDTH, gPauseToDecideENGTex_WIDTH, + gPauseToDecideGERTex_WIDTH, gPauseToDecideFRATex_WIDTH); + static u16 sToPlayMelodyTextWidths[] = + LANGUAGE_ARRAY(gPauseToPlayMelodyJPNTex_WIDTH, gPauseToPlayMelodyENGTex_WIDTH, gPauseToPlayMelodyGERTex_WIDTH, + gPauseToPlayMelodyFRATex_WIDTH); static s16 D_8082ADF0[][4] = { { 180, 210, 255, 220 }, { 100, 100, 150, 220 }, @@ -1974,20 +1978,20 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language); pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] = - pauseCtx->infoPanelVtx[20].v.ob[0] + D_8082ADE0[gSaveContext.language]; + pauseCtx->infoPanelVtx[20].v.ob[0] + sToDecideTextWidths[gSaveContext.language]; pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300; - pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = D_8082ADE0[gSaveContext.language] - << 5; + pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = + sToDecideTextWidths[gSaveContext.language] << 5; gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL); gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); - POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, D_8082AD60[gSaveContext.language], - D_8082ADE0[gSaveContext.language], 16, 4); + POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sToDecideTextTextures[gSaveContext.language], + sToDecideTextWidths[gSaveContext.language], 16, 4); } else if (pauseCtx->cursorSpecialPos != 0) { if ((pauseCtx->state == PAUSE_STATE_MAIN) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) { pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = -63; @@ -2002,10 +2006,12 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) { POLY_OPA_DISP = KaleidoScope_QuadTextureIA8( - POLY_OPA_DISP, D_8082AD78[pauseCtx->pageIndex][gSaveContext.language], 128, 16, 0); + POLY_OPA_DISP, sScrollLeftLabels[pauseCtx->pageIndex][gSaveContext.language], + TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 0); } else { POLY_OPA_DISP = KaleidoScope_QuadTextureIA8( - POLY_OPA_DISP, D_8082ADA8[pauseCtx->pageIndex][gSaveContext.language], 128, 16, 0); + POLY_OPA_DISP, sScrollRightLabels[pauseCtx->pageIndex][gSaveContext.language], + TO_PAGE_LABEL_TEX_WIDTH, TO_PAGE_LABEL_TEX_HEIGHT, 0); } } } else { @@ -2020,20 +2026,20 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK4(gSaveContext.language); pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] = - pauseCtx->infoPanelVtx[20].v.ob[0] + D_8082ADD8[gSaveContext.language]; + pauseCtx->infoPanelVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language]; pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x600; pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = - D_8082ADD8[gSaveContext.language] << 5; + sToEquipTextWidths[gSaveContext.language] << 5; gSPDisplayList(POLY_OPA_DISP++, gCButtonIconsDL); gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); - POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, D_8082AD54[gSaveContext.language], - D_8082ADD8[gSaveContext.language], 16, 4); + POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sToEquipTextTextures[gSaveContext.language], + sToEquipTextWidths[gSaveContext.language], 16, 4); } else if ((pauseCtx->pageIndex == PAUSE_MAP) && sInDungeonScene) { } else if ((pauseCtx->pageIndex == PAUSE_QUEST) && @@ -2056,20 +2062,21 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { #endif pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] = - pauseCtx->infoPanelVtx[20].v.ob[0] + D_8082ADE8[gSaveContext.language]; + pauseCtx->infoPanelVtx[20].v.ob[0] + sToPlayMelodyTextWidths[gSaveContext.language]; pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300; pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = - D_8082ADE8[gSaveContext.language] << 5; + sToPlayMelodyTextWidths[gSaveContext.language] << 5; gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL); gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); - POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, D_8082AD6C[gSaveContext.language], - D_8082ADE8[gSaveContext.language], 16, 4); + POLY_OPA_DISP = + KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sToPlayMelodyTextTextures[gSaveContext.language], + sToPlayMelodyTextWidths[gSaveContext.language], 16, 4); } } else if (pauseCtx->pageIndex == PAUSE_EQUIP) { pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = @@ -2082,20 +2089,20 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language); pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] = - pauseCtx->infoPanelVtx[20].v.ob[0] + D_8082ADD8[gSaveContext.language]; + pauseCtx->infoPanelVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language]; pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300; pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = - D_8082ADD8[gSaveContext.language] << 5; + sToEquipTextWidths[gSaveContext.language] << 5; gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL); gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); - POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, D_8082AD54[gSaveContext.language], - D_8082ADD8[gSaveContext.language], 16, 4); + POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sToEquipTextTextures[gSaveContext.language], + sToEquipTextWidths[gSaveContext.language], 16, 4); } } } diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h index 8f42eb244d..566b087e68 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h @@ -218,6 +218,9 @@ typedef enum ItemQuad { /* 41 */ ITEM_QUAD_MAX } ItemQuad; +#define TO_PAGE_LABEL_TEX_WIDTH 128 +#define TO_PAGE_LABEL_TEX_HEIGHT 16 + void KaleidoScope_DrawQuestStatus(struct PlayState* play, GraphicsContext* gfxCtx); s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point); void KaleidoScope_DrawInventoryEditor(struct PlayState* play); From 2054637cabe89091df35d86538ee8bff37a263c5 Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Sat, 14 Jun 2025 23:06:12 +0200 Subject: [PATCH 5/7] Name most `object_gi_*` textures (#2629) * Name most `object_gi_*` textures * gGiButterflyTex --- assets/xml/objects/object_gi_boots_2.xml | 2 +- assets/xml/objects/object_gi_butterfly.xml | 2 +- assets/xml/objects/object_gi_clothes.xml | 2 +- assets/xml/objects/object_gi_dekupouch.xml | 2 +- assets/xml/objects/object_gi_fire.xml | 4 ++-- assets/xml/objects/object_gi_frog.xml | 2 +- assets/xml/objects/object_gi_gerudo.xml | 2 +- assets/xml/objects/object_gi_gerudomask.xml | 10 +++++----- assets/xml/objects/object_gi_ghost.xml | 4 ++-- assets/xml/objects/object_gi_gloves.xml | 2 +- assets/xml/objects/object_gi_golonmask.xml | 10 +++++----- assets/xml/objects/object_gi_hoverboots.xml | 2 +- assets/xml/objects/object_gi_ki_tan_mask.xml | 2 +- assets/xml/objects/object_gi_letter.xml | 4 ++-- assets/xml/objects/object_gi_liquid.xml | 6 +++--- assets/xml/objects/object_gi_milk.xml | 2 +- assets/xml/objects/object_gi_niwatori.xml | 4 ++-- assets/xml/objects/object_gi_ocarina.xml | 2 +- assets/xml/objects/object_gi_ocarina_0.xml | 2 +- assets/xml/objects/object_gi_prescription.xml | 2 +- assets/xml/objects/object_gi_rabit_mask.xml | 2 +- assets/xml/objects/object_gi_shield_3.xml | 4 ++-- assets/xml/objects/object_gi_soldout.xml | 2 +- assets/xml/objects/object_gi_soul.xml | 2 +- assets/xml/objects/object_gi_ticketstone.xml | 4 ++-- assets/xml/objects/object_gi_truth_mask.xml | 4 ++-- assets/xml/objects/object_gi_zoramask.xml | 6 +++--- 27 files changed, 46 insertions(+), 46 deletions(-) diff --git a/assets/xml/objects/object_gi_boots_2.xml b/assets/xml/objects/object_gi_boots_2.xml index ae5d148421..539422c518 100644 --- a/assets/xml/objects/object_gi_boots_2.xml +++ b/assets/xml/objects/object_gi_boots_2.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_butterfly.xml b/assets/xml/objects/object_gi_butterfly.xml index 65eed5b0e8..55ad075ff6 100644 --- a/assets/xml/objects/object_gi_butterfly.xml +++ b/assets/xml/objects/object_gi_butterfly.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_clothes.xml b/assets/xml/objects/object_gi_clothes.xml index be9853eb8f..5108c274b9 100644 --- a/assets/xml/objects/object_gi_clothes.xml +++ b/assets/xml/objects/object_gi_clothes.xml @@ -1,6 +1,6 @@ - + diff --git a/assets/xml/objects/object_gi_dekupouch.xml b/assets/xml/objects/object_gi_dekupouch.xml index d717edb8ba..4c2b6f6a11 100644 --- a/assets/xml/objects/object_gi_dekupouch.xml +++ b/assets/xml/objects/object_gi_dekupouch.xml @@ -2,7 +2,7 @@ - + diff --git a/assets/xml/objects/object_gi_fire.xml b/assets/xml/objects/object_gi_fire.xml index 0211f60187..c754877a8e 100644 --- a/assets/xml/objects/object_gi_fire.xml +++ b/assets/xml/objects/object_gi_fire.xml @@ -1,8 +1,8 @@ - - + + diff --git a/assets/xml/objects/object_gi_frog.xml b/assets/xml/objects/object_gi_frog.xml index 53384429b4..8591106120 100644 --- a/assets/xml/objects/object_gi_frog.xml +++ b/assets/xml/objects/object_gi_frog.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_gerudo.xml b/assets/xml/objects/object_gi_gerudo.xml index 34986a295e..a767dab10e 100644 --- a/assets/xml/objects/object_gi_gerudo.xml +++ b/assets/xml/objects/object_gi_gerudo.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_gerudomask.xml b/assets/xml/objects/object_gi_gerudomask.xml index 94576b0406..4a98e810f9 100644 --- a/assets/xml/objects/object_gi_gerudomask.xml +++ b/assets/xml/objects/object_gi_gerudomask.xml @@ -1,11 +1,11 @@ - + - - - - + + + + diff --git a/assets/xml/objects/object_gi_ghost.xml b/assets/xml/objects/object_gi_ghost.xml index 5dbf39480f..1c98056d85 100644 --- a/assets/xml/objects/object_gi_ghost.xml +++ b/assets/xml/objects/object_gi_ghost.xml @@ -1,8 +1,8 @@ - - + + diff --git a/assets/xml/objects/object_gi_gloves.xml b/assets/xml/objects/object_gi_gloves.xml index 85ad6ddeff..59d07b16d7 100644 --- a/assets/xml/objects/object_gi_gloves.xml +++ b/assets/xml/objects/object_gi_gloves.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_golonmask.xml b/assets/xml/objects/object_gi_golonmask.xml index 68dbddb365..45c2ba24cd 100644 --- a/assets/xml/objects/object_gi_golonmask.xml +++ b/assets/xml/objects/object_gi_golonmask.xml @@ -1,11 +1,11 @@ - + - - - - + + + + diff --git a/assets/xml/objects/object_gi_hoverboots.xml b/assets/xml/objects/object_gi_hoverboots.xml index fed584e742..96a4769ffc 100644 --- a/assets/xml/objects/object_gi_hoverboots.xml +++ b/assets/xml/objects/object_gi_hoverboots.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_ki_tan_mask.xml b/assets/xml/objects/object_gi_ki_tan_mask.xml index b888acfe73..90a2cfca4d 100644 --- a/assets/xml/objects/object_gi_ki_tan_mask.xml +++ b/assets/xml/objects/object_gi_ki_tan_mask.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_letter.xml b/assets/xml/objects/object_gi_letter.xml index 098b8cca79..0034b0466c 100644 --- a/assets/xml/objects/object_gi_letter.xml +++ b/assets/xml/objects/object_gi_letter.xml @@ -1,7 +1,7 @@ - - + + diff --git a/assets/xml/objects/object_gi_liquid.xml b/assets/xml/objects/object_gi_liquid.xml index 133d8ce902..c40e8110db 100644 --- a/assets/xml/objects/object_gi_liquid.xml +++ b/assets/xml/objects/object_gi_liquid.xml @@ -1,9 +1,9 @@ - - - + + + diff --git a/assets/xml/objects/object_gi_milk.xml b/assets/xml/objects/object_gi_milk.xml index cc72cec9d1..5fedddbe15 100644 --- a/assets/xml/objects/object_gi_milk.xml +++ b/assets/xml/objects/object_gi_milk.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_niwatori.xml b/assets/xml/objects/object_gi_niwatori.xml index edf67f88d8..837ba16628 100644 --- a/assets/xml/objects/object_gi_niwatori.xml +++ b/assets/xml/objects/object_gi_niwatori.xml @@ -1,8 +1,8 @@ - - + + diff --git a/assets/xml/objects/object_gi_ocarina.xml b/assets/xml/objects/object_gi_ocarina.xml index dafcb92424..057b6bf5e1 100644 --- a/assets/xml/objects/object_gi_ocarina.xml +++ b/assets/xml/objects/object_gi_ocarina.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_ocarina_0.xml b/assets/xml/objects/object_gi_ocarina_0.xml index e43bb3a87c..a8104984be 100644 --- a/assets/xml/objects/object_gi_ocarina_0.xml +++ b/assets/xml/objects/object_gi_ocarina_0.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_prescription.xml b/assets/xml/objects/object_gi_prescription.xml index 1b4e54ec5d..b83d3dfce2 100644 --- a/assets/xml/objects/object_gi_prescription.xml +++ b/assets/xml/objects/object_gi_prescription.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_rabit_mask.xml b/assets/xml/objects/object_gi_rabit_mask.xml index 65b6cdd4bc..177d640692 100644 --- a/assets/xml/objects/object_gi_rabit_mask.xml +++ b/assets/xml/objects/object_gi_rabit_mask.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_shield_3.xml b/assets/xml/objects/object_gi_shield_3.xml index 3550bd0d89..f1860d200a 100644 --- a/assets/xml/objects/object_gi_shield_3.xml +++ b/assets/xml/objects/object_gi_shield_3.xml @@ -1,8 +1,8 @@ - - + + diff --git a/assets/xml/objects/object_gi_soldout.xml b/assets/xml/objects/object_gi_soldout.xml index ba45784761..be9398e25c 100644 --- a/assets/xml/objects/object_gi_soldout.xml +++ b/assets/xml/objects/object_gi_soldout.xml @@ -1,6 +1,6 @@ - + diff --git a/assets/xml/objects/object_gi_soul.xml b/assets/xml/objects/object_gi_soul.xml index 519226270d..f991bf131c 100644 --- a/assets/xml/objects/object_gi_soul.xml +++ b/assets/xml/objects/object_gi_soul.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_gi_ticketstone.xml b/assets/xml/objects/object_gi_ticketstone.xml index ce756e3abc..238081eaa3 100644 --- a/assets/xml/objects/object_gi_ticketstone.xml +++ b/assets/xml/objects/object_gi_ticketstone.xml @@ -1,8 +1,8 @@ - - + + diff --git a/assets/xml/objects/object_gi_truth_mask.xml b/assets/xml/objects/object_gi_truth_mask.xml index 32c550560c..2a8608d79b 100644 --- a/assets/xml/objects/object_gi_truth_mask.xml +++ b/assets/xml/objects/object_gi_truth_mask.xml @@ -1,8 +1,8 @@ - - + + diff --git a/assets/xml/objects/object_gi_zoramask.xml b/assets/xml/objects/object_gi_zoramask.xml index 0788f67f0d..71b29f454b 100644 --- a/assets/xml/objects/object_gi_zoramask.xml +++ b/assets/xml/objects/object_gi_zoramask.xml @@ -1,11 +1,11 @@ - + - - + + From d3ed1378780242c51587cb9524653e89cb2e171d Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Sun, 15 Jun 2025 19:55:11 +0200 Subject: [PATCH 6/7] Assets: Move limb enums into xmls 3 (#2630) --- assets/xml/objects/object_in.xml | 40 +++---- assets/xml/objects/object_sk2.xml | 122 ++++++++++---------- assets/xml/objects/object_ta.xml | 34 +++--- assets/xml/objects/object_vali.xml | 58 +++++----- src/overlays/actors/ovl_En_In/z_en_in.c | 14 +-- src/overlays/actors/ovl_En_In/z_en_in.h | 25 +--- src/overlays/actors/ovl_En_Ta/z_en_ta.c | 12 +- src/overlays/actors/ovl_En_Ta/z_en_ta.h | 26 +---- src/overlays/actors/ovl_En_Test/z_en_test.h | 66 +---------- src/overlays/actors/ovl_En_Vali/z_en_vali.c | 12 +- src/overlays/actors/ovl_En_Vali/z_en_vali.h | 38 +----- 11 files changed, 154 insertions(+), 293 deletions(-) diff --git a/assets/xml/objects/object_in.xml b/assets/xml/objects/object_in.xml index 4530adc370..84bc84804b 100644 --- a/assets/xml/objects/object_in.xml +++ b/assets/xml/objects/object_in.xml @@ -216,27 +216,27 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + diff --git a/assets/xml/objects/object_sk2.xml b/assets/xml/objects/object_sk2.xml index 87e7a37831..9ee3768863 100644 --- a/assets/xml/objects/object_sk2.xml +++ b/assets/xml/objects/object_sk2.xml @@ -116,67 +116,67 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_ta.xml b/assets/xml/objects/object_ta.xml index d73e28972a..5ab3863b7f 100644 --- a/assets/xml/objects/object_ta.xml +++ b/assets/xml/objects/object_ta.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_vali.xml b/assets/xml/objects/object_vali.xml index 5e511a1494..240a7e1371 100644 --- a/assets/xml/objects/object_vali.xml +++ b/assets/xml/objects/object_vali.xml @@ -71,34 +71,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c index 3fb2a8f5e9..9feac621ff 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -992,24 +992,24 @@ s32 EnIn_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po EnIn* this = (EnIn*)thisx; Vec3s limbRot; - if (this->actor.params > 0 && limbIndex != INGO_HEAD_LIMB) { + if (this->actor.params > 0 && limbIndex != INGO_LIMB_HEAD) { if (sAdultEraDLs[limbIndex] != NULL) { *dList = sAdultEraDLs[limbIndex]; } } - if (limbIndex == INGO_HEAD_LIMB) { + if (limbIndex == INGO_LIMB_HEAD) { Matrix_Translate(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY); limbRot = this->interactInfo.headRot; Matrix_RotateZ(BINANG_TO_RAD_ALT(limbRot.x), MTXMODE_APPLY); Matrix_RotateX(BINANG_TO_RAD_ALT(limbRot.y), MTXMODE_APPLY); Matrix_Translate(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY); } - if (limbIndex == INGO_CHEST_LIMB) { + if (limbIndex == INGO_LIMB_CHEST) { limbRot = this->interactInfo.torsoRot; Matrix_RotateX(BINANG_TO_RAD_ALT(limbRot.x), MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD_ALT(limbRot.y), MTXMODE_APPLY); } - if (limbIndex == INGO_CHEST_LIMB || limbIndex == INGO_LEFT_SHOULDER_LIMB || limbIndex == INGO_RIGHT_SHOULDER_LIMB) { + if (limbIndex == INGO_LIMB_CHEST || limbIndex == INGO_LIMB_LEFT_SHOULDER || limbIndex == INGO_LIMB_RIGHT_SHOULDER) { rot->y += Math_SinS(this->unk_330[limbIndex].y) * 200.0f; rot->z += Math_CosS(this->unk_330[limbIndex].z) * 200.0f; } @@ -1022,14 +1022,14 @@ void EnIn_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, OPEN_DISPS(play->state.gfxCtx, "../z_en_in.c", 2335); - if (limbIndex == INGO_HEAD_LIMB) { + if (limbIndex == INGO_LIMB_HEAD) { Matrix_MultVec3f(&D_80A7B9A8, &this->actor.focus.pos); this->actor.focus.rot = this->actor.world.rot; } - if (limbIndex == INGO_LEFT_HAND_LIMB && this->skelAnime.animation == &object_in_Anim_014CA8) { + if (limbIndex == INGO_LIMB_LEFT_HAND && this->skelAnime.animation == &object_in_Anim_014CA8) { gSPDisplayList(POLY_OPA_DISP++, gIngoChildEraBasketDL); } - if (limbIndex == INGO_RIGHT_HAND_LIMB && this->skelAnime.animation == &object_in_Anim_014CA8) { + if (limbIndex == INGO_LIMB_RIGHT_HAND && this->skelAnime.animation == &object_in_Anim_014CA8) { gSPDisplayList(POLY_OPA_DISP++, gIngoChildEraPitchForkDL); } diff --git a/src/overlays/actors/ovl_En_In/z_en_in.h b/src/overlays/actors/ovl_En_In/z_en_in.h index 78d8f89170..2e4ecff82c 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.h +++ b/src/overlays/actors/ovl_En_In/z_en_in.h @@ -3,35 +3,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_in/object_in.h" struct EnIn; typedef void (*EnInActionFunc)(struct EnIn*, struct PlayState*); -typedef enum IngoLimb { - /* 0x00 */ INGO_LIMB_NONE, - /* 0x01 */ INGO_LIMB_ROOT, - /* 0x02 */ INGO_LEFT_THIGH_LIMB, - /* 0x03 */ INGO_LEFT_LEG_LIMB, - /* 0x04 */ INGO_LEFT_FOOT_LIMB, - /* 0x05 */ INGO_RIGHT_THIGH_LIMB, - /* 0x06 */ INGO_RIGHT_LEG_LIMB, - /* 0x07 */ INGO_RIGHT_FOOT_LIMB, - /* 0x08 */ INGO_TORSO_LIMB, - /* 0x09 */ INGO_CHEST_LIMB, - /* 0x0A */ INGO_LEFT_SHOULDER_LIMB, - /* 0x0B */ INGO_LEFT_ARM_LIMB, - /* 0x0C */ INGO_LEFT_HAND_LIMB, - /* 0x0D */ INGO_RIGHT_SHOULDER_LIMB, - /* 0x0E */ INGO_RIGHT_ARM_LIMB, - /* 0x0F */ INGO_RIGHT_HAND_LIMB, - /* 0x10 */ INGO_HEAD_LIMB, - /* 0x11 */ INGO_LEFT_EYEBROW_LIMB, - /* 0x12 */ INGO_RIGHTEYEBROW_LIMB, - /* 0x13 */ INGO_MUSTACHE_LIMB, - /* 0x14 */ INGO_LIMB_MAX -} IngoLimb; - typedef struct EnIn { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c index 353cb507b4..f8d842b7ee 100644 --- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -159,7 +159,7 @@ void EnTa_Init(Actor* thisx, PlayState* play2) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f); SkelAnime_InitFlex(play, &this->skelAnime, &gTalonSkel, &gTalonStandAnim, this->jointTable, this->morphTable, - ENTA_LIMB_MAX); + TALON_LIMB_MAX); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); @@ -1280,12 +1280,12 @@ s32 EnTa_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po // Turn head and chest towards the target (the rotation steps are calculated in EnTa_Update) switch (limbIndex) { - case ENTA_LIMB_CHEST: + case TALON_LIMB_CHEST: rot->x += this->torsoRot.y; rot->y -= this->torsoRot.x; break; - case ENTA_LIMB_HEAD: + case TALON_LIMB_HEAD: rot->x += this->headRot.y; rot->z += this->headRot.x; break; @@ -1300,8 +1300,8 @@ s32 EnTa_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po // in the else if branch below and rocking always occurs. // So this flag has no effect. this->stateFlags &= ~TALON_STATE_FLAG_SUPPRESS_ROCKING_ANIM; - } else if ((limbIndex == ENTA_LIMB_CHEST) || (limbIndex == ENTA_LIMB_LEFT_ARM) || - (limbIndex == ENTA_LIMB_RIGHT_ARM)) { + } else if ((limbIndex == TALON_LIMB_CHEST) || (limbIndex == TALON_LIMB_LEFT_ARM) || + (limbIndex == TALON_LIMB_RIGHT_ARM)) { s32 fidgetFrequency = limbIndex * FIDGET_FREQ_LIMB; rot->y += Math_SinS(play->state.frames * (fidgetFrequency + FIDGET_FREQ_Y)) * FIDGET_AMPLITUDE; @@ -1315,7 +1315,7 @@ void EnTa_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, static Vec3f headOffset = { 1100.0f, 1000.0f, 0.0f }; EnTa* this = (EnTa*)thisx; - if (limbIndex == ENTA_LIMB_HEAD) { + if (limbIndex == TALON_LIMB_HEAD) { Matrix_MultVec3f(&headOffset, &this->actor.focus.pos); } } diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.h b/src/overlays/actors/ovl_En_Ta/z_en_ta.h index d8888d79b3..ac193819d8 100644 --- a/src/overlays/actors/ovl_En_Ta/z_en_ta.h +++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.h @@ -3,6 +3,7 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_ta/object_ta.h" struct EnTa; @@ -16,32 +17,11 @@ typedef enum EnTaType { /* 0x0002 */ ENTA_RETURNED_FROM_KAKARIKO } EnTaType; -typedef enum EnTaLimb { - /* 0x00 */ ENTA_LIMB_NONE, - /* 0x01 */ ENTA_LIMB_ROOT, - /* 0x02 */ ENTA_LIMB_LEFT_THIGH, - /* 0x03 */ ENTA_LIMB_LEFT_LEG, - /* 0x04 */ ENTA_LIMB_LEFT_FOOT, - /* 0x05 */ ENTA_LIMB_RIGHT_THIGH, - /* 0x06 */ ENTA_LIMB_RIGHT_LEG, - /* 0x07 */ ENTA_LIMB_RIGHT_FOOT, - /* 0x08 */ ENTA_LIMB_CHEST, - /* 0x09 */ ENTA_LIMB_LEFT_SHOULDER, - /* 0x0A */ ENTA_LIMB_LEFT_ARM, - /* 0x0B */ ENTA_LIMB_LEFT_HAND, - /* 0x0C */ ENTA_LIMB_RIGHT_SHOULDER, - /* 0x0D */ ENTA_LIMB_RIGHT_ARM, - /* 0x0E */ ENTA_LIMB_RIGHT_HAND, - /* 0x0F */ ENTA_LIMB_HEAD, - /* 0x10 */ ENTA_LIMB_TORSO, - /* 0x11 */ ENTA_LIMB_MAX -} EnTaLimb; - typedef struct EnTa { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; - /* 0x0190 */ Vec3s jointTable[ENTA_LIMB_MAX]; - /* 0x01F6 */ Vec3s morphTable[ENTA_LIMB_MAX]; + /* 0x0190 */ Vec3s jointTable[TALON_LIMB_MAX]; + /* 0x01F6 */ Vec3s morphTable[TALON_LIMB_MAX]; /* 0x025C */ EnTaActionFunc actionFunc; /* 0x0260 */ EnTaAnimFunc animFunc; /* 0x0264 */ ColliderCylinder collider; diff --git a/src/overlays/actors/ovl_En_Test/z_en_test.h b/src/overlays/actors/ovl_En_Test/z_en_test.h index 8a0e41abf6..8cd0191654 100644 --- a/src/overlays/actors/ovl_En_Test/z_en_test.h +++ b/src/overlays/actors/ovl_En_Test/z_en_test.h @@ -3,76 +3,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_sk2/object_sk2.h" struct EnTest; typedef void (*EnTestActionFunc)(struct EnTest*, struct PlayState*); -typedef enum StalfosLimb { - /* 0x00 */ STALFOS_LIMB_NONE, - /* 0x01 */ STALFOS_LIMB_ROOT, - /* 0x02 */ STALFOS_LIMB_UPPERBODY_ROOT, - /* 0x03 */ STALFOS_LIMB_CORE_LOWER_ROOT, - /* 0x04 */ STALFOS_LIMB_CORE_UPPER_ROOT, - /* 0x05 */ STALFOS_LIMB_NECK_ROOT, - /* 0x06 */ STALFOS_LIMB_HEAD_ROOT, - /* 0x07 */ STALFOS_LIMB_7, - /* 0x08 */ STALFOS_LIMB_8, - /* 0x09 */ STALFOS_LIMB_JAW_ROOT, - /* 0x0A */ STALFOS_LIMB_JAW, - /* 0x0B */ STALFOS_LIMB_HEAD, - /* 0x0C */ STALFOS_LIMB_NECK_UPPER, - /* 0x0D */ STALFOS_LIMB_NECK_LOWER, - /* 0x0E */ STALFOS_LIMB_CORE_UPPER, - /* 0x0F */ STALFOS_LIMB_CHEST, - /* 0x10 */ STALFOS_LIMB_SHOULDER_R_ROOT, - /* 0x11 */ STALFOS_LIMB_SHOULDER_ARMOR_R_ROOT, - /* 0x12 */ STALFOS_LIMB_SHOULDER_ARMOR_R, - /* 0x13 */ STALFOS_LIMB_SHOULDER_L_ROOT, - /* 0x14 */ STALFOS_LIMB_SHOULDER_ARMOR_L_ROOT, - /* 0x15 */ STALFOS_LIMB_SHOULDER_ARMOR_L, - /* 0x16 */ STALFOS_LIMB_ARM_L_ROOT, - /* 0x17 */ STALFOS_LIMB_UPPERARM_L_ROOT, - /* 0x18 */ STALFOS_LIMB_FOREARM_L_ROOT, - /* 0x19 */ STALFOS_LIMB_HAND_L_ROOT, - /* 0x1A */ STALFOS_LIMB_HAND_L, - /* 0x1B */ STALFOS_LIMB_SHIELD, - /* 0x1C */ STALFOS_LIMB_FOREARM_L, - /* 0x1D */ STALFOS_LIMB_UPPERARM_L, - /* 0x1E */ STALFOS_LIMB_ARM_R_ROOT, - /* 0x1F */ STALFOS_LIMB_UPPERARM_R_ROOT, - /* 0x20 */ STALFOS_LIMB_FOREARM_R_ROOT, - /* 0x21 */ STALFOS_LIMB_HAND_R_ROOT, - /* 0x22 */ STALFOS_LIMB_SWORD, - /* 0x23 */ STALFOS_LIMB_HAND_R, - /* 0x24 */ STALFOS_LIMB_FOREARM_R, - /* 0x25 */ STALFOS_LIMB_UPPERARM_R, - /* 0x26 */ STALFOS_LIMB_CORE_LOWER, - /* 0x27 */ STALFOS_LIMB_LOWERBODY_ROOT, - /* 0x28 */ STALFOS_LIMB_WAIST_ROOT, - /* 0x29 */ STALFOS_LIMB_LEGS_ROOT, - /* 0x2A */ STALFOS_LIMB_LEG_L_ROOT, - /* 0x2B */ STALFOS_LIMB_THIGH_L_ROOT, - /* 0x2C */ STALFOS_LIMB_LOWERLEG_L_ROOT, - /* 0x2D */ STALFOS_LIMB_ANKLE_L_ROOT, - /* 0x2E */ STALFOS_LIMB_ANKLE_L, - /* 0x2F */ STALFOS_LIMB_FOOT_L_ROOT, - /* 0x30 */ STALFOS_LIMB_FOOT_L, - /* 0x31 */ STALFOS_LIMB_LOWERLEG_L, - /* 0x32 */ STALFOS_LIMB_THIGH_L, - /* 0x33 */ STALFOS_LIMB_LEG_R_ROOT, - /* 0x34 */ STALFOS_LIMB_THIGH_R_ROOT, - /* 0x35 */ STALFOS_LIMB_LOWERLEG_R_ROOT, - /* 0x36 */ STALFOS_LIMB_ANKLE_R_ROOT, - /* 0x37 */ STALFOS_LIMB_ANKLE_R, - /* 0x38 */ STALFOS_LIMB_FOOT_R_ROOT, - /* 0x39 */ STALFOS_LIMB_FOOT_R, - /* 0x3A */ STALFOS_LIMB_LOWERLEG_R, - /* 0x3B */ STALFOS_LIMB_THIGH_R, - /* 0x3C */ STALFOS_LIMB_WAIST, - /* 0x3D */ STALFOS_LIMB_MAX -} StalfosLimb; - typedef struct EnTest { /* 0x000 */ Actor actor; /* 0x14C */ Vec3s bodyPartsPos[10]; diff --git a/src/overlays/actors/ovl_En_Vali/z_en_vali.c b/src/overlays/actors/ovl_En_Vali/z_en_vali.c index 643cae1b35..e2b1d53054 100644 --- a/src/overlays/actors/ovl_En_Vali/z_en_vali.c +++ b/src/overlays/actors/ovl_En_Vali/z_en_vali.c @@ -156,7 +156,7 @@ void EnVali_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 27.0f); this->actor.shape.shadowAlpha = 155; SkelAnime_Init(play, &this->skelAnime, &gBariSkel, &gBariLurkingAnim, this->jointTable, this->morphTable, - EN_VALI_LIMB_MAX); + VALI_LIMB_MAX); Collider_InitQuad(play, &this->leftArmCollider); Collider_SetQuad(play, &this->leftArmCollider, &this->actor, &sQuadInit); @@ -689,14 +689,14 @@ s32 EnVali_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* EnVali* this = (EnVali*)thisx; f32 curFrame; - if ((limbIndex == EN_VALI_LIMB_NUCLEUS) || (limbIndex == EN_VALI_LIMB_OUTER_HOOD) || - (limbIndex == EN_VALI_LIMB_INNER_HOOD)) { + if ((limbIndex == VALI_LIMB_NUCLEUS) || (limbIndex == VALI_LIMB_OUTER_HOOD) || + (limbIndex == VALI_LIMB_INNER_HOOD)) { *dList = NULL; return false; } else { curFrame = this->skelAnime.curFrame; - if ((limbIndex == EN_VALI_LIMB_LEFT_ARM_BASE) || (limbIndex == EN_VALI_LIMB_RIGHT_ARM_BASE)) { + if ((limbIndex == VALI_LIMB_LEFT_ARM_BASE) || (limbIndex == VALI_LIMB_RIGHT_ARM_BASE)) { if (EnVali_SetArmLength(this, curFrame)) { Matrix_Scale(this->armScale, 1.0f, 1.0f, MTXMODE_APPLY); } @@ -714,11 +714,11 @@ void EnVali_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot EnVali* this = (EnVali*)thisx; if (this->actionFunc == EnVali_FloatIdle) { - if ((limbIndex == EN_VALI_LIMB_LEFT_FOREARM_BASE) || (limbIndex == EN_VALI_LIMB_RIGHT_FOREARM_BASE)) { + if ((limbIndex == VALI_LIMB_LEFT_FOREARM_BASE) || (limbIndex == VALI_LIMB_RIGHT_FOREARM_BASE)) { Matrix_MultVec3f(&D_80B28970, &sp3C); Matrix_MultVec3f(&D_80B2897C, &sp30); - if (limbIndex == EN_VALI_LIMB_LEFT_FOREARM_BASE) { + if (limbIndex == VALI_LIMB_LEFT_FOREARM_BASE) { Collider_SetQuadVertices(&this->leftArmCollider, &sp30, &sp3C, &this->leftArmCollider.dim.quad[0], &this->leftArmCollider.dim.quad[1]); } else { diff --git a/src/overlays/actors/ovl_En_Vali/z_en_vali.h b/src/overlays/actors/ovl_En_Vali/z_en_vali.h index 66ac96d3d1..3659882f61 100644 --- a/src/overlays/actors/ovl_En_Vali/z_en_vali.h +++ b/src/overlays/actors/ovl_En_Vali/z_en_vali.h @@ -3,44 +3,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_vali/object_vali.h" struct EnVali; typedef void (*EnValiActionFunc)(struct EnVali*, struct PlayState*); -typedef enum EnValiLimb { - /* 0x00 */ EN_VALI_LIMB_NONE, - /* 0x01 */ EN_VALI_LIMB_NUCLEUS_BASE, - /* 0x02 */ EN_VALI_LIMB_NUCLEUS, - /* 0x03 */ EN_VALI_LIMB_RIGHT_MANDIBLE_BASE_BASE, - /* 0x04 */ EN_VALI_LIMB_RIGHT_MANDIBLE_BASE, - /* 0x05 */ EN_VALI_LIMB_RIGHT_MANDIBLE, - /* 0x06 */ EN_VALI_LIMB_LEFT_MANDIBLE_BASE_BASE, - /* 0x07 */ EN_VALI_LIMB_LEFT_MANDIBLE_BASE, - /* 0x08 */ EN_VALI_LIMB_LEFT_MANDIBLE, - /* 0x09 */ EN_VALI_LIMB_LEFT_ARM_BASE, - /* 0x0A */ EN_VALI_LIMB_LEFT_UPPER_ARM_BASE, - /* 0x0B */ EN_VALI_LIMB_LEFT_FOREARM_BASE, - /* 0x0C */ EN_VALI_LIMB_LEFT_CLAW_BODY_BASE, - /* 0x0D */ EN_VALI_LIMB_LEFT_CLAW_TIP_BASE, - /* 0x0E */ EN_VALI_LIMB_LEFT_CLAW_TIP, - /* 0x0F */ EN_VALI_LIMB_LEFT_CLAW_BODY, - /* 0x10 */ EN_VALI_LIMB_LEFT_FOREARM, - /* 0x11 */ EN_VALI_LIMB_LEFT_UPPER_ARM, - /* 0x12 */ EN_VALI_LIMB_RIGHT_ARM_BASE, - /* 0x13 */ EN_VALI_LIMB_RIGHT_UPPER_ARM_BASE, - /* 0x14 */ EN_VALI_LIMB_RIGHT_FOREARM_BASE, - /* 0x15 */ EN_VALI_LIMB_RIGHT_CLAW_BODY_BASE, - /* 0x16 */ EN_VALI_LIMB_RIGHT_CLAW_TIP_BASE, - /* 0x17 */ EN_VALI_LIMB_RIGHT_CLAW_TIP, - /* 0x18 */ EN_VALI_LIMB_RIGHT_CLAW_BODY, - /* 0x19 */ EN_VALI_LIMB_RIGHT_FOREARM, - /* 0x1A */ EN_VALI_LIMB_RIGHT_UPPER_ARM, - /* 0x1B */ EN_VALI_LIMB_INNER_HOOD, - /* 0x1C */ EN_VALI_LIMB_OUTER_HOOD, - /* 0x1D */ EN_VALI_LIMB_MAX -} EnValiLimb; - typedef struct EnVali { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; @@ -48,8 +16,8 @@ typedef struct EnVali { /* 0x0194 */ u8 lightningTimer; /* 0x0195 */ u8 slingshotReactionTimer; /* 0x0196 */ s16 timer; - /* 0x0198 */ Vec3s jointTable[EN_VALI_LIMB_MAX]; - /* 0x0246 */ Vec3s morphTable[EN_VALI_LIMB_MAX]; + /* 0x0198 */ Vec3s jointTable[VALI_LIMB_MAX]; + /* 0x0246 */ Vec3s morphTable[VALI_LIMB_MAX]; /* 0x02F4 */ f32 armScale; /* 0x02F8 */ f32 floatHomeHeight; // Used as a centre for floating when visible (home is used for the lurk height) /* 0x02FC */ ColliderQuad leftArmCollider; From 05a281855740f2c7dc4a9fef482286b3032a9a7e Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Sun, 15 Jun 2025 20:32:54 +0200 Subject: [PATCH 7/7] Assets: Move limb enums into xmls 4 (#2631) --- assets/xml/objects/object_ma2.xml | 38 +++++++++++------------ assets/xml/objects/object_md.xml | 34 ++++++++++---------- assets/xml/objects/object_nb.xml | 38 +++++++++++------------ src/overlays/actors/ovl_En_Ma2/z_en_ma2.c | 14 ++++----- src/overlays/actors/ovl_En_Ma2/z_en_ma2.h | 24 +------------- src/overlays/actors/ovl_En_Ma3/z_en_ma3.h | 24 +------------- src/overlays/actors/ovl_En_Md/z_en_md.c | 20 ++++++------ src/overlays/actors/ovl_En_Md/z_en_md.h | 30 +++--------------- src/overlays/actors/ovl_En_Nb/z_en_nb.c | 11 ++++--- src/overlays/actors/ovl_En_Nb/z_en_nb.h | 28 ++--------------- 10 files changed, 88 insertions(+), 173 deletions(-) diff --git a/assets/xml/objects/object_ma2.xml b/assets/xml/objects/object_ma2.xml index 960e9485bf..b6492afd84 100644 --- a/assets/xml/objects/object_ma2.xml +++ b/assets/xml/objects/object_ma2.xml @@ -99,25 +99,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_md.xml b/assets/xml/objects/object_md.xml index ea1fca3cda..db5bed45bb 100644 --- a/assets/xml/objects/object_md.xml +++ b/assets/xml/objects/object_md.xml @@ -1,25 +1,25 @@ - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_nb.xml b/assets/xml/objects/object_nb.xml index cf2dba8da4..9b909a89eb 100644 --- a/assets/xml/objects/object_nb.xml +++ b/assets/xml/objects/object_nb.xml @@ -2,27 +2,27 @@ - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c index ed01e29e4a..45cb07bae2 100644 --- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c +++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c @@ -363,23 +363,23 @@ s32 EnMa2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p EnMa2* this = (EnMa2*)thisx; Vec3s limbRot; - if ((limbIndex == MALON_ADULT_LEFT_THIGH_LIMB) || (limbIndex == MALON_ADULT_RIGHT_THIGH_LIMB)) { + if ((limbIndex == MALON_ADULT_LIMB_LEFT_THIGH) || (limbIndex == MALON_ADULT_LIMB_RIGHT_THIGH)) { *dList = NULL; } - if (limbIndex == MALON_ADULT_HEAD_LIMB) { + if (limbIndex == MALON_ADULT_LIMB_HEAD) { Matrix_Translate(1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); limbRot = this->interactInfo.headRot; Matrix_RotateX(BINANG_TO_RAD_ALT(limbRot.y), MTXMODE_APPLY); Matrix_RotateZ(BINANG_TO_RAD_ALT(limbRot.x), MTXMODE_APPLY); Matrix_Translate(-1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); } - if (limbIndex == MALON_ADULT_CHEST_AND_NECK_LIMB) { + if (limbIndex == MALON_ADULT_LIMB_CHEST_AND_NECK) { limbRot = this->interactInfo.torsoRot; Matrix_RotateY(BINANG_TO_RAD_ALT(-limbRot.y), MTXMODE_APPLY); Matrix_RotateX(BINANG_TO_RAD_ALT(-limbRot.x), MTXMODE_APPLY); } - if ((limbIndex == MALON_ADULT_CHEST_AND_NECK_LIMB) || (limbIndex == MALON_ADULT_LEFT_SHOULDER_LIMB) || - (limbIndex == MALON_ADULT_RIGHT_SHOULDER_LIMB)) { + if ((limbIndex == MALON_ADULT_LIMB_CHEST_AND_NECK) || (limbIndex == MALON_ADULT_LIMB_LEFT_SHOULDER) || + (limbIndex == MALON_ADULT_LIMB_RIGHT_SHOULDER)) { rot->y += Math_SinS(this->upperBodyRot[limbIndex].y) * 200.0f; rot->z += Math_CosS(this->upperBodyRot[limbIndex].z) * 200.0f; } @@ -392,10 +392,10 @@ void EnMa2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, OPEN_DISPS(play->state.gfxCtx, "../z_en_ma2.c", 904); - if (limbIndex == MALON_ADULT_HEAD_LIMB) { + if (limbIndex == MALON_ADULT_LIMB_HEAD) { Matrix_MultVec3f(&vec, &this->actor.focus.pos); } - if ((limbIndex == MALON_ADULT_LEFT_HAND_LIMB) && (this->skelAnime.animation == &gMalonAdultStandStillAnim)) { + if ((limbIndex == MALON_ADULT_LIMB_LEFT_HAND) && (this->skelAnime.animation == &gMalonAdultStandStillAnim)) { gSPDisplayList(POLY_OPA_DISP++, gMalonAdultBasketDL); } diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.h b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.h index 3e2a9b4b86..777d8c73d5 100644 --- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.h +++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.h @@ -3,34 +3,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_ma2/object_ma2.h" struct EnMa2; typedef void (*EnMa2ActionFunc)(struct EnMa2*, struct PlayState*); -typedef enum AdultMalonLimb { - /* 0x00 */ MALON_ADULT_LIMB_NONE, - /* 0x01 */ MALON_ADULT_ROOT_LIMB, - /* 0x02 */ MALON_ADULT_LOWER_CONTROL_LIMB, - /* 0x03 */ MALON_ADULT_LEFT_THIGH_LIMB, - /* 0x04 */ MALON_ADULT_LEFT_LEG_LIMB, - /* 0x05 */ MALON_ADULT_LEFT_FOOT_LIMB, - /* 0x06 */ MALON_ADULT_RIGHT_THIGH_LIMB, - /* 0x07 */ MALON_ADULT_RIGHT_LEG_LIMB, - /* 0x08 */ MALON_ADULT_RIGHT_FOOT_LIMB, - /* 0x09 */ MALON_ADULT_TORSO_LIMB, - /* 0x0A */ MALON_ADULT_DRESS_LIMB, - /* 0x0B */ MALON_ADULT_CHEST_AND_NECK_LIMB, - /* 0x0C */ MALON_ADULT_LEFT_SHOULDER_LIMB, - /* 0x0D */ MALON_ADULT_LEFT_ARM_LIMB, - /* 0x0E */ MALON_ADULT_LEFT_HAND_LIMB, - /* 0x0F */ MALON_ADULT_RIGHT_SHOULDER_LIMB, - /* 0x10 */ MALON_ADULT_RIGHT_ARM_LIMB, - /* 0x11 */ MALON_ADULT_RIGHT_HAND_LIMB, - /* 0x12 */ MALON_ADULT_HEAD_LIMB, - /* 0x13 */ MALON_ADULT_LIMB_MAX -} AdultMalonLimb; - typedef struct EnMa2 { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.h b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.h index a6bb2096f3..1d3ec1cdfd 100644 --- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.h +++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.h @@ -3,34 +3,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_ma2/object_ma2.h" struct EnMa3; typedef void (*EnMa3ActionFunc)(struct EnMa3*, struct PlayState*); -typedef enum AdultMalonLimb { - /* 0x00 */ MALON_ADULT_LIMB_NONE, - /* 0x01 */ MALON_ADULT_LIMB_ROOT, - /* 0x02 */ MALON_ADULT_LIMB_LOWER_CONTROL, - /* 0x03 */ MALON_ADULT_LIMB_LEFT_THIGH, - /* 0x04 */ MALON_ADULT_LIMB_LEFT_LEG, - /* 0x05 */ MALON_ADULT_LIMB_LEFT_FOOT, - /* 0x06 */ MALON_ADULT_LIMB_RIGHT_THIGH, - /* 0x07 */ MALON_ADULT_LIMB_RIGHT_LEG, - /* 0x08 */ MALON_ADULT_LIMB_RIGHT_FOOT, - /* 0x09 */ MALON_ADULT_LIMB_TORSO, - /* 0x0A */ MALON_ADULT_LIMB_DRESS, - /* 0x0B */ MALON_ADULT_LIMB_CHEST_AND_NECK, - /* 0x0C */ MALON_ADULT_LIMB_LEFT_SHOULDER, - /* 0x0D */ MALON_ADULT_LIMB_LEFT_ARM, - /* 0x0E */ MALON_ADULT_LIMB_LEFT_HAND, - /* 0x0F */ MALON_ADULT_LIMB_RIGHT_SHOULDER, - /* 0x10 */ MALON_ADULT_LIMB_RIGHT_ARM, - /* 0x11 */ MALON_ADULT_LIMB_RIGHT_HAND, - /* 0x12 */ MALON_ADULT_LIMB_HEAD, - /* 0x13 */ MALON_ADULT_LIMB_MAX -} AdultMalonLimb; - typedef struct EnMa3 { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Md/z_en_md.c b/src/overlays/actors/ovl_En_Md/z_en_md.c index 3059baa7bb..d1633deb65 100644 --- a/src/overlays/actors/ovl_En_Md/z_en_md.c +++ b/src/overlays/actors/ovl_En_Md/z_en_md.c @@ -687,7 +687,7 @@ void EnMd_Init(Actor* thisx, PlayState* play) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 24.0f); - SkelAnime_InitFlex(play, &this->skelAnime, &gMidoSkel, NULL, this->jointTable, this->morphTable, ENMD_LIMB_MAX); + SkelAnime_InitFlex(play, &this->skelAnime, &gMidoSkel, NULL, this->jointTable, this->morphTable, MIDO_LIMB_MAX); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); @@ -727,7 +727,7 @@ void EnMd_Destroy(Actor* thisx, PlayState* play) { void EnMd_Idle(EnMd* this, PlayState* play) { if (this->skelAnime.animation == &gMidoIdleAnim) { - Actor_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, ENMD_LIMB_MAX); + Actor_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, MIDO_LIMB_MAX); } else if ((this->interactInfo.talkState == NPC_TALK_STATE_IDLE) && (this->animSequence != ENMD_ANIM_SEQ_SURPRISE_TO_IDLE)) { EnMd_SetAnimSequence(this, ENMD_ANIM_SEQ_SURPRISE_TO_IDLE); @@ -738,7 +738,7 @@ void EnMd_Idle(EnMd* this, PlayState* play) { void EnMd_Watch(EnMd* this, PlayState* play) { if (this->skelAnime.animation == &gMidoIdleAnim) { - Actor_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, ENMD_LIMB_MAX); + Actor_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, MIDO_LIMB_MAX); } EnMd_UpdateAnimSequence(this); } @@ -790,7 +790,7 @@ void EnMd_BlockPath(EnMd* this, PlayState* play) { } if (this->skelAnime.animation == &gMidoIdleAnim) { - Actor_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, ENMD_LIMB_MAX); + Actor_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, MIDO_LIMB_MAX); } if ((this->interactInfo.talkState == NPC_TALK_STATE_IDLE) && (play->sceneId == SCENE_LOST_WOODS)) { @@ -828,7 +828,7 @@ void EnMd_ListenToOcarina(EnMd* this, PlayState* play) { } void EnMd_Walk(EnMd* this, PlayState* play) { - Actor_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, ENMD_LIMB_MAX); + Actor_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, MIDO_LIMB_MAX); EnMd_UpdateAnimSequence(this); if (!(EnMd_FollowPath(this, play)) || (this->waypoint != 0)) { @@ -871,21 +871,21 @@ s32 EnMd_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po EnMd* this = (EnMd*)thisx; Vec3s limbRot; - if (limbIndex == ENMD_LIMB_HEAD) { + if (limbIndex == MIDO_LIMB_HEAD) { Matrix_Translate(1200.0f, 0.0f, 0.0f, MTXMODE_APPLY); limbRot = this->interactInfo.headRot; Matrix_RotateX(BINANG_TO_RAD_ALT(limbRot.y), MTXMODE_APPLY); Matrix_RotateZ(BINANG_TO_RAD_ALT(limbRot.x), MTXMODE_APPLY); Matrix_Translate(-1200.0f, 0.0f, 0.0f, MTXMODE_APPLY); } - if (limbIndex == ENMD_LIMB_TORSO) { + if (limbIndex == MIDO_LIMB_TORSO) { limbRot = this->interactInfo.torsoRot; Matrix_RotateX(BINANG_TO_RAD_ALT(limbRot.x), MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD_ALT(limbRot.y), MTXMODE_APPLY); } - if (((limbIndex == ENMD_LIMB_TORSO) || (limbIndex == ENMD_LIMB_LEFT_UPPER_ARM)) || - (limbIndex == ENMD_LIMB_RIGHT_UPPER_ARM)) { + if (((limbIndex == MIDO_LIMB_TORSO) || (limbIndex == MIDO_LIMB_LEFT_UPPER_ARM)) || + (limbIndex == MIDO_LIMB_RIGHT_UPPER_ARM)) { rot->y += Math_SinS(this->fidgetTableY[limbIndex]) * FIDGET_AMPLITUDE; rot->z += Math_CosS(this->fidgetTableZ[limbIndex]) * FIDGET_AMPLITUDE; } @@ -897,7 +897,7 @@ void EnMd_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, EnMd* this = (EnMd*)thisx; Vec3f vec = { 400.0f, 0.0f, 0.0f }; - if (limbIndex == ENMD_LIMB_HEAD) { + if (limbIndex == MIDO_LIMB_HEAD) { Matrix_MultVec3f(&vec, &this->actor.focus.pos); } } diff --git a/src/overlays/actors/ovl_En_Md/z_en_md.h b/src/overlays/actors/ovl_En_Md/z_en_md.h index 3b5cc079bb..802e6822a8 100644 --- a/src/overlays/actors/ovl_En_Md/z_en_md.h +++ b/src/overlays/actors/ovl_En_Md/z_en_md.h @@ -3,30 +3,10 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_md/object_md.h" struct EnMd; -typedef enum EnMdLimb { - ENMD_LIMB_NONE, - ENMD_LIMB_ROOT, - ENMD_LIMB_WAIST, - ENMD_LIMB_LEFT_THIGH, - ENMD_LIMB_LEFT_LEG, - ENMD_LIMB_LEFT_FOOT, - ENMD_LIMB_RIGHT_THIGH, - ENMD_LIMB_RIGHT_LEG, - ENMD_LIMB_RIGHT_FOOT, - ENMD_LIMB_TORSO, - ENMD_LIMB_LEFT_UPPER_ARM, - ENMD_LIMB_LEFT_FOREARM, - ENMD_LIMB_LEFT_HAND, - ENMD_LIMB_RIGHT_UPPER_ARM, - ENMD_LIMB_RIGHT_FOREARM, - ENMD_LIMB_RIGHT_HAND, - ENMD_LIMB_HEAD, - ENMD_LIMB_MAX -} EnMdLimb; - typedef void (*EnMdActionFunc)(struct EnMd*, struct PlayState*); #define ENMD_GET_PATH_INDEX(this) PARAMS_GET_S(this->actor.params, 8, 8) @@ -48,10 +28,10 @@ typedef struct EnMd { /* 0x020E */ s16 eyeTexIndex; /* 0x0210 */ s16 alpha; /* 0x0212 */ s16 waypoint; - /* 0x0214 */ s16 fidgetTableY[ENMD_LIMB_MAX]; - /* 0x0236 */ s16 fidgetTableZ[ENMD_LIMB_MAX]; - /* 0x0258 */ Vec3s jointTable[ENMD_LIMB_MAX]; - /* 0x02BE */ Vec3s morphTable[ENMD_LIMB_MAX]; + /* 0x0214 */ s16 fidgetTableY[MIDO_LIMB_MAX]; + /* 0x0236 */ s16 fidgetTableZ[MIDO_LIMB_MAX]; + /* 0x0258 */ Vec3s jointTable[MIDO_LIMB_MAX]; + /* 0x02BE */ Vec3s morphTable[MIDO_LIMB_MAX]; } EnMd; // size = 0x0324 #endif diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.c b/src/overlays/actors/ovl_En_Nb/z_en_nb.c index c2120b1fc9..a91373e78c 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c @@ -1011,7 +1011,7 @@ void func_80AB2E70(EnNb* this, PlayState* play) { s32 func_80AB2FC0(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnNb* this = (EnNb*)thisx; - if (limbIndex == NB_LIMB_HEAD) { + if (limbIndex == NABOORU_LIMB_HEAD) { *dList = gNabooruHeadMouthOpenDL; } @@ -1476,7 +1476,8 @@ void EnNb_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f); EnNb_SetupCollider(thisx, play); - SkelAnime_InitFlex(play, &this->skelAnime, &gNabooruSkel, NULL, this->jointTable, this->morphTable, NB_LIMB_MAX); + SkelAnime_InitFlex(play, &this->skelAnime, &gNabooruSkel, NULL, this->jointTable, this->morphTable, + NABOORU_LIMB_MAX); switch (EnNb_GetType(this)) { case NB_TYPE_DEMO02: @@ -1506,13 +1507,13 @@ s32 EnNb_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po s32 ret = false; if (this->headTurnFlag != 0) { - if (limbIndex == NB_LIMB_TORSO) { + if (limbIndex == NABOORU_LIMB_TORSO) { s32 pad; rot->x += interactInfo->torsoRot.y; rot->y -= interactInfo->torsoRot.x; ret = false; - } else if (limbIndex == NB_LIMB_HEAD) { + } else if (limbIndex == NABOORU_LIMB_HEAD) { rot->x += interactInfo->headRot.y; rot->z += interactInfo->headRot.x; ret = false; @@ -1525,7 +1526,7 @@ s32 EnNb_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po void EnNb_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnNb* this = (EnNb*)thisx; - if (limbIndex == NB_LIMB_HEAD) { + if (limbIndex == NABOORU_LIMB_HEAD) { Vec3f vec1 = { 0.0f, 10.0f, 0.0f }; Vec3f vec2; diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.h b/src/overlays/actors/ovl_En_Nb/z_en_nb.h index 397c6b63a2..e27a3b0ebb 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb.h +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.h @@ -3,40 +3,18 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_nb/object_nb.h" struct EnNb; -typedef enum EnNbLimb { - /* 0x00 */ NB_LIMB_NONE, - /* 0x01 */ NB_LIMB_ROOT, - /* 0x02 */ NB_LIMB_L_THIGH, - /* 0x03 */ NB_LIMB_L_SHIN, - /* 0x04 */ NB_LIMB_L_FOOT, - /* 0x05 */ NB_LIMB_R_THIGH, - /* 0x06 */ NB_LIMB_R_SHIN, - /* 0x07 */ NB_LIMB_R_FOOT, - /* 0x08 */ NB_LIMB_TORSO, - /* 0x09 */ NB_LIMB_L_UPPER_ARM, - /* 0x0A */ NB_LIMB_L_FOREARM, - /* 0x0B */ NB_LIMB_L_HAND, - /* 0x0C */ NB_LIMB_R_UPPER_ARM, - /* 0x0D */ NB_LIMB_R_FOREARM, - /* 0x0E */ NB_LIMB_R_HAND, - /* 0x0F */ NB_LIMB_HEAD, - /* 0x10 */ NB_LIMB_BLANK, - /* 0x11 */ NB_LIMB_PONYTAIL, - /* 0x12 */ NB_LIMB_WAIST, - /* 0x13 */ NB_LIMB_MAX -} EnNbLimb; - typedef void (*EnNbActionFunc)(struct EnNb*, struct PlayState*); typedef void (*EnNbDrawFunc)(struct EnNb*, struct PlayState*); typedef struct EnNb { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; - /* 0x0190 */ Vec3s jointTable[NB_LIMB_MAX]; - /* 0x0202 */ Vec3s morphTable[NB_LIMB_MAX]; + /* 0x0190 */ Vec3s jointTable[NABOORU_LIMB_MAX]; + /* 0x0202 */ Vec3s morphTable[NABOORU_LIMB_MAX]; /* 0x0274 */ s16 eyeIdx; /* 0x0276 */ s16 blinkTimer; /* 0x0278 */ s32 action;