From e810559391f2798ad9377acb858f5776915350d9 Mon Sep 17 00:00:00 2001
From: engineer124 <47598039+engineer124@users.noreply.github.com>
Date: Fri, 6 Oct 2023 07:37:52 +1100
Subject: [PATCH 01/16] Object Cleanup (#1410)
* object cleanup
* namefixer
* objectPtr
* PR Review
* PR Review
* more uses of macro
* missed another one
---
include/functions.h | 6 +-
include/variables.h | 2 +-
include/z64actor.h | 2 +-
include/z64door.h | 2 +-
include/z64effect.h | 2 +-
include/z64scene.h | 2 +
include/z64subs.h | 4 +-
include/z_en_hy_code.h | 8 +--
src/code/object_table.c | 2 +-
src/code/z_actor.c | 29 ++++-----
src/code/z_draw.c | 6 +-
src/code/z_effect_soft_sprite_old_init.c | 18 +++---
src/code/z_en_hy_code.c | 16 ++---
src/code/z_en_item00.c | 20 +++---
src/code/z_horse.c | 2 +-
src/code/z_player_lib.c | 14 ++---
src/code/z_scene.c | 8 +--
src/code/z_sub_s.c | 8 +--
.../actors/ovl_Bg_Breakwall/z_bg_breakwall.c | 10 +--
.../actors/ovl_Bg_Breakwall/z_bg_breakwall.h | 2 +-
.../actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c | 8 +--
.../actors/ovl_Bg_Umajump/z_bg_umajump.c | 8 +--
.../actors/ovl_Bg_Umajump/z_bg_umajump.h | 2 +-
src/overlays/actors/ovl_Boss_03/z_boss_03.c | 8 +--
.../actors/ovl_Demo_Effect/z_demo_effect.c | 18 +++---
.../actors/ovl_Demo_Effect/z_demo_effect.h | 2 +-
.../actors/ovl_Demo_Getitem/z_demo_getitem.c | 14 ++---
.../actors/ovl_Demo_Getitem/z_demo_getitem.h | 2 +-
.../actors/ovl_Demo_Kankyo/z_demo_kankyo.c | 20 +++---
.../actors/ovl_Demo_Kankyo/z_demo_kankyo.h | 2 +-
src/overlays/actors/ovl_Dm_An/z_dm_an.c | 44 ++++++-------
src/overlays/actors/ovl_Dm_An/z_dm_an.h | 4 +-
.../actors/ovl_Dm_Char03/z_dm_char03.c | 12 ++--
.../actors/ovl_Dm_Char03/z_dm_char03.h | 2 +-
.../actors/ovl_Dm_Char05/z_dm_char05.c | 62 +++++++++----------
.../actors/ovl_Dm_Char05/z_dm_char05.h | 2 +-
src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c | 28 ++++-----
src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h | 4 +-
src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c | 32 +++++-----
src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h | 6 +-
.../actors/ovl_Door_Shutter/z_door_shutter.c | 6 +-
.../actors/ovl_Door_Shutter/z_door_shutter.h | 2 +-
.../actors/ovl_En_Bba_01/z_en_bba_01.c | 22 +++----
.../actors/ovl_En_Cne_01/z_en_cne_01.c | 22 +++----
.../actors/ovl_En_Daiku2/z_en_daiku2.c | 8 +--
src/overlays/actors/ovl_En_Dnk/z_en_dnk.c | 17 ++---
src/overlays/actors/ovl_En_Dnk/z_en_dnk.h | 2 +-
src/overlays/actors/ovl_En_Door/z_en_door.c | 33 +++++-----
.../actors/ovl_En_Door_Etc/z_en_door_etc.c | 20 +++---
src/overlays/actors/ovl_En_Drs/z_en_drs.c | 8 +--
src/overlays/actors/ovl_En_Drs/z_en_drs.h | 2 +-
.../ovl_En_Ending_Hero6/z_en_ending_hero6.c | 4 +-
.../ovl_En_Ending_Hero6/z_en_ending_hero6.h | 2 +-
src/overlays/actors/ovl_En_Fall/z_en_fall.c | 18 +++---
src/overlays/actors/ovl_En_Fall/z_en_fall.h | 2 +-
src/overlays/actors/ovl_En_Geg/z_en_geg.c | 22 +++----
src/overlays/actors/ovl_En_Geg/z_en_geg.h | 2 +-
src/overlays/actors/ovl_En_GirlA/z_en_girla.c | 8 +--
src/overlays/actors/ovl_En_GirlA/z_en_girla.h | 2 +-
src/overlays/actors/ovl_En_Gm/z_en_gm.c | 12 ++--
src/overlays/actors/ovl_En_Gm/z_en_gm.h | 2 +-
src/overlays/actors/ovl_En_Go/z_en_go.c | 36 +++++------
src/overlays/actors/ovl_En_Go/z_en_go.h | 4 +-
src/overlays/actors/ovl_En_Horse/z_en_horse.c | 12 ++--
src/overlays/actors/ovl_En_Horse/z_en_horse.h | 2 +-
.../z_en_invadepoh_demo.c | 34 +++++-----
.../z_en_invadepoh_demo.h | 2 +-
src/overlays/actors/ovl_En_Ishi/z_en_ishi.c | 16 ++---
src/overlays/actors/ovl_En_Ishi/z_en_ishi.h | 2 +-
src/overlays/actors/ovl_En_Kusa/z_en_kusa.c | 10 +--
src/overlays/actors/ovl_En_Kusa/z_en_kusa.h | 2 +-
src/overlays/actors/ovl_En_Mag/z_en_mag.c | 2 +-
src/overlays/actors/ovl_En_Nwc/z_en_nwc.c | 18 +++---
src/overlays/actors/ovl_En_Nwc/z_en_nwc.h | 2 +-
src/overlays/actors/ovl_En_Ossan/z_en_ossan.c | 12 ++--
src/overlays/actors/ovl_En_Ossan/z_en_ossan.h | 2 +-
.../actors/ovl_En_S_Goro/z_en_s_goro.c | 22 +++----
.../actors/ovl_En_S_Goro/z_en_s_goro.h | 2 +-
.../actors/ovl_En_Sekihi/z_en_sekihi.c | 12 ++--
.../actors/ovl_En_Sekihi/z_en_sekihi.h | 2 +-
src/overlays/actors/ovl_En_Sob1/z_en_sob1.c | 43 ++++++-------
src/overlays/actors/ovl_En_Sob1/z_en_sob1.h | 6 +-
src/overlays/actors/ovl_En_St/z_en_st.c | 10 +--
src/overlays/actors/ovl_En_St/z_en_st.h | 2 +-
src/overlays/actors/ovl_En_Sth/z_en_sth.c | 18 +++---
src/overlays/actors/ovl_En_Sth/z_en_sth.h | 4 +-
src/overlays/actors/ovl_En_Sth2/z_en_sth2.c | 6 +-
src/overlays/actors/ovl_En_Sth2/z_en_sth2.h | 2 +-
src/overlays/actors/ovl_En_Test2/z_en_test2.c | 10 +--
.../actors/ovl_En_Warp_tag/z_en_warp_tag.c | 7 ++-
.../actors/ovl_En_Warp_tag/z_en_warp_tag.h | 2 +-
.../ovl_Item_Etcetera/z_item_etcetera.c | 10 +--
.../ovl_Item_Etcetera/z_item_etcetera.h | 2 +-
.../actors/ovl_Obj_Etcetera/z_obj_etcetera.c | 14 ++---
.../actors/ovl_Obj_Etcetera/z_obj_etcetera.h | 2 +-
.../actors/ovl_Obj_Kibako/z_obj_kibako.c | 20 +++---
.../actors/ovl_Obj_Kibako/z_obj_kibako.h | 2 +-
.../actors/ovl_Obj_Nozoki/z_obj_nozoki.c | 10 +--
.../actors/ovl_Obj_Purify/z_obj_purify.c | 8 +--
.../actors/ovl_Obj_Purify/z_obj_purify.h | 2 +-
.../actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c | 8 +--
.../actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h | 2 +-
.../actors/ovl_Obj_Tsubo/z_obj_tsubo.c | 24 +++----
.../actors/ovl_Obj_Tsubo/z_obj_tsubo.h | 2 +-
.../actors/ovl_player_actor/z_player.c | 10 +--
.../z_eff_en_ice_block.c | 8 +--
.../ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c | 14 ++---
.../ovl_Effect_Ss_Extra/z_eff_ss_extra.c | 20 +++---
.../ovl_Effect_Ss_Hahen/z_eff_ss_hahen.c | 22 +++----
.../ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h | 2 +-
.../ovl_Effect_Ss_Kakera/z_eff_ss_kakera.c | 22 +++----
.../ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h | 2 +-
.../ovl_Effect_Ss_Stick/z_eff_ss_stick.c | 6 +-
tools/disasm/functions.txt | 4 +-
tools/disasm/variables.txt | 8 +--
tools/namefixer.py | 3 +-
tools/sizes/code_functions.csv | 2 +-
117 files changed, 600 insertions(+), 592 deletions(-)
diff --git a/include/functions.h b/include/functions.h
index 634ce16d9..74b593152 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -203,8 +203,8 @@ void EffectSsGFire_Spawn(PlayState* play, Vec3f* pos);
// void EffectSsLightning_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Color_RGBA8* pzParm3, Color_RGBA8* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8);
void EffectSsDtBubble_SpawnColorProfile(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 life, s16 colorProfile, s16 randXZ);
void EffectSsDtBubble_SpawnCustomColor(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 life, s16 randXZ);
-void EffectSsHahen_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 flags, s16 scale, s16 objId, s16 life, Gfx* dList);
-void EffectSsHahen_SpawnBurst(PlayState* play, Vec3f* pos, f32 burstScale, s16 flags, s16 scale, s16 randScaleRange, s16 count, s16 objId, s16 life, Gfx* dList);
+void EffectSsHahen_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 flags, s16 scale, s16 objectId, s16 life, Gfx* dList);
+void EffectSsHahen_SpawnBurst(PlayState* play, Vec3f* pos, f32 burstScale, s16 flags, s16 scale, s16 randScaleRange, s16 count, s16 objectId, s16 life, Gfx* dList);
// void func_800B2364(void);
void EffectSsStick_Spawn(PlayState* play, Vec3f* pos, s16 yaw);
// void EffectSsSibuki_Spawn(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7);
@@ -215,7 +215,7 @@ void EffectSsHitmark_SpawnCustomScale(PlayState* play, s32 type, s16 scale, Vec3
void EffectSsFhgFlash_SpawnShock(PlayState* play, Actor* actor, Vec3f* pos, s16 scale, u8 params);
void EffectSsKFire_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scaleMax, u8 type);
void EffectSsSolderSrchBall_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16* playerDetected, s16 flags);
-void EffectSsKakera_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* arg3, s16 gravity, s16 arg5, s16 arg6, s16 arg7, s16 arg8, s16 scale, s16 arg10, s16 arg11, s32 life, s16 colorIdx, s16 objId, Gfx* dList);
+void EffectSsKakera_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* arg3, s16 gravity, s16 arg5, s16 arg6, s16 arg7, s16 arg8, s16 scale, s16 arg10, s16 arg11, s32 life, s16 colorIdx, s16 objectId, Gfx* dList);
// void EffectSsIcePiece_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, UNK_TYPE4 uParm3, Vec3f* pzParm4, Vec3f* param_5, UNK_TYPE4 param_6);
void EffectSsIcePiece_SpawnBurst(PlayState* play, Vec3f* refPos, f32 scale);
void func_800B2B44(PlayState* play, Actor* actor, Vec3f* pos, f32 scale);
diff --git a/include/variables.h b/include/variables.h
index df924135a..41c8f3966 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -180,7 +180,7 @@ extern s16 gItemPrices[];
extern u16 gSceneIdsPerRegion[11][27];
extern u8 gPlayerFormItemRestrictions[PLAYER_FORM_MAX][114];
-extern s16 gPlayerFormObjectIndices[PLAYER_FORM_MAX];
+extern s16 gPlayerFormObjectIds[PLAYER_FORM_MAX];
extern ObjectId gObjectTableSize;
extern RomFile gObjectTable[OBJECT_ID_MAX];
diff --git a/include/z64actor.h b/include/z64actor.h
index 1b6c37072..b3e1fe77e 100644
--- a/include/z64actor.h
+++ b/include/z64actor.h
@@ -118,7 +118,7 @@ typedef struct Actor {
/* 0x004 */ u32 flags; // Flags used for various purposes
/* 0x008 */ PosRot home; // Initial position/rotation when spawned. Can be used for other purposes
/* 0x01C */ s16 params; // Configurable variable set by the actor's spawn data; original name: "args_data"
- /* 0x01E */ s8 objBankIndex; // Object bank index of the actor's object dependency; original name: "bank"
+ /* 0x01E */ s8 objectSlot; // Object slot (in ObjectContext) corresponding to the actor's object; original name: "bank"
/* 0x01F */ s8 targetMode; // Controls how far the actor can be targeted from and how far it can stay locked on
/* 0x020 */ s16 halfDaysBits; // Bitmask indicating which half-days this actor is allowed to not be killed(?) (TODO: not sure how to word this). If the current halfDayBit is not part of this mask then the actor is killed when spawning the setup actors
/* 0x024 */ PosRot world; // Position/rotation in the world
diff --git a/include/z64door.h b/include/z64door.h
index 26653c308..93dff5ea9 100644
--- a/include/z64door.h
+++ b/include/z64door.h
@@ -9,7 +9,7 @@ typedef struct KnobDoorActor {
/* 0x15C */ SkelAnime skelAnime;
/* 0x1A0 */ u8 animIndex;
/* 0x1A1 */ u8 playOpenAnim;
- /* 0x1A2 */ s8 requiredObjBankIndex;
+ /* 0x1A2 */ s8 objectSlot;
/* 0x1A3 */ s8 dlIndex;
} KnobDoorActor; // size = 0x1A4
diff --git a/include/z64effect.h b/include/z64effect.h
index 71ad80510..8950958cb 100644
--- a/include/z64effect.h
+++ b/include/z64effect.h
@@ -33,7 +33,7 @@ struct CollisionPoly;
#define rgEnvColorG regs[8]
#define rgEnvColorB regs[9]
#define rgEnvColorA regs[10]
-#define rgObjBankIndex regs[11]
+#define rgObjectSlot regs[11]
typedef struct {
/* 0x0 */ u8 active;
diff --git a/include/z64scene.h b/include/z64scene.h
index b66ad4e41..3c74f6541 100644
--- a/include/z64scene.h
+++ b/include/z64scene.h
@@ -472,6 +472,8 @@ typedef struct {
typedef RoomShapeCullableEntry PolygonDlist2;
typedef RoomShapeCullable PolygonType2;
+#define OBJECT_SLOT_NONE -1
+
typedef struct {
/* 0x000 */ void* spaceStart;
/* 0x004 */ void* spaceEnd;
diff --git a/include/z64subs.h b/include/z64subs.h
index 4d365dd14..2e751dfc4 100644
--- a/include/z64subs.h
+++ b/include/z64subs.h
@@ -147,8 +147,8 @@ s16 SubS_GetDistSqAndOrientPoints(Vec3f* vecA, Vec3f* vecB, f32* distSq);
s32 SubS_MoveActorToPoint(Actor* actor, Vec3f* point, s16 rotStep);
s16 SubS_GetDistSqAndOrientPath(Path* path, s32 pointIndex, Vec3f* pos, f32* distSq);
-s8 SubS_IsObjectLoaded(s8 index, struct PlayState* play);
-s8 SubS_GetObjectIndex(s16 id, struct PlayState* play);
+s8 SubS_IsObjectLoaded(s8 objectSlot, struct PlayState* play);
+s8 SubS_GetObjectSlot(s16 objectId, struct PlayState* play);
Actor* SubS_FindActor(struct PlayState* play, Actor* actorListStart, u8 actorCategory, s16 actorId);
diff --git a/include/z_en_hy_code.h b/include/z_en_hy_code.h
index 2b5d46d57..7bc41c7c8 100644
--- a/include/z_en_hy_code.h
+++ b/include/z_en_hy_code.h
@@ -81,10 +81,10 @@ typedef struct EnHy {
/* 0x144 */ EnHyActionFunc actionFunc;
/* 0x148 */ EnHyActionFunc prevActionFunc;
/* 0x14C */ SkelAnime skelAnime;
- /* 0x190 */ s8 headObjIndex; // Limb 15
- /* 0x191 */ s8 skelUpperObjIndex; // Limbs 8-14
- /* 0x192 */ s8 skelLowerObjIndex; // Limbs 1-7
- /* 0x193 */ s8 animObjIndex;
+ /* 0x190 */ s8 headObjectSlot; // Limb 15
+ /* 0x191 */ s8 skelUpperObjectSlot; // Limbs 8-14
+ /* 0x192 */ s8 skelLowerObjectSlot; // Limbs 1-7
+ /* 0x193 */ s8 animObjectSlot;
/* 0x194 */ ColliderCylinder collider;
/* 0x1E0 */ u16 textId;
/* 0x1E2 */ u8 waitingOnInit;
diff --git a/src/code/object_table.c b/src/code/object_table.c
index aa73199b8..87c4069fe 100644
--- a/src/code/object_table.c
+++ b/src/code/object_table.c
@@ -1,6 +1,6 @@
#include "global.h"
-s16 gPlayerFormObjectIndices[PLAYER_FORM_MAX] = {
+s16 gPlayerFormObjectIds[PLAYER_FORM_MAX] = {
OBJECT_LINK_BOY, // PLAYER_FORM_FIERCE_DEITY
OBJECT_LINK_GORON, // PLAYER_FORM_GORON
OBJECT_LINK_ZORA, // PLAYER_FORM_ZORA
diff --git a/src/code/z_actor.c b/src/code/z_actor.c
index 7c741ae85..eb5ba018d 100644
--- a/src/code/z_actor.c
+++ b/src/code/z_actor.c
@@ -1096,7 +1096,7 @@ void Actor_SetScale(Actor* actor, f32 scale) {
}
void Actor_SetObjectDependency(PlayState* play, Actor* actor) {
- gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[actor->objBankIndex].segment);
+ gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[actor->objectSlot].segment);
}
void Actor_Init(Actor* actor, PlayState* play) {
@@ -1119,7 +1119,7 @@ void Actor_Init(Actor* actor, PlayState* play) {
actor->floorBgId = BGCHECK_SCENE;
ActorShape_Init(&actor->shape, 0.0f, NULL, 0.0f);
- if (Object_IsLoaded(&play->objectCtx, actor->objBankIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, actor->objectSlot)) {
Actor_SetObjectDependency(play, actor);
actor->init(actor, play);
actor->init = NULL;
@@ -2486,7 +2486,7 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) {
actor->audioFlags &= ~ACTOR_AUDIO_FLAG_ALL;
if (actor->init != NULL) {
- if (Object_IsLoaded(&play->objectCtx, actor->objBankIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, actor->objectSlot)) {
Actor_SetObjectDependency(play, actor);
actor->init(actor, play);
actor->init = NULL;
@@ -2500,7 +2500,7 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) {
nextActor = actor->next;
}
} else {
- if (!Object_IsLoaded(&play->objectCtx, actor->objBankIndex)) {
+ if (!Object_IsLoaded(&play->objectCtx, actor->objectSlot)) {
Actor_Kill(actor);
} else if ((params->requiredActorFlag && !(actor->flags & params->requiredActorFlag)) ||
(((!params->requiredActorFlag) != 0) &&
@@ -2700,8 +2700,8 @@ void Actor_Draw(PlayState* play, Actor* actor) {
Matrix_Scale(actor->scale.x, actor->scale.y, actor->scale.z, MTXMODE_APPLY);
Actor_SetObjectDependency(play, actor);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[actor->objBankIndex].segment);
- gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[actor->objBankIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[actor->objectSlot].segment);
+ gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[actor->objectSlot].segment);
if (actor->colorFilterTimer != 0) {
s32 colorFlag = COLORFILTER_GET_COLORFLAG(actor->colorFilterParams);
@@ -3055,7 +3055,7 @@ void Actor_KillAllWithMissingObject(PlayState* play, ActorContext* actorCtx) {
actor = actorCtx->actorLists[i].first;
while (actor != NULL) {
- if (!Object_IsLoaded(&play->objectCtx, actor->objBankIndex)) {
+ if (!Object_IsLoaded(&play->objectCtx, actor->objectSlot)) {
Actor_Kill(actor);
}
@@ -3287,7 +3287,7 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1
s32 pad;
Actor* actor;
ActorInit* actorInit;
- s32 objBankIndex;
+ s32 objectSlot;
ActorOverlay* overlayEntry;
if (actorCtx->totalLoadedActors >= 0xFF) {
@@ -3299,9 +3299,10 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1
return NULL;
}
- objBankIndex = Object_GetSlot(&play->objectCtx, actorInit->objectId);
- if ((objBankIndex < 0) || ((actorInit->type == ACTORCAT_ENEMY) && Flags_GetClear(play, play->roomCtx.curRoom.num) &&
- (actorInit->id != ACTOR_BOSS_05))) {
+ objectSlot = Object_GetSlot(&play->objectCtx, actorInit->objectId);
+ if ((objectSlot <= OBJECT_SLOT_NONE) ||
+ ((actorInit->type == ACTORCAT_ENEMY) && Flags_GetClear(play, play->roomCtx.curRoom.num) &&
+ (actorInit->id != ACTOR_BOSS_05))) {
Actor_FreeOverlay(&gActorOverlayTable[index]);
return NULL;
}
@@ -3323,10 +3324,10 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1
actor->flags = actorInit->flags;
if (actorInit->id == ACTOR_EN_PART) {
- actor->objBankIndex = rotZ;
+ actor->objectSlot = rotZ;
rotZ = 0;
} else {
- actor->objBankIndex = objBankIndex;
+ actor->objectSlot = objectSlot;
}
actor->init = actorInit->init;
@@ -3705,7 +3706,7 @@ void Actor_SpawnBodyParts(Actor* actor, PlayState* play, s32 partParams, Gfx** d
spawnedPart =
Actor_SpawnAsChild(&play->actorCtx, actor, play, ACTOR_EN_PART, currentMatrix->mf[3][0],
- currentMatrix->mf[3][1], currentMatrix->mf[3][2], 0, 0, actor->objBankIndex, partParams);
+ currentMatrix->mf[3][1], currentMatrix->mf[3][2], 0, 0, actor->objectSlot, partParams);
if (spawnedPart != NULL) {
part = (EnPart*)spawnedPart;
diff --git a/src/code/z_draw.c b/src/code/z_draw.c
index 3f1d1dc47..1d5b967d7 100644
--- a/src/code/z_draw.c
+++ b/src/code/z_draw.c
@@ -823,13 +823,13 @@ void GetItem_DrawWallet(PlayState* play, s16 drawId) {
void GetItem_DrawRemains(PlayState* play, s16 drawId) {
s32 pad;
- s8 objectIndex;
+ s8 objectSlot;
OPEN_DISPS(play->state.gfxCtx);
- objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_BSMASK);
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_BSMASK);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment);
Gfx_SetupDL25_Opa(play->state.gfxCtx);
Matrix_Scale(0.02f, 0.02f, 0.02f, MTXMODE_APPLY);
diff --git a/src/code/z_effect_soft_sprite_old_init.c b/src/code/z_effect_soft_sprite_old_init.c
index d71a18674..245f90a82 100644
--- a/src/code/z_effect_soft_sprite_old_init.c
+++ b/src/code/z_effect_soft_sprite_old_init.c
@@ -41,7 +41,7 @@ void EffectSs_DrawGEffect(PlayState* play, EffectSs* this, TexturePtr texture) {
MtxF mfTrans11DA0;
s32 pad1;
Mtx* mtx;
- void* object = play->objectCtx.slots[this->rgObjBankIndex].segment;
+ void* objectPtr = play->objectCtx.slots[this->rgObjectSlot].segment;
OPEN_DISPS(gfxCtx);
@@ -50,8 +50,8 @@ void EffectSs_DrawGEffect(PlayState* play, EffectSs* this, TexturePtr texture) {
SkinMatrix_SetScale(&mfScale, scale, scale, scale);
SkinMatrix_MtxFMtxFMult(&mfTrans, &play->billboardMtxF, &mfTrans11DA0);
SkinMatrix_MtxFMtxFMult(&mfTrans11DA0, &mfScale, &mfResult);
- gSegments[0x06] = VIRTUAL_TO_PHYSICAL(object);
- gSPSegment(POLY_XLU_DISP++, 0x06, object);
+ gSegments[0x06] = VIRTUAL_TO_PHYSICAL(objectPtr);
+ gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &mfResult);
@@ -542,7 +542,7 @@ void EffectSsDtBubble_SpawnCustomColor(PlayState* play, Vec3f* pos, Vec3f* veloc
* - due to how life is implemented it is capped at 200. Any value over 200 is accepted, but the fragment will
* only live for 200 frames
*/
-void EffectSsHahen_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 flags, s16 scale, s16 objId,
+void EffectSsHahen_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 flags, s16 scale, s16 objectId,
s16 life, Gfx* dList) {
EffectSsHahenInitParams initParams;
@@ -552,7 +552,7 @@ void EffectSsHahen_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* ac
initParams.dList = dList;
initParams.flags = flags;
initParams.scale = scale;
- initParams.objId = objId;
+ initParams.objectId = objectId;
initParams.life = life;
EffectSs_Spawn(play, EFFECT_SS_HAHEN, 128, &initParams);
@@ -568,7 +568,7 @@ void EffectSsHahen_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* ac
* only live for 200 frames
*/
void EffectSsHahen_SpawnBurst(PlayState* play, Vec3f* pos, f32 burstScale, s16 flags, s16 scale, s16 randScaleRange,
- s16 count, s16 objId, s16 life, Gfx* dList) {
+ s16 count, s16 objectId, s16 life, Gfx* dList) {
s32 i;
Vec3f velocity;
Vec3f accel;
@@ -581,7 +581,7 @@ void EffectSsHahen_SpawnBurst(PlayState* play, Vec3f* pos, f32 burstScale, s16 f
velocity.z = (Rand_ZeroOne() - 0.5f) * burstScale;
velocity.y = ((Rand_ZeroOne() * 0.5f) + 0.5f) * burstScale;
- EffectSsHahen_Spawn(play, pos, &velocity, &accel, flags, Rand_S16Offset(scale, randScaleRange), objId, life,
+ EffectSsHahen_Spawn(play, pos, &velocity, &accel, flags, Rand_S16Offset(scale, randScaleRange), objectId, life,
dList);
}
}
@@ -719,7 +719,7 @@ void EffectSsSolderSrchBall_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity,
// EffectSsKakera Spawn Functions
void EffectSsKakera_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* arg3, s16 gravity, s16 arg5, s16 arg6,
- s16 arg7, s16 arg8, s16 scale, s16 arg10, s16 arg11, s32 life, s16 colorIdx, s16 objId,
+ s16 arg7, s16 arg8, s16 scale, s16 arg10, s16 arg11, s32 life, s16 colorIdx, s16 objectId,
Gfx* dList) {
EffectSsKakeraInitParams initParams;
@@ -736,7 +736,7 @@ void EffectSsKakera_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* a
initParams.unk_32 = arg11;
initParams.life = life;
initParams.colorIdx = colorIdx;
- initParams.objId = objId;
+ initParams.objectId = objectId;
initParams.dList = dList;
EffectSs_Spawn(play, EFFECT_SS_KAKERA, 101, &initParams);
diff --git a/src/code/z_en_hy_code.c b/src/code/z_en_hy_code.c
index d64308bff..c7d89137b 100644
--- a/src/code/z_en_hy_code.c
+++ b/src/code/z_en_hy_code.c
@@ -133,7 +133,7 @@ EnDoor* EnHy_FindNearestDoor(Actor* actor, PlayState* play) {
}
void EnHy_ChangeObjectAndAnim(EnHy* enHy, PlayState* play, s16 animIndex) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment);
EnHy_ChangeAnim(&enHy->skelAnime, animIndex);
}
@@ -141,7 +141,7 @@ s32 EnHy_UpdateSkelAnime(EnHy* enHy, PlayState* play) {
s32 isUpdated = false;
if (enHy->actor.draw != NULL) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment);
SkelAnime_Update(&enHy->skelAnime);
isUpdated = true;
}
@@ -161,14 +161,14 @@ void EnHy_Blink(EnHy* enHy, s32 eyeTexMaxIndex) {
s32 EnHy_Init(EnHy* enHy, PlayState* play, FlexSkeletonHeader* skeletonHeaderSeg, s16 animIndex) {
s32 isInitialized = false;
- if ((SubS_IsObjectLoaded(enHy->animObjIndex, play) == true) &&
- (SubS_IsObjectLoaded(enHy->headObjIndex, play) == true) &&
- (SubS_IsObjectLoaded(enHy->skelUpperObjIndex, play) == true) &&
- (SubS_IsObjectLoaded(enHy->skelLowerObjIndex, play) == true)) {
- enHy->actor.objBankIndex = enHy->skelLowerObjIndex;
+ if ((SubS_IsObjectLoaded(enHy->animObjectSlot, play) == true) &&
+ (SubS_IsObjectLoaded(enHy->headObjectSlot, play) == true) &&
+ (SubS_IsObjectLoaded(enHy->skelUpperObjectSlot, play) == true) &&
+ (SubS_IsObjectLoaded(enHy->skelLowerObjectSlot, play) == true)) {
+ enHy->actor.objectSlot = enHy->skelLowerObjectSlot;
isInitialized = true;
ActorShape_Init(&enHy->actor.shape, 0.0f, NULL, 0.0f);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[enHy->actor.objBankIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[enHy->actor.objectSlot].segment);
SkelAnime_InitFlex(play, &enHy->skelAnime, skeletonHeaderSeg, NULL, enHy->jointTable, enHy->morphTable,
ENHY_LIMB_MAX);
EnHy_ChangeObjectAndAnim(enHy, play, animIndex);
diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c
index c6b52e476..d0dada57d 100644
--- a/src/code/z_en_item00.c
+++ b/src/code/z_en_item00.c
@@ -184,17 +184,17 @@ void EnItem00_Init(Actor* thisx, PlayState* play) {
break;
case ITEM00_SHIELD_HERO:
- thisx->objBankIndex = Object_GetSlot(&play->objectCtx, OBJECT_GI_SHIELD_2);
+ thisx->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_SHIELD_2);
EnItem00_SetObject(this, play, &shadowOffset, &shadowScale);
break;
case ITEM00_MAP:
- thisx->objBankIndex = Object_GetSlot(&play->objectCtx, OBJECT_GI_MAP);
+ thisx->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_MAP);
EnItem00_SetObject(this, play, &shadowOffset, &shadowScale);
break;
case ITEM00_COMPASS:
- thisx->objBankIndex = Object_GetSlot(&play->objectCtx, OBJECT_GI_COMPASS);
+ thisx->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_COMPASS);
EnItem00_SetObject(this, play, &shadowOffset, &shadowScale);
break;
@@ -317,10 +317,10 @@ void EnItem00_Destroy(Actor* thisx, PlayState* play) {
}
void EnItem00_WaitForHeartObject(EnItem00* this, PlayState* play) {
- s32 objBankIndex = Object_GetSlot(&play->objectCtx, OBJECT_GI_HEARTS);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_HEARTS);
- if (Object_IsLoaded(&play->objectCtx, objBankIndex)) {
- this->actor.objBankIndex = objBankIndex;
+ if (Object_IsLoaded(&play->objectCtx, objectSlot)) {
+ this->actor.objectSlot = objectSlot;
this->actionFunc = func_800A640C;
}
}
@@ -725,10 +725,10 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) {
case ITEM00_RECOVERY_HEART:
if (this->unk152 < 0) {
if (this->unk152 == -1) {
- s8 bankIndex = Object_GetSlot(&play->objectCtx, OBJECT_GI_HEART);
+ s8 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_HEART);
- if (Object_IsLoaded(&play->objectCtx, bankIndex)) {
- this->actor.objBankIndex = bankIndex;
+ if (Object_IsLoaded(&play->objectCtx, objectSlot)) {
+ this->actor.objectSlot = objectSlot;
Actor_SetObjectDependency(play, &this->actor);
this->unk152 = -2;
}
@@ -852,7 +852,7 @@ void EnItem00_DrawSprite(EnItem00* this, PlayState* play) {
void EnItem00_DrawHeartContainer(EnItem00* this, PlayState* play) {
s32 pad[2];
- if (Object_GetSlot(&play->objectCtx, OBJECT_GI_HEARTS) == this->actor.objBankIndex) {
+ if (Object_GetSlot(&play->objectCtx, OBJECT_GI_HEARTS) == this->actor.objectSlot) {
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
diff --git a/src/code/z_horse.c b/src/code/z_horse.c
index ac0142fae..52808477a 100644
--- a/src/code/z_horse.c
+++ b/src/code/z_horse.c
@@ -216,7 +216,7 @@ s32 Horse_IsActive(PlayState* play, ActorContext* actorCtx) {
if (bgActor != NULL) {
while (true) {
if ((bgActor->update != NULL) && (bgActor->init == NULL)) {
- if (Object_IsLoaded(&play->objectCtx, bgActor->objBankIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, bgActor->objectSlot)) {
if ((bgActor->id == ACTOR_EN_HORSE) && (((EnHorse*)bgActor)->action != ENHORSE_ACTION_INACTIVE)) {
return true;
}
diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c
index f288b31de..3a5d69a34 100644
--- a/src/code/z_player_lib.c
+++ b/src/code/z_player_lib.c
@@ -392,16 +392,16 @@ void func_8012301C(Actor* thisx, PlayState* play2) {
this->actionVar1++;
if (this->actionVar1 == 2) {
- s16 objectId = gPlayerFormObjectIndices[GET_PLAYER_FORM];
+ s16 objectId = gPlayerFormObjectIds[GET_PLAYER_FORM];
gActorOverlayTable[ACTOR_PLAYER].initInfo->objectId = objectId;
- func_8012F73C(&play->objectCtx, this->actor.objBankIndex, objectId);
- this->actor.objBankIndex = Object_GetSlot(&play->objectCtx, GAMEPLAY_KEEP);
+ func_8012F73C(&play->objectCtx, this->actor.objectSlot, objectId);
+ this->actor.objectSlot = Object_GetSlot(&play->objectCtx, GAMEPLAY_KEEP);
} else if (this->actionVar1 >= 3) {
- s32 objBankIndex = Object_GetSlot(&play->objectCtx, gActorOverlayTable[ACTOR_PLAYER].initInfo->objectId);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, gActorOverlayTable[ACTOR_PLAYER].initInfo->objectId);
- if (Object_IsLoaded(&play->objectCtx, objBankIndex)) {
- this->actor.objBankIndex = objBankIndex;
+ if (Object_IsLoaded(&play->objectCtx, objectSlot)) {
+ this->actor.objectSlot = objectSlot;
this->actor.shape.rot.z = GET_PLAYER_FORM + 1;
this->actor.init = PlayerCall_Init;
this->actor.update = PlayerCall_Update;
@@ -1869,7 +1869,7 @@ void Player_DrawHookshotReticle(PlayState* play, Player* player, f32 hookshotDis
gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPSegment(OVERLAY_DISP++, 0x06, play->objectCtx.slots[player->actor.objBankIndex].segment);
+ gSPSegment(OVERLAY_DISP++, 0x06, play->objectCtx.slots[player->actor.objectSlot].segment);
gSPDisplayList(OVERLAY_DISP++, gHookshotReticleDL);
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/src/code/z_scene.c b/src/code/z_scene.c
index 483db001e..923ba5a0e 100644
--- a/src/code/z_scene.c
+++ b/src/code/z_scene.c
@@ -157,7 +157,7 @@ void* func_8012F73C(ObjectContext* objectCtx, s32 slot, s16 id) {
void Scene_CommandSpawnList(PlayState* play, SceneCmd* cmd) {
s32 loadedCount;
s16 playerObjectId;
- void* nextObject;
+ void* objectPtr;
play->linkActorEntry =
(ActorEntry*)Lib_SegmentedToVirtual(cmd->spawnList.segment) + play->setupEntranceList[play->curSpawn].spawn;
@@ -170,14 +170,14 @@ void Scene_CommandSpawnList(PlayState* play, SceneCmd* cmd) {
}
loadedCount = Object_SpawnPersistent(&play->objectCtx, OBJECT_LINK_CHILD);
- nextObject = play->objectCtx.slots[play->objectCtx.numEntries].segment;
+ objectPtr = play->objectCtx.slots[play->objectCtx.numEntries].segment;
play->objectCtx.numEntries = loadedCount;
play->objectCtx.numPersistentEntries = loadedCount;
- playerObjectId = gPlayerFormObjectIndices[GET_PLAYER_FORM];
+ playerObjectId = gPlayerFormObjectIds[GET_PLAYER_FORM];
gActorOverlayTable[0].initInfo->objectId = playerObjectId;
Object_SpawnPersistent(&play->objectCtx, playerObjectId);
- play->objectCtx.slots[play->objectCtx.numEntries].segment = nextObject;
+ play->objectCtx.slots[play->objectCtx.numEntries].segment = objectPtr;
}
// SceneTableEntry Header Command 0x01: Actor List
diff --git a/src/code/z_sub_s.c b/src/code/z_sub_s.c
index 3dc02ba7d..e630ed150 100644
--- a/src/code/z_sub_s.c
+++ b/src/code/z_sub_s.c
@@ -1169,12 +1169,12 @@ s16 SubS_GetDistSqAndOrientPath(Path* path, s32 pointIndex, Vec3f* pos, f32* dis
return Math_Atan2S(diffX, diffZ);
}
-s8 SubS_IsObjectLoaded(s8 index, PlayState* play) {
- return !Object_IsLoaded(&play->objectCtx, index) ? false : true;
+s8 SubS_IsObjectLoaded(s8 objectSlot, PlayState* play) {
+ return !Object_IsLoaded(&play->objectCtx, objectSlot) ? false : true;
}
-s8 SubS_GetObjectIndex(s16 id, PlayState* play) {
- return Object_GetSlot(&play->objectCtx, id);
+s8 SubS_GetObjectSlot(s16 objectId, PlayState* play) {
+ return Object_GetSlot(&play->objectCtx, objectId);
}
/**
diff --git a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c
index 01a74402c..9db179c1a 100644
--- a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c
+++ b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c
@@ -52,7 +52,7 @@ ActorInit Bg_Breakwall_InitVars = {
};
typedef struct {
- /* 0x00 */ s16 unk_00;
+ /* 0x00 */ s16 objectId;
/* 0x04 */ Gfx* unk_04;
/* 0x08 */ Gfx* unk_08;
/* 0x0C */ AnimatedMaterial* unk_0C;
@@ -212,9 +212,9 @@ void BgBreakwall_Init(Actor* thisx, PlayState* play) {
BgBreakwallStruct* sp24 = &D_808B8140[BGBREAKWALL_GET_F(&this->dyna.actor)];
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
- this->unk_15C = Object_GetSlot(&play->objectCtx, sp24->unk_00);
+ this->objectSlot = Object_GetSlot(&play->objectCtx, sp24->objectId);
- if ((this->unk_15C < 0) || !sp24->unk_14(this, play)) {
+ if ((this->objectSlot <= OBJECT_SLOT_NONE) || !sp24->unk_14(this, play)) {
Actor_Kill(&this->dyna.actor);
return;
}
@@ -233,10 +233,10 @@ void BgBreakwall_Destroy(Actor* thisx, PlayState* play) {
}
void func_808B76CC(BgBreakwall* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->unk_15C)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
BgBreakwallStruct* temp_s1 = &D_808B8140[BGBREAKWALL_GET_F(&this->dyna.actor)];
- this->dyna.actor.objBankIndex = this->unk_15C;
+ this->dyna.actor.objectSlot = this->objectSlot;
this->dyna.actor.draw = BgBreakwall_Draw;
if (((BGBREAKWALL_GET_F(&this->dyna.actor)) != BGBREAKWALL_F_7) &&
diff --git a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h
index 5baa97232..f1f3c2b5c 100644
--- a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h
+++ b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h
@@ -20,7 +20,7 @@ typedef enum {
typedef struct BgBreakwall {
/* 0x000 */ DynaPolyActor dyna;
- /* 0x15C */ s8 unk_15C;
+ /* 0x15C */ s8 objectSlot;
/* 0x15D */ u8 switchFlag;
/* 0x15E */ u8 unk_15E;
/* 0x160 */ BgBreakwallActionFunc actionFunc;
diff --git a/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c b/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c
index 91ea969e2..0d308979c 100644
--- a/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c
+++ b/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c
@@ -378,7 +378,7 @@ void BgNumaHana_Draw(Actor* thisx, PlayState* play2) {
BgNumaHana* this = THIS;
WoodenFlowerPetalPosRot* innerPetalPosRot;
WoodenFlowerPetalPosRot* outerPetalPosRot;
- s32 objectIndex;
+ s32 objectSlot;
s32 i;
OPEN_DISPS(play->state.gfxCtx);
@@ -404,13 +404,13 @@ void BgNumaHana_Draw(Actor* thisx, PlayState* play2) {
gSPDisplayList(POLY_OPA_DISP++, gWoodenFlowerOuterPetalDL);
}
- objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_SYOKUDAI);
- if ((objectIndex >= 0) && (Object_IsLoaded(&play->objectCtx, objectIndex))) {
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_SYOKUDAI);
+ if ((objectSlot > OBJECT_SLOT_NONE) && (Object_IsLoaded(&play->objectCtx, objectSlot))) {
Matrix_SetTranslateRotateYXZ(this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y - 64.5f,
this->dyna.actor.world.pos.z, &this->dyna.actor.shape.rot);
Matrix_Scale(1.5f, 1.5f, 1.5f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment);
gSPDisplayList(POLY_OPA_DISP++, gObjectSyokudaiTypeNoSwitchDL);
}
diff --git a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c
index 63cedff5a..3eb8e3c8a 100644
--- a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c
+++ b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c
@@ -103,9 +103,9 @@ void BgUmajump_Init(Actor* thisx, PlayState* play) {
thisx->update = Actor_Noop;
}
} else {
- this->objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_UMAJUMP);
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_UMAJUMP);
- if (this->objectIndex < 0) {
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(thisx);
}
@@ -126,8 +126,8 @@ void BgUmajump_Destroy(Actor* thisx, PlayState* play) {
void BgUmajump_Update(Actor* thisx, PlayState* play) {
BgUmajump* this = THIS;
- if (Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
- this->dyna.actor.objBankIndex = this->objectIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->dyna.actor.objectSlot = this->objectSlot;
this->dyna.actor.draw = BgUmajump_Draw;
Actor_SetObjectDependency(play, &this->dyna.actor);
diff --git a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h
index ae35ac98c..372402ebd 100644
--- a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h
+++ b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h
@@ -23,7 +23,7 @@ typedef struct BgUmajump {
/* 0x000 */ DynaPolyActor dyna;
/* 0x15C */ BgUmajumpActionFunc actionFunc;
/* 0x160 */ union {
- s32 objectIndex;
+ s32 objectSlot;
s32 rotationTimer; // y rotation
s32 pathIndex;
};
diff --git a/src/overlays/actors/ovl_Boss_03/z_boss_03.c b/src/overlays/actors/ovl_Boss_03/z_boss_03.c
index e9394f783..9e1111a6b 100644
--- a/src/overlays/actors/ovl_Boss_03/z_boss_03.c
+++ b/src/overlays/actors/ovl_Boss_03/z_boss_03.c
@@ -2152,14 +2152,14 @@ void Boss03_Update(Actor* thisx, PlayState* play2) {
/* Start of Gyorg's Draw section */
void Boss03_SetObject(PlayState* play, s16 objectId) {
- s32 objectIndex = Object_GetSlot(&play->objectCtx, objectId);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, objectId);
OPEN_DISPS(play->state.gfxCtx);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectIndex].segment);
- gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[objectIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment);
+ gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c
index 2b0669f39..3f29047fa 100644
--- a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c
+++ b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c
@@ -37,14 +37,14 @@ ActorInit Demo_Effect_InitVars = {
};
void DemoEffect_Init(Actor* thisx, PlayState* play) {
- static s16 sEffectTypeObjects[] = {
+ static s16 sEffectTypeObjectIds[] = {
OBJECT_EFC_TW, OBJECT_EFC_TW, OBJECT_EFC_TW, OBJECT_EFC_TW, GAMEPLAY_KEEP,
GAMEPLAY_KEEP, GAMEPLAY_KEEP, GAMEPLAY_KEEP, GAMEPLAY_KEEP,
};
s32 pad;
DemoEffect* this = THIS;
s32 type = DEMO_EFFECT_GET_TYPE(&this->actor);
- s32 objectIndex;
+ s32 objectSlot;
s32 pad2;
Color_RGB8 lightColors[] = {
{ 200, 200, 0 }, // Yellow
@@ -54,16 +54,16 @@ void DemoEffect_Init(Actor* thisx, PlayState* play) {
{ 255, 255, 80 }, // Light Yellow
};
- if (sEffectTypeObjects[type] == GAMEPLAY_KEEP) {
- objectIndex = 0;
+ if (sEffectTypeObjectIds[type] == GAMEPLAY_KEEP) {
+ objectSlot = 0;
} else {
- objectIndex = Object_GetSlot(&play->objectCtx, sEffectTypeObjects[type]);
+ objectSlot = Object_GetSlot(&play->objectCtx, sEffectTypeObjectIds[type]);
}
- if (objectIndex < 0) {
+ if (objectSlot <= OBJECT_SLOT_NONE) {
// assert on debug
} else {
- this->initObjectIndex = objectIndex;
+ this->initObjectSlot = objectSlot;
}
Actor_SetScale(&this->actor, 0.2f);
@@ -123,8 +123,8 @@ void DemoEffect_Destroy(Actor* thisx, PlayState* play) {
}
void DemoEffect_WaitForObject(DemoEffect* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->initObjectIndex)) {
- this->actor.objBankIndex = this->initObjectIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->initObjectSlot)) {
+ this->actor.objectSlot = this->initObjectSlot;
this->actor.draw = this->initDrawFunc;
this->actionFunc = this->initActionFunc;
}
diff --git a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h
index a69316308..538f6bc1e 100644
--- a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h
+++ b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h
@@ -26,7 +26,7 @@ typedef enum {
typedef struct DemoEffect {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelCurve skelCurve;
- /* 0x164 */ u8 initObjectIndex;
+ /* 0x164 */ u8 initObjectSlot;
/* 0x165 */ u8 primXluColor[3];
/* 0x168 */ u8 envXluColor[3];
/* 0x16C */ s16 timer;
diff --git a/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.c b/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.c
index b52787f36..d72fdca4f 100644
--- a/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.c
+++ b/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.c
@@ -30,7 +30,7 @@ ActorInit Demo_Getitem_InitVars = {
(ActorFunc)NULL,
};
-static s16 sObjectBankIndices[] = { OBJECT_GI_MASK14, OBJECT_GI_SWORD_4 };
+static s16 sObjectIds[] = { OBJECT_GI_MASK14, OBJECT_GI_SWORD_4 };
static s16 sGetItemDraws[] = { GID_MASK_GREAT_FAIRY, GID_SWORD_GREAT_FAIRY };
@@ -43,7 +43,7 @@ typedef enum GreatFairyRewardItem {
void DemoGetitem_Init(Actor* thisx, PlayState* play) {
s32 pad;
- s32 objectIndex;
+ s32 objectSlot;
s32 itemIndex;
DemoGetitem* this = THIS;
@@ -57,22 +57,22 @@ void DemoGetitem_Init(Actor* thisx, PlayState* play) {
this->getItemDrawId = sGetItemDraws[itemIndex];
this->cueType = sCueTypes[itemIndex];
- objectIndex = Object_GetSlot(&play->objectCtx, sObjectBankIndices[itemIndex]);
- if (objectIndex < 0) {
+ objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[itemIndex]);
+ if (objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
- this->objectIndex = objectIndex;
+ this->objectSlot = objectSlot;
}
void DemoGetitem_Destroy(Actor* thisx, PlayState* play) {
}
void DemoGetitem_Wait(DemoGetitem* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
this->actor.draw = NULL;
- this->actor.objBankIndex = this->objectIndex;
+ this->actor.objectSlot = this->objectSlot;
this->actionFunc = DemoGetitem_PerformCutsceneActions;
}
}
diff --git a/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.h b/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.h
index 130b2cfa6..c43020300 100644
--- a/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.h
+++ b/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.h
@@ -13,7 +13,7 @@ typedef struct DemoGetitem {
/* 0x000 */ Actor actor;
/* 0x144 */ s16 getItemDrawId;
/* 0x146 */ u16 cueType;
- /* 0x148 */ s8 objectIndex;
+ /* 0x148 */ s8 objectSlot;
/* 0x14C */ DemoGetitemActionFunc actionFunc;
} DemoGetitem; // size = 0x150
diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c
index 945e09fee..bce779aa7 100644
--- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c
+++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c
@@ -34,7 +34,7 @@ ActorInit Demo_Kankyo_InitVars = {
(ActorFunc)DemoKankyo_Draw,
};
-static s32 sObjectBubbleIndex = OBJECT_BUBBLE | 0x10000;
+static s32 sObjectBubbleId = OBJECT_BUBBLE | 0x10000;
void DemoKankyo_SetupAction(DemoKankyo* this, DemoKankyoActionFunc actionFunc) {
this->actionFunc = actionFunc;
@@ -279,9 +279,9 @@ void DemoKakyo_LostWoodsSparkleActionFunc(DemoKankyo* this, PlayState* play) {
}
void DemoKakyo_GiantObjectCheck(DemoKankyo* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->objectId)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
this->isSafeToDrawGiants = true;
- this->actor.objBankIndex = this->objectId;
+ this->actor.objectSlot = this->objectSlot;
DemoKankyo_SetupAction(this, DemoKakyo_MoonSparklesActionFunc);
}
}
@@ -437,7 +437,7 @@ void DemoKankyo_Init(Actor* thisx, PlayState* play) {
DemoKankyo* this = THIS;
s32 pad;
s32 i;
- s32 objId;
+ s32 objectSlot;
// This must be a single line to match, possibly a macro?
// clang-format off
@@ -449,7 +449,7 @@ void DemoKankyo_Init(Actor* thisx, PlayState* play) {
switch (this->actor.params) {
case DEMO_KANKYO_TYPE_LOSTWOODS:
- objId = OBJECT_UNSET_0;
+ objectSlot = 0;
this->actor.room = -1;
if (sLostWoodsSparklesMutex == false) {
DemoKankyo_SetupAction(this, DemoKakyo_LostWoodsSparkleActionFunc);
@@ -461,24 +461,24 @@ void DemoKankyo_Init(Actor* thisx, PlayState* play) {
case DEMO_KANKYO_TYPE_GIANTS:
this->isSafeToDrawGiants = false;
- objId = Object_GetSlot(&play->objectCtx, sObjectBubbleIndex);
+ objectSlot = Object_GetSlot(&play->objectCtx, sObjectBubbleId);
DemoKankyo_SetupAction(this, DemoKakyo_GiantObjectCheck);
break;
case DEMO_KANKYO_TYPE_MOON:
- objId = OBJECT_UNSET_0;
+ objectSlot = 0;
this->isSafeToDrawGiants = true;
DemoKankyo_SetupAction(this, DemoKakyo_MoonSparklesActionFunc);
break;
default:
//! @bug: this causes a crash because the actionfunc is never set
- objId = -1;
+ objectSlot = OBJECT_SLOT_NONE;
break;
}
- if (objId > -1) {
- this->objectId = objId;
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
}
}
diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h
index cbee0a148..6142796ce 100644
--- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h
+++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h
@@ -31,7 +31,7 @@ typedef struct DemoKankyo {
/* 0x0000 */ Actor actor;
/* 0x0144 */ DemoKankyoEffect effects[DEMOKANKYO_EFFECT_COUNT];
/* 0x1644 */ DemoKankyoActionFunc actionFunc;
- /* 0x1648 */ s32 objectId;
+ /* 0x1648 */ s32 objectSlot;
/* 0x164C */ u8 isSafeToDrawGiants;
} DemoKankyo; // size = 0x1650
diff --git a/src/overlays/actors/ovl_Dm_An/z_dm_an.c b/src/overlays/actors/ovl_Dm_An/z_dm_an.c
index a55f2cc1f..3b05c6e56 100644
--- a/src/overlays/actors/ovl_Dm_An/z_dm_an.c
+++ b/src/overlays/actors/ovl_Dm_An/z_dm_an.c
@@ -70,41 +70,41 @@ static AnimationInfoS sAnimationInfo[DMAN_ANIM_MAX] = {
};
s32 DmAn_UpdateSkelAnime(DmAn* this, PlayState* play) {
- s8 objectIndex = this->actor.objBankIndex;
- s8 objectIndex2;
+ s8 objectSlot = this->actor.objectSlot;
+ s8 objectSlot2;
s32 isAnimFinished = false;
if (this->animIndex <= DMAN_ANIM_1) {
- objectIndex2 = this->actor.objBankIndex;
+ objectSlot2 = this->actor.objectSlot;
} else {
- objectIndex2 = this->unk_2AC;
+ objectSlot2 = this->an4ObjectSlot;
}
- if (objectIndex2 >= 0) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment);
+ if (objectSlot2 >= 0) {
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment);
isAnimFinished = SkelAnime_Update(&this->skelAnime);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
}
return isAnimFinished;
}
s32 DmAn_ChangeAnim(DmAn* this, PlayState* play, s32 animIndex) {
- s8 objectIndex = this->actor.objBankIndex;
- s8 objectIndex2;
+ s8 objectSlot = this->actor.objectSlot;
+ s8 objectSlot2;
s32 didAnimChange = false;
if (animIndex <= DMAN_ANIM_1) {
- objectIndex2 = this->actor.objBankIndex;
+ objectSlot2 = this->actor.objectSlot;
} else {
- objectIndex2 = this->unk_2AC;
+ objectSlot2 = this->an4ObjectSlot;
}
- if ((objectIndex2 >= 0) && (this->animIndex != animIndex)) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment);
+ if ((objectSlot2 >= 0) && (this->animIndex != animIndex)) {
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment);
this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
}
return didAnimChange;
@@ -191,8 +191,8 @@ Actor* func_80C1C8E8(PlayState* play) {
}
void func_80C1C958(DmAn* this, PlayState* play) {
- if ((this->unk_2AC >= 0) && SubS_IsObjectLoaded(this->unk_2AC, play) && (this->unk_2AD >= 0) &&
- SubS_IsObjectLoaded(this->unk_2AD, play)) {
+ if ((this->an4ObjectSlot > OBJECT_SLOT_NONE) && SubS_IsObjectLoaded(this->an4ObjectSlot, play) &&
+ (this->msmoObjectSlot > OBJECT_SLOT_NONE) && SubS_IsObjectLoaded(this->msmoObjectSlot, play)) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 14.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &object_an1_Skel_012618, NULL, this->jointTable, this->morphTable,
OBJECT_AN1_LIMB_MAX);
@@ -273,8 +273,8 @@ void DmAn_DoNothing(DmAn* this, PlayState* play) {
void DmAn_Init(Actor* thisx, PlayState* play) {
DmAn* this = THIS;
- this->unk_2AC = SubS_GetObjectIndex(OBJECT_AN4, play);
- this->unk_2AD = SubS_GetObjectIndex(OBJECT_MSMO, play);
+ this->an4ObjectSlot = SubS_GetObjectSlot(OBJECT_AN4, play);
+ this->msmoObjectSlot = SubS_GetObjectSlot(OBJECT_MSMO, play);
this->actionFunc = func_80C1C958;
}
@@ -302,8 +302,8 @@ Vec3f D_80C1D2DC = { 1000.0f, 0.0f, 0.0f };
void func_80C1CD80(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
s32 pad[2];
DmAn* this = THIS;
- s8 sp2B = this->actor.objBankIndex;
- s8 sp2A = this->unk_2AD;
+ s8 objectSlot = this->actor.objectSlot;
+ s8 msmoObjectSlot = this->msmoObjectSlot;
if ((limbIndex == OBJECT_AN1_LIMB_05) && this->didAnimChangeInCs) {
OPEN_DISPS(play->state.gfxCtx);
@@ -312,9 +312,9 @@ void func_80C1CD80(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Acto
Matrix_TranslateRotateZYX(&D_80C1D2C8, &D_80C1D2D4);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[sp2A].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[msmoObjectSlot].segment);
gSPDisplayList(POLY_OPA_DISP++, gMoonMaskDL);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[sp2B].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment);
Matrix_Pop();
diff --git a/src/overlays/actors/ovl_Dm_An/z_dm_an.h b/src/overlays/actors/ovl_Dm_An/z_dm_an.h
index c1e85d3eb..00931d731 100644
--- a/src/overlays/actors/ovl_Dm_An/z_dm_an.h
+++ b/src/overlays/actors/ovl_Dm_An/z_dm_an.h
@@ -18,8 +18,8 @@ typedef struct DmAn {
/* 0x1A4 */ Vec3s unk_1AA;
/* 0x1B0 */ Vec3s jointTable[OBJECT_AN1_LIMB_MAX];
/* 0x22E */ Vec3s morphTable[OBJECT_AN1_LIMB_MAX];
- /* 0x2AC */ s8 unk_2AC;
- /* 0x2AD */ s8 unk_2AD;
+ /* 0x2AC */ s8 an4ObjectSlot;
+ /* 0x2AD */ s8 msmoObjectSlot;
/* 0x2AE */ u16 unk_2AE;
/* 0x2B0 */ u8 cueId;
/* 0x2B4 */ Actor* unk_2B4;
diff --git a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c
index 3c499aa7a..d7d7460c8 100644
--- a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c
+++ b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c
@@ -72,10 +72,10 @@ void DmChar03_Destroy(Actor* thisx, PlayState* play) {
}
void func_80AAB5F8(DmChar03* this, PlayState* play) {
- s32 index = Object_GetSlot(&play->objectCtx, OBJECT_GI_NUTSMASK);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_NUTSMASK);
- if (index >= 0) {
- this->objectIndex = index;
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
this->actionFunc = func_80AAB644;
}
}
@@ -187,13 +187,13 @@ void DmChar03_Draw(Actor* thisx, PlayState* play) {
void func_80AABA84(PlayState* play, DmChar03* this) {
s32 pad;
- if (this->actor.objBankIndex == this->objectIndex) {
+ if (this->actor.objectSlot == this->objectSlot) {
Matrix_Translate(this->offset.x, this->offset.y, this->offset.z, MTXMODE_NEW);
Matrix_RotateZYX(0, (play->gameplayFrames * 0x3E8), 0, MTXMODE_APPLY);
Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
GetItem_Draw(play, GID_MASK_DEKU);
}
- if (Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
- this->actor.objBankIndex = this->objectIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
}
}
diff --git a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.h b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.h
index 5b4a2e621..3b60c18c2 100644
--- a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.h
+++ b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.h
@@ -13,7 +13,7 @@ typedef struct DmChar03 {
/* 0x188 */ DmChar03ActionFunc actionFunc;
/* 0x18C */ s16 animIndex;
/* 0x18E */ u8 unk_18E;
- /* 0x18F */ u8 objectIndex;
+ /* 0x18F */ u8 objectSlot;
/* 0x190 */ Vec3f offset;
} DmChar03; // size = 0x19C
diff --git a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c
index f2f8980a0..43c049f97 100644
--- a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c
+++ b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c
@@ -178,10 +178,10 @@ void DmChar05_Destroy(Actor* thisx, PlayState* play) {
}
void func_80AAC990(DmChar05* this, PlayState* play) {
- s32 objectIdx = Object_GetSlot(&play->objectCtx, OBJECT_GI_GOLONMASK);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_GOLONMASK);
- if (objectIdx >= 0) {
- this->unk_18F = objectIdx;
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
this->actionFunc = func_80AAC9DC;
}
}
@@ -200,10 +200,10 @@ void func_80AAC9DC(DmChar05* this, PlayState* play) {
}
void func_80AACA98(DmChar05* this, PlayState* play) {
- s32 objectIdx = Object_GetSlot(&play->objectCtx, OBJECT_GI_MASK13);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_MASK13);
- if (objectIdx >= 0) {
- this->unk_18F = objectIdx;
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
this->actionFunc = func_80AACAE4;
}
}
@@ -227,15 +227,15 @@ void func_80AACAE4(DmChar05* this, PlayState* play) {
}
void func_80AACBE4(DmChar05* this, PlayState* play) {
- static s16 D_80AAE2F0[] = {
+ static s16 sObjectIds[] = {
OBJECT_GI_MASK17, OBJECT_GI_MASK14, OBJECT_GI_MASK10, OBJECT_GI_MASK21,
OBJECT_GI_MASK11, OBJECT_GI_MASK20, OBJECT_GI_RABIT_MASK, OBJECT_GI_MASK12,
};
s32 params = DMCHAR05_GET(&this->actor) - DMCHAR05_5;
- s32 objectIdx = Object_GetSlot(&play->objectCtx, D_80AAE2F0[params]);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[params]);
- if (objectIdx >= 0) {
- this->unk_18F = objectIdx;
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
this->actionFunc = func_80AACD0C;
}
}
@@ -278,10 +278,10 @@ void func_80AACD0C(DmChar05* this, PlayState* play) {
}
void func_80AACD1C(DmChar05* this, PlayState* play) {
- s32 objectIdx = Object_GetSlot(&play->objectCtx, OBJECT_GI_ZORAMASK);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_ZORAMASK);
- if (objectIdx >= 0) {
- this->unk_18F = objectIdx;
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
this->actionFunc = func_80AACD68;
}
}
@@ -298,10 +298,10 @@ void func_80AACD68(DmChar05* this, PlayState* play) {
}
void func_80AACE10(DmChar05* this, PlayState* play) {
- s32 objectIdx = Object_GetSlot(&play->objectCtx, OBJECT_GI_MASK15);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_GI_MASK15);
- if (objectIdx >= 0) {
- this->unk_18F = objectIdx;
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
this->actionFunc = func_80AACE5C;
}
}
@@ -723,55 +723,55 @@ void DmChar05_Draw(Actor* thisx, PlayState* play) {
}
void func_80AADD9C(PlayState* play, DmChar05* this) {
- if (this->actor.objBankIndex == this->unk_18F) {
+ if (this->actor.objectSlot == this->objectSlot) {
Matrix_Translate(this->unk_190.x, this->unk_190.y, this->unk_190.z, MTXMODE_NEW);
Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY);
Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
GetItem_Draw(play, GID_MASK_GORON);
}
- if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) {
- this->actor.objBankIndex = this->unk_18F;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
}
}
void func_80AADE78(PlayState* play, DmChar05* this) {
- if (this->actor.objBankIndex == this->unk_18F) {
+ if (this->actor.objectSlot == this->objectSlot) {
Matrix_Translate(this->unk_190.x, this->unk_190.y, this->unk_190.z, MTXMODE_NEW);
Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY);
Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
GetItem_Draw(play, GID_MASK_ZORA);
}
- if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) {
- this->actor.objBankIndex = this->unk_18F;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
}
}
void func_80AADF54(PlayState* play, DmChar05* this) {
- if (this->actor.objBankIndex == this->unk_18F) {
+ if (this->actor.objectSlot == this->objectSlot) {
Matrix_Translate(this->unk_190.x, this->unk_190.y, this->unk_190.z, MTXMODE_NEW);
Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY);
Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
GetItem_Draw(play, GID_MASK_GIBDO);
}
- if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) {
- this->actor.objBankIndex = this->unk_18F;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
}
}
void func_80AAE030(PlayState* play, DmChar05* this) {
if (this->unk_18E != 0) {
- if (this->actor.objBankIndex == this->unk_18F) {
+ if (this->actor.objectSlot == this->objectSlot) {
Matrix_Translate(this->unk_190.x, this->unk_190.y, this->unk_190.z, MTXMODE_NEW);
Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY);
Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
GetItem_Draw(play, GID_MASK_COUPLE);
}
- if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) {
- this->actor.objBankIndex = this->unk_18F;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
}
}
}
@@ -784,14 +784,14 @@ void func_80AAE114(PlayState* play, DmChar05* this) {
};
getItemDrawIndex = DMCHAR05_GET(&this->actor) - DMCHAR05_5;
- if (this->actor.objBankIndex == this->unk_18F) {
+ if (this->actor.objectSlot == this->objectSlot) {
Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW);
Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY);
Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
GetItem_Draw(play, getItemDrawIds[getItemDrawIndex]);
}
- if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) {
- this->actor.objBankIndex = this->unk_18F;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
}
}
diff --git a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.h b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.h
index 62500ec9c..a690cd50f 100644
--- a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.h
+++ b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.h
@@ -31,7 +31,7 @@ typedef struct DmChar05 {
/* 0x188 */ DmChar05ActionFunc actionFunc;
/* 0x18C */ s16 animIndex;
/* 0x18E */ u8 unk_18E;
- /* 0x18F */ u8 unk_18F;
+ /* 0x18F */ u8 objectSlot;
/* 0x190 */ Vec3f unk_190;
/* 0x19C */ u32 unk_19C;
/* 0x1A0 */ u32 unk_1A0;
diff --git a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c
index ec5a83095..3994c8fce 100644
--- a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c
+++ b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c
@@ -70,41 +70,41 @@ static AnimationInfoS sAnimationInfo[DMGM_ANIM_MAX] = {
};
s32 DmGm_UpdateSkelAnime(DmGm* this, PlayState* play) {
- s8 objectIndex = this->actor.objBankIndex;
+ s8 objectSlot = this->actor.objectSlot;
s8 objectIndex2;
s32 isAnimFinished = false;
if (this->animIndex <= DMGM_ANIM_1) {
- objectIndex2 = this->actor.objBankIndex;
+ objectIndex2 = this->actor.objectSlot;
} else {
- objectIndex2 = this->unk_2AC;
+ objectIndex2 = this->an4ObjectSlot;
}
if (objectIndex2 >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment);
isAnimFinished = SkelAnime_Update(&this->skelAnime);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
}
return isAnimFinished;
}
s32 DmGm_ChangeAnim(DmGm* this, PlayState* play, s32 animIndex) {
- s8 objectIndex = this->actor.objBankIndex;
+ s8 objectSlot = this->actor.objectSlot;
s8 objectIndex2;
s32 didAnimChange = false;
if (animIndex <= DMGM_ANIM_1) {
- objectIndex2 = this->actor.objBankIndex;
+ objectIndex2 = this->actor.objectSlot;
} else {
- objectIndex2 = this->unk_2AC;
+ objectIndex2 = this->an4ObjectSlot;
}
if ((objectIndex2 >= 0) && (this->animIndex != animIndex)) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment);
this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
}
return didAnimChange;
@@ -191,8 +191,8 @@ Actor* func_80C24838(PlayState* play) {
}
void func_80C248A8(DmGm* this, PlayState* play) {
- if ((this->unk_2AC >= 0) && SubS_IsObjectLoaded(this->unk_2AC, play) && (this->unk_2AD >= 0) &&
- SubS_IsObjectLoaded(this->unk_2AD, play)) {
+ if ((this->an4ObjectSlot > OBJECT_SLOT_NONE) && SubS_IsObjectLoaded(this->an4ObjectSlot, play) &&
+ (this->msmoObjectSlot > OBJECT_SLOT_NONE) && SubS_IsObjectLoaded(this->msmoObjectSlot, play)) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 14.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &object_an1_Skel_012618, NULL, this->jointTable, this->morphTable,
OBJECT_AN1_LIMB_MAX);
@@ -273,8 +273,8 @@ void DmGm_DoNothing(DmGm* this, PlayState* play) {
void DmGm_Init(Actor* thisx, PlayState* play) {
DmGm* this = THIS;
- this->unk_2AC = SubS_GetObjectIndex(OBJECT_AN4, play);
- this->unk_2AD = SubS_GetObjectIndex(OBJECT_MSMO, play);
+ this->an4ObjectSlot = SubS_GetObjectSlot(OBJECT_AN4, play);
+ this->msmoObjectSlot = SubS_GetObjectSlot(OBJECT_MSMO, play);
this->actionFunc = func_80C248A8;
}
@@ -302,8 +302,8 @@ Vec3f D_80C2522C = { 1000.0f, 0.0f, 0.0f };
void DmGm_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
s32 pad[2];
DmGm* this = THIS;
- s8 sp2B = this->actor.objBankIndex;
- s8 sp2A = this->unk_2AD;
+ s8 sp2B = this->actor.objectSlot;
+ s8 sp2A = this->msmoObjectSlot;
if ((limbIndex == OBJECT_AN1_LIMB_05) && this->didAnimChangeInCs) {
OPEN_DISPS(play->state.gfxCtx);
diff --git a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h
index e54ee07ee..8abcba712 100644
--- a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h
+++ b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h
@@ -18,8 +18,8 @@ typedef struct DmGm {
/* 0x1A4 */ Vec3s unk_1AA;
/* 0x1B0 */ Vec3s jointTable[OBJECT_AN1_LIMB_MAX];
/* 0x22E */ Vec3s morphTable[OBJECT_AN1_LIMB_MAX];
- /* 0x2AC */ s8 unk_2AC;
- /* 0x2AD */ s8 unk_2AD;
+ /* 0x2AC */ s8 an4ObjectSlot;
+ /* 0x2AD */ s8 msmoObjectSlot;
/* 0x2AE */ u16 unk_2AE;
/* 0x2B0 */ u8 cueId;
/* 0x2B4 */ Actor* unk_2B4;
diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c
index c9aaa48cb..ee323aa2b 100644
--- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c
+++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c
@@ -307,20 +307,20 @@ static AnimationInfo sAnimationInfo[SK_ANIM_LAUGH_AFTER_MAX] = {
* Ensures the correct object for the current animation is in segment 6.
*/
void DmStk_LoadObjectForAnimation(DmStk* this, PlayState* play) {
- s32 objectIndex;
+ s32 objectSlot;
if (((this->animIndex >= SK_ANIM_SHAKE_HEAD) && (this->animIndex <= SK_ANIM_BENT_OVER_HEAD_TWITCH)) ||
(this->animIndex == SK_ANIM_CALL_DOWN_MOON_START) || (this->animIndex == SK_ANIM_CALL_DOWN_MOON_LOOP) ||
(this->animIndex == SK_ANIM_TELESCOPE_LOOK_UP_START) || (this->animIndex == SK_ANIM_TELESCOPE_LOOK_UP_LOOP)) {
- objectIndex = this->objectStkObjectIndex;
+ objectSlot = this->objectStkObjectSlot;
} else if (this->animIndex >= SK_ANIM_LOOK_UP_AT_GIANTS) {
- objectIndex = this->objectStk3ObjectIndex;
+ objectSlot = this->objectStk3ObjectSlot;
} else {
- objectIndex = this->objectStk2ObjectIndex;
+ objectSlot = this->objectStk2ObjectSlot;
}
- if (objectIndex >= 0) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectIndex].segment);
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
}
}
@@ -1062,10 +1062,10 @@ void DmStk_Init(Actor* thisx, PlayState* play) {
this->shouldDraw = true;
if (DM_STK_GET_TYPE(&this->actor) != DM_STK_TYPE_MAJORAS_MASK) {
this->dekuPipesCutsceneState = SK_DEKU_PIPES_CS_STATE_NOT_READY;
- this->objectStkObjectIndex = Object_GetSlot(&play->objectCtx, OBJECT_STK);
- this->objectStk2ObjectIndex = Object_GetSlot(&play->objectCtx, OBJECT_STK2);
- this->objectStk3ObjectIndex = Object_GetSlot(&play->objectCtx, OBJECT_STK3);
- if (this->objectStkObjectIndex < 0) {
+ this->objectStkObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_STK);
+ this->objectStk2ObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_STK2);
+ this->objectStk3ObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_STK3);
+ if (this->objectStkObjectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
}
@@ -1965,18 +1965,18 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
if (Cutscene_IsCueInChannel(play, CS_CMD_ACTOR_CUE_513) &&
(play->csCtx.actorCues[Cutscene_GetCueChannel(play, CS_CMD_ACTOR_CUE_513)]->id == 2) &&
- (this->objectStk2ObjectIndex >= 0)) {
+ (this->objectStk2ObjectSlot > OBJECT_SLOT_NONE)) {
Matrix_Push();
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectStk2ObjectIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectStk2ObjectSlot].segment);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStk2ObjectIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStk2ObjectSlot].segment);
AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gSkullKidMajorasMaskCurseOverlayTexAnim));
Gfx_DrawDListOpa(play, gSkullKidMajorasMaskCurseOverlayDL);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStkObjectIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStkObjectSlot].segment);
Matrix_Pop();
}
@@ -2095,7 +2095,7 @@ void DmStk_Draw(Actor* thisx, PlayState* play) {
return;
}
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment);
OPEN_DISPS(play->state.gfxCtx);
diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h
index cc7ac89ea..0b723019a 100644
--- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h
+++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h
@@ -43,9 +43,9 @@ typedef struct DmStk {
/* 0x330 */ s32 fadeOutTimer;
/* 0x334 */ u8 cueId;
/* 0x335 */ u8 hasBeenHit; // set but never used
- /* 0x336 */ s8 objectStkObjectIndex;
- /* 0x337 */ s8 objectStk2ObjectIndex;
- /* 0x338 */ s8 objectStk3ObjectIndex;
+ /* 0x336 */ s8 objectStkObjectSlot;
+ /* 0x337 */ s8 objectStk2ObjectSlot;
+ /* 0x338 */ s8 objectStk3ObjectSlot;
/* 0x339 */ u8 deflectCount;
/* 0x33A */ u8 dekuPipesCutsceneState;
/* 0x33B */ u8 shouldDraw;
diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
index 5d49a16e7..382ed890d 100644
--- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
+++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
@@ -234,7 +234,7 @@ void DoorShutter_Init(Actor* thisx, PlayState* play2) {
this->slidingDoor.dyna.actor.room = -1;
}
- if ((this->requiredObjBankIndex = Object_GetSlot(&play->objectCtx, D_808A2180[sp24].objectId)) < 0) {
+ if ((this->objectSlot = Object_GetSlot(&play->objectCtx, D_808A2180[sp24].objectId)) <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->slidingDoor.dyna.actor);
return;
}
@@ -263,9 +263,9 @@ void DoorShutter_Destroy(Actor* thisx, PlayState* play) {
}
void DoorShutter_SetupType(DoorShutter* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->requiredObjBankIndex) &&
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot) &&
(!R_PLAY_FILL_SCREEN_ON || (R_PLAY_FILL_SCREEN_ALPHA == 0))) {
- this->slidingDoor.dyna.actor.objBankIndex = this->requiredObjBankIndex;
+ this->slidingDoor.dyna.actor.objectSlot = this->objectSlot;
this->slidingDoor.dyna.actor.draw = DoorShutter_Draw;
DoorShutter_SetupDoor(this, play);
}
diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.h b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.h
index 5b42db50a..d1ccd1955 100644
--- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.h
+++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.h
@@ -18,7 +18,7 @@ typedef struct DoorShutter {
/* 0x0162 */ u8 doorType;
/* 0x0163 */ u8 unk_163;
/* 0x0164 */ u8 unk_164;
- /* 0x0165 */ s8 requiredObjBankIndex;
+ /* 0x0165 */ s8 objectSlot;
/* 0x0166 */ s8 unk_166;
/* 0x0167 */ s8 unk_167;
/* 0x0168 */ f32 unk_168;
diff --git a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c
index 46fd9d5b2..850ffa198 100644
--- a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c
+++ b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c
@@ -215,13 +215,13 @@ void EnBba01_Init(Actor* thisx, PlayState* play) {
s32 pad;
EnBba01* this = THIS;
- this->enHy.animObjIndex = SubS_GetObjectIndex(OBJECT_BBA, play);
- this->enHy.headObjIndex = SubS_GetObjectIndex(OBJECT_BBA, play);
- this->enHy.skelUpperObjIndex = SubS_GetObjectIndex(OBJECT_BBA, play);
- this->enHy.skelLowerObjIndex = SubS_GetObjectIndex(OBJECT_BBA, play);
+ this->enHy.animObjectSlot = SubS_GetObjectSlot(OBJECT_BBA, play);
+ this->enHy.headObjectSlot = SubS_GetObjectSlot(OBJECT_BBA, play);
+ this->enHy.skelUpperObjectSlot = SubS_GetObjectSlot(OBJECT_BBA, play);
+ this->enHy.skelLowerObjectSlot = SubS_GetObjectSlot(OBJECT_BBA, play);
- if ((this->enHy.animObjIndex < 0) || (this->enHy.headObjIndex < 0) || (this->enHy.skelUpperObjIndex < 0) ||
- (this->enHy.skelLowerObjIndex < 0)) {
+ if ((this->enHy.animObjectSlot <= OBJECT_SLOT_NONE) || (this->enHy.headObjectSlot <= OBJECT_SLOT_NONE) ||
+ (this->enHy.skelUpperObjectSlot <= OBJECT_SLOT_NONE) || (this->enHy.skelLowerObjectSlot <= OBJECT_SLOT_NONE)) {
Actor_Kill(&this->enHy.actor);
}
this->enHy.actor.draw = NULL;
@@ -264,9 +264,9 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
if (limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) {
OPEN_DISPS(play->state.gfxCtx);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjIndex].segment);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjIndex].segment);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment);
CLOSE_DISPS(play->state.gfxCtx);
}
@@ -303,8 +303,8 @@ void EnBba01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
if (limbIndex == BBA_LIMB_HEAD) {
OPEN_DISPS(play->state.gfxCtx);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.skelUpperObjIndex].segment);
- gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelUpperObjIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.skelUpperObjectSlot].segment);
+ gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelUpperObjectSlot].segment);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c
index 09d67ac24..c55169218 100644
--- a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c
+++ b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c
@@ -205,13 +205,13 @@ void EnCne01_Init(Actor* thisx, PlayState* play) {
s32 pad;
EnCne01* this = THIS;
- this->enHy.animObjIndex = SubS_GetObjectIndex(OBJECT_OS_ANIME, play);
- this->enHy.headObjIndex = SubS_GetObjectIndex(OBJECT_CNE, play);
- this->enHy.skelUpperObjIndex = SubS_GetObjectIndex(OBJECT_CNE, play);
- this->enHy.skelLowerObjIndex = SubS_GetObjectIndex(OBJECT_CNE, play);
+ this->enHy.animObjectSlot = SubS_GetObjectSlot(OBJECT_OS_ANIME, play);
+ this->enHy.headObjectSlot = SubS_GetObjectSlot(OBJECT_CNE, play);
+ this->enHy.skelUpperObjectSlot = SubS_GetObjectSlot(OBJECT_CNE, play);
+ this->enHy.skelLowerObjectSlot = SubS_GetObjectSlot(OBJECT_CNE, play);
- if ((this->enHy.animObjIndex < 0) || (this->enHy.headObjIndex < 0) || (this->enHy.skelUpperObjIndex < 0) ||
- (this->enHy.skelLowerObjIndex < 0)) {
+ if ((this->enHy.animObjectSlot <= OBJECT_SLOT_NONE) || (this->enHy.headObjectSlot <= OBJECT_SLOT_NONE) ||
+ (this->enHy.skelUpperObjectSlot <= OBJECT_SLOT_NONE) || (this->enHy.skelLowerObjectSlot <= OBJECT_SLOT_NONE)) {
Actor_Kill(&this->enHy.actor);
}
this->enHy.actor.draw = NULL;
@@ -254,10 +254,10 @@ s32 EnCne01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
if (limbIndex == CNE_LIMB_HEAD) {
OPEN_DISPS(play->state.gfxCtx);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjIndex].segment);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment);
*dList = gCneHeadBrownHairDL;
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment);
CLOSE_DISPS(play->state.gfxCtx);
}
@@ -294,8 +294,8 @@ void EnCne01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
if (limbIndex == CNE_LIMB_RIGHT_FOOT) {
OPEN_DISPS(play->state.gfxCtx);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.skelUpperObjIndex].segment);
- gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelUpperObjIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.skelUpperObjectSlot].segment);
+ gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelUpperObjectSlot].segment);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c
index 01b701ce1..1e322650e 100644
--- a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c
+++ b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c
@@ -582,16 +582,16 @@ void func_80BE7718(EnDaiku2* this, PlayState* play) {
s32 i;
GraphicsContext* gfxCtx = play->state.gfxCtx;
EnDaiku2Effect* effect = this->effects;
- s32 objectIdx;
+ s32 objectSlot;
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL25_Opa(play->state.gfxCtx);
- objectIdx = Object_GetSlot(&play->objectCtx, OBJECT_BOMBIWA);
- if ((objectIdx >= 0) && Object_IsLoaded(&play->objectCtx, objectIdx)) {
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_BOMBIWA);
+ if ((objectSlot > OBJECT_SLOT_NONE) && Object_IsLoaded(&play->objectCtx, objectSlot)) {
gDPPipeSync(POLY_OPA_DISP++);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectIdx].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment);
for (i = 0; i < ARRAY_COUNT(this->effects); i++, effect++) {
if (effect->isEnabled) {
diff --git a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c
index 61170a5d0..0dab8ff45 100644
--- a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c
+++ b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c
@@ -209,10 +209,10 @@ s32 func_80A515C4(EnDnk* this) {
}
void func_80A51648(EnDnk* this, PlayState* play) {
- if (SubS_IsObjectLoaded(this->unk_28E, play) == true) {
- gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->unk_28E].segment);
+ if (SubS_IsObjectLoaded(this->objectSlot, play) == true) {
+ gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
this->actor.draw = func_80A52018;
- this->actor.objBankIndex = this->unk_28E;
+ this->actor.objectSlot = this->objectSlot;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 18.0f);
switch (ENDNK_GET_3(&this->actor)) {
@@ -263,22 +263,23 @@ void EnDnk_DoNothing(EnDnk* this, PlayState* play) {
void EnDnk_Init(Actor* thisx, PlayState* play) {
EnDnk* this = THIS;
- this->unk_28E = -1;
+ this->objectSlot = OBJECT_SLOT_NONE;
+
switch (ENDNK_GET_3(&this->actor)) {
case ENDNK_GET_3_1:
- this->unk_28E = SubS_GetObjectIndex(OBJECT_HINTNUTS, play);
+ this->objectSlot = SubS_GetObjectSlot(OBJECT_HINTNUTS, play);
break;
case ENDNK_GET_3_0:
- this->unk_28E = SubS_GetObjectIndex(OBJECT_DNK, play);
+ this->objectSlot = SubS_GetObjectSlot(OBJECT_DNK, play);
break;
case ENDNK_GET_3_2:
- this->unk_28E = SubS_GetObjectIndex(OBJECT_DEKUNUTS, play);
+ this->objectSlot = SubS_GetObjectSlot(OBJECT_DEKUNUTS, play);
break;
}
- if (this->unk_28E >= 0) {
+ if (this->objectSlot > OBJECT_SLOT_NONE) {
this->actionFunc = func_80A51648;
} else {
Actor_Kill(&this->actor);
diff --git a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.h b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.h
index ba870d67b..8b0900ae7 100644
--- a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.h
+++ b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.h
@@ -33,7 +33,7 @@ typedef struct EnDnk {
/* 0x21E */ Vec3s morphTable[DNK_LIMB_MAX];
/* 0x260 */ Gfx* unk_260[DEKU_PALACE_GUARD_LIMB_MAX];
/* 0x28C */ u16 unk_28C;
- /* 0x28E */ s8 unk_28E;
+ /* 0x28E */ s8 objectSlot;
/* 0x290 */ s16 unk_290;
/* 0x292 */ s16 unk_292;
/* 0x294 */ s16 unk_294;
diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.c b/src/overlays/actors/ovl_En_Door/z_en_door.c
index 124dee6f7..3451af722 100644
--- a/src/overlays/actors/ovl_En_Door/z_en_door.c
+++ b/src/overlays/actors/ovl_En_Door/z_en_door.c
@@ -294,7 +294,7 @@ typedef struct {
/* 0x4 */ s16 objectId;
} EnDoorInfo; // size = 0x6
-static EnDoorInfo sObjInfo[] = {
+static EnDoorInfo sObjectInfo[] = {
{ SCENE_MITURIN, 0x01, OBJECT_NUMA_OBJ },
{ SCENE_TENMON_DAI, 0x02, OBJECT_DOR01 },
{ SCENE_00KEIKOKU, 0x02, OBJECT_DOR01 },
@@ -416,8 +416,8 @@ static Gfx* D_808679A4[14][2] = {
void EnDoor_Init(Actor* thisx, PlayState* play2) {
PlayState* play = play2;
- s32 objectBankIndex;
- EnDoorInfo* objectInfo = &sObjInfo[0];
+ s32 objectSlot;
+ EnDoorInfo* objectInfo = &sObjectInfo[0];
EnDoor* this = THIS;
s32 i;
@@ -433,31 +433,32 @@ void EnDoor_Init(Actor* thisx, PlayState* play2) {
SkelAnime_Init(play, &this->knobDoor.skelAnime, &gDoorSkel, &gameplay_keep_Anim_020658, this->limbTable,
this->limbTable, DOOR_LIMB_MAX);
if (this->doorType == ENDOOR_TYPE_5) {
- objectInfo = &sObjInfo[17 + this->switchFlag];
+ objectInfo = &sObjectInfo[17 + this->switchFlag];
} else {
- for (i = 0; i < ARRAY_COUNT(sObjInfo) - 34; i++, objectInfo++) {
+ for (i = 0; i < ARRAY_COUNT(sObjectInfo) - 34; i++, objectInfo++) {
if (play->sceneId == objectInfo->sceneId) {
break;
}
}
- if ((i >= ARRAY_COUNT(sObjInfo) - 34) && (Object_GetSlot(&play->objectCtx, GAMEPLAY_FIELD_KEEP) >= 0)) {
+ if ((i >= ARRAY_COUNT(sObjectInfo) - 34) &&
+ (Object_GetSlot(&play->objectCtx, GAMEPLAY_FIELD_KEEP) > OBJECT_SLOT_NONE)) {
objectInfo++;
}
}
this->knobDoor.dlIndex = objectInfo->dListIndex;
- objectBankIndex = Object_GetSlot(&play->objectCtx, objectInfo->objectId);
- if (objectBankIndex < 0) {
- objectInfo = &sObjInfo[15];
- objectBankIndex = Object_GetSlot(&play->objectCtx, objectInfo->objectId);
- if (objectBankIndex != 0) {
+ objectSlot = Object_GetSlot(&play->objectCtx, objectInfo->objectId);
+ if (objectSlot <= OBJECT_SLOT_NONE) {
+ objectInfo = &sObjectInfo[15];
+ objectSlot = Object_GetSlot(&play->objectCtx, objectInfo->objectId);
+ if (objectSlot != 0) {
Actor_Kill(&this->knobDoor.dyna.actor);
return;
}
}
- this->knobDoor.requiredObjBankIndex = objectBankIndex;
+ this->knobDoor.objectSlot = objectSlot;
this->knobDoor.dlIndex = objectInfo->dListIndex; // Set twice?
- if (this->knobDoor.dyna.actor.objBankIndex == this->knobDoor.requiredObjBankIndex) {
+ if (this->knobDoor.dyna.actor.objectSlot == this->knobDoor.objectSlot) {
func_80866A5C(this, play);
} else {
this->actionFunc = func_80866A5C;
@@ -480,8 +481,8 @@ void EnDoor_Destroy(Actor* thisx, PlayState* play) {
}
void func_80866A5C(EnDoor* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->knobDoor.requiredObjBankIndex)) {
- this->knobDoor.dyna.actor.objBankIndex = this->knobDoor.requiredObjBankIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->knobDoor.objectSlot)) {
+ this->knobDoor.dyna.actor.objectSlot = this->knobDoor.objectSlot;
this->actionFunc = func_80866B20;
this->knobDoor.dyna.actor.world.rot.y = 0;
if (this->doorType == ENDOOR_TYPE_1) {
@@ -688,7 +689,7 @@ s32 EnDoor_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
void EnDoor_Draw(Actor* thisx, PlayState* play) {
EnDoor* this = THIS;
- if (this->knobDoor.dyna.actor.objBankIndex == this->knobDoor.requiredObjBankIndex) {
+ if (this->knobDoor.dyna.actor.objectSlot == this->knobDoor.objectSlot) {
OPEN_DISPS(play->state.gfxCtx);
if ((this->doorType == ENDOOR_TYPE_7) && (this->switchFlag == 0)) {
diff --git a/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.c b/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.c
index b771d09fe..c6c1b312e 100644
--- a/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.c
+++ b/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.c
@@ -58,7 +58,7 @@ typedef struct {
/* 0x4 */ s16 objectId;
} EnDoorEtcInfo; // size = 0x6
-EnDoorEtcInfo sObjInfo[] = {
+EnDoorEtcInfo sObjectInfo[] = {
{ SCENE_MITURIN, 1, OBJECT_NUMA_OBJ },
{ -1, 0, GAMEPLAY_KEEP },
{ -1, 13, GAMEPLAY_FIELD_KEEP },
@@ -87,8 +87,8 @@ static InitChainEntry sInitChain[] = {
void EnDoorEtc_Init(Actor* thisx, PlayState* play2) {
PlayState* play = play2;
- s32 objectIndex;
- EnDoorEtcInfo* objectInfo = sObjInfo;
+ s32 objectSlot;
+ EnDoorEtcInfo* objectInfo = sObjectInfo;
s32 i;
EnDoorEtc* this = THIS;
@@ -101,16 +101,16 @@ void EnDoorEtc_Init(Actor* thisx, PlayState* play2) {
break;
}
}
- if ((i >= 15) && (Object_GetSlot(&play->objectCtx, GAMEPLAY_FIELD_KEEP) >= 0)) {
+ if ((i >= 15) && (Object_GetSlot(&play->objectCtx, GAMEPLAY_FIELD_KEEP) > OBJECT_SLOT_NONE)) {
objectInfo++;
}
- objectIndex = Object_GetSlot(&play->objectCtx, objectInfo->objectId);
- if (objectIndex < 0) {
+ objectSlot = Object_GetSlot(&play->objectCtx, objectInfo->objectId);
+ if (objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->knobDoor.dyna.actor);
} else {
- this->knobDoor.requiredObjBankIndex = objectIndex;
+ this->knobDoor.objectSlot = objectSlot;
this->knobDoor.dlIndex = objectInfo->dListIndex;
- if (this->knobDoor.dyna.actor.objBankIndex == this->knobDoor.requiredObjBankIndex) {
+ if (this->knobDoor.dyna.actor.objectSlot == this->knobDoor.objectSlot) {
EnDoorEtc_WaitForObject(this, play);
} else {
this->actionFunc = EnDoorEtc_WaitForObject;
@@ -139,9 +139,9 @@ s32 EnDoorEtc_IsDistanceGreater(Vec3f* a, Vec3f* b, f32 c) {
}
void EnDoorEtc_WaitForObject(EnDoorEtc* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->knobDoor.requiredObjBankIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->knobDoor.objectSlot)) {
this->knobDoor.dyna.actor.flags &= ~ACTOR_FLAG_10;
- this->knobDoor.dyna.actor.objBankIndex = this->knobDoor.requiredObjBankIndex;
+ this->knobDoor.dyna.actor.objectSlot = this->knobDoor.objectSlot;
this->actionFunc = func_80AC2354;
this->knobDoor.dyna.actor.draw = EnDoorEtc_Draw;
}
diff --git a/src/overlays/actors/ovl_En_Drs/z_en_drs.c b/src/overlays/actors/ovl_En_Drs/z_en_drs.c
index a521abaa0..e067b57b4 100644
--- a/src/overlays/actors/ovl_En_Drs/z_en_drs.c
+++ b/src/overlays/actors/ovl_En_Drs/z_en_drs.c
@@ -68,7 +68,7 @@ void EnDrs_CollisionUpdate(EnDrs* this, PlayState* play) {
void EnDrs_Setup(EnDrs* this, PlayState* play) {
s32 pad[2];
- if ((this->moonMaskObjBankIndex >= 0) && SubS_IsObjectLoaded(this->moonMaskObjBankIndex, play)) {
+ if ((this->moonMaskObjectSlot > OBJECT_SLOT_NONE) && SubS_IsObjectLoaded(this->moonMaskObjectSlot, play)) {
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &gWeddingDressMannequinSkel, NULL, this->jointTable,
this->morphTable, WEDDING_DRESS_MANNEQUIN_LIMB_MAX);
@@ -87,7 +87,7 @@ void EnDrs_Idle(EnDrs* this, PlayState* play) {
void EnDrs_Init(Actor* thisx, PlayState* play) {
EnDrs* this = THIS;
- this->moonMaskObjBankIndex = SubS_GetObjectIndex(OBJECT_MSMO, play);
+ this->moonMaskObjectSlot = SubS_GetObjectSlot(OBJECT_MSMO, play);
this->actionFunc = EnDrs_Setup;
}
@@ -110,8 +110,8 @@ void EnDrs_Update(Actor* thisx, PlayState* play) {
void EnDrs_PostLimbDraw(PlayState* play2, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnDrs* this = THIS;
PlayState* play = play2;
- s8 temp = this->moonMaskObjBankIndex;
- s8 temp2 = this->actor.objBankIndex;
+ s8 temp = this->moonMaskObjectSlot;
+ s8 temp2 = this->actor.objectSlot;
// Anju removes the Moon Mask at the start of the Couple's Mask cutscene
// after that it will no longer be rendered.
diff --git a/src/overlays/actors/ovl_En_Drs/z_en_drs.h b/src/overlays/actors/ovl_En_Drs/z_en_drs.h
index d811ae780..3c9803bf5 100644
--- a/src/overlays/actors/ovl_En_Drs/z_en_drs.h
+++ b/src/overlays/actors/ovl_En_Drs/z_en_drs.h
@@ -16,7 +16,7 @@ typedef struct EnDrs {
/* 0x18C */ ColliderCylinder collider;
/* 0x1D8 */ Vec3s jointTable[WEDDING_DRESS_MANNEQUIN_LIMB_MAX];
/* 0x1F0 */ Vec3s morphTable[WEDDING_DRESS_MANNEQUIN_LIMB_MAX];
- /* 0x208 */ s8 moonMaskObjBankIndex;
+ /* 0x208 */ s8 moonMaskObjectSlot;
} EnDrs; // size = 0x20C */
#endif // Z_EN_DRS_H
diff --git a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
index 64b7ea1c2..c67a09e65 100644
--- a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
+++ b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
@@ -171,8 +171,8 @@ void EnEndingHero6_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL25_Opa(play->state.gfxCtx);
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
- if ((this->objectIndex >= 0) && Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectIndex].segment);
+ if ((this->objectSlot > OBJECT_SLOT_NONE) && Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectSlot].segment);
switch (this->type) {
case ENDING_HERO6_TYPE_DAIKU_RED:
diff --git a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.h b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.h
index 808267b7b..3ec5698e0 100644
--- a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.h
+++ b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.h
@@ -27,7 +27,7 @@ typedef struct EnEndingHero6 {
/* 0x278 */ EnEndingHero6ActionFunc actionFunc;
/* 0x27C */ s32 animIndex;
/* 0x280 */ s32 type;
- /* 0x284 */ s8 objectIndex;
+ /* 0x284 */ s8 objectSlot;
/* 0x286 */ s16 timer;
/* 0x288 */ s16 blinkTimer;
/* 0x28A */ s16 eyeState;
diff --git a/src/overlays/actors/ovl_En_Fall/z_en_fall.c b/src/overlays/actors/ovl_En_Fall/z_en_fall.c
index e902baa2d..33a6bf992 100644
--- a/src/overlays/actors/ovl_En_Fall/z_en_fall.c
+++ b/src/overlays/actors/ovl_En_Fall/z_en_fall.c
@@ -132,7 +132,7 @@ void EnFall_RisingDebris_ResetEffects(EnFall* this) {
void EnFall_Init(Actor* thisx, PlayState* play) {
EnFall* this = THIS;
- s32 objectIndex;
+ s32 objectSlot;
this->eyeGlowIntensity = 0.0f;
this->flags = 0;
@@ -165,27 +165,27 @@ void EnFall_Init(Actor* thisx, PlayState* play) {
case EN_FALL_TYPE_LODMOON_NO_LERP:
case EN_FALL_TYPE_LODMOON:
case EN_FALL_TYPE_LODMOON_INVERTED_STONE_TOWER:
- objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_LODMOON);
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_LODMOON);
break;
case EN_FALL_TYPE_MOONS_TEAR:
- objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_MOONSTON);
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MOONSTON);
break;
case EN_FALL_TYPE_STOPPED_MOON_OPEN_MOUTH:
- objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_FALL2);
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_FALL2);
break;
default:
- objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_FALL);
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_FALL);
break;
}
- if (objectIndex < 0) {
+ if (objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
- this->objIndex = objectIndex;
+ this->objectSlot = objectSlot;
this->actionFunc = EnFall_Setup;
}
@@ -210,8 +210,8 @@ Actor* EnFall_MoonsTear_GetTerminaFieldMoon(PlayState* play) {
void EnFall_Setup(EnFall* this, PlayState* play) {
Actor* moon;
- if (Object_IsLoaded(&play->objectCtx, this->objIndex)) {
- this->actor.objBankIndex = this->objIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
this->actionFunc = EnFall_Moon_PerformDefaultActions;
switch (EN_FALL_TYPE(&this->actor)) {
case EN_FALL_TYPE_TITLE_SCREEN_MOON:
diff --git a/src/overlays/actors/ovl_En_Fall/z_en_fall.h b/src/overlays/actors/ovl_En_Fall/z_en_fall.h
index 60bb7ec33..dde56ce91 100644
--- a/src/overlays/actors/ovl_En_Fall/z_en_fall.h
+++ b/src/overlays/actors/ovl_En_Fall/z_en_fall.h
@@ -30,7 +30,7 @@ typedef struct EnFall {
/* 0x000 */ Actor actor;
/* 0x144 */ s16 dayStartTime;
/* 0x146 */ s16 currentDay;
- /* 0x148 */ u8 objIndex;
+ /* 0x148 */ u8 objectSlot;
/* 0x14C */ f32 scale;
/* 0x150 */ union {
f32 eyeGlowIntensity;
diff --git a/src/overlays/actors/ovl_En_Geg/z_en_geg.c b/src/overlays/actors/ovl_En_Geg/z_en_geg.c
index 938874266..10c8b5037 100644
--- a/src/overlays/actors/ovl_En_Geg/z_en_geg.c
+++ b/src/overlays/actors/ovl_En_Geg/z_en_geg.c
@@ -416,12 +416,12 @@ s32 func_80BB1D64(EnGeg* this, PlayState* play) {
}
void EnGeg_UpdateSkelAnime(EnGeg* this, PlayState* play) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->unk_248].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
SkelAnime_Update(&this->skelAnime);
}
void EnGeg_ChangeAnim(EnGeg* this, PlayState* play) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->unk_248].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex);
}
@@ -454,7 +454,7 @@ s32 func_80BB2088(EnGeg* this, PlayState* play) {
}
void func_80BB217C(EnGeg* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->unk_248)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
this->animIndex = ENGEG_ANIM_5;
EnGeg_ChangeAnim(this, play);
Actor_SetScale(&this->actor, 0.01f);
@@ -550,8 +550,8 @@ void func_80BB2520(EnGeg* this, PlayState* play) {
break;
case 0xD66:
- this->unk_248 = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
- if (this->unk_248 >= 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
+ if (this->objectSlot > OBJECT_SLOT_NONE) {
this->animIndex = ENGEG_ANIM_19;
EnGeg_ChangeAnim(this, play);
}
@@ -568,8 +568,8 @@ void func_80BB2520(EnGeg* this, PlayState* play) {
case 0xD72:
case 0xD75:
case 0xD8B:
- this->unk_248 = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
- if (this->unk_248 >= 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
+ if (this->objectSlot > OBJECT_SLOT_NONE) {
this->animIndex = ENGEG_ANIM_4;
EnGeg_ChangeAnim(this, play);
}
@@ -713,8 +713,8 @@ void func_80BB2B1C(EnGeg* this, PlayState* play) {
CutsceneManager_StartWithPlayerCsAndSetFlag(this->csId, &this->actor);
this->unk_496 = 0xD68;
Message_ContinueTextbox(play, this->unk_496);
- this->unk_248 = Object_GetSlot(&play->objectCtx, OBJECT_TAISOU);
- if (this->unk_248 >= 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_TAISOU);
+ if (this->objectSlot > OBJECT_SLOT_NONE) {
this->animIndex = ENGEG_ANIM_13;
EnGeg_ChangeAnim(this, play);
}
@@ -926,8 +926,8 @@ void EnGeg_Init(Actor* thisx, PlayState* play) {
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
if (this->actor.update != NULL) {
- this->unk_248 = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
- if (this->unk_248 < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
}
}
diff --git a/src/overlays/actors/ovl_En_Geg/z_en_geg.h b/src/overlays/actors/ovl_En_Geg/z_en_geg.h
index 980ada9fd..5d2990a09 100644
--- a/src/overlays/actors/ovl_En_Geg/z_en_geg.h
+++ b/src/overlays/actors/ovl_En_Geg/z_en_geg.h
@@ -23,7 +23,7 @@ typedef struct EnGeg {
/* 0x240 */ s16 unk_240;
/* 0x242 */ s16 unk_242;
/* 0x244 */ s16 unk_244;
- /* 0x248 */ s32 unk_248;
+ /* 0x248 */ s32 objectSlot;
/* 0x24C */ Vec3s jointTable[GORON_LIMB_MAX];
/* 0x2B8 */ Vec3s morphTable[GORON_LIMB_MAX];
/* 0x324 */ UNK_TYPE1 unk324[0x144];
diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
index 299ab5c4b..5481d8a70 100644
--- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
+++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
@@ -165,8 +165,8 @@ void EnGirlA_InitObjIndex(EnGirlA* this, PlayState* play) {
return;
}
- this->objIndex = Object_GetSlot(&play->objectCtx, sShopItemEntries[params].objectId);
- if (this->objIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, sShopItemEntries[params].objectId);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -564,9 +564,9 @@ void EnGirlA_InitalUpdate(EnGirlA* this, PlayState* play) {
s16 params = this->actor.params;
ShopItemEntry* shopItem = &sShopItemEntries[params];
- if (Object_IsLoaded(&play->objectCtx, this->objIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
this->actor.flags &= ~ACTOR_FLAG_10;
- this->actor.objBankIndex = this->objIndex;
+ this->actor.objectSlot = this->objectSlot;
this->actor.textId = shopItem->descriptionTextId;
this->choiceTextId = shopItem->choiceTextId;
diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.h b/src/overlays/actors/ovl_En_GirlA/z_en_girla.h
index e155ef6df..f289e31d5 100644
--- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.h
+++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.h
@@ -27,7 +27,7 @@ typedef struct EnGirlA {
/* 0x000 */ Actor actor;
/* 0x144 */ UNK_TYPE1 unk144[0x44];
/* 0x188 */ EnGirlAActionFunc actionFunc;
- /* 0x18C */ s8 objIndex;
+ /* 0x18C */ s8 objectSlot;
/* 0x190 */ EnGirlAActionFunc mainActionFunc;
/* 0x194 */ s32 isInitialized;
/* 0x198 */ u16 choiceTextId;
diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c
index 39b705649..ca38f91ef 100644
--- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c
+++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c
@@ -306,11 +306,11 @@ EnDoor* func_8094DF90(PlayState* play, s32 arg1) {
s32 EnGm_UpdateSkelAnime(EnGm* this, PlayState* play) {
s32 isAnimFinished = false;
- if (this->unk_262 < 0) {
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
return false;
}
- if (this->unk_262 >= 0) {
+ if (this->objectSlot > OBJECT_SLOT_NONE) {
this->skelAnime.playSpeed = this->animPlaySpeed;
isAnimFinished = SkelAnime_Update(&this->skelAnime);
}
@@ -319,7 +319,7 @@ s32 EnGm_UpdateSkelAnime(EnGm* this, PlayState* play) {
}
s32 EnGm_ChangeAnim(EnGm* this, PlayState* play, s32 animIndex) {
- s8 tmp = this->unk_262;
+ s8 tmp = this->objectSlot;
s32 changeAnim = false;
s32 didAnimChange = false;
@@ -347,7 +347,7 @@ s32 func_8094E0F8(EnGm* this, PlayState* play) {
if ((this->unk_260 != play->roomCtx.curRoom.num) && (play->roomCtx.status == 0)) {
this->unk_260 = play->roomCtx.curRoom.num;
- this->unk_262 = SubS_GetObjectIndex(OBJECT_IN2, play);
+ this->objectSlot = SubS_GetObjectSlot(OBJECT_IN2, play);
this->actor.draw = NULL;
this->unk_3FC = 1;
}
@@ -356,7 +356,7 @@ s32 func_8094E0F8(EnGm* this, PlayState* play) {
return false;
}
- if ((this->unk_262 < 0) || !SubS_IsObjectLoaded(this->unk_262, play)) {
+ if ((this->objectSlot <= OBJECT_SLOT_NONE) || !SubS_IsObjectLoaded(this->objectSlot, play)) {
ret = true;
} else {
this->actor.draw = EnGm_Draw;
@@ -1863,7 +1863,7 @@ void EnGm_Draw(Actor* thisx, PlayState* play) {
};
EnGm* this = THIS;
- if ((this->unk_258 != 0) && (this->unk_262 >= 0)) {
+ if ((this->unk_258 != 0) && (this->objectSlot > OBJECT_SLOT_NONE)) {
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL25_Opa(play->state.gfxCtx);
diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.h b/src/overlays/actors/ovl_En_Gm/z_en_gm.h
index 968d6dd07..e5785d837 100644
--- a/src/overlays/actors/ovl_En_Gm/z_en_gm.h
+++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.h
@@ -33,7 +33,7 @@ typedef struct EnGm {
/* 0x25C */ s32 unk_25C;
/* 0x260 */ s8 unk_260;
/* 0x261 */ s8 unk_261;
- /* 0x262 */ s8 unk_262;
+ /* 0x262 */ s8 objectSlot;
/* 0x264 */ s32* unk_264;
/* 0x268 */ Actor* unk_268;
/* 0x26C */ UNK_TYPE1 unk_26C[0xC];
diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.c b/src/overlays/actors/ovl_En_Go/z_en_go.c
index 2f6217411..691703307 100644
--- a/src/overlays/actors/ovl_En_Go/z_en_go.c
+++ b/src/overlays/actors/ovl_En_Go/z_en_go.c
@@ -978,23 +978,23 @@ s32 EnGo_UpdateSpringArrivalCutscene(EnGo* this, PlayState* play) {
* @return True if non-repeating animation has finished
*/
s32 EnGo_UpdateSkelAnime(EnGo* this, PlayState* play) {
- s8 objIndex = this->actor.objBankIndex;
+ s8 objectSlot = this->actor.objectSlot;
s8 extraObjIndex = -1;
s32 isAnimFinished = false;
- if ((this->animIndex >= ENGO_ANIM_SPRING_MIN) && (this->hakuginDemoObjIndex >= 0)) {
- extraObjIndex = this->hakuginDemoObjIndex;
- } else if ((this->animIndex >= ENGO_ANIM_ATHLETICS_MIN) && (this->taisouObjIndex >= 0)) {
- extraObjIndex = this->taisouObjIndex;
+ if ((this->animIndex >= ENGO_ANIM_SPRING_MIN) && (this->hakuginDemoObjectSlot > OBJECT_SLOT_NONE)) {
+ extraObjIndex = this->hakuginDemoObjectSlot;
+ } else if ((this->animIndex >= ENGO_ANIM_ATHLETICS_MIN) && (this->taisouObjectSlot > OBJECT_SLOT_NONE)) {
+ extraObjIndex = this->taisouObjectSlot;
} else if (this->animIndex < ENGO_ANIM_ATHLETICS_MIN) {
- extraObjIndex = this->actor.objBankIndex;
+ extraObjIndex = this->actor.objectSlot;
}
if (extraObjIndex >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment);
this->skelAnime.playSpeed = this->animPlaySpeed;
isAnimFinished = SkelAnime_Update(&this->skelAnime);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
}
return isAnimFinished;
@@ -1038,16 +1038,16 @@ s32 EnGo_UpdateSfx(EnGo* this, PlayState* play) {
* @return True if animation was changed
*/
s32 EnGo_ChangeAnim(EnGo* this, PlayState* play, EnGoAnimation animIndex) {
- s8 objIndex = this->actor.objBankIndex;
+ s8 objectSlot = this->actor.objectSlot;
s8 extraObjIndex = -1;
s32 didAnimChange = false;
- if ((animIndex >= ENGO_ANIM_SPRING_MIN) && (this->hakuginDemoObjIndex >= 0)) {
- extraObjIndex = this->hakuginDemoObjIndex;
- } else if ((animIndex >= ENGO_ANIM_ATHLETICS_MIN) && (this->taisouObjIndex >= 0)) {
- extraObjIndex = this->taisouObjIndex;
+ if ((animIndex >= ENGO_ANIM_SPRING_MIN) && (this->hakuginDemoObjectSlot > OBJECT_SLOT_NONE)) {
+ extraObjIndex = this->hakuginDemoObjectSlot;
+ } else if ((animIndex >= ENGO_ANIM_ATHLETICS_MIN) && (this->taisouObjectSlot > OBJECT_SLOT_NONE)) {
+ extraObjIndex = this->taisouObjectSlot;
} else if (animIndex < ENGO_ANIM_ATHLETICS_MIN) {
- extraObjIndex = this->actor.objBankIndex;
+ extraObjIndex = this->actor.objectSlot;
}
if (extraObjIndex >= 0) {
@@ -1055,7 +1055,7 @@ s32 EnGo_ChangeAnim(EnGo* this, PlayState* play, EnGoAnimation animIndex) {
this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
this->animPlaySpeed = this->skelAnime.playSpeed;
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
}
return didAnimChange;
@@ -1893,8 +1893,8 @@ void EnGo_SetupMedigoron(EnGo* this, PlayState* play) {
void EnGo_SetupInitialAction(EnGo* this, PlayState* play) {
EffectTireMarkInit tireMarkInit = { 0, 62, { 0, 0, 15, 100 } };
- if (((this->taisouObjIndex < 0) || SubS_IsObjectLoaded(this->taisouObjIndex, play)) ||
- ((this->hakuginDemoObjIndex < 0) || SubS_IsObjectLoaded(this->hakuginDemoObjIndex, play))) {
+ if (((this->taisouObjectSlot <= OBJECT_SLOT_NONE) || SubS_IsObjectLoaded(this->taisouObjectSlot, play)) ||
+ ((this->hakuginDemoObjectSlot <= OBJECT_SLOT_NONE) || SubS_IsObjectLoaded(this->hakuginDemoObjectSlot, play))) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable,
GORON_LIMB_MAX);
@@ -2412,8 +2412,8 @@ void EnGo_Talk(EnGo* this, PlayState* play) {
void EnGo_Init(Actor* thisx, PlayState* play) {
EnGo* this = THIS;
- this->taisouObjIndex = SubS_GetObjectIndex(OBJECT_TAISOU, play);
- this->hakuginDemoObjIndex = SubS_GetObjectIndex(OBJECT_HAKUGIN_DEMO, play);
+ this->taisouObjectSlot = SubS_GetObjectSlot(OBJECT_TAISOU, play);
+ this->hakuginDemoObjectSlot = SubS_GetObjectSlot(OBJECT_HAKUGIN_DEMO, play);
this->actionFunc = EnGo_SetupInitialAction;
}
diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.h b/src/overlays/actors/ovl_En_Go/z_en_go.h
index 97959a03e..d6173d6b2 100644
--- a/src/overlays/actors/ovl_En_Go/z_en_go.h
+++ b/src/overlays/actors/ovl_En_Go/z_en_go.h
@@ -93,8 +93,8 @@ typedef struct EnGo {
/* 0x1E0 */ ColliderCylinder unusedCylinder;
/* 0x22C */ ColliderSphere colliderSphere;
/* 0x284 */ Path* gatekeeperPath;
- /* 0x288 */ s8 taisouObjIndex;
- /* 0x289 */ s8 hakuginDemoObjIndex;
+ /* 0x288 */ s8 taisouObjectSlot;
+ /* 0x289 */ s8 hakuginDemoObjectSlot;
/* 0x28C */ s32 msgScriptResumePos;
/* 0x290 */ Vec3f headPos;
/* 0x29C */ Vec3f bodyPos;
diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.c b/src/overlays/actors/ovl_En_Horse/z_en_horse.c
index df5718605..eaf49d673 100644
--- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c
+++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c
@@ -738,7 +738,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
this->type = HORSE_TYPE_DONKEY;
this->unk_528 = 80.0f;
this->boostSpeed = 12;
- if ((this->bankIndex = Object_GetSlot(&play->objectCtx, OBJECT_HA)) < 0) {
+ if ((this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_HA)) <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -748,8 +748,8 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
this->type = HORSE_TYPE_2;
this->unk_528 = 64.8f;
this->boostSpeed = 15;
- if ((this->bankIndex = Object_GetSlot(&play->objectCtx, OBJECT_HORSE_LINK_CHILD)) < 0) {
- thisx->objBankIndex = Object_SpawnPersistent(&play->objectCtx, OBJECT_HORSE_LINK_CHILD);
+ if ((this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_HORSE_LINK_CHILD)) <= OBJECT_SLOT_NONE) {
+ thisx->objectSlot = Object_SpawnPersistent(&play->objectCtx, OBJECT_HORSE_LINK_CHILD);
Actor_SetObjectDependency(play, &this->actor);
Skin_Init(&play->state, &this->skin, sSkeletonHeaders[this->type], sAnimationHeaders[this->type][0]);
Animation_PlayOnce(&this->skin.skelAnime, sAnimationHeaders[this->type][this->animIndex]);
@@ -760,7 +760,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
} else if (ENHORSE_IS_BANDIT_TYPE(&this->actor)) {
this->type = HORSE_TYPE_BANDIT;
this->boostSpeed = 12;
- if ((this->bankIndex = Object_GetSlot(&play->objectCtx, OBJECT_HA)) < 0) {
+ if ((this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_HA)) <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -948,8 +948,8 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
void func_8087D540(Actor* thisx, PlayState* play) {
EnHorse* this = THIS;
- if (Object_IsLoaded(&play->objectCtx, this->bankIndex)) {
- this->actor.objBankIndex = this->bankIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->actor);
this->actor.update = EnHorse_Update;
if (this->unk_1EC & 1) {
diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.h b/src/overlays/actors/ovl_En_Horse/z_en_horse.h
index f3c868c85..8213bed6a 100644
--- a/src/overlays/actors/ovl_En_Horse/z_en_horse.h
+++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.h
@@ -150,7 +150,7 @@ typedef struct EnHorse {
/* 0x148 */ s32 noInputTimer;
/* 0x14C */ s32 noInputTimerMax;
/* 0x150 */ s32 type;
- /* 0x154 */ s8 bankIndex;
+ /* 0x154 */ s8 objectSlot;
/* 0x158 */ Skin skin;
/* 0x1E8 */ s32 stateFlags;
/* 0x1EC */ s32 unk_1EC;
diff --git a/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.c b/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.c
index 77b4ce909..8efc69c14 100644
--- a/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.c
+++ b/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.c
@@ -209,8 +209,8 @@ void EnInvadepohDemo_DoNothing(EnInvadepohDemo* this, PlayState* play) {
void EnInvadepohDemo_Alien_Init(EnInvadepohDemo* this, PlayState* play) {
Actor_ProcessInitChain(&this->actor, sAlienInitChain);
this->actor.flags = ACTOR_FLAG_10 | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_80000000;
- this->objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_UCH);
- if (this->objectIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_UCH);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -220,8 +220,8 @@ void EnInvadepohDemo_Alien_Init(EnInvadepohDemo* this, PlayState* play) {
void EnInvadepohDemo_Romani_Init(EnInvadepohDemo* this, PlayState* play) {
Actor_ProcessInitChain(&this->actor, sRomaniInitChain);
- this->objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_MA1);
- if (this->objectIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MA1);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -233,8 +233,8 @@ void EnInvadepohDemo_Cow_Init(EnInvadepohDemo* this, PlayState* play) {
Actor_ProcessInitChain(&this->actor, sCowInitChain);
Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_INVADEPOH_DEMO, 0.0f, 0.0f, 0.0f, 0, 0, 0,
EN_INVADEPOH_DEMO_TYPE_COW_TAIL);
- this->objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_COW);
- if (this->objectIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_COW);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -250,8 +250,8 @@ void EnInvadepohDemo_Ufo_Init(EnInvadepohDemo* this, PlayState* play) {
void EnInvadepohDemo_CowTail_Init(EnInvadepohDemo* this, PlayState* play) {
Actor_ProcessInitChain(&this->actor, sCowTailInitChain);
- this->objectIndex = Object_GetSlot(&play->objectCtx, OBJECT_COW);
- if (this->objectIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_COW);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -503,8 +503,8 @@ void EnInvadepohDemo_CowTail_Idle(EnInvadepohDemo* this, PlayState* play) {
void EnInvadepohDemo_Alien_WaitForObject(EnInvadepohDemo* this, PlayState* play) {
s32 pad[2];
- if (Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
- this->actor.objBankIndex = this->objectIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->actor);
this->drawFlags |= DRAW_FLAG_SHOULD_DRAW;
this->actionFunc = EnInvadepohDemo_SelectCueAction;
@@ -517,8 +517,8 @@ void EnInvadepohDemo_Alien_WaitForObject(EnInvadepohDemo* this, PlayState* play)
void EnInvadepohDemo_Romani_WaitForObject(EnInvadepohDemo* this, PlayState* play) {
s32 pad[2];
- if (Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
- this->actor.objBankIndex = this->objectIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->actor);
this->drawFlags |= DRAW_FLAG_SHOULD_DRAW;
this->actionFunc = EnInvadepohDemo_SelectCueAction;
@@ -531,8 +531,8 @@ void EnInvadepohDemo_Romani_WaitForObject(EnInvadepohDemo* this, PlayState* play
void EnInvadepohDemo_Cow_WaitForObject(EnInvadepohDemo* this, PlayState* play) {
s32 pad[2];
- if (Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
- this->actor.objBankIndex = this->objectIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->actor);
this->drawFlags |= DRAW_FLAG_SHOULD_DRAW;
this->actionFunc = EnInvadepohDemo_SelectCueAction;
@@ -545,8 +545,8 @@ void EnInvadepohDemo_Cow_WaitForObject(EnInvadepohDemo* this, PlayState* play) {
void EnInvadepohDemo_CowTail_WaitForObject(EnInvadepohDemo* this, PlayState* play) {
s32 pad[2];
- if (Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
- this->actor.objBankIndex = this->objectIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->actor);
this->drawFlags |= DRAW_FLAG_SHOULD_DRAW;
this->actionFunc = EnInvadepohDemo_CowTail_Idle;
@@ -786,7 +786,7 @@ void EnInvadepohDemo_Init(Actor* thisx, PlayState* play) {
this->ufoRotZ = 0;
this->pathIndex = EN_INVADEPOH_DEMO_GET_PATH_INDEX(&this->actor);
this->pointIndex = 0;
- this->objectIndex = -1;
+ this->objectSlot = OBJECT_SLOT_NONE;
sInitFuncs[this->type](this, play);
}
diff --git a/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.h b/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.h
index ac93078ec..92e35b39f 100644
--- a/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.h
+++ b/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.h
@@ -43,7 +43,7 @@ typedef struct EnInvadepohDemo {
/* 0x154 */ s32 cueId; // "demo_mode"
/* 0x158 */ s32 pathIndex;
/* 0x15C */ s32 pointIndex;
- /* 0x160 */ s32 objectIndex;
+ /* 0x160 */ s32 objectSlot;
/* 0x164 */ s32 drawFlags; // Only has one flag to control whether or not to draw
/* 0x168 */ s32 cueIdOffset;
/* 0x16C */ s16 ufoRotZ;
diff --git a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c
index 2e3e2fc39..44967e4bd 100644
--- a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c
+++ b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c
@@ -71,7 +71,7 @@ static EnIshiUnkFunc2 D_8095F6D8[] = { func_8095D804, func_8095DABC };
static EnIshiUnkFunc D_8095F6E0[] = { func_8095DDA8, func_8095DE9C };
-static s16 D_8095F6E8[] = { GAMEPLAY_FIELD_KEEP, OBJECT_ISHI };
+static s16 sObjectIds[] = { GAMEPLAY_FIELD_KEEP, OBJECT_ISHI };
static ColliderCylinderInit sCylinderInit[] = {
{
@@ -173,7 +173,7 @@ s32 func_8095D758(EnIshi* this, PlayState* play, f32 arg2) {
void func_8095D804(Actor* thisx, PlayState* play) {
EnIshi* this = THIS;
s32 i;
- s16 temp;
+ s16 objectId;
Gfx* phi_s4;
Vec3f spC4;
Vec3f spB8;
@@ -184,7 +184,7 @@ void func_8095D804(Actor* thisx, PlayState* play) {
phi_s4 = gSmallRockDL;
}
- temp = D_8095F6E8[ENISHI_GET_8(&this->actor)];
+ objectId = sObjectIds[ENISHI_GET_8(&this->actor)];
for (i = 0; i < ARRAY_COUNT(D_8095F74C); i++) {
spB8.x = ((Rand_ZeroOne() - 0.5f) * 8.0f) + this->actor.world.pos.x;
@@ -207,7 +207,7 @@ void func_8095D804(Actor* thisx, PlayState* play) {
spC4.z += (Rand_ZeroOne() - 0.5f) * 11.0f;
EffectSsKakera_Spawn(play, &spB8, &spC4, &spB8, -420, ((s32)Rand_Next() > 0) ? 65 : 33, 30, 5, 0, D_8095F74C[i],
- 3, 10, 40, -1, temp, phi_s4);
+ 3, 10, 40, -1, objectId, phi_s4);
}
}
@@ -425,8 +425,8 @@ void EnIshi_Init(Actor* thisx, PlayState* play) {
this->unk_197 |= 1;
}
- this->unk_196 = Object_GetSlot(&play->objectCtx, D_8095F6E8[ENISHI_GET_8(&this->actor)]);
- if (this->unk_196 < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[ENISHI_GET_8(&this->actor)]);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -446,8 +446,8 @@ void func_8095E5AC(EnIshi* this) {
}
void func_8095E5C0(EnIshi* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->unk_196)) {
- this->actor.objBankIndex = this->unk_196;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
this->actor.flags &= ~ACTOR_FLAG_10;
if (!ENISHI_GET_8(&this->actor)) {
this->actor.draw = func_8095F61C;
diff --git a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.h b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.h
index 81fc78368..fe1898c13 100644
--- a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.h
+++ b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.h
@@ -24,7 +24,7 @@ typedef struct EnIshi {
/* 0x190 */ EnIshiActionFunc actionFunc;
/* 0x194 */ s8 unk_194;
/* 0x195 */ s8 unk_195;
- /* 0x196 */ s8 unk_196;
+ /* 0x196 */ s8 objectSlot;
/* 0x197 */ u8 unk_197;
} EnIshi; // size = 0x198
diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
index 0b246b4df..2b65c09e6 100644
--- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
+++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
@@ -70,7 +70,7 @@ ActorInit En_Kusa_InitVars = {
(ActorFunc)NULL,
};
-static s16 objectIds[] = { GAMEPLAY_FIELD_KEEP, OBJECT_KUSA, OBJECT_KUSA, OBJECT_KUSA };
+static s16 sObjectIds[] = { GAMEPLAY_FIELD_KEEP, OBJECT_KUSA, OBJECT_KUSA, OBJECT_KUSA };
static ColliderCylinderInit sCylinderInit = {
{
@@ -393,8 +393,8 @@ void EnKusa_Init(Actor* thisx, PlayState* play) {
this->isInWater |= 1;
}
- this->objIndex = Object_GetSlot(&play->objectCtx, objectIds[(KUSA_GET_TYPE(&this->actor))]);
- if (this->objIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[(KUSA_GET_TYPE(&this->actor))]);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -428,7 +428,7 @@ void EnKusa_SetupWaitObject(EnKusa* this) {
void EnKusa_WaitObject(EnKusa* this, PlayState* play) {
s32 pad;
- if (Object_IsLoaded(&play->objectCtx, this->objIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
s32 kusaType = KUSA_GET_TYPE(&this->actor);
if (this->isCut) {
@@ -441,7 +441,7 @@ void EnKusa_WaitObject(EnKusa* this, PlayState* play) {
} else {
this->actor.draw = EnKusa_DrawGrass;
}
- this->actor.objBankIndex = this->objIndex;
+ this->actor.objectSlot = this->objectSlot;
this->actor.flags &= ~ACTOR_FLAG_10;
}
}
diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h
index 1871b1dbe..9e46f8b22 100644
--- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h
+++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h
@@ -45,7 +45,7 @@ typedef struct EnKusa {
/* 0x144 */ EnKusaActionFunc actionFunc;
/* 0x148 */ ColliderCylinder collider;
/* 0x194 */ u8 timer;
- /* 0x195 */ s8 objIndex;
+ /* 0x195 */ s8 objectSlot;
/* 0x196 */ s8 kusaMtxIdx;
/* 0x197 */ u8 isCut;
/* 0x198 */ u8 isInWater;
diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/src/overlays/actors/ovl_En_Mag/z_en_mag.c
index 856c13c0d..f9ad697ce 100644
--- a/src/overlays/actors/ovl_En_Mag/z_en_mag.c
+++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.c
@@ -707,7 +707,7 @@ void EnMag_DrawInner(Actor* thisx, PlayState* play, Gfx** gfxp) {
s16 step;
// Set segment 6 to the object, since this will be read by OVERLAY_DISP where it is not set by default.
- gSPSegment(gfx++, 0x06, play->objectCtx.slots[this->actor.objBankIndex].segment);
+ gSPSegment(gfx++, 0x06, play->objectCtx.slots[this->actor.objectSlot].segment);
Gfx_SetupDL39_Ptr(&gfx);
diff --git a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c
index ed8edb377..83a8be394 100644
--- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c
+++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c
@@ -58,11 +58,11 @@ Color_RGBA8 sPrimColor = { 255, 255, 255, 255 };
Color_RGBA8 sEnvColor = { 80, 80, 80, 255 };
void EnNwc_Init(Actor* thisx, PlayState* play) {
- s32 niwObjectIndex;
+ s32 niwObjectSlot;
EnNwc* this = THIS;
- niwObjectIndex = Object_GetSlot(&play->objectCtx, OBJECT_NIW);
- if (niwObjectIndex < 0) {
+ niwObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_NIW);
+ if (niwObjectSlot <= OBJECT_SLOT_NONE) {
// niw object does not exist, we need it for tranformation, despawn
Actor_Kill(&this->actor);
return;
@@ -75,8 +75,8 @@ void EnNwc_Init(Actor* thisx, PlayState* play) {
return;
}
- this->niwObjectIndex = niwObjectIndex;
- this->nwcObjectIndex = this->actor.objBankIndex;
+ this->niwObjectSlot = niwObjectSlot;
+ this->nwcObjectIndex = this->actor.objectSlot;
this->grog = EnNwc_FindGrog(play);
this->footRotY = this->footRotZ = 0;
@@ -247,8 +247,8 @@ void EnNwc_CheckFound(EnNwc* this, PlayState* play) {
}
void EnNwc_LoadNiwSkeleton(EnNwc* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->niwObjectIndex)) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->niwObjectIndex].segment);
+ if (Object_IsLoaded(&play->objectCtx, this->niwObjectSlot)) {
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->niwObjectSlot].segment);
SkelAnime_InitFlex(play, &this->niwSkeleton, &gNiwSkel, &gNiwIdleAnim, this->jointTable, this->morphTable,
NIW_LIMB_MAX);
@@ -468,11 +468,11 @@ void EnNwc_Update(Actor* thisx, PlayState* play) {
Actor_UpdateBgCheckInfo(play, &this->actor, 10.0f, 10.0f, 10.0f, UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4);
this->actionFunc(this, play);
if (this->hasGrownUp & 1) {
- this->actor.objBankIndex = this->niwObjectIndex;
+ this->actor.objectSlot = this->niwObjectSlot;
this->actor.draw = EnNwc_DrawAdultBody;
this->actor.shape.shadowScale = 15.0f;
} else {
- this->actor.objBankIndex = this->nwcObjectIndex;
+ this->actor.objectSlot = this->nwcObjectIndex;
this->actor.draw = EnNwc_Draw;
this->actor.shape.shadowScale = 6.0f;
}
diff --git a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.h b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.h
index 51c017dff..9ce3ab60e 100644
--- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.h
+++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.h
@@ -15,7 +15,7 @@ typedef struct EnNwc {
/* 0x144 */ SkelAnime niwSkeleton; // this skeleton is for when the chicks grow up into adults during the breman march
/* 0x188 */ Vec3s jointTable[NIW_LIMB_MAX];
/* 0x1E8 */ Vec3s morphTable[NIW_LIMB_MAX];
- /* 0x248 */ s8 niwObjectIndex;
+ /* 0x248 */ s8 niwObjectSlot;
/* 0x249 */ s8 nwcObjectIndex;
/* 0x24A */ s16 blinkState;
/* 0x24C */ s16 blinkTimer;
diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
index 368052dfc..bcdd2934e 100644
--- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
+++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
@@ -267,16 +267,16 @@ void EnOssan_SpawnShopItems(EnOssan* this, PlayState* play, ShopItem* shop) {
void EnOssan_Init(Actor* thisx, PlayState* play) {
EnOssan* this = THIS;
- s16 id;
+ s16 objectId;
if ((this->actor.params > ENOSSAN_PART_TIME_WORKER) && (this->actor.params < ENOSSAN_CURIOSITY_SHOP_MAN)) {
//! @bug: Impossible to reach, && should be an ||
Actor_Kill(&this->actor);
return;
}
- id = sObjectIds[this->actor.params];
- this->objIndex = Object_GetSlot(&play->objectCtx, id);
- if (this->objIndex < 0) {
+ objectId = sObjectIds[this->actor.params];
+ this->objectSlot = Object_GetSlot(&play->objectCtx, objectId);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -1506,9 +1506,9 @@ void EnOssan_InitShop(EnOssan* this, PlayState* play) {
static EnOssanActionFunc sInitFuncs[] = { EnOssan_CuriosityShopMan_Init, EnOssan_PartTimer_Init };
ShopItem* shopItems;
- if (Object_IsLoaded(&play->objectCtx, this->objIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
this->actor.flags &= ~ACTOR_FLAG_10;
- this->actor.objBankIndex = this->objIndex;
+ this->actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->actor);
shopItems = sShops[this->actor.params];
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.h b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.h
index da256322a..02c44818f 100644
--- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.h
+++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.h
@@ -21,7 +21,7 @@ typedef struct EnOssan {
/* 0x18C */ EnOssanActionFunc prevActionFunc; // Used to restore back to correct browsing function
/* 0x190 */ ColliderCylinder collider;
/* 0x1DC */ s16 delayTimer;
- /* 0x1DE */ s8 objIndex;
+ /* 0x1DE */ s8 objectSlot;
/* 0x1E0 */ s16 eyeTexIndex;
/* 0x1E2 */ s16 blinkTimer;
/* 0x1E4 */ EnOssanBlinkFunc blinkFunc;
diff --git a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c
index 2f429b975..f7ec8f509 100644
--- a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c
+++ b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c
@@ -786,18 +786,18 @@ void EnSGoro_UpdateSleeping(EnSGoro* this, PlayState* play) {
s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) {
if (this->animInfoIndex == EN_S_GORO_ANIM_IDLE_STAND) {
if (((EnJg*)this->otherGoron)->flags & 1) {
- this->loadedObjIndex = Object_GetSlot(&play->objectCtx, OBJECT_TAISOU);
- if (this->loadedObjIndex >= 0) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->loadedObjIndex].segment);
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_TAISOU);
+ if (this->objectSlot > OBJECT_SLOT_NONE) {
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
this->animInfoIndex = EN_S_GORO_ANIM_TAISOU_CHEER;
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animInfoIndex);
return true;
}
}
} else if ((this->animInfoIndex == EN_S_GORO_ANIM_TAISOU_CHEER) && !(((EnJg*)this->otherGoron)->flags & 1)) {
- this->loadedObjIndex = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
- if (this->loadedObjIndex >= 0) {
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->loadedObjIndex].segment);
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
+ if (this->objectSlot > OBJECT_SLOT_NONE) {
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
this->animInfoIndex = EN_S_GORO_ANIM_IDLE_STAND;
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animInfoIndex);
this->skelAnime.curFrame = this->skelAnime.endFrame;
@@ -1023,7 +1023,7 @@ s32 EnSGoro_UpdateAttentionTarget(EnSGoro* this, PlayState* play) {
}
void EnSGoro_SetupAction(EnSGoro* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->loadedObjIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
this->actionFlags = 0;
if (EN_S_GORO_OFTYPE_WSHRINE) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_CALMED_GORON_ELDERS_SON)) {
@@ -1307,10 +1307,10 @@ void EnSGoro_Init(Actor* thisx, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
if (this->actor.update != NULL) {
- s32 objIndex = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
- this->loadedObjIndex = objIndex;
- if (objIndex < 0) {
+ this->objectSlot = objectSlot;
+ if (objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
}
}
@@ -1329,7 +1329,7 @@ void EnSGoro_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 12.0f, 0.0f, UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->loadedObjIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
SkelAnime_Update(&this->skelAnime);
if (this->animInfoIndex != EN_S_GORO_ANIM_SLEEPY) {
EnSGoro_UpdateAttentionTarget(this, play);
diff --git a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.h b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.h
index 9e0cd7792..35b71bfdd 100644
--- a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.h
+++ b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.h
@@ -23,7 +23,7 @@ typedef struct EnSGoro {
/* 0x1EC */ s16 eyeTexIndex;
/* 0x1EE */ s16 eyeTimer;
/* 0x1F0 */ s16 loseAttentionTimer;
- /* 0x1F4 */ s32 loadedObjIndex;
+ /* 0x1F4 */ s32 objectSlot;
/* 0x1F8 */ Vec3s jointTable[GORON_LIMB_MAX];
/* 0x264 */ Vec3s morphTable[GORON_LIMB_MAX];
/* 0x2D0 */ f32 scaleFactor;
diff --git a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c
index 92b88e462..0b22f3d9c 100644
--- a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c
+++ b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c
@@ -55,7 +55,7 @@ static u16 sTextIds[] = { 0, 0, 0, 0, 0x1018 };
void EnSekihi_Init(Actor* thisx, PlayState* play) {
EnSekihi* this = THIS;
s32 type = ENSIKIHI_GET_TYPE(thisx);
- s32 objectIndex;
+ s32 objectSlot;
s32 pad;
if (((type < SEKIHI_TYPE_0) || (type >= SEKIHI_TYPE_MAX)) || (sOpaDLists[type] == NULL)) {
@@ -69,9 +69,9 @@ void EnSekihi_Init(Actor* thisx, PlayState* play) {
SET_WEEKEVENTREG(WEEKEVENTREG_OCEANSIDE_SPIDER_HOUSE_BUYER_MOVED_IN);
}
- objectIndex = Object_GetSlot(&play->objectCtx, sObjectIds[type]);
- if (objectIndex >= 0) {
- this->objectIndex = objectIndex;
+ objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[type]);
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
}
this->actionFunc = func_80A44DE8;
this->opaDList = sOpaDLists[type];
@@ -96,8 +96,8 @@ void func_80A44DE8(EnSekihi* this, PlayState* play) {
};
type = ENSIKIHI_GET_TYPE(&this->dyna.actor);
- if (Object_IsLoaded(&play->objectCtx, this->objectIndex)) {
- this->dyna.actor.objBankIndex = this->objectIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->dyna.actor.objectSlot = this->objectSlot;
this->dyna.actor.draw = EnSekihi_Draw;
if (type == SEKIHI_TYPE_4) {
this->actionFunc = func_80A450B0;
diff --git a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.h b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.h
index 0c26dab71..60e7c47ba 100644
--- a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.h
+++ b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.h
@@ -15,7 +15,7 @@ typedef struct EnSekihi {
/* 0x000 */ DynaPolyActor dyna;
/* 0x15C */ Gfx* opaDList;
/* 0x160 */ Gfx* xluDList;
- /* 0x164 */ s8 objectIndex;
+ /* 0x164 */ s8 objectSlot;
/* 0x168 */ EnSekihiActionFunc actionFunc;
} EnSekihi; // size = 0x16C
diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c
index 8a8be15c4..901e49126 100644
--- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c
+++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c
@@ -379,22 +379,22 @@ void EnSob1_SpawnShopItems(EnSob1* this, PlayState* play, ShopItem* shopItem) {
}
}
-s32 EnSob1_GetObjIndices(EnSob1* this, PlayState* play, s16* objIds) {
- if (objIds[1] != OBJECT_ID_MAX) {
- this->unusedObjIndex = Object_GetSlot(&play->objectCtx, objIds[1]);
- if (this->unusedObjIndex < 0) {
+s32 EnSob1_GetObjectIndices(EnSob1* this, PlayState* play, s16* objectIds) {
+ if (objectIds[1] != OBJECT_ID_MAX) {
+ this->unusedObjectSlot = Object_GetSlot(&play->objectCtx, objectIds[1]);
+ if (this->unusedObjectSlot <= OBJECT_SLOT_NONE) {
return false;
}
} else {
- this->unusedObjIndex = -1;
+ this->unusedObjectSlot = OBJECT_SLOT_NONE;
}
- if (objIds[2] != OBJECT_ID_MAX) {
- this->shopkeeperAnimObjIndex = Object_GetSlot(&play->objectCtx, objIds[2]);
- if (this->shopkeeperAnimObjIndex < 0) {
+ if (objectIds[2] != OBJECT_ID_MAX) {
+ this->shopkeeperAnimObjectSlot = Object_GetSlot(&play->objectCtx, objectIds[2]);
+ if (this->shopkeeperAnimObjectSlot <= OBJECT_SLOT_NONE) {
return false;
}
} else {
- this->shopkeeperAnimObjIndex = -1;
+ this->shopkeeperAnimObjectSlot = OBJECT_SLOT_NONE;
}
return true;
}
@@ -402,7 +402,7 @@ s32 EnSob1_GetObjIndices(EnSob1* this, PlayState* play, s16* objIds) {
void EnSob1_Init(Actor* thisx, PlayState* play) {
EnSob1* this = THIS;
s32 pad;
- s16* objIds;
+ s16* objectIds;
switch (ENSOB1_GET_SHOPTYPE(thisx)) {
case ZORA_SHOP:
@@ -426,13 +426,13 @@ void EnSob1_Init(Actor* thisx, PlayState* play) {
return;
}
- objIds = sObjectIds[this->shopType];
- this->mainObjIndex = Object_GetSlot(&play->objectCtx, objIds[0]);
- if (this->mainObjIndex < 0) {
+ objectIds = sObjectIds[this->shopType];
+ this->mainObjectSlot = Object_GetSlot(&play->objectCtx, objectIds[0]);
+ if (this->mainObjectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
- if (!EnSob1_GetObjIndices(this, play, objIds)) {
+ if (!EnSob1_GetObjectIndices(this, play, objectIds)) {
Actor_Kill(&this->actor);
return;
}
@@ -1345,15 +1345,16 @@ void EnSob1_Blink(EnSob1* this) {
}
void EnSob1_ChangeObject(EnSob1* this, PlayState* play) {
- gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjIndex].segment);
+ gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment);
}
s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->mainObjIndex)) {
- if ((this->unusedObjIndex >= 0) && !Object_IsLoaded(&play->objectCtx, this->unusedObjIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->mainObjectSlot)) {
+ if ((this->unusedObjectSlot > OBJECT_SLOT_NONE) && !Object_IsLoaded(&play->objectCtx, this->unusedObjectSlot)) {
return false;
}
- if ((this->shopkeeperAnimObjIndex >= 0) && !Object_IsLoaded(&play->objectCtx, this->shopkeeperAnimObjIndex)) {
+ if ((this->shopkeeperAnimObjectSlot > OBJECT_SLOT_NONE) &&
+ !Object_IsLoaded(&play->objectCtx, this->shopkeeperAnimObjectSlot)) {
return false;
}
return true;
@@ -1363,7 +1364,7 @@ s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) {
void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) {
SkelAnime_InitFlex(play, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable, ZORA_LIMB_MAX);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment);
Animation_Change(&this->skelAnime, &gZoraShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gZoraShopkeeperAnim),
ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnSob1_ZoraShopkeeper_Draw;
@@ -1372,7 +1373,7 @@ void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) {
void EnSob1_GoronShopkeeper_Init(EnSob1* this, PlayState* play) {
SkelAnime_InitFlex(play, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable, GORON_LIMB_MAX);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment);
Animation_Change(&this->skelAnime, &gGoronShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gGoronShopkeeperAnim),
ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnSob1_GoronShopkeeper_Draw;
@@ -1394,7 +1395,7 @@ void EnSob1_InitShop(EnSob1* this, PlayState* play) {
if (EnSob1_AreObjectsLoaded(this, play)) {
this->actor.flags &= ~ACTOR_FLAG_10;
- this->actor.objBankIndex = this->mainObjIndex;
+ this->actor.objectSlot = this->mainObjectSlot;
Actor_SetObjectDependency(play, &this->actor);
posOffset = &sPosOffset[this->shopType];
this->actor.world.pos.x += posOffset->x;
diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h
index 12c14301b..2ae018ce4 100644
--- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h
+++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h
@@ -36,9 +36,9 @@ typedef struct EnSob1 {
/* 0x1E0 */ Path* path;
/* 0x1E4 */ s32 waypoint;
/* 0x1E8 */ s16 delayTimer;
- /* 0x1EA */ s8 mainObjIndex;
- /* 0x1EB */ s8 unusedObjIndex;
- /* 0x1EC */ s8 shopkeeperAnimObjIndex;
+ /* 0x1EA */ s8 mainObjectSlot;
+ /* 0x1EB */ s8 unusedObjectSlot;
+ /* 0x1EC */ s8 shopkeeperAnimObjectSlot;
/* 0x1EE */ s16 headRot;
/* 0x1F0 */ s16 headRotTarget;
/* 0x1F2 */ Vec3s jointTable[ENSOB1_LIMB_MAX];
diff --git a/src/overlays/actors/ovl_En_St/z_en_st.c b/src/overlays/actors/ovl_En_St/z_en_st.c
index 2c2e20e6a..ba1828067 100644
--- a/src/overlays/actors/ovl_En_St/z_en_st.c
+++ b/src/overlays/actors/ovl_En_St/z_en_st.c
@@ -245,9 +245,9 @@ void func_808A54B0(EnSt* this, PlayState* play) {
if ((this->unk_18C & 1) && (this->actor.colChkInfo.health != 0)) {
OPEN_DISPS(play->state.gfxCtx);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->unk_2C0].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
- gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->unk_2C0].segment);
+ gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->objectSlot].segment);
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW);
@@ -693,7 +693,7 @@ s32 func_808A6A3C(EnSt* this) {
void func_808A6A78(EnSt* this, PlayState* play) {
s32 pad[2];
- if (Object_IsLoaded(&play->objectCtx, this->unk_2C0)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 8.0f);
SkelAnime_Init(play, &this->skelAnime, &object_st_Skel_005298, NULL, this->jointTable, this->morphTable, 30);
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, 0);
@@ -842,9 +842,9 @@ void func_808A701C(EnSt* this, PlayState* play) {
void EnSt_Init(Actor* thisx, PlayState* play) {
EnSt* this = THIS;
- this->unk_2C0 = Object_GetSlot(&play->objectCtx, GAMEPLAY_KEEP);
+ this->objectSlot = Object_GetSlot(&play->objectCtx, GAMEPLAY_KEEP);
if (((ENST_GET_SWITCH_FLAG(&this->actor) != 0x3F) && Flags_GetSwitch(play, ENST_GET_SWITCH_FLAG(&this->actor))) ||
- (this->unk_2C0 < 0)) {
+ (this->objectSlot <= OBJECT_SLOT_NONE)) {
Actor_Kill(&this->actor);
return;
}
diff --git a/src/overlays/actors/ovl_En_St/z_en_st.h b/src/overlays/actors/ovl_En_St/z_en_st.h
index aab1204aa..dd40a3450 100644
--- a/src/overlays/actors/ovl_En_St/z_en_st.h
+++ b/src/overlays/actors/ovl_En_St/z_en_st.h
@@ -38,7 +38,7 @@ typedef struct EnSt {
/* 0x1DC */ ColliderCylinder collider2;
/* 0x228 */ ColliderCylinder collider3;
/* 0x274 */ ColliderCylinder collider4;
- /* 0x2C0 */ s8 unk_2C0;
+ /* 0x2C0 */ s8 objectSlot;
/* 0x2C4 */ f32 unk_2C4;
/* 0x2C8 */ f32 unk_2C8;
/* 0x2CC */ f32 unk_2CC;
diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.c b/src/overlays/actors/ovl_En_Sth/z_en_sth.c
index daf58065f..c80aaed0b 100644
--- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c
+++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c
@@ -108,16 +108,16 @@ static Color_RGB8 sShirtColors[] = {
void EnSth_Init(Actor* thisx, PlayState* play) {
s32 pad;
EnSth* this = THIS;
- s32 objectId;
+ s32 objectSlot;
// this actor can draw two separate bodies that use different objects
if (STH_GET_SWAMP_BODY(&this->actor)) {
- objectId = Object_GetSlot(&play->objectCtx, OBJECT_AHG);
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_AHG);
} else {
- objectId = Object_GetSlot(&play->objectCtx, OBJECT_STH);
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_STH);
}
- this->mainObjectId = objectId;
- this->maskOfTruthObjectId = Object_GetSlot(&play->objectCtx, OBJECT_MASK_TRUTH);
+ this->mainObjectSlot = objectSlot;
+ this->maskOfTruthObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_MASK_TRUTH);
Actor_SetScale(&this->actor, 0.01f);
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
@@ -619,8 +619,8 @@ void EnSth_UpdateWaitForObject(Actor* thisx, PlayState* play) {
s32 pad;
EnSth* this = THIS;
- if (Object_IsLoaded(&play->objectCtx, this->mainObjectId)) {
- this->actor.objBankIndex = this->mainObjectId;
+ if (Object_IsLoaded(&play->objectCtx, this->mainObjectSlot)) {
+ this->actor.objectSlot = this->mainObjectSlot;
Actor_SetObjectDependency(play, &this->actor);
if (STH_GET_SWAMP_BODY(&this->actor)) {
@@ -733,14 +733,14 @@ void EnSth_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
OPEN_DISPS(play->state.gfxCtx);
if (this->sthFlags & STH_FLAG_DRAW_MASK_OF_TRUTH) {
- if (Object_IsLoaded(&play->objectCtx, this->maskOfTruthObjectId)) {
+ if (Object_IsLoaded(&play->objectCtx, this->maskOfTruthObjectSlot)) {
Matrix_Push();
Matrix_RotateZS(0x3A98, MTXMODE_APPLY);
Matrix_Translate(0.0f, 190.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPSegment(POLY_OPA_DISP++, 0x0A, play->objectCtx.slots[this->maskOfTruthObjectId].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x0A, play->objectCtx.slots[this->maskOfTruthObjectSlot].segment);
gSPDisplayList(POLY_OPA_DISP++, object_mask_truth_DL_0001A0);
Matrix_Pop();
diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.h b/src/overlays/actors/ovl_En_Sth/z_en_sth.h
index dbc459ce1..059ae8c76 100644
--- a/src/overlays/actors/ovl_En_Sth/z_en_sth.h
+++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.h
@@ -42,8 +42,8 @@ typedef struct EnSth {
/* 0x294 */ Vec3s headRot;
/* 0x29A */ s16 animIndex;
/* 0x29C */ u16 sthFlags;
- /* 0x29E */ u8 mainObjectId;
- /* 0x29F */ u8 maskOfTruthObjectId;
+ /* 0x29E */ u8 mainObjectSlot;
+ /* 0x29F */ u8 maskOfTruthObjectSlot;
/* 0x2A0 */ EnSthActionFunc actionFunc;
} EnSth; // size = 0x2A4
diff --git a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c
index be0821580..e45dd1394 100644
--- a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c
+++ b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c
@@ -35,7 +35,7 @@ ActorInit En_Sth2_InitVars = {
void EnSth2_Init(Actor* thisx, PlayState* play) {
EnSth2* this = THIS;
- this->objIndex = Object_GetSlot(&play->objectCtx, OBJECT_STH);
+ this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_STH);
Actor_SetScale(&this->actor, 0.01f);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
this->unused = 0;
@@ -60,8 +60,8 @@ void EnSth2_Update(Actor* thisx, PlayState* play) {
s32 pad;
EnSth2* this = THIS;
- if (Object_IsLoaded(&play->objectCtx, this->objIndex)) {
- this->actor.objBankIndex = this->objIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->actor);
SkelAnime_InitFlex(play, &this->skelAnime, &gSthSkel, &gEnSth2WavingHandAnim, this->jointTable,
this->morphTable, STH_LIMB_MAX);
diff --git a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.h b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.h
index d8ecc9cdb..9375532b4 100644
--- a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.h
+++ b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.h
@@ -14,7 +14,7 @@ typedef struct EnSth2 {
/* 0x188 */ Vec3s jointTable[STH_LIMB_MAX];
/* 0x1E8 */ Vec3s morphTable[STH_LIMB_MAX];
/* 0x248 */ s16 unused;
- /* 0x24A */ u8 objIndex;
+ /* 0x24A */ u8 objectSlot;
/* 0x24C */ EnSth2ActionFunc actionFunc;
} EnSth2; // size = 0x250
diff --git a/src/overlays/actors/ovl_En_Test2/z_en_test2.c b/src/overlays/actors/ovl_En_Test2/z_en_test2.c
index d909826bb..7a9e45bc2 100644
--- a/src/overlays/actors/ovl_En_Test2/z_en_test2.c
+++ b/src/overlays/actors/ovl_En_Test2/z_en_test2.c
@@ -79,18 +79,18 @@ void EnTest2_Init(Actor* thisx, PlayState* play) {
void EnTest2_Update(Actor* thisx, PlayState* play) {
s32 pad;
- s32 objectIndex;
+ s32 objectSlot;
EnTest2ModelInfo* modelInfo;
EnTest2* this = THIS;
- objectIndex = Object_GetSlot(&play->objectCtx, sObjectIds[this->actor.params]);
- if (objectIndex < 0) {
+ objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[this->actor.params]);
+ if (objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
- if (Object_IsLoaded(&play->objectCtx, objectIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, objectSlot)) {
modelInfo = &sModelInfo[this->actor.params];
- this->actor.objBankIndex = objectIndex;
+ this->actor.objectSlot = objectSlot;
this->actor.draw = EnTest2_Draw;
if (modelInfo->animMat != NULL) {
Actor_SetObjectDependency(play, &this->actor);
diff --git a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c
index 4ae591302..fcac1e837 100644
--- a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c
+++ b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c
@@ -60,7 +60,8 @@ void EnWarptag_Init(Actor* thisx, PlayState* play) {
this->actionFunc = EnWarpTag_WaitForPlayer;
} else {
- if ((this->dangeonKeepObject = Object_GetSlot(&play->objectCtx, GAMEPLAY_DANGEON_KEEP)) < 0) {
+ if ((this->dangeonKeepObjectSlot = Object_GetSlot(&play->objectCtx, GAMEPLAY_DANGEON_KEEP)) <=
+ OBJECT_SLOT_NONE) {
Actor_Kill(&this->dyna.actor);
}
@@ -83,11 +84,11 @@ void EnWarptag_Destroy(Actor* thisx, PlayState* play) {
* Loads DynaPoly from GAMEPLAY_DANGEON_KEEP.
*/
void EnWarpTag_CheckDungeonKeepObject(EnWarptag* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->dangeonKeepObject)) {
+ if (Object_IsLoaded(&play->objectCtx, this->dangeonKeepObjectSlot)) {
this->actionFunc = EnWarpTag_WaitForPlayer;
DynaPolyActor_Init(&this->dyna, 0x1);
DynaPolyActor_LoadMesh(play, &this->dyna, &gWarpTagGoronTrialBaseCol);
- this->dyna.actor.objBankIndex = this->dangeonKeepObject;
+ this->dyna.actor.objectSlot = this->dangeonKeepObjectSlot;
this->dyna.actor.draw = EnWarpTag_Draw;
}
}
diff --git a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.h b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.h
index ac76ccb67..840cf8a0f 100644
--- a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.h
+++ b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.h
@@ -9,7 +9,7 @@ typedef void (*EnWarptagActionFunc)(struct EnWarptag*, PlayState*);
typedef struct EnWarptag {
/* 0x000 */ DynaPolyActor dyna;
- /* 0x15C */ s8 dangeonKeepObject;
+ /* 0x15C */ s8 dangeonKeepObjectSlot;
/* 0x15E */ union {
s16 reusedValue; // default name
s16 unkValue15E; // passed to unk play func, mods player rotation, stepped to 0x2710
diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c
index ba4507b71..e7308c10d 100644
--- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c
+++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c
@@ -55,12 +55,12 @@ void ItemEtcetera_Init(Actor* thisx, PlayState* play) {
s32 pad;
ItemEtcetera* this = THIS;
s32 type = ITEMETCETERA_GET_FF(&this->actor);
- s32 objBankIndex = Object_GetSlot(&play->objectCtx, sObjectIds[type]);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[type]);
- if (objBankIndex < 0) {
+ if (objectSlot <= OBJECT_SLOT_NONE) {
// assert on debug
} else {
- this->objIndex = objBankIndex;
+ this->objectSlot = objectSlot;
}
this->getItemDrawId = sGetItemDrawIds[type];
this->getItemId = sGetItemIds[type];
@@ -93,8 +93,8 @@ void ItemEtcetera_Destroy(Actor* thisx, PlayState* play) {
}
void ItemEtcetera_WaitForObject(ItemEtcetera* this, PlayState* play) {
- if (Object_IsLoaded(&play->objectCtx, this->objIndex)) {
- this->actor.objBankIndex = this->objIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
this->actor.draw = this->drawFunc;
this->actionFunc = this->futureActionFunc;
}
diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h
index 4ac893ba5..92cda8710 100644
--- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h
+++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h
@@ -32,7 +32,7 @@ typedef struct ItemEtcetera {
/* 0x144 */ ItemEtceteraActionFunc futureActionFunc;
/* 0x148 */ s16 getItemDrawId;
/* 0x14A */ s16 getItemId;
- /* 0x14C */ u8 objIndex;
+ /* 0x14C */ u8 objectSlot;
/* 0x150 */ ActorFunc drawFunc;
/* 0x154 */ ItemEtceteraActionFunc actionFunc;
} ItemEtcetera; // size = 0x158
diff --git a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c
index 069c4b89b..57bfa823c 100644
--- a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c
+++ b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c
@@ -52,7 +52,7 @@ static ColliderCylinderInit sCylinderInit = {
{ 20, 14, 0, { 0, 0, 0 } },
};
-static s16 objectIds[] = {
+static s16 sObjectIds[] = {
GAMEPLAY_KEEP,
GAMEPLAY_KEEP,
GAMEPLAY_KEEP,
@@ -71,7 +71,7 @@ static f32 oscillationTable[] = {
void ObjEtcetera_Init(Actor* thisx, PlayState* play) {
s32 pad;
ObjEtcetera* this = THIS;
- s32 objectIndex;
+ s32 objectSlot;
s32 type = DEKU_FLOWER_TYPE(&this->dyna.actor);
s32 floorBgId;
Vec3f pos;
@@ -80,9 +80,9 @@ void ObjEtcetera_Init(Actor* thisx, PlayState* play) {
type = DEKU_FLOWER_TYPE_PINK;
}
- objectIndex = Object_GetSlot(&play->objectCtx, objectIds[type]);
- if (objectIndex >= 0) {
- this->objIndex = objectIndex;
+ objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[type]);
+ if (objectSlot > OBJECT_SLOT_NONE) {
+ this->objectSlot = objectSlot;
}
pos.x = this->dyna.actor.world.pos.x;
@@ -257,8 +257,8 @@ void ObjEtcetera_Setup(ObjEtcetera* this, PlayState* play) {
type = DEKU_FLOWER_TYPE_PINK;
}
- if (Object_IsLoaded(&play->objectCtx, this->objIndex)) {
- this->dyna.actor.objBankIndex = this->objIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->dyna.actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->dyna.actor);
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
thisCollisionHeader = collisionHeaders[type];
diff --git a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h
index 454e3f674..6c8734c85 100644
--- a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h
+++ b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h
@@ -28,7 +28,7 @@ typedef struct ObjEtcetera {
/* 0x270 */ f32 bounceOscillationScale;
/* 0x274 */ s16 oscillationTimer;
/* 0x276 */ u16 burrowFlag;
- /* 0x278 */ s8 objIndex;
+ /* 0x278 */ s8 objectSlot;
/* 0x27C */ Gfx* dList;
/* 0x280 */ ObjEtceteraActionFunc actionFunc;
} ObjEtcetera; // size = 0x284
diff --git a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c
index 93c79efa6..3885041fd 100644
--- a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c
+++ b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c
@@ -68,7 +68,7 @@ static ColliderCylinderInit sCylinderInit = {
{ 15, 30, 0, { 0, 0, 0 } },
};
-static s16 sObjectIdList[] = { GAMEPLAY_DANGEON_KEEP, OBJECT_KIBAKO };
+static s16 sObjectIds[] = { GAMEPLAY_DANGEON_KEEP, OBJECT_KIBAKO };
static Gfx* sKakeraDisplayLists[] = { gameplay_dangeon_keep_DL_007980, gSmallCrateFragmentDL };
@@ -135,12 +135,12 @@ void func_80926394(ObjKibako* this, PlayState* play) {
void ObjKibako_Init(Actor* thisx, PlayState* play2) {
PlayState* play = play2;
ObjKibako* this = THIS;
- s32 whichBankIndex;
+ s32 objectIndex;
- whichBankIndex = KIBAKO_BANK_INDEX(thisx);
+ objectIndex = KIBAKO_BANK_INDEX(thisx);
Actor_ProcessInitChain(&this->actor, sInitChain);
Actor_SetScale(&this->actor, 0.15f);
- if (whichBankIndex == 0) {
+ if (objectIndex == 0) {
this->actor.uncullZoneForward = 4000.0f;
} else {
this->actor.uncullZoneForward = 800.0f;
@@ -149,8 +149,8 @@ void ObjKibako_Init(Actor* thisx, PlayState* play2) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
Collider_UpdateCylinder(&this->actor, &this->collider);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
- this->bankIndex = Object_GetSlot(&play->objectCtx, sObjectIdList[whichBankIndex]);
- if (this->bankIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[objectIndex]);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -197,7 +197,7 @@ void ObjKibako_AirBreak(ObjKibako* this, PlayState* play) {
}
EffectSsKakera_Spawn(play, &pos, &velocity, worldPos, -200, phi_s0, 20, 0, 0, (Rand_ZeroOne() * 38.0f) + 10.0f,
- 0, 0, 60, -1, sObjectIdList[KIBAKO_BANK_INDEX(&this->actor)],
+ 0, 0, 60, -1, sObjectIds[KIBAKO_BANK_INDEX(&this->actor)],
sKakeraDisplayLists[KIBAKO_BANK_INDEX(&this->actor)]);
}
@@ -241,7 +241,7 @@ void ObjKibako_WaterBreak(ObjKibako* this, PlayState* play) {
phi_s0 = (temp_rand < 0.2f) ? 0x40 : 0x20;
EffectSsKakera_Spawn(play, &pos, &velocity, worldPos, -180, phi_s0, 50, 5, 0, (Rand_ZeroOne() * 35.0f) + 10.0f,
- 0, 0, 70, -1, sObjectIdList[KIBAKO_BANK_INDEX(&this->actor)],
+ 0, 0, 70, -1, sObjectIds[KIBAKO_BANK_INDEX(&this->actor)],
sKakeraDisplayLists[KIBAKO_BANK_INDEX(&this->actor)]);
}
}
@@ -254,9 +254,9 @@ void func_80926B54(ObjKibako* this, PlayState* play) {
Actor_MoveWithGravity(&this->actor);
Actor_UpdateBgCheckInfo(play, &this->actor, 18.0f, 15.0f, 0.0f,
UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4 | UPDBGCHECKINFO_FLAG_40);
- if (Object_IsLoaded(&play->objectCtx, this->bankIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
this->actor.draw = ObjKibako_Draw;
- this->actor.objBankIndex = this->bankIndex;
+ this->actor.objectSlot = this->objectSlot;
ObjKibako_SetupIdle(this);
}
}
diff --git a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h
index 102dd1e1b..274a335d4 100644
--- a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h
+++ b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h
@@ -17,7 +17,7 @@ typedef struct ObjKibako {
/* 0x144 */ ObjKibakoActionFunc actionFunc;
/* 0x148 */ ColliderCylinder collider;
/* 0x194 */ s16 timer;
- /* 0x196 */ s16 bankIndex;
+ /* 0x196 */ s16 objectSlot;
/* 0x198 */ s8 isDropCollected;
/* 0x199 */ s8 unk199; /* room? */
} ObjKibako; // size = 0x19C
diff --git a/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c b/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c
index fdedd55a1..a4259857a 100644
--- a/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c
+++ b/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c
@@ -49,7 +49,7 @@ static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, TARGET_MODE_0, ICHAIN_STOP),
};
-s16 D_80BA34B8[] = { OBJECT_SECOM_OBJ, OBJECT_GI_MSSA, OBJECT_SECOM_OBJ, OBJECT_SECOM_OBJ };
+static s16 sObjectIds[] = { OBJECT_SECOM_OBJ, OBJECT_GI_MSSA, OBJECT_SECOM_OBJ, OBJECT_SECOM_OBJ };
Vec3f D_80BA34C0 = { 0.0f, 0.0f, -1110.0f };
@@ -93,15 +93,15 @@ void ObjNozoki_Destroy(Actor* thisx, PlayState* play) {
}
void func_80BA2514(ObjNozoki* this, PlayState* play) {
- s32 sp24 = Object_GetSlot(&play->objectCtx, D_80BA34B8[this->unk_15C]);
+ s32 objectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[this->unk_15C]);
- if (sp24 < 0) {
+ if (objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->dyna.actor);
return;
}
- if (Object_IsLoaded(&play->objectCtx, sp24)) {
- this->dyna.actor.objBankIndex = sp24;
+ if (Object_IsLoaded(&play->objectCtx, objectSlot)) {
+ this->dyna.actor.objectSlot = objectSlot;
this->dyna.actor.draw = ObjNozoki_Draw;
if (this->unk_15C == 0) {
diff --git a/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.c b/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.c
index d8b04684b..9be9106d6 100644
--- a/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.c
+++ b/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.c
@@ -130,8 +130,8 @@ void ObjPurify_Init(Actor* thisx, PlayState* play) {
if (sp20 == 1) {
DynaPolyActor_Init(&this->dyna, 0);
}
- this->objIndex = Object_GetSlot(&play->objectCtx, info->objectId);
- if (this->objIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, info->objectId);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->dyna.actor);
} else if (sp20 == 0) {
func_80A84EAC(this);
@@ -158,10 +158,10 @@ void func_80A84EC0(ObjPurify* this, PlayState* play) {
s32 sp28;
s32 index;
- if (Object_IsLoaded(&play->objectCtx, this->objIndex)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
sp28 = OBJPURIFY_GET_UNK_FLAG(&this->dyna.actor);
index = OBJPURIFY_GET_INFO_INDEX(&this->dyna.actor);
- this->dyna.actor.objBankIndex = this->objIndex;
+ this->dyna.actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->dyna.actor);
if (sp28 == 1) {
DynaPolyActor_LoadMesh(play, &this->dyna, sObjPurifyInfo[index].colHeader);
diff --git a/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.h b/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.h
index 2651bf049..cea8c6e9a 100644
--- a/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.h
+++ b/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.h
@@ -12,7 +12,7 @@ typedef struct ObjPurify {
/* 0x15C */ ObjPurifyActionFunc actionFunc;
/* 0x160 */ s32 gfxIndex;
/* 0x164 */ s16 timer;
- /* 0x166 */ s16 objIndex;
+ /* 0x166 */ s16 objectSlot;
/* 0x168 */ f32 unk168[2];
} ObjPurify; // size = 0x170
diff --git a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c
index e89b6cd7f..478991a86 100644
--- a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c
+++ b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c
@@ -41,7 +41,7 @@ s16 D_809A4050[] = { 1, -1, 0, 0 };
s16 D_809A4058[] = { 0, 0, 1, -1 };
typedef struct {
- /* 0x0 */ s16 unk_00;
+ /* 0x0 */ s16 objectId;
/* 0x4 */ CollisionHeader* unk_04;
/* 0x8 */ Gfx* unk_08;
} ObjPzlblockStruct; // size = 0xC
@@ -207,7 +207,7 @@ void ObjPzlblock_Init(Actor* thisx, PlayState* play) {
DynaPolyActor_Init(&this->dyna, 0);
- this->unk_17A = Object_GetSlot(&play->objectCtx, sp24->unk_00);
+ this->objectSlot = Object_GetSlot(&play->objectCtx, sp24->objectId);
if (sp28 == 0) {
func_809A3D1C(this);
@@ -330,10 +330,10 @@ void ObjPzlblock_Update(Actor* thisx, PlayState* play) {
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y;
Actor_UpdateBgCheckInfo(play, &this->dyna.actor, 15.0f, 30.0f, 0.0f, UPDBGCHECKINFO_FLAG_4);
- if (Object_IsLoaded(&play->objectCtx, this->unk_17A)) {
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
ObjPzlblockStruct* sp2C = &D_809A4060[OBJPZLBLOCK_GET_1000(&this->dyna.actor)];
- this->dyna.actor.objBankIndex = this->unk_17A;
+ this->dyna.actor.objectSlot = this->objectSlot;
Actor_SetObjectDependency(play, &this->dyna.actor);
DynaPolyActor_LoadMesh(play, &this->dyna, sp2C->unk_04);
this->dyna.actor.update = func_809A3E58;
diff --git a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h
index a6c205fb3..9f235ced1 100644
--- a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h
+++ b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h
@@ -22,7 +22,7 @@ typedef struct ObjPzlblock {
/* 0x16E */ s16 unk_16E[4];
/* 0x176 */ s16 unk_176;
/* 0x178 */ s16 unk_178;
- /* 0x17A */ s8 unk_17A;
+ /* 0x17A */ s8 objectSlot;
} ObjPzlblock; // size = 0x17C
#endif // Z_OBJ_PZLBLOCK_H
diff --git a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c
index 1a316dfab..bdfc48aa8 100644
--- a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c
+++ b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c
@@ -54,7 +54,7 @@ ActorInit Obj_Tsubo_InitVars = {
};
typedef struct {
- /* 0x00 */ s16 objId;
+ /* 0x00 */ s16 objectId;
/* 0x04 */ f32 scale;
/* 0x08 */ Gfx* modelDL;
/* 0x0C */ Gfx* shardDL;
@@ -186,8 +186,8 @@ void ObjTsubo_Init(Actor* thisx, PlayState* play) {
this->cylinderCollider.dim.radius = sPotTypeData[type].radius;
this->cylinderCollider.dim.height = sPotTypeData[type].height;
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
- this->objBankIndex = Object_GetSlot(&play->objectCtx, sPotTypeData[type].objId);
- if (this->objBankIndex < 0) {
+ this->objectSlot = Object_GetSlot(&play->objectCtx, sPotTypeData[type].objectId);
+ if (this->objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
@@ -246,7 +246,7 @@ void ObjTsubo_PotBreak1(ObjTsubo* this, PlayState* play) {
}
scale = Rand_ZeroOne() * 110.0f + 15.0f;
EffectSsKakera_Spawn(play, &pos, &vel, &this->actor.world.pos, -260, phi_s0, 20, 0, 0, scale, 0, 0, 50, -1,
- typeData->objId, typeData->shardDL);
+ typeData->objectId, typeData->shardDL);
}
func_800BBFB0(play, &this->actor.world.pos, 30.0f, 2, 20, 50, true);
func_800BBFB0(play, &this->actor.world.pos, 30.0f, 2, 10, 80, true);
@@ -285,7 +285,7 @@ void ObjTsubo_MagicPotBreak1(ObjTsubo* this, PlayState* play) {
}
scale = Rand_ZeroOne() * 160.0f + 15.0f;
EffectSsKakera_Spawn(play, &pos, &vel, &this->actor.world.pos, -340, phi_s0, 20, 0, 0, scale, 0, 0, 50, -1,
- typeData->objId, typeData->shardDL);
+ typeData->objectId, typeData->shardDL);
}
func_800BBFB0(play, &this->actor.world.pos, 50.0f, 2, 40, 50, true);
func_800BBFB0(play, &this->actor.world.pos, 50.0f, 2, 20, 80, true);
@@ -330,8 +330,8 @@ void ObjTsubo_PotBreak2(ObjTsubo* this, PlayState* play2) {
phi_s0 = 0x20;
}
scale = Rand_ZeroOne() * 105.0f + 10.0f;
- EffectSsKakera_Spawn(play, &pos, &vel, worldPos, -170, phi_s0, 50, 5, 0, scale, 0, 0, 70, -1, typeData->objId,
- typeData->shardDL);
+ EffectSsKakera_Spawn(play, &pos, &vel, worldPos, -170, phi_s0, 50, 5, 0, scale, 0, 0, 70, -1,
+ typeData->objectId, typeData->shardDL);
}
}
@@ -375,8 +375,8 @@ void ObjTsubo_MagicPotBreak2(ObjTsubo* this, PlayState* play2) {
phi_s0 = 0xA0;
}
scale = (Rand_ZeroOne() * 150.0f) + 10.0f;
- EffectSsKakera_Spawn(play, &pos, &vel, worldPos, -170, phi_s0, 50, 5, 0, scale, 0, 0, 70, -1, typeData->objId,
- typeData->shardDL);
+ EffectSsKakera_Spawn(play, &pos, &vel, worldPos, -170, phi_s0, 50, 5, 0, scale, 0, 0, 70, -1,
+ typeData->objectId, typeData->shardDL);
}
}
@@ -412,7 +412,7 @@ void ObjTsubo_PotBreak3(ObjTsubo* this, PlayState* play2) {
phi_s0 = 0x20;
}
EffectSsKakera_Spawn(play, &pos, &vel, &this->actor.world.pos, -170, phi_s0, 50, 3, 0,
- (Rand_ZeroOne() * 105.0f) + 10.0f, 0, 0, 70, -1, typeData->objId, typeData->shardDL);
+ (Rand_ZeroOne() * 105.0f) + 10.0f, 0, 0, 70, -1, typeData->objectId, typeData->shardDL);
}
for (i = 0; i < 7; i++) {
EffectSsBubble_Spawn(play, &this->actor.world.pos, 20.0f, 30.0f, 40.0f, (Rand_ZeroOne() * 0.06f) + 0.09f);
@@ -430,8 +430,8 @@ void func_80928914(ObjTsubo* this) {
void func_80928928(ObjTsubo* this, PlayState* play) {
Actor_MoveWithGravity(&this->actor);
Actor_UpdateBgCheckInfo(play, &this->actor, 15.0f, 15.0f, 0.0f, UPDBGCHECKINFO_FLAG_4 | UPDBGCHECKINFO_FLAG_40);
- if (Object_IsLoaded(&play->objectCtx, this->objBankIndex)) {
- this->actor.objBankIndex = this->objBankIndex;
+ if (Object_IsLoaded(&play->objectCtx, this->objectSlot)) {
+ this->actor.objectSlot = this->objectSlot;
func_809289B4(this);
}
}
diff --git a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h
index 2b3d1537f..b78f5ec0f 100644
--- a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h
+++ b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h
@@ -26,7 +26,7 @@ typedef struct ObjTsubo {
/* 0x196 */ s8 homeRoom;
/* 0x197 */ s8 unk_197;
/* 0x198 */ s8 unk_198;
- /* 0x199 */ s8 objBankIndex;
+ /* 0x199 */ s8 objectSlot;
/* 0x19A */ s8 unk_19A;
/* 0x19B */ u8 unk_19B;
} ObjTsubo; // size = 0x19C
diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c
index 083b8c05f..2c52ecdec 100644
--- a/src/overlays/actors/ovl_player_actor/z_player.c
+++ b/src/overlays/actors/ovl_player_actor/z_player.c
@@ -3342,7 +3342,7 @@ void Player_InitItemAction_SpawnHookshot(PlayState* play, Player* this) {
return;
}
armsHook = (ArmsHook*)this->heldActor;
- armsHook->actor.objBankIndex = this->actor.objBankIndex;
+ armsHook->actor.objectSlot = this->actor.objectSlot;
armsHook->unk_208 = this->transformation;
}
@@ -10634,7 +10634,7 @@ Vec3f D_8085D340 = { 0.0f, 50.0f, 0.0f };
void Player_Init(Actor* thisx, PlayState* play) {
s32 pad;
Player* this = THIS;
- s8 objBankIndex;
+ s8 objectSlot;
s32 respawnFlag;
s32 var_a1;
PlayerInitMode initMode;
@@ -10661,9 +10661,9 @@ void Player_Init(Actor* thisx, PlayState* play) {
if (this->actor.shape.rot.x != 0) {
this->transformation = this->actor.shape.rot.x - 1;
- objBankIndex = Object_GetSlot(&play->objectCtx, gPlayerFormObjectIndices[this->transformation]);
- this->actor.objBankIndex = objBankIndex;
- if (objBankIndex < 0) {
+ objectSlot = Object_GetSlot(&play->objectCtx, gPlayerFormObjectIds[this->transformation]);
+ this->actor.objectSlot = objectSlot;
+ if (objectSlot <= OBJECT_SLOT_NONE) {
Actor_Kill(&this->actor);
return;
}
diff --git a/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c b/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c
index a7161d37e..fffd5b1d9 100644
--- a/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c
+++ b/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c
@@ -19,14 +19,14 @@ EffectSsInit Effect_En_Ice_Block_InitVars = {
EffectEnIceBlock_Init,
};
-#define rObjId regs[0]
+#define rObjectSlot regs[0]
#define rScale regs[1]
#define rRot regs[2]
#define rRotVel regs[3]
u32 EffectEnIceBlock_CheckIceBlockObject(EffectSs* this, PlayState* play) {
- if (((this->rObjId = Object_GetSlot(&play->objectCtx, OBJECT_ICE_BLOCK)) < 0) ||
- (!Object_IsLoaded(&play->objectCtx, this->rObjId))) {
+ if (((this->rObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_ICE_BLOCK)) <= OBJECT_SLOT_NONE) ||
+ (!Object_IsLoaded(&play->objectCtx, this->rObjectSlot))) {
this->life = -1;
this->draw = NULL;
return false;
@@ -63,7 +63,7 @@ void EffectEnIceBlock_Draw(PlayState* play, u32 index, EffectSs* this) {
OPEN_DISPS(gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x06,
- play->objectCtx.slots[this->rObjId].segment); // object: OBJECT_ICE_BLOCK
+ play->objectCtx.slots[this->rObjectSlot].segment); // object: OBJECT_ICE_BLOCK
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW);
diff --git a/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c b/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c
index 5febef413..0cc62b42d 100644
--- a/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c
+++ b/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c
@@ -13,7 +13,7 @@
#define rAlphaStep regs[6]
#define rFadeDelay regs[7]
#define rScaleStep regs[8]
-#define rObjectIndex regs[9]
+#define rObjectSlot regs[9]
#define PARAMS ((EffectSsDFireInitParams*)initParamsx)
@@ -29,8 +29,8 @@ EffectSsInit Effect_Ss_D_Fire_InitVars = {
static TexturePtr sFireTextures[] = { gDodongoFire0Tex, gDodongoFire1Tex, gDodongoFire2Tex, gDodongoFire3Tex };
s32 EffectSsDFire_CheckForObject(EffectSs* this, PlayState* play) {
- if (((this->rObjectIndex = Object_GetSlot(&play->objectCtx, OBJECT_DODONGO)) < 0) ||
- !Object_IsLoaded(&play->objectCtx, this->rObjectIndex)) {
+ if (((this->rObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_DODONGO)) <= OBJECT_SLOT_NONE) ||
+ !Object_IsLoaded(&play->objectCtx, this->rObjectSlot)) {
this->life = -1;
this->draw = NULL;
return false;
@@ -65,16 +65,16 @@ u32 EffectSsDFire_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
void EffectSsDFire_Draw(PlayState* play, u32 index, EffectSs* this) {
GraphicsContext* gfxCtx = play->state.gfxCtx;
s32 pad;
- void* object;
+ void* objectPtr;
f32 scale;
if (EffectSsDFire_CheckForObject(this, play)) {
- object = play->objectCtx.slots[this->rObjectIndex].segment;
+ objectPtr = play->objectCtx.slots[this->rObjectSlot].segment;
OPEN_DISPS(gfxCtx);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(object);
- gSPSegment(POLY_XLU_DISP++, 0x06, object);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(objectPtr);
+ gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr);
scale = this->rScale / 100.0f;
diff --git a/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c b/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c
index e15e58f25..f8b20175b 100644
--- a/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c
+++ b/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c
@@ -23,7 +23,7 @@ EffectSsInit Effect_Ss_Extra_InitVars = {
static TexturePtr sPointTextures[] = { gYabusamePoint30Tex, gYabusamePoint60Tex, gYabusamePoint100Tex };
-#define rObjId regs[0]
+#define rObjectSlot regs[0]
#define rTimer regs[1]
#define rScoreIndex regs[2]
#define rScale regs[3]
@@ -31,13 +31,13 @@ static TexturePtr sPointTextures[] = { gYabusamePoint30Tex, gYabusamePoint60Tex,
u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) {
s32 pad;
EffectSsExtraInitParams* params = PARAMS;
- s32 objIndex;
+ s32 objectSlot;
- objIndex = Object_GetSlot(&play->objectCtx, OBJECT_YABUSAME_POINT);
- if ((objIndex >= 0) && (Object_IsLoaded(&play->objectCtx, objIndex))) {
+ objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_YABUSAME_POINT);
+ if ((objectSlot > OBJECT_SLOT_NONE) && (Object_IsLoaded(&play->objectCtx, objectSlot))) {
void* segBackup = gSegments[6];
- gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objIndex].segment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
this->pos = params->pos;
this->velocity = params->velocity;
@@ -48,7 +48,7 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
this->rScoreIndex = params->scoreIndex;
this->rScale = params->scale;
this->rTimer = 5;
- this->rObjId = objIndex;
+ this->rObjectSlot = objectSlot;
gSegments[6] = segBackup;
return 1;
@@ -59,16 +59,16 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
void EffectSsExtra_Draw(PlayState* play, u32 index, EffectSs* this) {
s32 pad;
f32 scale;
- void* storedSegment;
+ void* objectPtr;
scale = this->rScale / 100.0f;
- storedSegment = play->objectCtx.slots[this->rObjId].segment;
+ objectPtr = play->objectCtx.slots[this->rObjectSlot].segment;
OPEN_DISPS(play->state.gfxCtx);
- gSegments[6] = VIRTUAL_TO_PHYSICAL(storedSegment);
+ gSegments[6] = VIRTUAL_TO_PHYSICAL(objectPtr);
- gSPSegment(POLY_XLU_DISP++, 0x06, storedSegment);
+ gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr);
Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW);
Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
diff --git a/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.c b/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.c
index 828570685..521b6db54 100644
--- a/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.c
+++ b/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.c
@@ -11,8 +11,8 @@
#define rYaw regs[1]
#define rFlags regs[2]
#define rScale regs[3]
-#define rObjId regs[4]
-#define rObjBankIndex regs[5]
+#define rObjectId regs[4]
+#define rObjectSlot regs[5]
#define rMinLife regs[6]
#define PARAMS ((EffectSsHahenInitParams*)initParamsx)
@@ -27,8 +27,8 @@ EffectSsInit Effect_Ss_Hahen_InitVars = {
};
void EffectSsHahen_CheckForObject(EffectSs* this, PlayState* play) {
- if (((this->rObjBankIndex = Object_GetSlot(&play->objectCtx, this->rObjId)) < 0) ||
- !Object_IsLoaded(&play->objectCtx, this->rObjBankIndex)) {
+ if (((this->rObjectSlot = Object_GetSlot(&play->objectCtx, this->rObjectId)) <= OBJECT_SLOT_NONE) ||
+ !Object_IsLoaded(&play->objectCtx, this->rObjectSlot)) {
this->life = -1;
this->draw = NULL;
}
@@ -44,11 +44,11 @@ u32 EffectSsHahen_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
if (initParams->dList != NULL) {
this->gfx = initParams->dList;
- this->rObjId = initParams->objId;
+ this->rObjectId = initParams->objectId;
EffectSsHahen_CheckForObject(this, play);
} else {
this->gfx = gEffFragments1DL;
- this->rObjId = HAHEN_OBJECT_DEFAULT;
+ this->rObjectId = HAHEN_OBJECT_DEFAULT;
}
this->draw = EffectSsHahen_Draw;
@@ -68,8 +68,8 @@ void EffectSsHahen_DrawOpa(PlayState* play, EffectSs* this) {
OPEN_DISPS(gfxCtx);
- if (this->rObjId != HAHEN_OBJECT_DEFAULT) {
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->rObjBankIndex].segment);
+ if (this->rObjectId != HAHEN_OBJECT_DEFAULT) {
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->rObjectSlot].segment);
}
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
Gfx_SetupDL25_Opa(play->state.gfxCtx);
@@ -84,8 +84,8 @@ void EffectSsHahen_DrawXlu(PlayState* play, EffectSs* this) {
OPEN_DISPS(gfxCtx);
- if (this->rObjId != -1) {
- gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->rObjBankIndex].segment);
+ if (this->rObjectId != -1) {
+ gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->rObjectSlot].segment);
}
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
@@ -125,7 +125,7 @@ void EffectSsHahen_Update(PlayState* play, u32 index, EffectSs* this) {
this->life = 0;
}
- if (this->rObjId != HAHEN_OBJECT_DEFAULT) {
+ if (this->rObjectId != HAHEN_OBJECT_DEFAULT) {
EffectSsHahen_CheckForObject(this, play);
}
}
diff --git a/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h b/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h
index d962bf55f..5fc6303d4 100644
--- a/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h
+++ b/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h
@@ -15,7 +15,7 @@ typedef struct {
/* 0x24 */ Gfx* dList;
/* 0x28 */ s16 flags;
/* 0x2A */ s16 scale;
- /* 0x2C */ s16 objId;
+ /* 0x2C */ s16 objectId;
/* 0x2C */ s16 life;
} EffectSsHahenInitParams; // size = 0x30
diff --git a/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.c b/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.c
index bde2227d2..7c3bcd0ad 100644
--- a/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.c
+++ b/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.c
@@ -17,8 +17,8 @@
#define rScale regs[7]
#define rReg8 regs[8]
#define rReg9 regs[9]
-#define rObjId regs[10]
-#define rObjBankIndex regs[11]
+#define rObjectId regs[10]
+#define rObjectSlot regs[11]
#define rColorIndex regs[12]
#define PARAMS ((EffectSsKakeraInitParams*)initParamsx)
@@ -51,14 +51,14 @@ u32 EffectSsKakera_Init(PlayState* play, u32 index, EffectSs* this, void* initPa
this->priority = 101;
if (initParams->dList != NULL) {
this->gfx = initParams->dList;
- switch (initParams->objId) {
+ switch (initParams->objectId) {
case GAMEPLAY_KEEP:
case GAMEPLAY_FIELD_KEEP:
case GAMEPLAY_DANGEON_KEEP:
- this->rObjId = KAKERA_OBJECT_DEFAULT;
+ this->rObjectId = KAKERA_OBJECT_DEFAULT;
break;
default:
- this->rObjId = initParams->objId;
+ this->rObjectId = initParams->objectId;
EffectSsKakera_CheckForObject(this, play);
break;
}
@@ -93,11 +93,11 @@ void EffectSsKakera_Draw(PlayState* play, u32 index, EffectSs* this) {
s32 colorIndex = this->rColorIndex;
OPEN_DISPS(gfxCtx);
- if (this->rObjId != KAKERA_OBJECT_DEFAULT) {
+ if (this->rObjectId != KAKERA_OBJECT_DEFAULT) {
if ((((this->rReg4 >> 7) & 1) << 7) == 0x80) {
- gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->rObjBankIndex].segment);
+ gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->rObjectSlot].segment);
} else {
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->rObjBankIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->rObjectSlot].segment);
}
}
@@ -127,8 +127,8 @@ void EffectSsKakera_Draw(PlayState* play, u32 index, EffectSs* this) {
}
void EffectSsKakera_CheckForObject(EffectSs* this, PlayState* play) {
- this->rObjBankIndex = Object_GetSlot(&play->objectCtx, this->rObjId);
- if ((this->rObjBankIndex < 0) || (!Object_IsLoaded(&play->objectCtx, this->rObjBankIndex))) {
+ this->rObjectSlot = Object_GetSlot(&play->objectCtx, this->rObjectId);
+ if ((this->rObjectSlot <= OBJECT_SLOT_NONE) || (!Object_IsLoaded(&play->objectCtx, this->rObjectSlot))) {
this->life = 0;
this->draw = NULL;
}
@@ -369,7 +369,7 @@ void EffectSsKakera_Update(PlayState* play, u32 index, EffectSs* this) {
this->life = 0;
}
func_8097E7E0(this, play);
- if (this->rObjId != KAKERA_OBJECT_DEFAULT) {
+ if (this->rObjectId != KAKERA_OBJECT_DEFAULT) {
EffectSsKakera_CheckForObject(this, play);
}
}
diff --git a/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h b/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h
index d55a683cd..f2e5a609c 100644
--- a/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h
+++ b/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h
@@ -30,7 +30,7 @@ typedef struct {
/* 0x32 */ s16 unk_32;
/* 0x34 */ s32 life;
/* 0x38 */ s16 colorIdx;
- /* 0x3A */ s16 objId;
+ /* 0x3A */ s16 objectId;
/* 0x3C */ Gfx* dList;
} EffectSsKakeraInitParams; // size = 0x40
diff --git a/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c
index fcdca875f..f3de09474 100644
--- a/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c
+++ b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c
@@ -7,7 +7,7 @@
#include "z_eff_ss_stick.h"
#include "objects/gameplay_keep/gameplay_keep.h"
-#define rObjBankIndex regs[0]
+#define rObjectSlot regs[0]
#define rYaw regs[1]
#define PARAMS ((EffectSsStickInitParams*)initParamsx)
@@ -25,7 +25,7 @@ u32 EffectSsStick_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
EffectSsStickInitParams* initParams = PARAMS;
Vec3f pos;
- this->rObjBankIndex = Object_GetSlot(&play->objectCtx, GAMEPLAY_KEEP);
+ this->rObjectSlot = Object_GetSlot(&play->objectCtx, GAMEPLAY_KEEP);
pos = initParams->pos;
this->pos = pos;
this->vec = pos;
@@ -51,7 +51,7 @@ void EffectSsStick_Draw(PlayState* play, u32 index, EffectSs* this) {
Matrix_RotateZYX(0, this->rYaw, 0, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
Gfx_SetupDL25_Opa(gfxCtx);
- gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->rObjBankIndex].segment);
+ gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->rObjectSlot].segment);
gSPSegment(POLY_OPA_DISP++, 0x0C, gCullBackDList);
gSPDisplayList(POLY_OPA_DISP++, gDekuStickDL);
diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt
index a5bcf5354..85b13487c 100644
--- a/tools/disasm/functions.txt
+++ b/tools/disasm/functions.txt
@@ -2688,7 +2688,7 @@
0x8013D768:("SubS_MoveActorToPoint",),
0x8013D83C:("SubS_GetDistSqAndOrientPath",),
0x8013D8DC:("SubS_IsObjectLoaded",),
- 0x8013D924:("SubS_GetObjectIndex",),
+ 0x8013D924:("SubS_GetObjectSlot",),
0x8013D960:("SubS_FindActor",),
0x8013D9C8:("SubS_UpdateFidgetTables",),
0x8013DB90:("SubS_IsFloorAbove",),
@@ -9607,7 +9607,7 @@
0x80A0CC88:("EnSob1_GetGoodbye",),
0x80A0CCEC:("EnSob1_BombShopkeeper_EndInteraction",),
0x80A0CD48:("EnSob1_SpawnShopItems",),
- 0x80A0CE10:("EnSob1_GetObjIndices",),
+ 0x80A0CE10:("EnSob1_GetObjectIndices",),
0x80A0CED4:("EnSob1_Init",),
0x80A0D008:("EnSob1_Destroy",),
0x80A0D034:("EnSob1_UpdateCursorPos",),
diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt
index 1d3913e65..b427905c9 100644
--- a/tools/disasm/variables.txt
+++ b/tools/disasm/variables.txt
@@ -1323,7 +1323,7 @@
0x801C2650:("naviQuestHintFiles","RomFile","[2]",0x10),
0x801C2660:("sceneTextureFiles","RomFile","[9]",0x48),
0x801C26A8:("sSceneCmdHandlers","scene_header_func","[31]",0x7c),
- 0x801C2730:("gPlayerFormObjectIndices","s16","[5]",0xA),
+ 0x801C2730:("gPlayerFormObjectIds","s16","[5]",0xA),
0x801C273C:("gObjectTableSize","ObjectId","",0x4),
0x801C2740:("gObjectTable","RomFile","[643]",0x1418),
0x801C3B60:("sSceneDrawDefaultDL","Gfx","[11]",0x58),
@@ -5407,7 +5407,7 @@
0x80867784:("D_80867784","UNK_TYPE1","",0x1),
0x8086778C:("D_8086778C","UNK_PTR","",0x4),
0x8086780C:("En_Door_InitVars","UNK_TYPE1","",0x1),
- 0x8086782C:("sObjInfo","UNK_TYPE2","",0x126),
+ 0x8086782C:("sObjectInfo","UNK_TYPE2","",0x126),
0x80867954:("sInitChain","UNK_TYPE1","",0x1),
0x80867964:("sAnimations","AnimationHeader","[10]",0x28),
0x8086798C:("sAnimOpenFrames","u8","[10]",0x10),
@@ -6619,7 +6619,7 @@
0x808CD5E8:("D_808CD5E8","f32","",0x4),
0x808CE290:("Demo_Effect_InitVars","UNK_TYPE1","",0x1),
0x808CE2B0:("D_808CE2B0","UNK_TYPE4","",0x4),
- 0x808CE2C0:("sEffectTypeObjects","s16","",0x12),
+ 0x808CE2C0:("sEffectTypeObjectIds","s16","",0x12),
0x808CE2D4:("sAlphaTypes","u8","",0x15),
0x808CE2F0:("jtbl_808CE2F0","UNK_PTR","",0x4),
0x808CE314:("D_808CE314","f32","",0x4),
@@ -12701,7 +12701,7 @@
0x80AC1E04:("D_80AC1E04","f32","",0x4),
0x80AC2580:("En_Door_Etc_InitVars","UNK_TYPE1","",0x1),
0x80AC25A0:("sCylinderInit","UNK_TYPE1","",0x1),
- 0x80AC25CC:("sObjInfo","UNK_TYPE2","",0x2),
+ 0x80AC25CC:("sObjectInfo","UNK_TYPE2","",0x2),
0x80AC2634:("sInitChain","UNK_TYPE1","",0x1),
0x80AC2650:("D_80AC2650","f32","",0x4),
0x80AC4510:("En_Bigokuta_InitVars","UNK_TYPE1","",0x1),
diff --git a/tools/namefixer.py b/tools/namefixer.py
index 12ff471aa..ea6d5e19e 100755
--- a/tools/namefixer.py
+++ b/tools/namefixer.py
@@ -781,7 +781,8 @@ wordReplace = {
"func_8013AED4": "SubS_SetOfferMode",
"SubS_UpdateFlags": "SubS_SetOfferMode",
"func_8013D8DC": "SubS_IsObjectLoaded",
- "func_8013D924": "SubS_GetObjectIndex",
+ "func_8013D924": "SubS_GetObjectSlot",
+ "SubS_GetObjectIndex": "SubS_GetObjectSlot",
"func_8013D5E8": "SubS_AngleDiffLessEqual",
"func_8013DCE0": "SubS_ActorPathing_Init",
"func_8013DE04": "SubS_ActorPathing_Update",
diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv
index 323a6af9e..240f6a0b1 100644
--- a/tools/sizes/code_functions.csv
+++ b/tools/sizes/code_functions.csv
@@ -2202,7 +2202,7 @@ asm/non_matchings/code/z_sub_s/SubS_GetDistSqAndOrientPoints.s,SubS_GetDistSqAnd
asm/non_matchings/code/z_sub_s/SubS_MoveActorToPoint.s,SubS_MoveActorToPoint,0x8013D768,0x35
asm/non_matchings/code/z_sub_s/SubS_GetDistSqAndOrientPath.s,SubS_GetDistSqAndOrientPath,0x8013D83C,0x28
asm/non_matchings/code/z_sub_s/SubS_IsObjectLoaded.s,SubS_IsObjectLoaded,0x8013D8DC,0x12
-asm/non_matchings/code/z_sub_s/SubS_GetObjectIndex.s,SubS_GetObjectIndex,0x8013D924,0xF
+asm/non_matchings/code/z_sub_s/SubS_GetObjectSlot.s,SubS_GetObjectSlot,0x8013D924,0xF
asm/non_matchings/code/z_sub_s/SubS_FindActor.s,SubS_FindActor,0x8013D960,0x1A
asm/non_matchings/code/z_sub_s/SubS_UpdateFidgetTables.s,SubS_UpdateFidgetTables,0x8013D9C8,0x72
asm/non_matchings/code/z_sub_s/SubS_IsFloorAbove.s,SubS_IsFloorAbove,0x8013DB90,0x2C
From 6ea91335c5937c5bd975a941cb2a999e732d19b2 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Fri, 6 Oct 2023 02:45:26 +0200
Subject: [PATCH 02/16] object_zl1 (#1381)
* object_zl1
* formating
* improvements
* offset
* order
* offset
* blobs
* offset
---
assets/xml/objects/object_zl1.xml | 197 +++++++++++++++++-------------
1 file changed, 112 insertions(+), 85 deletions(-)
diff --git a/assets/xml/objects/object_zl1.xml b/assets/xml/objects/object_zl1.xml
index 2b8a101bc..ed7fbf987 100644
--- a/assets/xml/objects/object_zl1.xml
+++ b/assets/xml/objects/object_zl1.xml
@@ -1,90 +1,117 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 16bc54b63b985ef47a6da2f3aac148bde44108c9 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Fri, 6 Oct 2023 22:40:56 +0200
Subject: [PATCH 03/16] object_lightblock (#1414)
* naming
* Original naming
* sun block
---
assets/xml/objects/object_lightblock.xml | 11 ++++++-----
.../actors/ovl_Obj_Lightblock/z_obj_lightblock.c | 6 +++---
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/assets/xml/objects/object_lightblock.xml b/assets/xml/objects/object_lightblock.xml
index d58ec0004..07c5da688 100644
--- a/assets/xml/objects/object_lightblock.xml
+++ b/assets/xml/objects/object_lightblock.xml
@@ -1,9 +1,10 @@
+
-
-
-
-
-
+
+
+
+
+
diff --git a/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.c b/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.c
index 90feb9634..28ead0679 100644
--- a/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.c
+++ b/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.c
@@ -98,7 +98,7 @@ void ObjLightblock_Init(Actor* thisx, PlayState* play) {
return;
}
- DynaPolyActor_LoadMesh(play, &this->dyna, &object_lightblock_Colheader_000B80);
+ DynaPolyActor_LoadMesh(play, &this->dyna, &gSunBlockCol);
Collider_SetCylinder(play, &this->collider, &this->dyna.actor, &sCylinderInit);
Collider_UpdateCylinder(&this->dyna.actor, &this->collider);
this->collider.dim.radius = typeVars->radius;
@@ -200,13 +200,13 @@ void ObjLightblock_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_XLU_DISP++, 0x08, D_801AEF88);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 255, 255, 255, this->alpha);
- gSPDisplayList(POLY_XLU_DISP++, object_lightblock_DL_000178);
+ gSPDisplayList(POLY_XLU_DISP++, gSunBlockDL);
} else {
Gfx_SetupDL25_Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, D_801AEFA0);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0x80, 255, 255, 255, 255);
- gSPDisplayList(POLY_OPA_DISP++, object_lightblock_DL_000178);
+ gSPDisplayList(POLY_OPA_DISP++, gSunBlockDL);
}
CLOSE_DISPS(play->state.gfxCtx);
From a980067bd8b0bb96e9b05537ff2aedb1a9771eb4 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Sat, 7 Oct 2023 03:40:59 +0200
Subject: [PATCH 04/16] ovl_En_Takaraya decompiled (#1409)
* EnTakaraya_Destroy
* some matching
* some matching
* some matching
* matched func_80ADF7CC
* func_80ADEF74 wrong arg
* data
* clean up
* improvements
* actionFunc pointer
* fake
* improvements
* improvements
* naming for the bool
* function naming
* improvements
* improvements
* GET_PLAYER_FORM macro
* macro
---
assets/xml/objects/object_bg.xml | 121 +++---
spec | 3 +-
.../actors/ovl_En_Takaraya/z_en_takaraya.c | 410 ++++++++++++++++--
.../actors/ovl_En_Takaraya/z_en_takaraya.h | 15 +-
4 files changed, 465 insertions(+), 84 deletions(-)
diff --git a/assets/xml/objects/object_bg.xml b/assets/xml/objects/object_bg.xml
index 272968b8d..9008fb381 100644
--- a/assets/xml/objects/object_bg.xml
+++ b/assets/xml/objects/object_bg.xml
@@ -1,62 +1,79 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -73,6 +90,8 @@
+
+
@@ -84,6 +103,8 @@
+
+
@@ -107,6 +128,8 @@
+
+
diff --git a/spec b/spec
index 339a701c8..e4508b5bd 100644
--- a/spec
+++ b/spec
@@ -3334,8 +3334,7 @@ beginseg
name "ovl_En_Takaraya"
compress
include "build/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.o"
- include "build/data/ovl_En_Takaraya/ovl_En_Takaraya.data.o"
- include "build/data/ovl_En_Takaraya/ovl_En_Takaraya.reloc.o"
+ include "build/src/overlays/actors/ovl_En_Takaraya/ovl_En_Takaraya_reloc.o"
endseg
beginseg
diff --git a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c
index a2c39f16b..692651860 100644
--- a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c
+++ b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c
@@ -15,7 +15,25 @@ void EnTakaraya_Destroy(Actor* thisx, PlayState* play);
void EnTakaraya_Update(Actor* thisx, PlayState* play);
void EnTakaraya_Draw(Actor* thisx, PlayState* play);
-#if 0
+void EnTakaraya_Blink(EnTakaraya* this);
+void EnTakaraya_SetupWait(EnTakaraya* this);
+void EnTakaraya_Wait(EnTakaraya* this, PlayState* play);
+void EnTakaraya_SpawnWalls(EnTakaraya* this, PlayState* play);
+void EnTakaraya_SetupTalk(EnTakaraya* this);
+void EnTakaraya_Talk(EnTakaraya* this, PlayState* play);
+void func_80ADF2D4(EnTakaraya* this);
+void func_80ADF338(EnTakaraya* this, PlayState* play);
+void func_80ADF4E0(EnTakaraya* this);
+void func_80ADF520(EnTakaraya* this, PlayState* play);
+void func_80ADF608(EnTakaraya* this, PlayState* play);
+void func_80ADF654(EnTakaraya* this, PlayState* play);
+void func_80ADF6DC(EnTakaraya* this);
+void func_80ADF730(EnTakaraya* this, PlayState* play);
+void func_80ADF7B8(EnTakaraya* this);
+void func_80ADF7CC(EnTakaraya* this, PlayState* play);
+s32 EnTakaraya_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx);
+void EnTakaraya_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx);
+
ActorInit En_Takaraya_InitVars = {
ACTOR_EN_TAKARAYA,
ACTORCAT_NPC,
@@ -28,61 +46,391 @@ ActorInit En_Takaraya_InitVars = {
(ActorFunc)EnTakaraya_Draw,
};
-// static InitChainEntry sInitChain[] = {
-static InitChainEntry D_80ADFB20[] = {
+TexturePtr sEyesUpTextures[] = {
+ gTreasureChestShopGalEyeOpenUpTex,
+ gTreasureChestShopGalEyeHalfUpTex,
+ gTreasureChestShopGalEyeClosedTex,
+ gTreasureChestShopGalEyeHalfUpTex,
+};
+
+TexturePtr sEyesDownTextures[] = {
+ gTreasureChestShopGalEyeOpenDownTex,
+ gTreasureChestShopGalEyeHalfDownTex,
+ gTreasureChestShopGalEyeClosedTex,
+ gTreasureChestShopGalEyeHalfDownTex,
+};
+
+static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, TARGET_MODE_6, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP),
};
-#endif
+u32 sTexturesDesegmented = false;
-extern InitChainEntry D_80ADFB20[];
+u16 D_80ADFB2C[PLAYER_FORM_MAX] = {
+ 0x76D, // PLAYER_FORM_FIERCE_DEITY
+ 0x76E, // PLAYER_FORM_GORON
+ 0x76F, // PLAYER_FORM_ZORA
+ 0x76C, // PLAYER_FORM_DEKU
+ 0x76D, // PLAYER_FORM_HUMAN
+};
-extern UNK_TYPE D_06001384;
-extern UNK_TYPE D_06009890;
-extern UNK_TYPE D_0600A280;
-extern UNK_TYPE D_0600AD98;
+u8 D_80ADFB38[PLAYER_FORM_MAX][2] = {
+ { 5, 5 }, // PLAYER_FORM_FIERCE_DEITY
+ { 12, 5 }, // PLAYER_FORM_GORON
+ { 4, 4 }, // PLAYER_FORM_ZORA
+ { 42, 41 }, // PLAYER_FORM_DEKU
+ { 5, 5 }, // PLAYER_FORM_HUMAN
+};
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/EnTakaraya_Init.s")
+u16 D_80ADFB44[PLAYER_FORM_MAX] = {
+ 0x775, // PLAYER_FORM_FIERCE_DEITY
+ 0x776, // PLAYER_FORM_GORON
+ 0x777, // PLAYER_FORM_ZORA
+ 0x774, // PLAYER_FORM_DEKU
+ 0x775, // PLAYER_FORM_HUMAN
+};
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/EnTakaraya_Destroy.s")
+u16 D_80ADFB50[PLAYER_FORM_MAX] = {
+ 0x771, // PLAYER_FORM_FIERCE_DEITY
+ 0x772, // PLAYER_FORM_GORON
+ 0x773, // PLAYER_FORM_ZORA
+ 0x770, // PLAYER_FORM_DEKU
+ 0x771, // PLAYER_FORM_HUMAN
+};
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADED8C.s")
+void EnTakaraya_Init(Actor* thisx, PlayState* play) {
+ EnTakaraya* this = THIS;
+ s32 i;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADEDF8.s")
+ Actor_ProcessInitChain(&this->actor, sInitChain);
+ ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f);
+ SkelAnime_InitFlex(play, &this->skelAnime, &gTreasureChestShopGalSkel, &object_bg_Anim_009890, this->jointTable,
+ this->morphTable, TREASURE_CHEST_SHOP_GAL_LIMB_MAX);
+ this->switchFlag = EN_TAKARAYA_GET_SWITCH_FLAG(thisx);
+ thisx->params &= 0xFF;
+ if (!sTexturesDesegmented) {
+ for (i = 0; i < ARRAY_COUNT(sEyesDownTextures); i++) {
+ sEyesUpTextures[i] = Lib_SegmentedToVirtual(sEyesUpTextures[i]);
+ sEyesDownTextures[i] = Lib_SegmentedToVirtual(sEyesDownTextures[i]);
+ }
+ sTexturesDesegmented = true;
+ }
+ this->eyeTexIndex = 2;
+ if (gSaveContext.save.entrance == ENTRANCE(TREASURE_CHEST_SHOP, 1)) {
+ Audio_StopSubBgm();
+ if (gSaveContext.timerStates[TIMER_ID_MINIGAME_2] == TIMER_STATE_6) {
+ this->actor.textId = 0x77A;
+ gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
+ func_80ADF6DC(this);
+ } else {
+ this->actor.textId = 0x77C;
+ if (CHECK_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED)) {
+ CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_WAIT);
+ CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED);
+ EnTakaraya_SetupWait(this);
+ } else {
+ func_80ADF6DC(this);
+ }
+ }
+ } else {
+ EnTakaraya_SetupWait(this);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADEE4C.s")
+void EnTakaraya_Destroy(Actor* thisx, PlayState* play) {
+ EnTakaraya* this = THIS;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADEF74.s")
+ Flags_UnsetSwitch(play, 5);
+ if (!this->unk2AD) {
+ CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_WAIT);
+ gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF03C.s")
+void EnTakaraya_Blink(EnTakaraya* this) {
+ if (this->eyeTexIndex != 0) {
+ this->eyeTexIndex++;
+ if (this->eyeTexIndex == 4) {
+ this->eyeTexIndex = 0;
+ }
+ } else if (Rand_ZeroOne() < 0.02f) {
+ this->eyeTexIndex++;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF050.s")
+void EnTakaraya_SetupWait(EnTakaraya* this) {
+ if (this->skelAnime.animation == &object_bg_Anim_001384) {
+ Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_00AD98, 5.0f);
+ }
+ this->actionFunc = EnTakaraya_Wait;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF2D4.s")
+void EnTakaraya_Wait(EnTakaraya* this, PlayState* play) {
+ if (SkelAnime_Update(&this->skelAnime)) {
+ if (this->skelAnime.animation == &object_bg_Anim_00A280) {
+ Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_00AD98, 5.0f);
+ } else {
+ Animation_MorphToLoop(&this->skelAnime, &object_bg_Anim_009890, -4.0f);
+ }
+ }
+ if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
+ if (Text_GetFaceReaction(play, FACE_REACTION_SET_TREASURE_CHEST_SHOP_GAL) == 0) {
+ Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_00A280, -4.0f);
+ }
+ EnTakaraya_SetupTalk(this);
+ } else if (Actor_IsFacingPlayer(&this->actor, 0x2000)) {
+ this->actor.textId = Text_GetFaceReaction(play, FACE_REACTION_SET_TREASURE_CHEST_SHOP_GAL);
+ if (this->actor.textId == 0) {
+ this->actor.textId = D_80ADFB2C[GET_PLAYER_FORM];
+ }
+ this->formSwitchFlag = GET_PLAYER_FORM + this->switchFlag;
+ Actor_OfferTalk(&this->actor, play, 120.0f);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF338.s")
+void EnTakaraya_SpawnWalls(EnTakaraya* this, PlayState* play) {
+ u8 var_v1;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF4E0.s")
+ if (Flags_GetSwitch(play, this->formSwitchFlag)) {
+ var_v1 = D_80ADFB38[GET_PLAYER_FORM][1];
+ } else {
+ var_v1 = D_80ADFB38[GET_PLAYER_FORM][0];
+ }
+ Actor_SpawnAsChildAndCutscene(&play->actorCtx, play, ACTOR_OBJ_TAKARAYA_WALL, 0.0f, 0.0f, 0.0f, 0, 0, 5,
+ ((var_v1 << 5) + this->actor.params) + 0xB000, this->actor.csId, HALFDAYBIT_ALL,
+ NULL);
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF520.s")
+void EnTakaraya_SetupTalk(EnTakaraya* this) {
+ this->actionFunc = EnTakaraya_Talk;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF608.s")
+void EnTakaraya_Talk(EnTakaraya* this, PlayState* play) {
+ u8 talkState;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF654.s")
+ if (SkelAnime_Update(&this->skelAnime)) {
+ if (this->skelAnime.animation == &object_bg_Anim_00AD98) {
+ Animation_PlayOnce(&this->skelAnime, &object_bg_Anim_000968);
+ } else if (this->skelAnime.animation == &object_bg_Anim_00A280) {
+ Animation_PlayLoop(&this->skelAnime, &object_bg_Anim_001384);
+ } else {
+ Animation_PlayLoop(&this->skelAnime, &object_bg_Anim_009890);
+ }
+ }
+ talkState = Message_GetState(&play->msgCtx);
+ if ((talkState == TEXT_STATE_CLOSING) || (talkState == TEXT_STATE_DONE)) {
+ if (this->actor.textId == 0x778) {
+ func_80ADF2D4(this);
+ } else {
+ CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_WAIT);
+ CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED);
+ EnTakaraya_SetupWait(this);
+ }
+ } else if ((talkState == TEXT_STATE_1) && (this->actor.textId != 0x778)) {
+ if (Message_ShouldAdvance(play)) {
+ Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_00AD98, 5.0f);
+ }
+ } else if ((talkState == TEXT_STATE_CHOICE) && Message_ShouldAdvance(play)) {
+ if (play->msgCtx.choiceIndex == 0) {
+ if (gSaveContext.save.saveInfo.playerData.rupees < play->msgCtx.unk1206C) {
+ this->actor.textId = 0x77B;
+ if (this->skelAnime.animation == &object_bg_Anim_009890) {
+ Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_000968, 5.0f);
+ }
+ Audio_PlaySfx(NA_SE_SY_ERROR);
+ } else {
+ Audio_PlaySfx_MessageDecide();
+ Rupees_ChangeBy(-play->msgCtx.unk1206C);
+ EnTakaraya_SpawnWalls(this, play);
+ this->actor.textId = 0x778;
+ if (this->skelAnime.animation != &object_bg_Anim_009890) {
+ Animation_MorphToLoop(&this->skelAnime, &object_bg_Anim_009890, 5.0f);
+ }
+ }
+ } else {
+ Audio_PlaySfx_MessageCancel();
+ this->actor.textId = D_80ADFB44[GET_PLAYER_FORM];
+ if (this->skelAnime.animation == &object_bg_Anim_009890) {
+ Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_000968, 5.0f);
+ }
+ }
+ Message_ContinueTextbox(play, this->actor.textId);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF6DC.s")
+void func_80ADF2D4(EnTakaraya* this) {
+ Actor_PlaySfx_FlaggedCentered2(&this->actor, NA_SE_SY_FOUND);
+ Audio_PlaySubBgm(NA_BGM_TIMED_MINI_GAME);
+ this->timer = 145;
+ SET_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_WAIT);
+ CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED);
+ this->actionFunc = func_80ADF338;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF730.s")
+void func_80ADF338(EnTakaraya* this, PlayState* play) {
+ Actor* chest = play->actorCtx.actorLists[ACTORCAT_CHEST].first;
+ Player* player = GET_PLAYER(play);
+ Vec3f subCamEye;
+ Vec3f subCamAt;
+ f32 sp2C;
+ s16 subCamId;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF7B8.s")
+ SkelAnime_Update(&this->skelAnime);
+ if ((CutsceneManager_GetCurrentCsId() == this->actor.csId) && (chest != NULL)) {
+ this->timer--;
+ subCamId = CutsceneManager_GetCurrentSubCamId(this->actor.csId);
+ if (this->timer >= 26) {
+ sp2C = 250.0f;
+ } else {
+ sp2C = ((chest->xzDistToPlayer - 250.0f) * (25 - this->timer) * 0.04f) + 250.0f;
+ }
+ subCamEye.x = (Math_SinS(chest->yawTowardsPlayer) * sp2C) + chest->world.pos.x;
+ subCamEye.y = player->actor.world.pos.y + 120.0f;
+ subCamEye.z = (Math_CosS(chest->yawTowardsPlayer) * sp2C) + chest->world.pos.z;
+ subCamAt.x = subCamEye.x - (Math_SinS(chest->yawTowardsPlayer) * 250.0f);
+ subCamAt.y = subCamEye.y - 90.0f;
+ subCamAt.z = subCamEye.z - (Math_CosS(chest->yawTowardsPlayer) * 250.0f);
+ Play_SetCameraAtEye(play, subCamId, &subCamAt, &subCamEye);
+ } else if (this->timer < 145) {
+ func_80ADF4E0(this);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF7CC.s")
+void func_80ADF4E0(EnTakaraya* this) {
+ Interface_StartTimer(TIMER_ID_MINIGAME_2, 45);
+ this->timer = 1;
+ this->actionFunc = func_80ADF520;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/EnTakaraya_Update.s")
+void func_80ADF520(EnTakaraya* this, PlayState* play) {
+ SkelAnime_Update(&this->skelAnime);
+ if (!Play_InCsMode(play)) {
+ if (Flags_GetTreasure(play, this->actor.params)) {
+ Flags_SetSwitch(play, this->formSwitchFlag);
+ play->actorCtx.sceneFlags.chest &= ~TAKARAYA_GET_TREASURE_FLAG(&this->actor);
+ this->timer = 0;
+ gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
+ func_80ADF608(this, play);
+ } else if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] == TIMER_STATE_OFF) {
+ this->timer = 50;
+ Message_StartTextbox(play, 0x77D, &this->actor);
+ gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
+ func_80ADF608(this, play);
+ }
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF94C.s")
+void func_80ADF608(EnTakaraya* this, PlayState* play) {
+ func_800B7298(play, &this->actor, PLAYER_CSMODE_WAIT);
+ this->unk2AD = true;
+ this->actionFunc = func_80ADF654;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF984.s")
+void func_80ADF654(EnTakaraya* this, PlayState* play) {
+ if (this->timer > 0) {
+ this->timer--;
+ } else {
+ if (gSaveContext.timerStates[TIMER_ID_MINIGAME_2] == TIMER_STATE_6) {
+ play->transitionType = TRANS_TYPE_80;
+ gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
+ } else {
+ play->transitionType = TRANS_TYPE_64;
+ gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
+ }
+ gSaveContext.nextCutsceneIndex = 0;
+ play->nextEntrance = ENTRANCE(TREASURE_CHEST_SHOP, 1);
+ play->transitionTrigger = TRANS_TRIGGER_START;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/EnTakaraya_Draw.s")
+void func_80ADF6DC(EnTakaraya* this) {
+ Animation_PlayLoop(&this->skelAnime, &object_bg_Anim_001384);
+ this->eyeTexIndex = 0;
+ this->actor.flags |= ACTOR_FLAG_10000;
+ this->actionFunc = func_80ADF730;
+}
+
+void func_80ADF730(EnTakaraya* this, PlayState* play) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
+ this->actor.flags &= ~ACTOR_FLAG_10000;
+ func_80ADF7B8(this);
+ } else {
+ this->formSwitchFlag = GET_PLAYER_FORM + this->switchFlag;
+ Actor_OfferTalk(&this->actor, play, 120.0f);
+ }
+}
+
+void func_80ADF7B8(EnTakaraya* this) {
+ this->actionFunc = func_80ADF7CC;
+}
+
+void func_80ADF7CC(EnTakaraya* this, PlayState* play) {
+ SkelAnime_Update(&this->skelAnime);
+
+ if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
+ if (this->actor.textId == 0x77A) {
+ if (CHECK_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED)) {
+ Message_CloseTextbox(play);
+ CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_WAIT);
+ CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED);
+ EnTakaraya_SetupWait(this);
+ } else {
+ this->actor.textId = 0x77C;
+ Message_ContinueTextbox(play, this->actor.textId);
+ }
+ } else {
+ this->actor.textId = D_80ADFB50[GET_PLAYER_FORM];
+ Message_ContinueTextbox(play, this->actor.textId);
+ Animation_MorphToPlayOnce(&this->skelAnime, &object_bg_Anim_00AD98, 5.0f);
+ EnTakaraya_SetupTalk(this);
+ }
+ }
+}
+
+void EnTakaraya_Update(Actor* thisx, PlayState* play) {
+ EnTakaraya* this = THIS;
+ s32 pad;
+ Vec3s torsoRot;
+
+ this->actionFunc(this, play);
+ Actor_TrackPlayer(play, &this->actor, &this->headRot, &torsoRot, this->actor.focus.pos);
+ EnTakaraya_Blink(this);
+}
+
+s32 EnTakaraya_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
+ EnTakaraya* this = THIS;
+
+ if (limbIndex == TREASURE_CHEST_SHOP_GAL_LIMB_HEAD) {
+ rot->x += this->headRot.y;
+ }
+ return false;
+}
+
+void EnTakaraya_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) {
+ EnTakaraya* this = THIS;
+
+ if (limbIndex == TREASURE_CHEST_SHOP_GAL_LIMB_HEAD) {
+ Matrix_RotateYS(0x400 - this->headRot.x, MTXMODE_APPLY);
+ Matrix_MultVecX(500.0f, &thisx->focus.pos);
+ }
+}
+
+void EnTakaraya_Draw(Actor* thisx, PlayState* play) {
+ EnTakaraya* this = THIS;
+
+ OPEN_DISPS(play->state.gfxCtx);
+ Gfx_SetupDL25_Opa(play->state.gfxCtx);
+
+ if ((GET_PLAYER_FORM == PLAYER_FORM_DEKU) || (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
+ gSPSegment(POLY_OPA_DISP++, 0x08, sEyesDownTextures[this->eyeTexIndex]);
+ } else {
+ gSPSegment(POLY_OPA_DISP++, 0x08, sEyesUpTextures[this->eyeTexIndex]);
+ }
+ SkelAnime_DrawTransformFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
+ this->skelAnime.dListCount, EnTakaraya_OverrideLimbDraw, NULL,
+ EnTakaraya_TransformLimbDraw, &this->actor);
+
+ CLOSE_DISPS(play->state.gfxCtx);
+}
diff --git a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.h b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.h
index cfa37125e..3124097de 100644
--- a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.h
+++ b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.h
@@ -2,16 +2,27 @@
#define Z_EN_TAKARAYA_H
#include "global.h"
+#include "objects/object_bg/object_bg.h"
struct EnTakaraya;
typedef void (*EnTakarayaActionFunc)(struct EnTakaraya*, PlayState*);
+#define EN_TAKARAYA_GET_SWITCH_FLAG(thisx) (((thisx)->params >> 0x8) & 0xFF)
+#define TAKARAYA_GET_TREASURE_FLAG(thisx) (1 << (thisx)->params)
+
typedef struct EnTakaraya {
/* 0x000 */ Actor actor;
- /* 0x144 */ char unk_144[0x164];
+ /* 0x144 */ SkelAnime skelAnime;
+ /* 0x188 */ Vec3s jointTable[TREASURE_CHEST_SHOP_GAL_LIMB_MAX];
+ /* 0x218 */ Vec3s morphTable[TREASURE_CHEST_SHOP_GAL_LIMB_MAX];
/* 0x2A8 */ EnTakarayaActionFunc actionFunc;
- /* 0x2AC */ char unk_2AC[0x10];
+ /* 0x2AC */ u8 eyeTexIndex;
+ /* 0x2AD */ u8 unk2AD;
+ /* 0x2AE */ s16 timer;
+ /* 0x2B0 */ s16 formSwitchFlag;
+ /* 0x2B2 */ s16 switchFlag;
+ /* 0x2B4 */ Vec3s headRot;
} EnTakaraya; // size = 0x2BC
#endif // Z_EN_TAKARAYA_H
From 43df8f44547354006cff735d9ba2c0b0f0defc83 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Sat, 7 Oct 2023 06:47:03 +0200
Subject: [PATCH 05/16] object_comb (#1420)
* naming
* OutName
---
assets/xml/objects/object_comb.xml | 12 ++++++++----
src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c | 8 ++++----
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/assets/xml/objects/object_comb.xml b/assets/xml/objects/object_comb.xml
index d2b00b0dd..2bea4db20 100644
--- a/assets/xml/objects/object_comb.xml
+++ b/assets/xml/objects/object_comb.xml
@@ -1,8 +1,12 @@
+
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
index be3d243e0..4227178e2 100644
--- a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
+++ b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
@@ -127,7 +127,7 @@ void func_8098CEAC(ObjComb* this, PlayState* play) {
phi_v0 = 0x20;
}
EffectSsKakera_Spawn(play, &spD0, &spC4, &spD0, phi_s0, phi_v0, phi_s1, 4, 0, temp_f10, 0, 0, 60, -1,
- OBJECT_COMB, object_comb_DL_001040);
+ OBJECT_COMB, gBeehiveFragmentDL);
}
spD0.x = this->actor.world.pos.x;
@@ -185,7 +185,7 @@ void func_8098D19C(ObjComb* this, PlayState* play) {
}
EffectSsKakera_Spawn(play, &spD0, &spC4, &spD0, phi_s0, phi_v0, phi_s1, 4, 0, temp_f8, 0, 0, 60, -1,
- OBJECT_COMB, object_comb_DL_001040);
+ OBJECT_COMB, gBeehiveFragmentDL);
}
spD0.x = this->actor.world.pos.x;
@@ -236,7 +236,7 @@ void func_8098D47C(ObjComb* this, PlayState* play) {
}
EffectSsKakera_Spawn(play, &spC8, &spBC, &spC8, phi_s0, phi_v0, 40, 0, 0, temp_f10, 0, 0, 80, -1, OBJECT_COMB,
- object_comb_DL_001040);
+ gBeehiveFragmentDL);
}
}
@@ -566,7 +566,7 @@ void ObjComb_Draw(Actor* thisx, PlayState* play) {
Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, object_comb_DL_000CB0);
+ gSPDisplayList(POLY_OPA_DISP++, gBeehiveDL);
Collider_UpdateSpheres(0, &this->collider);
From da0c9072f5332edbde00d405b2f1c94e92ece434 Mon Sep 17 00:00:00 2001
From: Zach North
Date: Sat, 7 Oct 2023 01:11:10 -0400
Subject: [PATCH 06/16] Document object_skb (#1404)
* object_skb: Limb and Anim docs
* object_skb: DL and text docs
* Formatting changed files
* Changed names for some bones to reflect oot names
* updating some names to address code review comments
* Whoops, forgot to change the name of MAX
* Rename EnHinkSkbAnimation in src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
* Changed STALCHILD_ANIM_x to STALCHILD_HINT_ANIM_x
* forgot to rename both parts of a typedef enum
* gStalchildSwingOnBranch missing Anim tag
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
* Fixed all instances of gStalchildSwingOnBranchAnim
---------
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
---
assets/xml/objects/object_skb.xml | 113 +++++++--------
.../actors/ovl_En_Hint_Skb/z_en_hint_skb.c | 133 +++++++++---------
.../actors/ovl_En_Hint_Skb/z_en_hint_skb.h | 4 +-
.../actors/ovl_En_Rail_Skb/z_en_rail_skb.c | 30 ++--
src/overlays/actors/ovl_En_Skb/z_en_skb.c | 46 +++---
5 files changed, 164 insertions(+), 162 deletions(-)
diff --git a/assets/xml/objects/object_skb.xml b/assets/xml/objects/object_skb.xml
index 78413a9de..b1afaf353 100644
--- a/assets/xml/objects/object_skb.xml
+++ b/assets/xml/objects/object_skb.xml
@@ -1,64 +1,65 @@
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c
index b0ea746d9..86cb7235d 100644
--- a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c
+++ b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c
@@ -125,37 +125,37 @@ static DamageTable sDamageTable = {
/* Powder Keg */ DMG_ENTRY(1, 0xF),
};
-typedef enum EnHinkSkbAnimation {
- /* 0 */ ENHINTSKB_ANIM_0,
- /* 1 */ ENHINTSKB_ANIM_1,
- /* 2 */ ENHINTSKB_ANIM_2,
- /* 3 */ ENHINTSKB_ANIM_3,
- /* 4 */ ENHINTSKB_ANIM_4,
- /* 5 */ ENHINTSKB_ANIM_5,
- /* 6 */ ENHINTSKB_ANIM_6,
- /* 7 */ ENHINTSKB_ANIM_7,
- /* 8 */ ENHINTSKB_ANIM_8,
- /* 9 */ ENHINTSKB_ANIM_9,
- /* 10 */ ENHINTSKB_ANIM_10,
- /* 11 */ ENHINTSKB_ANIM_11,
- /* 12 */ ENHINTSKB_ANIM_12,
- /* 13 */ ENHINTSKB_ANIM_MAX
-} EnHinkSkbAnimation;
+typedef enum StalchildHintAnimation {
+ /* 0 */ STALCHILD_HINT_ANIM_WALK,
+ /* 1 */ STALCHILD_HINT_ANIM_STAND_UP_MORPH_1,
+ /* 2 */ STALCHILD_HINT_ANIM_ATTACK,
+ /* 3 */ STALCHILD_HINT_ANIM_STAGGER_MORPH_4,
+ /* 4 */ STALCHILD_HINT_ANIM_COLLAPSE,
+ /* 5 */ STALCHILD_HINT_ANIM_SIT_LAUGH,
+ /* 6 */ STALCHILD_HINT_ANIM_SIT_TAP_TOES,
+ /* 7 */ STALCHILD_HINT_ANIM_SWING_ON_BRANCH,
+ /* 8 */ STALCHILD_HINT_ANIM_STAND_UP_MORPH_8,
+ /* 9 */ STALCHILD_HINT_ANIM_STAND_UP_MORPH_16,
+ /* 10 */ STALCHILD_HINT_ANIM_STAGGER_MORPH_8,
+ /* 11 */ STALCHILD_HINT_ANIM_SALUTE,
+ /* 12 */ STALCHILD_HINT_ANIM_IDLE,
+ /* 13 */ STALCHILD_HINT_ANIM_MAX
+} StalchildHintAnimation;
-static AnimationInfo sAnimationInfo[ENHINTSKB_ANIM_MAX] = {
- { &object_skb_Anim_0064E0, 0.96f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f }, // ENHINTSKB_ANIM_0
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -1.0f }, // ENHINTSKB_ANIM_1
- { &object_skb_Anim_002190, 0.6f, 0.0f, 0.0f, ANIMMODE_ONCE_INTERP, 4.0f }, // ENHINTSKB_ANIM_2
- { &object_skb_Anim_002AC8, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0f }, // ENHINTSKB_ANIM_3
- { &object_skb_Anim_00270C, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0f }, // ENHINTSKB_ANIM_4
- { &object_skb_Anim_00697C, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f }, // ENHINTSKB_ANIM_5
- { &object_skb_Anim_006D90, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f }, // ENHINTSKB_ANIM_6
- { &object_skb_Anim_001D1C, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f }, // ENHINTSKB_ANIM_7
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f }, // ENHINTSKB_ANIM_8
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -16.0f }, // ENHINTSKB_ANIM_9
- { &object_skb_Anim_002AC8, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f }, // ENHINTSKB_ANIM_10
- { &object_skb_Anim_0015EC, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f }, // ENHINTSKB_ANIM_11
- { &object_skb_Anim_0009E4, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f }, // ENHINTSKB_ANIM_12
+static AnimationInfo sAnimationInfo[STALCHILD_HINT_ANIM_MAX] = {
+ { &gStalchildWalkAnim, 0.96f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f }, // STALCHILD_HINT_ANIM_WALK
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -1.0f }, // STALCHILD_HINT_ANIM_STAND_UP_MORPH_1
+ { &gStalchildAttackAnim, 0.6f, 0.0f, 0.0f, ANIMMODE_ONCE_INTERP, 4.0f }, // STALCHILD_HINT_ANIM_ATTACK
+ { &gStalchildStaggerAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0f }, // STALCHILD_HINT_ANIM_STAGGER_MORPH_4
+ { &gStalchildCollapseAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0f }, // STALCHILD_HINT_ANIM_COLLAPSE
+ { &gStalchildSitLaughAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f }, // STALCHILD_HINT_ANIM_SIT_LAUGH
+ { &gStalchildSitTapToesAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f }, // STALCHILD_HINT_ANIM_SIT_TAP_TOES
+ { &gStalchildSwingOnBranchAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f }, // STALCHILD_HINT_ANIM_SWING_ON_BRANCH
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f }, // STALCHILD_HINT_ANIM_STAND_UP_MORPH_8
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -16.0f }, // STALCHILD_HINT_ANIM_STAND_UP_MORPH_16
+ { &gStalchildStaggerAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f }, // STALCHILD_HINT_ANIM_STAGGER_MORPH_8
+ { &gStalchildSaluteAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f }, // STALCHILD_HINT_ANIM_SALUTE
+ { &gStalchildIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f }, // STALCHILD_HINT_ANIM_IDLE
};
static InitChainEntry sInitChain[] = {
@@ -168,8 +168,8 @@ void EnHintSkb_Init(Actor* thisx, PlayState* play) {
EnHintSkb* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
- SkelAnime_Init(play, &this->skelAnime, &object_skb_Skel_005EF8, &object_skb_Anim_00697C, this->jointTable,
- this->morphTable, OBJECT_SKB_LIMB_MAX);
+ SkelAnime_Init(play, &this->skelAnime, &gStalchildSkel, &gStalchildSitLaughAnim, this->jointTable, this->morphTable,
+ STALCHILD_LIMB_MAX);
Collider_InitJntSph(play, &this->collider);
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElement);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
@@ -197,7 +197,7 @@ void func_80C1FE20(EnHintSkb* this, PlayState* play) {
}
void func_80C1FE30(EnHintSkb* this) {
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_0);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_WALK);
this->actor.speed = 1.6f;
this->actionFunc = func_80C1FE80;
}
@@ -216,7 +216,7 @@ void func_80C1FE80(EnHintSkb* this, PlayState* play) {
void func_80C1FF30(EnHintSkb* this) {
this->collider.base.atFlags &= ~AT_BOUNCED;
this->actor.speed = 0.0f;
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_2);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_ATTACK);
this->actionFunc = func_80C1FF88;
}
@@ -240,7 +240,7 @@ void func_80C1FF88(EnHintSkb* this, PlayState* play) {
}
void func_80C2003C(EnHintSkb* this) {
- Animation_Change(&this->skelAnime, &object_skb_Anim_002190, -0.4f, this->skelAnime.curFrame - 1.0f, 0.0f,
+ Animation_Change(&this->skelAnime, &gStalchildAttackAnim, -0.4f, this->skelAnime.curFrame - 1.0f, 0.0f,
ANIMMODE_ONCE_INTERP, 0.0f);
this->collider.base.atFlags &= ~AT_BOUNCED;
this->actionFunc = func_80C200B8;
@@ -277,7 +277,7 @@ void func_80C2016C(EnHintSkb* this, PlayState* play) {
if (this->actor.colChkInfo.health == 0) {
SoundSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 40, NA_SE_EN_STALKID_DEAD);
func_80C20484(this);
- } else if (this->skelAnime.animation == &object_skb_Anim_00697C) {
+ } else if (this->skelAnime.animation == &gStalchildSitLaughAnim) {
func_80C1FE0C(this);
} else if (func_80C21414(this)) {
func_80C1FF30(this);
@@ -288,14 +288,14 @@ void func_80C2016C(EnHintSkb* this, PlayState* play) {
}
void func_80C20274(EnHintSkb* this) {
- if (this->skelAnime.animation == &object_skb_Anim_00697C) {
+ if (this->skelAnime.animation == &gStalchildSitLaughAnim) {
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_8);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_STAND_UP_MORPH_8);
this->actor.gravity = -1.0f;
this->actor.speed = 1.0f;
} else {
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_3);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_STAGGER_MORPH_4);
if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) {
this->actor.speed = -4.0f;
}
@@ -333,7 +333,7 @@ void func_80C20334(EnHintSkb* this, PlayState* play) {
}
void func_80C20484(EnHintSkb* this) {
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_4);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_COLLAPSE);
this->unk_3E8 |= 4;
if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) {
this->actor.speed = -6.0f;
@@ -365,7 +365,7 @@ void func_80C20590(EnHintSkb* this, PlayState* play) {
this->drawDmgEffAlpha = 0.0f;
if (this->actor.colChkInfo.health != 0) {
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 8);
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_3);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_STAGGER_MORPH_4);
Actor_PlaySfx(&this->actor, NA_SE_EN_STALKID_DAMAGE);
this->unk_3E8 |= 1;
func_80C20274(this);
@@ -392,7 +392,7 @@ void func_80C2069C(EnHintSkb* this, PlayState* play) {
this->drawDmgEffAlpha = 0.0f;
if (this->actor.colChkInfo.health != 0) {
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 8);
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_3);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_STAGGER_MORPH_4);
Actor_PlaySfx(&this->actor, NA_SE_EN_STALKID_DAMAGE);
this->unk_3E8 |= 1;
func_80C20274(this);
@@ -416,15 +416,15 @@ void func_80C2077C(EnHintSkb* this, PlayState* play) {
this->unk_3DC = 1;
Message_StartTextbox(play, 0x1147, &this->actor);
this->unk_3E6 = 0x1147;
- if (this->skelAnime.animation == &object_skb_Anim_00697C) {
+ if (this->skelAnime.animation == &gStalchildSitLaughAnim) {
play->msgCtx.msgMode = MSGMODE_PAUSED;
this->actor.speed = 2.4f;
this->actor.gravity = -1.0f;
this->actor.velocity.y = 3.0f;
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_8);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_STAND_UP_MORPH_8);
}
} else {
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_11);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_SALUTE);
Message_StartTextbox(play, 0x1148, &this->actor);
this->unk_3E6 = 0x1148;
}
@@ -480,11 +480,11 @@ void func_80C208D0(EnHintSkb* this, PlayState* play) {
}
}
- if ((this->skelAnime.animation == &object_skb_Anim_003584) &&
+ if ((this->skelAnime.animation == &gStalchildStandUpAnim) &&
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
Message_StartTextbox(play, 0x1147, &this->actor);
this->unk_3E6 = 0x1147;
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_0);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_WALK);
}
}
@@ -559,7 +559,7 @@ void func_80C20C24(EnHintSkb* this, PlayState* play) {
case 0x1147:
Message_StartTextbox(play, 0x1148, &this->actor);
this->unk_3E6 = 0x1148;
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_11);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_SALUTE);
break;
case 0x1148:
@@ -611,7 +611,7 @@ void func_80C20D64(EnHintSkb* this, PlayState* play) {
this->actor.hintId = TATL_HINT_ID_NONE;
this->actor.textId = 0;
if (this->actionFunc == func_80C1FE80) {
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_12);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_IDLE);
}
func_80C2075C(this);
}
@@ -620,7 +620,7 @@ void func_80C20D64(EnHintSkb* this, PlayState* play) {
this->actor.flags |= (ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_UNFRIENDLY);
this->actor.hintId = TATL_HINT_ID_STALCHILD;
this->actor.textId = 0;
- if (this->skelAnime.animation == &object_skb_Anim_00697C) {
+ if (this->skelAnime.animation == &gStalchildSitLaughAnim) {
func_80C1FE0C(this);
} else {
func_80C1FE30(this);
@@ -724,7 +724,7 @@ void func_80C20E90(EnHintSkb* this, PlayState* play) {
this->drawDmgEffScale = 0.5f;
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 8);
Actor_PlaySfx(&this->actor, NA_SE_EN_STALKID_DAMAGE);
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_3);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_STAGGER_MORPH_4);
func_80C2066C(this);
break;
@@ -743,7 +743,7 @@ void func_80C20E90(EnHintSkb* this, PlayState* play) {
case 13:
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 8);
Actor_PlaySfx(&this->actor, NA_SE_EN_STALKID_DAMAGE);
- Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENHINTSKB_ANIM_3);
+ Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, STALCHILD_HINT_ANIM_STAGGER_MORPH_4);
func_80C20274(this);
break;
@@ -873,7 +873,7 @@ s32 EnHintSkb_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3
EnHintSkb* this = THIS;
f32 temp_f10;
- if (limbIndex == OBJECT_SKB_LIMB_0B) {
+ if (limbIndex == STALCHILD_LIMB_HEAD) {
OPEN_DISPS(play->state.gfxCtx);
temp_f10 = fabsf(Math_SinS(play->state.frames * 6000) * 95.0f) + 160.0f;
@@ -882,13 +882,13 @@ s32 EnHintSkb_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3
gDPSetEnvColor(POLY_OPA_DISP++, (s16)temp_f10, (s16)temp_f10, (s16)temp_f10, 255);
CLOSE_DISPS(play->state.gfxCtx);
- } else if (limbIndex == OBJECT_SKB_LIMB_0A) {
+ } else if (limbIndex == STALCHILD_LIMB_RIBCAGE) {
Matrix_MultZero(&this->actor.focus.pos);
- } else if ((limbIndex == OBJECT_SKB_LIMB_0C) && (this->unk_3DE == 1)) {
+ } else if ((limbIndex == STALCHILD_LIMB_LOWER_JAW) && (this->unk_3DE == 1)) {
Matrix_RotateZS(0x71C, MTXMODE_APPLY);
}
- if (((limbIndex == OBJECT_SKB_LIMB_0B) || (limbIndex == OBJECT_SKB_LIMB_0C)) && (this->unk_3E8 & 2)) {
+ if (((limbIndex == STALCHILD_LIMB_HEAD) || (limbIndex == STALCHILD_LIMB_LOWER_JAW)) && (this->unk_3E8 & 2)) {
*dList = NULL;
}
@@ -902,25 +902,26 @@ void EnHintSkb_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s*
if (!(this->unk_3E8 & 8)) {
Collider_UpdateSpheres(limbIndex, &this->collider);
- if ((limbIndex == OBJECT_SKB_LIMB_0B) && (this->unk_3E8 & 1) && !(this->unk_3E8 & 2)) {
+ if ((limbIndex == STALCHILD_LIMB_HEAD) && (this->unk_3E8 & 1) && !(this->unk_3E8 & 2)) {
Actor_SpawnBodyParts(&this->actor, play, 1, dList);
this->unk_3E8 |= 2;
} else if ((this->unk_3E8 & 4) && !(this->unk_3E8 & 8) &&
- ((limbIndex != OBJECT_SKB_LIMB_0B) || !(this->unk_3E8 & 1)) && (limbIndex != OBJECT_SKB_LIMB_0C)) {
+ ((limbIndex != STALCHILD_LIMB_HEAD) || !(this->unk_3E8 & 1)) &&
+ (limbIndex != STALCHILD_LIMB_LOWER_JAW)) {
Actor_SpawnBodyParts(&this->actor, play, 1, dList);
}
if (this->drawDmgEffTimer != 0) {
- if ((limbIndex == OBJECT_SKB_LIMB_02) || (limbIndex == OBJECT_SKB_LIMB_04) ||
- (limbIndex == OBJECT_SKB_LIMB_05) || (limbIndex == OBJECT_SKB_LIMB_06) ||
- (limbIndex == OBJECT_SKB_LIMB_07) || (limbIndex == OBJECT_SKB_LIMB_08) ||
- (limbIndex == OBJECT_SKB_LIMB_09) || (limbIndex == OBJECT_SKB_LIMB_0D) ||
- (limbIndex == OBJECT_SKB_LIMB_0E) || (limbIndex == OBJECT_SKB_LIMB_0F) ||
- (limbIndex == OBJECT_SKB_LIMB_10) || (limbIndex == OBJECT_SKB_LIMB_11) ||
- (limbIndex == OBJECT_SKB_LIMB_12)) {
+ if ((limbIndex == STALCHILD_LIMB_PELVIS) || (limbIndex == STALCHILD_LIMB_RIGHT_THIGH) ||
+ (limbIndex == STALCHILD_LIMB_RIGHT_SHIN) || (limbIndex == STALCHILD_LIMB_RIGHT_FOOT) ||
+ (limbIndex == STALCHILD_LIMB_LEFT_THIGH) || (limbIndex == STALCHILD_LIMB_LEFT_SHIN) ||
+ (limbIndex == STALCHILD_LIMB_LEFT_FOOT) || (limbIndex == STALCHILD_LIMB_RIGHT_UPPER_ARM) ||
+ (limbIndex == STALCHILD_LIMB_RIGHT_LOWER_ARM) || (limbIndex == STALCHILD_LIMB_RIGHT_HAND) ||
+ (limbIndex == STALCHILD_LIMB_LEFT_UPPER_ARM) || (limbIndex == STALCHILD_LIMB_LEFT_LOWER_ARM) ||
+ (limbIndex == STALCHILD_LIMB_LEFT_HAND)) {
Matrix_MultZero(&this->bodyPartsPos[this->bodyPartsCount]);
this->bodyPartsCount++;
- } else if ((limbIndex == OBJECT_SKB_LIMB_0B) && !(this->unk_3E8 & 2)) {
+ } else if ((limbIndex == STALCHILD_LIMB_HEAD) && !(this->unk_3E8 & 2)) {
Matrix_MultVec3f(&D_80C21E70, &this->bodyPartsPos[this->bodyPartsCount]);
this->bodyPartsCount++;
}
diff --git a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.h b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.h
index 95576210d..d29dd7fbf 100644
--- a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.h
+++ b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.h
@@ -38,8 +38,8 @@ typedef struct EnHintSkb {
/* 0x2D4 */ f32 drawDmgEffAlpha;
/* 0x2D8 */ f32 drawDmgEffScale;
/* 0x2DC */ s32 bodyPartsCount;
- /* 0x2E0 */ Vec3s jointTable[OBJECT_SKB_LIMB_MAX];
- /* 0x358 */ Vec3s morphTable[OBJECT_SKB_LIMB_MAX];
+ /* 0x2E0 */ Vec3s jointTable[STALCHILD_LIMB_MAX];
+ /* 0x358 */ Vec3s morphTable[STALCHILD_LIMB_MAX];
/* 0x3D0 */ UNK_TYPE1 unk3D0[0xC];
/* 0x3DC */ s16 unk_3DC;
/* 0x3DE */ s16 unk_3DE;
diff --git a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c
index b6bd9a2d2..226aec92b 100644
--- a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c
+++ b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c
@@ -63,19 +63,19 @@ ActorInit En_Rail_Skb_InitVars = {
};
static AnimationInfo sAnimationInfo[] = {
- { &object_skb_Anim_0064E0, 0.96f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -1.0f },
- { &object_skb_Anim_002190, 0.6f, 0.0f, 0.0f, ANIMMODE_ONCE_INTERP, 4.0f },
- { &object_skb_Anim_002AC8, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0f },
- { &object_skb_Anim_00270C, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0f },
- { &object_skb_Anim_00697C, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
- { &object_skb_Anim_006D90, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
- { &object_skb_Anim_001D1C, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -16.0f },
- { &object_skb_Anim_002AC8, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
- { &object_skb_Anim_0015EC, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
- { &object_skb_Anim_0009E4, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f },
+ { &gStalchildWalkAnim, 0.96f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -1.0f },
+ { &gStalchildAttackAnim, 0.6f, 0.0f, 0.0f, ANIMMODE_ONCE_INTERP, 4.0f },
+ { &gStalchildStaggerAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0f },
+ { &gStalchildCollapseAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0f },
+ { &gStalchildSitLaughAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
+ { &gStalchildSitTapToesAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
+ { &gStalchildSwingOnBranchAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -16.0f },
+ { &gStalchildStaggerAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
+ { &gStalchildSaluteAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
+ { &gStalchildIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f },
};
static ColliderJntSphElementInit sJntSphElementsInit[2] = {
@@ -270,8 +270,8 @@ void EnRailSkb_Init(Actor* thisx, PlayState* play) {
func_80B708C0(this, play);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
- SkelAnime_Init(play, &this->skelAnime, &object_skb_Skel_005EF8, &object_skb_Anim_0064E0, this->jointTable,
- this->morphTable, 20);
+ SkelAnime_Init(play, &this->skelAnime, &gStalchildSkel, &gStalchildWalkAnim, this->jointTable, this->morphTable,
+ STALCHILD_LIMB_MAX);
Collider_InitJntSph(play, &this->collider);
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
diff --git a/src/overlays/actors/ovl_En_Skb/z_en_skb.c b/src/overlays/actors/ovl_En_Skb/z_en_skb.c
index 9d57b9638..98223faea 100644
--- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c
+++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c
@@ -50,19 +50,19 @@ s32 func_80996594(EnSkb* this, PlayState* play);
void func_80996BEC(EnSkb* this, PlayState* play);
static AnimationInfo sAnimationInfo[] = {
- { &object_skb_Anim_0064E0, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -1.0f },
- { &object_skb_Anim_002190, 0.6f, 0.0f, 0.0f, ANIMMODE_ONCE_INTERP, 4.0f },
- { &object_skb_Anim_002AC8, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0 },
- { &object_skb_Anim_00270C, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0 },
- { &object_skb_Anim_00697C, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
- { &object_skb_Anim_006D90, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
- { &object_skb_Anim_001D1C, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
- { &object_skb_Anim_003584, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -16.0f },
- { &object_skb_Anim_002AC8, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
- { &object_skb_Anim_0015EC, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0 },
- { &object_skb_Anim_0009E4, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
+ { &gStalchildWalkAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -1.0f },
+ { &gStalchildAttackAnim, 0.6f, 0.0f, 0.0f, ANIMMODE_ONCE_INTERP, 4.0f },
+ { &gStalchildStaggerAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0 },
+ { &gStalchildCollapseAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0 },
+ { &gStalchildSitLaughAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
+ { &gStalchildSitTapToesAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
+ { &gStalchildSwingOnBranchAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
+ { &gStalchildStandUpAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -16.0f },
+ { &gStalchildStaggerAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
+ { &gStalchildSaluteAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -4.0 },
+ { &gStalchildIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0 },
};
static Vec3f D_80997468[] = {
@@ -176,29 +176,29 @@ void func_809947B0(PlayState* play, EnSkb* this, Vec3f* inPos) {
}
void func_8099495C(EnSkb* this, PlayState* play) {
- SkelAnime_Init(play, &this->skelAnime, &object_skb_Skel_005EF8, &object_skb_Anim_003584, this->jointTable,
- this->morphTable, 20);
+ SkelAnime_Init(play, &this->skelAnime, &gStalchildSkel, &gStalchildStandUpAnim, this->jointTable, this->morphTable,
+ STALCHILD_LIMB_MAX);
this->unk_3DC = 0;
func_80994E2C(this);
}
void func_809949C4(EnSkb* this, PlayState* play) {
- SkelAnime_Init(play, &this->skelAnime, &object_skb_Skel_005EF8, &object_skb_Anim_00697C, this->jointTable,
- this->morphTable, 20);
+ SkelAnime_Init(play, &this->skelAnime, &gStalchildSkel, &gStalchildSitLaughAnim, this->jointTable, this->morphTable,
+ STALCHILD_LIMB_MAX);
this->unk_3DC = 1;
func_809952D8(this);
}
void func_80994A30(EnSkb* this, PlayState* play) {
- SkelAnime_Init(play, &this->skelAnime, &object_skb_Skel_005EF8, &object_skb_Anim_006D90, this->jointTable,
- this->morphTable, 20);
+ SkelAnime_Init(play, &this->skelAnime, &gStalchildSkel, &gStalchildSitTapToesAnim, this->jointTable,
+ this->morphTable, STALCHILD_LIMB_MAX);
this->unk_3DC = 1;
func_809953E8(this);
}
void func_80994A9C(EnSkb* this, PlayState* play) {
- SkelAnime_Init(play, &this->skelAnime, &object_skb_Skel_005EF8, &object_skb_Anim_001D1C, this->jointTable,
- this->morphTable, 20);
+ SkelAnime_Init(play, &this->skelAnime, &gStalchildSkel, &gStalchildSwingOnBranchAnim, this->jointTable,
+ this->morphTable, STALCHILD_LIMB_MAX);
this->unk_3DC = 1;
func_809954F8(this);
}
@@ -535,7 +535,7 @@ void func_80995818(EnSkb* this, PlayState* play) {
}
void func_809958F4(EnSkb* this) {
- Animation_Change(&this->skelAnime, &object_skb_Anim_003584, -1.0f, Animation_GetLastFrame(&object_skb_Anim_003584),
+ Animation_Change(&this->skelAnime, &gStalchildStandUpAnim, -1.0f, Animation_GetLastFrame(&gStalchildStandUpAnim),
0.0f, ANIMMODE_ONCE, -4.0f);
this->unk_3E4 = 0;
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
@@ -620,7 +620,7 @@ void func_80995C84(EnSkb* this, PlayState* play) {
}
void func_80995D3C(EnSkb* this) {
- Animation_Change(&this->skelAnime, &object_skb_Anim_002190, -0.4f, this->skelAnime.curFrame - 1.0f, 0.0f,
+ Animation_Change(&this->skelAnime, &gStalchildAttackAnim, -0.4f, this->skelAnime.curFrame - 1.0f, 0.0f,
ANIMMODE_ONCE_INTERP, 0.0f);
this->collider.base.atFlags &= ~AT_BOUNCED;
this->unk_3DE = 4;
From ae4a8fbe00e429a289bef24059301c693cb4e11b Mon Sep 17 00:00:00 2001
From: engineer124 <47598039+engineer124@users.noreply.github.com>
Date: Mon, 9 Oct 2023 10:57:25 +1100
Subject: [PATCH 07/16] Object Name Cleanup (#1427)
---
assets/xml/interface/week_static.xml | 6 +--
assets/xml/objects/gameplay_keep.xml | 12 ++---
assets/xml/objects/object_az.xml | 4 +-
assets/xml/objects/object_bigpo.xml | 6 +--
assets/xml/objects/object_boss07.xml | 2 +-
assets/xml/objects/object_box.xml | 14 +++---
assets/xml/objects/object_dinofos.xml | 6 +--
assets/xml/objects/object_dnj.xml | 2 +-
assets/xml/objects/object_dnk.xml | 2 +-
assets/xml/objects/object_dns.xml | 2 +-
assets/xml/objects/object_ds2n.xml | 12 ++---
assets/xml/objects/object_dy_obj.xml | 2 +-
assets/xml/objects/object_eg.xml | 2 +-
assets/xml/objects/object_fish.xml | 2 +-
assets/xml/objects/object_gla.xml | 2 +-
assets/xml/objects/object_hs.xml | 2 +-
assets/xml/objects/object_ik.xml | 32 ++++++------
assets/xml/objects/object_kaizoku_obj.xml | 2 +-
assets/xml/objects/object_kusa.xml | 4 +-
assets/xml/objects/object_ob.xml | 4 +-
assets/xml/objects/object_obj_tokeidai.xml | 6 +--
assets/xml/objects/object_obj_yasi.xml | 8 +--
assets/xml/objects/object_rotlift.xml | 4 +-
assets/xml/objects/object_ru2.xml | 2 +-
assets/xml/objects/object_sdn.xml | 50 +++++++++----------
assets/xml/objects/object_sichitai_obj.xml | 2 +-
assets/xml/objects/object_stk.xml | 14 +++---
assets/xml/objects/object_tro.xml | 2 +-
assets/xml/objects/object_wdor04.xml | 2 +-
assets/xml/objects/object_zl4.xml | 4 +-
assets/xml/objects/object_zod.xml | 6 +--
docs/tutorial/object_decomp_example.md | 4 +-
.../ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c | 2 +-
.../actors/ovl_Bg_Ingate/z_bg_ingate.c | 2 +-
src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c | 18 +++----
src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c | 2 +-
src/overlays/actors/ovl_En_Az/z_en_az.c | 28 +++++------
.../ovl_En_Demo_heishi/z_en_demo_heishi.c | 12 ++---
src/overlays/actors/ovl_En_Dnh/z_en_dnh.c | 2 +-
src/overlays/actors/ovl_En_Dns/z_en_dns.c | 2 +-
.../ovl_En_Ending_Hero4/z_en_ending_hero4.c | 2 +-
.../ovl_En_Ending_Hero6/z_en_ending_hero6.c | 18 +++----
.../ovl_En_Guard_Nuts/z_en_guard_nuts.c | 2 +-
.../actors/ovl_En_Heishi/z_en_heishi.c | 12 ++---
src/overlays/actors/ovl_En_Kusa/z_en_kusa.c | 8 +--
src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c | 4 +-
.../actors/ovl_En_Scopenuts/z_en_scopenuts.c | 2 +-
.../ovl_En_Stone_heishi/z_en_stone_heishi.c | 6 +--
.../ovl_En_Stop_heishi/z_en_stop_heishi.c | 18 +++----
src/overlays/actors/ovl_En_Zod/z_en_zod.c | 2 +-
src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c | 4 +-
.../actors/ovl_Obj_Grass/z_obj_grass.c | 4 +-
.../ovl_Obj_Grass_Carry/z_obj_grass_carry.c | 4 +-
.../actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c | 4 +-
.../actors/ovl_player_actor/z_player.c | 2 +-
55 files changed, 192 insertions(+), 192 deletions(-)
diff --git a/assets/xml/interface/week_static.xml b/assets/xml/interface/week_static.xml
index 12cc885fa..e2b098410 100644
--- a/assets/xml/interface/week_static.xml
+++ b/assets/xml/interface/week_static.xml
@@ -1,7 +1,7 @@
-
-
-
+
+
+
diff --git a/assets/xml/objects/gameplay_keep.xml b/assets/xml/objects/gameplay_keep.xml
index 5dababaab..37fb3fc61 100644
--- a/assets/xml/objects/gameplay_keep.xml
+++ b/assets/xml/objects/gameplay_keep.xml
@@ -1223,8 +1223,8 @@
-
-
+
+
@@ -1281,7 +1281,7 @@
-
+
@@ -1486,9 +1486,9 @@
-
-
-
+
+
+
diff --git a/assets/xml/objects/object_az.xml b/assets/xml/objects/object_az.xml
index e4e56aa88..42e5bdc61 100644
--- a/assets/xml/objects/object_az.xml
+++ b/assets/xml/objects/object_az.xml
@@ -64,8 +64,8 @@
-
-
+
+
diff --git a/assets/xml/objects/object_bigpo.xml b/assets/xml/objects/object_bigpo.xml
index 46c79310e..fbde9e8e5 100644
--- a/assets/xml/objects/object_bigpo.xml
+++ b/assets/xml/objects/object_bigpo.xml
@@ -7,13 +7,13 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
diff --git a/assets/xml/objects/object_boss07.xml b/assets/xml/objects/object_boss07.xml
index f1be3cf31..2d3aa4fa1 100644
--- a/assets/xml/objects/object_boss07.xml
+++ b/assets/xml/objects/object_boss07.xml
@@ -150,7 +150,7 @@
-
+
diff --git a/assets/xml/objects/object_box.xml b/assets/xml/objects/object_box.xml
index c0603a6cf..8bb2b7efe 100644
--- a/assets/xml/objects/object_box.xml
+++ b/assets/xml/objects/object_box.xml
@@ -11,12 +11,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -24,7 +24,7 @@
-
+
diff --git a/assets/xml/objects/object_dinofos.xml b/assets/xml/objects/object_dinofos.xml
index 7ed5f81f5..c3c575b0f 100644
--- a/assets/xml/objects/object_dinofos.xml
+++ b/assets/xml/objects/object_dinofos.xml
@@ -36,8 +36,8 @@
-
-
+
+
@@ -64,7 +64,7 @@
-
+
diff --git a/assets/xml/objects/object_dnj.xml b/assets/xml/objects/object_dnj.xml
index 3b4f27579..f7f9d830c 100644
--- a/assets/xml/objects/object_dnj.xml
+++ b/assets/xml/objects/object_dnj.xml
@@ -59,7 +59,7 @@
-
+
diff --git a/assets/xml/objects/object_dnk.xml b/assets/xml/objects/object_dnk.xml
index b085eed28..0e35b1f97 100644
--- a/assets/xml/objects/object_dnk.xml
+++ b/assets/xml/objects/object_dnk.xml
@@ -33,7 +33,7 @@
-
+
diff --git a/assets/xml/objects/object_dns.xml b/assets/xml/objects/object_dns.xml
index e5d91326f..903dfba6c 100644
--- a/assets/xml/objects/object_dns.xml
+++ b/assets/xml/objects/object_dns.xml
@@ -25,7 +25,7 @@
" Format="rgba16" Width="8" Height="8" Offset="0x28E8" />
-
+
diff --git a/assets/xml/objects/object_ds2n.xml b/assets/xml/objects/object_ds2n.xml
index 7c04da8bf..e4757de31 100644
--- a/assets/xml/objects/object_ds2n.xml
+++ b/assets/xml/objects/object_ds2n.xml
@@ -20,9 +20,9 @@
-
-
-
+
+
+
@@ -49,9 +49,9 @@
-
-
-
+
+
+
diff --git a/assets/xml/objects/object_dy_obj.xml b/assets/xml/objects/object_dy_obj.xml
index 37fef4ab1..b321240cc 100644
--- a/assets/xml/objects/object_dy_obj.xml
+++ b/assets/xml/objects/object_dy_obj.xml
@@ -51,7 +51,7 @@
-
+
diff --git a/assets/xml/objects/object_eg.xml b/assets/xml/objects/object_eg.xml
index 28686f3ae..a79ff6332 100644
--- a/assets/xml/objects/object_eg.xml
+++ b/assets/xml/objects/object_eg.xml
@@ -41,7 +41,7 @@
-
+
diff --git a/assets/xml/objects/object_fish.xml b/assets/xml/objects/object_fish.xml
index b4de27c4e..318cb53d5 100644
--- a/assets/xml/objects/object_fish.xml
+++ b/assets/xml/objects/object_fish.xml
@@ -213,7 +213,7 @@
-
+
diff --git a/assets/xml/objects/object_gla.xml b/assets/xml/objects/object_gla.xml
index 60880a7a7..45da7754a 100644
--- a/assets/xml/objects/object_gla.xml
+++ b/assets/xml/objects/object_gla.xml
@@ -31,7 +31,7 @@
-
+
diff --git a/assets/xml/objects/object_hs.xml b/assets/xml/objects/object_hs.xml
index c5ac723f8..be333f1dc 100644
--- a/assets/xml/objects/object_hs.xml
+++ b/assets/xml/objects/object_hs.xml
@@ -44,7 +44,7 @@
-
+
diff --git a/assets/xml/objects/object_ik.xml b/assets/xml/objects/object_ik.xml
index fcbb90620..66df1e9ed 100644
--- a/assets/xml/objects/object_ik.xml
+++ b/assets/xml/objects/object_ik.xml
@@ -52,25 +52,25 @@
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_kaizoku_obj.xml b/assets/xml/objects/object_kaizoku_obj.xml
index a8e773034..c13f32125 100644
--- a/assets/xml/objects/object_kaizoku_obj.xml
+++ b/assets/xml/objects/object_kaizoku_obj.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/assets/xml/objects/object_kusa.xml b/assets/xml/objects/object_kusa.xml
index 9ed22b39f..362e47114 100644
--- a/assets/xml/objects/object_kusa.xml
+++ b/assets/xml/objects/object_kusa.xml
@@ -1,6 +1,6 @@
-
-
+
+
diff --git a/assets/xml/objects/object_ob.xml b/assets/xml/objects/object_ob.xml
index d23ab6790..1efe524b4 100644
--- a/assets/xml/objects/object_ob.xml
+++ b/assets/xml/objects/object_ob.xml
@@ -65,10 +65,10 @@
-
+
-
+
diff --git a/assets/xml/objects/object_obj_tokeidai.xml b/assets/xml/objects/object_obj_tokeidai.xml
index 09e070254..94a302ea4 100644
--- a/assets/xml/objects/object_obj_tokeidai.xml
+++ b/assets/xml/objects/object_obj_tokeidai.xml
@@ -36,7 +36,7 @@
-
+
@@ -68,11 +68,11 @@
-
+
-
+
diff --git a/assets/xml/objects/object_obj_yasi.xml b/assets/xml/objects/object_obj_yasi.xml
index a8e153edd..34ace132e 100644
--- a/assets/xml/objects/object_obj_yasi.xml
+++ b/assets/xml/objects/object_obj_yasi.xml
@@ -3,10 +3,10 @@
-
-
-
-
+
+
+
+
diff --git a/assets/xml/objects/object_rotlift.xml b/assets/xml/objects/object_rotlift.xml
index da5db27d7..c2acf0540 100644
--- a/assets/xml/objects/object_rotlift.xml
+++ b/assets/xml/objects/object_rotlift.xml
@@ -3,7 +3,7 @@
-
+
@@ -11,7 +11,7 @@
-
+
diff --git a/assets/xml/objects/object_ru2.xml b/assets/xml/objects/object_ru2.xml
index 89d00e9d7..7d5823a50 100644
--- a/assets/xml/objects/object_ru2.xml
+++ b/assets/xml/objects/object_ru2.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/assets/xml/objects/object_sdn.xml b/assets/xml/objects/object_sdn.xml
index 8271480be..bcc1f7637 100644
--- a/assets/xml/objects/object_sdn.xml
+++ b/assets/xml/objects/object_sdn.xml
@@ -3,19 +3,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -33,17 +33,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -61,6 +61,6 @@
-
+
diff --git a/assets/xml/objects/object_sichitai_obj.xml b/assets/xml/objects/object_sichitai_obj.xml
index d1179beab..03bc4f7f3 100644
--- a/assets/xml/objects/object_sichitai_obj.xml
+++ b/assets/xml/objects/object_sichitai_obj.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/assets/xml/objects/object_stk.xml b/assets/xml/objects/object_stk.xml
index a6f00c89b..eccbbb3a1 100644
--- a/assets/xml/objects/object_stk.xml
+++ b/assets/xml/objects/object_stk.xml
@@ -23,13 +23,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_tro.xml b/assets/xml/objects/object_tro.xml
index eb1ba9984..0a4a3ea8b 100644
--- a/assets/xml/objects/object_tro.xml
+++ b/assets/xml/objects/object_tro.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/assets/xml/objects/object_wdor04.xml b/assets/xml/objects/object_wdor04.xml
index 07ad601dd..d47e78a8e 100644
--- a/assets/xml/objects/object_wdor04.xml
+++ b/assets/xml/objects/object_wdor04.xml
@@ -2,6 +2,6 @@
-
+
diff --git a/assets/xml/objects/object_zl4.xml b/assets/xml/objects/object_zl4.xml
index 667ca5f21..2c5eff1ef 100644
--- a/assets/xml/objects/object_zl4.xml
+++ b/assets/xml/objects/object_zl4.xml
@@ -104,7 +104,7 @@
-
+
@@ -118,7 +118,7 @@
-
+
diff --git a/assets/xml/objects/object_zod.xml b/assets/xml/objects/object_zod.xml
index 45fb179cc..a926e6ef9 100644
--- a/assets/xml/objects/object_zod.xml
+++ b/assets/xml/objects/object_zod.xml
@@ -24,9 +24,9 @@
-
-
-
+
+
+
diff --git a/docs/tutorial/object_decomp_example.md b/docs/tutorial/object_decomp_example.md
index e4025caae..10fcf2766 100644
--- a/docs/tutorial/object_decomp_example.md
+++ b/docs/tutorial/object_decomp_example.md
@@ -197,13 +197,13 @@ We can see this is the guard's Deku Flower:
We can name the display list as such in the XML:
```xml
-
+
```
Then, like all steps before, we can run `./extract_assets.py -s objects/object_dns` and then update `z_en_dns.c` with our new name:
```c
-gSPDisplayList(POLY_OPA_DISP++, gKingsChamberDekuGuardDekuFlower);
+gSPDisplayList(POLY_OPA_DISP++, gKingsChamberDekuGuardDekuFlowerDL);
```
## Step #5: Naming limb display lists
diff --git a/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c b/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c
index 7f0312f0c..b6db682d2 100644
--- a/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c
+++ b/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c
@@ -57,7 +57,7 @@ static ColliderCylinderInit sCylinderInit = {
};
void BgDkjailIvy_IvyCutEffects(BgDkjailIvy* this, PlayState* play) {
- static Gfx* sLeafDlists[] = { gKakeraLeafMiddle, gKakeraLeafTip };
+ static Gfx* sLeafDlists[] = { gKakeraLeafMiddleDL, gKakeraLeafTipDL };
static s16 sLeafScales[] = { 110, 80, 60, 40 };
f32 phi_fs0;
s32 i;
diff --git a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c
index 05d4a27bf..ebdaeff51 100644
--- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c
+++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c
@@ -386,7 +386,7 @@ void BgIngate_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL25_Opa(play->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, gSichitaiBoat);
+ gSPDisplayList(POLY_OPA_DISP++, gSichitaiBoatDL);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c
index ee323aa2b..e4f85e15c 100644
--- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c
+++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c
@@ -1998,17 +1998,17 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
switch (this->handType) {
case SK_HAND_TYPE_HOLDING_LINK_MASK_AND_FLUTE:
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidUntexturedRightHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidUntexturedRightHandDL);
gSPDisplayList(POLY_OPA_DISP++, gSkullKidLinkMask2DL);
break;
case SK_HAND_TYPE_HOLDING_LINK_MASK:
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidMaskHoldingRightHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidMaskHoldingRightHandDL);
gSPDisplayList(POLY_OPA_DISP++, gSkullKidLinkMask3DL);
break;
case SK_HAND_TYPE_HOLDING_OCARINA:
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidOcarinaHoldingRightHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidOcarinaHoldingRightHandDL);
if ((play->sceneId == SCENE_LOST_WOODS) && (gSaveContext.sceneLayer == 1)) {
gSPDisplayList(POLY_OPA_DISP++, gSkullKidOcarinaOfTimeDL);
@@ -2042,11 +2042,11 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
break;
case SK_HAND_TYPE_HOLDING_LINK_MASK:
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidUntexturedLeftHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidUntexturedLeftHandDL);
break;
case SK_HAND_TYPE_HOLDING_MAJORAS_MASK:
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidTwoFingersExtendedLeftHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidTwoFingersExtendedLeftHandDL);
gSPDisplayList(POLY_OPA_DISP++, gSkullKidMajorasMask2DL);
break;
@@ -2054,21 +2054,21 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
if ((play->sceneId != SCENE_LOST_WOODS) || (gSaveContext.sceneLayer != 1)) {
gSPDisplayList(POLY_OPA_DISP++, gSkullKidOcarinaOfTimeDL);
}
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidTwoFingersExtendedLeftHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidTwoFingersExtendedLeftHandDL);
break;
case SK_HAND_TYPE_JUGGLING_OR_DROPPING_OCARINA:
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidTwoFingersExtendedLeftHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidTwoFingersExtendedLeftHandDL);
break;
case SK_HAND_TYPE_HOLDING_FLUTE:
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidFluteHoldingLeftHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidFluteHoldingLeftHandDL);
gSPDisplayList(POLY_OPA_DISP++, gSkullKidFluteDL);
break;
case SK_HAND_TYPE_DEFAULT:
if (this->alpha == 255) {
- gSPDisplayList(POLY_OPA_DISP++, gSkullKidOpenLeftHand);
+ gSPDisplayList(POLY_OPA_DISP++, gSkullKidOpenLeftHandDL);
}
break;
diff --git a/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c b/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c
index 88c0f4280..4a585c779 100644
--- a/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c
+++ b/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c
@@ -41,7 +41,7 @@ typedef enum {
} DmZlAnimation;
static AnimationInfo sAnimationInfo[ZELDA_ANIM_MAX] = {
- { &gDmZl4FacingAwayHandsOverEmblemLoop, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f }, // ZELDA_ANIM_FACING_AWAY
+ { &gDmZl4FacingAwayHandsOverEmblemLoopAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f }, // ZELDA_ANIM_FACING_AWAY
{ &gDmZl4TurningAround2Anim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -10.0f }, // ZELDA_ANIM_TURNING_TOWARD_PLAYER
{ &gDmZl4HandsOverEmblemLoopAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f }, // ZELDA_ANIM_FACING_PLAYER
{ &gDmZl4GivingItemStartAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -10.0f }, // ZELDA_ANIM_GIVING_OCARINA_START
diff --git a/src/overlays/actors/ovl_En_Az/z_en_az.c b/src/overlays/actors/ovl_En_Az/z_en_az.c
index 218de2cb5..43a557aae 100644
--- a/src/overlays/actors/ovl_En_Az/z_en_az.c
+++ b/src/overlays/actors/ovl_En_Az/z_en_az.c
@@ -78,20 +78,20 @@ typedef enum {
} BeaverAnimation;
static AnimationSpeedInfo sAnimationSpeedInfo[BEAVER_ANIM_IDLE_FACE_MAX] = {
- { &gBeaverIdleAnim, 1.0f, ANIMMODE_LOOP, -10.0f }, // BEAVER_ANIM_IDLE
- { &gBeaverWalkAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_WALK
- { &gBeaverSwimWithSpinningTail, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_SWIM_WITH_SPINNING_TAIL
- { &gBeaverSwimWithRaisedTail, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_SWIM_WITH_RAISED_TAIL
- { &gBeaverTalkAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_TALK
- { &gBeaverTalkWaveArmsAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_TALK_WAVE_ARMS
- { &gBeaverLaughRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_LAUGH_RIGHT
- { &gBeaverLaughLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_LAUGH_LEFT
- { &gBeaverSwimAnim, 2.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_SWIM
- { &gBeaverTalkToLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_TALK_TO_LEFT
- { &gBeaverTalkToRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_TALK_TO_RIGHT
- { &gBeaverBowAnim, 1.0f, ANIMMODE_ONCE, -5.0f }, // BEAVER_ANIM_BOW
- { &gBeaverIdleFaceLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_IDLE_FACE_LEFT
- { &gBeaverIdleFaceRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_IDLE_FACE_RIGHT
+ { &gBeaverIdleAnim, 1.0f, ANIMMODE_LOOP, -10.0f }, // BEAVER_ANIM_IDLE
+ { &gBeaverWalkAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_WALK
+ { &gBeaverSwimWithSpinningTailAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_SWIM_WITH_SPINNING_TAIL
+ { &gBeaverSwimWithRaisedTailAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_SWIM_WITH_RAISED_TAIL
+ { &gBeaverTalkAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_TALK
+ { &gBeaverTalkWaveArmsAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_TALK_WAVE_ARMS
+ { &gBeaverLaughRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_LAUGH_RIGHT
+ { &gBeaverLaughLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_LAUGH_LEFT
+ { &gBeaverSwimAnim, 2.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_SWIM
+ { &gBeaverTalkToLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_TALK_TO_LEFT
+ { &gBeaverTalkToRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_TALK_TO_RIGHT
+ { &gBeaverBowAnim, 1.0f, ANIMMODE_ONCE, -5.0f }, // BEAVER_ANIM_BOW
+ { &gBeaverIdleFaceLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_IDLE_FACE_LEFT
+ { &gBeaverIdleFaceRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f }, // BEAVER_ANIM_IDLE_FACE_RIGHT
};
ActorInit En_Az_InitVars = {
diff --git a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c
index 3d4d95b87..86d8524be 100644
--- a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c
+++ b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c
@@ -58,7 +58,7 @@ void EnDemoheishi_Init(Actor* thisx, PlayState* play) {
EnDemoheishi* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierWave, this->jointTable, this->morphTable,
+ SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierWaveAnim, this->jointTable, this->morphTable,
SOLDIER_LIMB_MAX);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actor.targetMode = TARGET_MODE_6;
@@ -83,11 +83,11 @@ typedef enum {
} EnDemoheishiAnimation;
static AnimationHeader* sAnimations[DEMOHEISHI_ANIM_MAX] = {
- &gSoldierStandHandOnHip, // DEMOHEISHI_ANIM_STAND_HAND_ON_HIP
- &gSoldierCheerWithSpear, // DEMOHEISHI_ANIM_CHEER_WITH_SPEAR
- &gSoldierWave, // DEMOHEISHI_ANIM_WAVE
- &gSoldierSitAndReach, // DEMOHEISHI_ANIM_SIT_AND_REACH
- &gSoldierStandUp, // DEMOHEISHI_ANIM_STAND_UP
+ &gSoldierStandHandOnHipAnim, // DEMOHEISHI_ANIM_STAND_HAND_ON_HIP
+ &gSoldierCheerWithSpearAnim, // DEMOHEISHI_ANIM_CHEER_WITH_SPEAR
+ &gSoldierWaveAnim, // DEMOHEISHI_ANIM_WAVE
+ &gSoldierSitAndReachAnim, // DEMOHEISHI_ANIM_SIT_AND_REACH
+ &gSoldierStandUpAnim, // DEMOHEISHI_ANIM_STAND_UP
};
static u8 sAnimationModes[DEMOHEISHI_ANIM_MAX] = {
diff --git a/src/overlays/actors/ovl_En_Dnh/z_en_dnh.c b/src/overlays/actors/ovl_En_Dnh/z_en_dnh.c
index 4039386e0..e30ee26ab 100644
--- a/src/overlays/actors/ovl_En_Dnh/z_en_dnh.c
+++ b/src/overlays/actors/ovl_En_Dnh/z_en_dnh.c
@@ -60,7 +60,7 @@ typedef enum {
} EnDnhAnimation;
static AnimationInfoS sAnimationInfo[ENDNH_ANIM_MAX] = {
- { &gKoumeKioskHeadMoving, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENDNH_ANIM_HEAD_MOVING
+ { &gKoumeKioskHeadMovingAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENDNH_ANIM_HEAD_MOVING
};
static TexturePtr sEyeTextures[] = {
diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/src/overlays/actors/ovl_En_Dns/z_en_dns.c
index 723ee895f..02777ec44 100644
--- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c
+++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c
@@ -386,7 +386,7 @@ void func_8092D108(EnDns* this, PlayState* play) {
Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, gKingsChamberDekuGuardDekuFlower);
+ gSPDisplayList(POLY_OPA_DISP++, gKingsChamberDekuGuardDekuFlowerDL);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.c b/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.c
index 3d75e19d7..b75e0f21c 100644
--- a/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.c
+++ b/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.c
@@ -37,7 +37,7 @@ void EnEndingHero4_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
this->actor.targetMode = TARGET_MODE_6;
this->actor.gravity = -3.0f;
- SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierCheerWithSpear, this->jointTable,
+ SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierCheerWithSpearAnim, this->jointTable,
this->morphTable, SOLDIER_LIMB_MAX);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
EnEndingHero4_SetupIdle(this);
diff --git a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
index c67a09e65..47312b722 100644
--- a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
+++ b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c
@@ -56,15 +56,15 @@ static FlexSkeletonHeader* sSkeletons[ENDING_HERO6_TYPE_MAX] = {
};
static AnimationHeader* sAnimations[ENDING_HERO6_TYPE_MAX] = {
- &object_dt_Anim_000BE0, // ENDING_HERO6_TYPE_DT
- &object_bai_Anim_0011C0, // ENDING_HERO6_TYPE_BAI
- &object_toryo_Anim_000E50, // ENDING_HERO6_TYPE_TORYO
- &gSoldierCheerWithSpear, // ENDING_HERO6_TYPE_SOLDIER
- &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_RED
- &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_BLUE
- &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_GREEN
- &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_PURPLE
- &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_ORANGE
+ &object_dt_Anim_000BE0, // ENDING_HERO6_TYPE_DT
+ &object_bai_Anim_0011C0, // ENDING_HERO6_TYPE_BAI
+ &object_toryo_Anim_000E50, // ENDING_HERO6_TYPE_TORYO
+ &gSoldierCheerWithSpearAnim, // ENDING_HERO6_TYPE_SOLDIER
+ &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_RED
+ &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_BLUE
+ &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_GREEN
+ &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_PURPLE
+ &object_daiku_Anim_002FA0, // ENDING_HERO6_TYPE_DAIKU_ORANGE
};
static s32 sLimbCounts[ENDING_HERO6_TYPE_MAX] = {
diff --git a/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c b/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c
index e00f3b523..92e3bf306 100644
--- a/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c
+++ b/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c
@@ -389,7 +389,7 @@ void EnGuardNuts_Draw(Actor* thisx, PlayState* play) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, gDekuPalaceGuardFlower);
+ gSPDisplayList(POLY_OPA_DISP++, gDekuPalaceGuardFlowerDL);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c
index 19c2a34a8..650d4c69d 100644
--- a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c
+++ b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c
@@ -56,7 +56,7 @@ void EnHeishi_Init(Actor* thisx, PlayState* play) {
EnHeishi* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierWave, this->jointTable, this->morphTable,
+ SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierWaveAnim, this->jointTable, this->morphTable,
SOLDIER_LIMB_MAX);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->paramsCopy = this->actor.params;
@@ -99,11 +99,11 @@ typedef enum EnHeishiAnimation {
} EnHeishiAnimation;
static AnimationHeader* sAnimations[HEISHI_ANIM_MAX] = {
- &gSoldierStandHandOnHip, // HEISHI_ANIM_STAND_HAND_ON_HIP
- &gSoldierCheerWithSpear, // HEISHI_ANIM_CHEER_WITH_SPEAR
- &gSoldierWave, // HEISHI_ANIM_WAVE
- &gSoldierSitAndReach, // HEISHI_ANIM_SIT_AND_REACH
- &gSoldierStandUp, // HEISHI_ANIM_STAND_UP
+ &gSoldierStandHandOnHipAnim, // HEISHI_ANIM_STAND_HAND_ON_HIP
+ &gSoldierCheerWithSpearAnim, // HEISHI_ANIM_CHEER_WITH_SPEAR
+ &gSoldierWaveAnim, // HEISHI_ANIM_WAVE
+ &gSoldierSitAndReachAnim, // HEISHI_ANIM_SIT_AND_REACH
+ &gSoldierStandUpAnim, // HEISHI_ANIM_STAND_UP
};
static u8 sAnimationModes[HEISHI_ANIM_MAX] = {
diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
index 2b65c09e6..dafd131ee 100644
--- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
+++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c
@@ -307,7 +307,7 @@ void EnKusa_SpawnFragments(EnKusa* this, PlayState* play) {
scaleIndex = (s32)(Rand_ZeroOne() * 111.1f) & 7;
EffectSsKakera_Spawn(play, &pos, &velocity, &pos, -100, 64, 40, 3, 0, sFragmentScales[scaleIndex], 0, 0, 0x50,
- -1, 1, gKakeraLeafMiddle);
+ -1, 1, gKakeraLeafMiddleDL);
pos.x = this->actor.world.pos.x + (directon->x * this->actor.scale.x * 40.0f);
pos.y = this->actor.world.pos.y + (directon->y * this->actor.scale.y * 40.0f) + 10.0f;
@@ -319,7 +319,7 @@ void EnKusa_SpawnFragments(EnKusa* this, PlayState* play) {
scaleIndex = (s32)(Rand_ZeroOne() * 111.1f) % 7;
EffectSsKakera_Spawn(play, &pos, &velocity, &pos, -100, 64, 40, 3, 0, sFragmentScales[scaleIndex], 0, 0, 0x50,
- -1, 1, gKakeraLeafTip);
+ -1, 1, gKakeraLeafTipDL);
}
}
@@ -736,7 +736,7 @@ void EnKusa_DrawGrass(Actor* thisx, PlayState* play) {
EnKusa* this = THIS;
if (this->isCut) {
- Gfx_DrawDListOpa(play, gKusaStump);
+ Gfx_DrawDListOpa(play, gKusaStumpDL);
} else {
if ((play->roomCtx.curRoom.behaviorType1 == ROOM_BEHAVIOR_TYPE1_0) &&
(this->actionFunc == EnKusa_WaitForInteract)) {
@@ -744,6 +744,6 @@ void EnKusa_DrawGrass(Actor* thisx, PlayState* play) {
EnKusa_ApplySway(&D_80936AD8[this->kusaMtxIdx]);
}
}
- Gfx_DrawDListOpa(play, gKusaSprout);
+ Gfx_DrawDListOpa(play, gKusaSproutDL);
}
}
diff --git a/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c b/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c
index 53e203330..e471eb8f7 100644
--- a/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c
+++ b/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c
@@ -1315,8 +1315,8 @@ void EnKusa2_Update(Actor* thisx, PlayState* play) {
void func_80A5E6F0(Actor* thisx, PlayState* play) {
static Gfx* D_80A5EB68[] = {
- gKakeraLeafTip,
- gKakeraLeafMiddle,
+ gKakeraLeafTipDL,
+ gKakeraLeafMiddleDL,
};
EnKusa2* this = THIS;
s32 i;
diff --git a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c
index a280a94c6..80fbff4b1 100644
--- a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c
+++ b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c
@@ -90,7 +90,7 @@ static AnimationInfoS sAnimationInfo[] = {
{ &gBusinessScrubFlyEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
};
-Gfx* D_80BCCCDC[] = { gKakeraLeafMiddle, gKakeraLeafTip };
+Gfx* D_80BCCCDC[] = { gKakeraLeafMiddleDL, gKakeraLeafTipDL };
Vec3f D_80BCCCE4 = { 0.0f, -0.5f, 0.0f };
diff --git a/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c b/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c
index c0d9e1197..581962d60 100644
--- a/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c
+++ b/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c
@@ -62,8 +62,8 @@ static ColliderCylinderInit sCylinderInit = {
static u16 sEnStoneHeishiTextIds[] = { 0x1473, 0x1474, 0x1475, 0x1476, 0x1477, 0x1478, 0x1479, 0x147A, 0x1472 };
static AnimationHeader* sAnimations[] = {
- &gSoldierStandHandOnHip, &gSoldierDrink, &gSoldierCheerWithSpear, &gSoldierWave,
- &gSoldierSitAndReach, &gSoldierDrink, &gSoldierStandUp,
+ &gSoldierStandHandOnHipAnim, &gSoldierDrinkAnim, &gSoldierCheerWithSpearAnim, &gSoldierWaveAnim,
+ &gSoldierSitAndReachAnim, &gSoldierDrinkAnim, &gSoldierStandUpAnim,
};
static u8 sAnimationModes[] = {
@@ -107,7 +107,7 @@ void EnStoneheishi_Init(Actor* thisx, PlayState* play) {
EnStoneheishi* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierWave, this->jointTable, this->morphTable,
+ SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierWaveAnim, this->jointTable, this->morphTable,
SOLDIER_LIMB_MAX);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
diff --git a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c
index 8be9f715a..6a1b68bbc 100644
--- a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c
+++ b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c
@@ -85,21 +85,21 @@ static u16 sThirdDayLeaveMessages[] = {
};
static AnimationHeader* sAnimations[SOLDIER_ANIM_MAX] = {
- &gSoldierLookDown, // SOLDIER_ANIM_LOOK_DOWN
- &gSoldierComeUpHere, // SOLDIER_ANIM_COME_UP_HERE
- &gSoldierStandHandOnHip, // SOLDIER_ANIM_STAND_HAND_ON_HIP
- &gSoldierStandAndLookDown, // SOLDIER_ANIM_STAND_LOOK_DOWN
- &object_sdn_Anim_0057BC, // SOLDIER_ANIM_4
- &object_sdn_Anim_005D28, // SOLDIER_ANIM_5
- &object_sdn_Anim_0064C0, // SOLDIER_ANIM_6
- &gSoldierStandWithHandOnChest, // SOLDIER_ANIM_STAND_HAND_ON_CHEST
+ &gSoldierLookDownAnim, // SOLDIER_ANIM_LOOK_DOWN
+ &gSoldierComeUpHereAnim, // SOLDIER_ANIM_COME_UP_HERE
+ &gSoldierStandHandOnHipAnim, // SOLDIER_ANIM_STAND_HAND_ON_HIP
+ &gSoldierStandAndLookDownAnim, // SOLDIER_ANIM_STAND_LOOK_DOWN
+ &object_sdn_Anim_0057BC, // SOLDIER_ANIM_4
+ &object_sdn_Anim_005D28, // SOLDIER_ANIM_5
+ &object_sdn_Anim_0064C0, // SOLDIER_ANIM_6
+ &gSoldierStandWithHandOnChestAnim, // SOLDIER_ANIM_STAND_HAND_ON_CHEST
};
void EnStopheishi_Init(Actor* thisx, PlayState* play) {
EnStopheishi* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
- SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierStandHandOnHip, this->jointTable,
+ SkelAnime_InitFlex(play, &this->skelAnime, &gSoldierSkel, &gSoldierStandHandOnHipAnim, this->jointTable,
this->morphTable, SOLDIER_LIMB_MAX);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
diff --git a/src/overlays/actors/ovl_En_Zod/z_en_zod.c b/src/overlays/actors/ovl_En_Zod/z_en_zod.c
index 5d352e734..ab1f940ce 100644
--- a/src/overlays/actors/ovl_En_Zod/z_en_zod.c
+++ b/src/overlays/actors/ovl_En_Zod/z_en_zod.c
@@ -622,7 +622,7 @@ void EnZod_DrawDrums(EnZod* this, PlayState* play) {
}
void EnZod_Draw(Actor* thisx, PlayState* play) {
- static TexturePtr sTijoEyesTextures[] = { &gTijoEyesOpen, &gTijoEyesHalfOpen, &gTijoEyesClosed };
+ static TexturePtr sTijoEyesTextures[] = { &gTijoEyesOpenTex, &gTijoEyesHalfOpenTex, &gTijoEyesClosedTex };
EnZod* this = THIS;
Gfx* gfx;
diff --git a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c
index 9e6531ef1..d5ec2917a 100644
--- a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c
+++ b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c
@@ -303,8 +303,8 @@ void func_809375C8(ObjBean* this, PlayState* play) {
void func_809375F4(ObjBean* this, PlayState* play) {
static Gfx* D_80939024[] = {
- gKakeraLeafMiddle,
- gKakeraLeafTip,
+ gKakeraLeafMiddleDL,
+ gKakeraLeafTipDL,
};
Vec3f spC4;
Vec3f spB8;
diff --git a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c
index a17f853df..e95f971c9 100644
--- a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c
+++ b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c
@@ -120,7 +120,7 @@ void func_809A9314(ObjGrassStruct1_1* ptr, PlayState* play) {
spBC.z = (Rand_ZeroOne() - 0.5f) * 8.0f;
EffectSsKakera_Spawn(play, &spB0, &spBC, &spB0, -100, 64, 40, 3, 0,
- D_809AAB7C[(s32)(Rand_ZeroOne() * 111.1f) & 7], 0, 0, 80, -1, 1, gKakeraLeafMiddle);
+ D_809AAB7C[(s32)(Rand_ZeroOne() * 111.1f) & 7], 0, 0, 80, -1, 1, gKakeraLeafMiddleDL);
spB0.x = ptr->unk_00.x + (ptr2->x * 16.0f);
spB0.y = (ptr->unk_00.y + (ptr2->y * 16.0f)) + 10.0f;
@@ -131,7 +131,7 @@ void func_809A9314(ObjGrassStruct1_1* ptr, PlayState* play) {
spBC.z = (Rand_ZeroOne() - 0.5f) * 6.0f;
EffectSsKakera_Spawn(play, &spB0, &spBC, &spB0, -100, 64, 40, 3, 0,
- D_809AAB7C[(s32)(Rand_ZeroOne() * 111.1f) % 7], 0, 0, 80, -1, 1, gKakeraLeafTip);
+ D_809AAB7C[(s32)(Rand_ZeroOne() * 111.1f) % 7], 0, 0, 80, -1, 1, gKakeraLeafTipDL);
}
}
diff --git a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c
index 795d740f1..1554a2403 100644
--- a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c
+++ b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c
@@ -132,7 +132,7 @@ void func_809AAFE8(Vec3f* arg0, PlayState* play) {
spBC.z = (Rand_ZeroOne() - 0.5f) * 8.0f;
EffectSsKakera_Spawn(play, &spB0, &spBC, &spB0, -100, 64, 40, 3, 0,
- D_809ABC3C[(s32)(Rand_ZeroOne() * 111.1f) & 7], 0, 0, 80, -1, 1, gKakeraLeafMiddle);
+ D_809ABC3C[(s32)(Rand_ZeroOne() * 111.1f) & 7], 0, 0, 80, -1, 1, gKakeraLeafMiddleDL);
spB0.x = arg0->x + (ptr->x * 16.0f);
spB0.y = arg0->y + (ptr->y * 16.0f) + 10.0f;
@@ -143,7 +143,7 @@ void func_809AAFE8(Vec3f* arg0, PlayState* play) {
spBC.z = (Rand_ZeroOne() - 0.5f) * 6.0f;
EffectSsKakera_Spawn(play, &spB0, &spBC, &spB0, -100, 64, 40, 3, 0,
- D_809ABC3C[(s32)(Rand_ZeroOne() * 111.1f) % 7], 0, 0, 80, -1, 1, gKakeraLeafTip);
+ D_809ABC3C[(s32)(Rand_ZeroOne() * 111.1f) % 7], 0, 0, 80, -1, 1, gKakeraLeafTipDL);
}
}
diff --git a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c
index 70a4e7022..7f8d87ca4 100644
--- a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c
+++ b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c
@@ -835,9 +835,9 @@ void ObjTokeidai_Clock_Draw(Actor* thisx, PlayState* play) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (OBJ_TOKEIDAI_TYPE(&this->actor) == OBJ_TOKEIDAI_TYPE_WALL_CLOCK ||
OBJ_TOKEIDAI_TYPE(&this->actor) == OBJ_TOKEIDAI_TYPE_SMALL_WALL_CLOCK) {
- gSPDisplayList(POLY_OPA_DISP++, gWallClockClockFace);
+ gSPDisplayList(POLY_OPA_DISP++, gWallClockClockFaceDL);
} else {
- gSPDisplayList(POLY_OPA_DISP++, gClockTowerClockFace);
+ gSPDisplayList(POLY_OPA_DISP++, gClockTowerClockFaceDL);
}
Matrix_Translate(0.0f, -1112.0f, -19.6f, MTXMODE_APPLY);
diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c
index 2c52ecdec..6e19ae832 100644
--- a/src/overlays/actors/ovl_player_actor/z_player.c
+++ b/src/overlays/actors/ovl_player_actor/z_player.c
@@ -9917,7 +9917,7 @@ s32 func_8083F8A8(PlayState* play, Player* this, f32 radius, s32 countMax, f32 r
velocity.y = Rand_ZeroFloat(2.0f);
velocity.z = Rand_CenteredFloat(3.0f);
D_8085D288.y = -0.1f;
- EffectSsHahen_Spawn(play, &pos, &velocity, &D_8085D288, 0, 0x96, 1, 0x10, gKakeraLeafTip);
+ EffectSsHahen_Spawn(play, &pos, &velocity, &D_8085D288, 0, 0x96, 1, 0x10, gKakeraLeafTipDL);
}
}
From 5dced7a09b53046e683dcd7da16cd7b7224491a3 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Mon, 9 Oct 2023 02:13:41 +0200
Subject: [PATCH 08/16] object_f40_switch (#1418)
* naming
* naming to gStoneTowerFloorSwitch
---
assets/xml/objects/object_f40_switch.xml | 11 ++++++-----
.../actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c | 8 ++++----
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/assets/xml/objects/object_f40_switch.xml b/assets/xml/objects/object_f40_switch.xml
index 7e7fb5b1c..6be5a5bd5 100644
--- a/assets/xml/objects/object_f40_switch.xml
+++ b/assets/xml/objects/object_f40_switch.xml
@@ -1,9 +1,10 @@
+
-
-
-
-
-
+
+
+
+
+
diff --git a/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c b/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c
index 9e4f9a590..18063efce 100644
--- a/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c
+++ b/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c
@@ -1,7 +1,7 @@
/*
* File: z_bg_f40_switch.c
* Overlay: ovl_Bg_F40_Switch
- * Description: Stone Tower Switch
+ * Description: Stone Tower FloorSwitch
*/
#include "z_bg_f40_switch.h"
@@ -113,7 +113,7 @@ void BgF40Switch_Init(Actor* thisx, PlayState* play) {
this->actionFunc = BgF40Switch_IdleUnpressed;
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + 1.0f;
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
- DynaPolyActor_LoadMesh(play, &this->dyna, &object_f40_switch_Colheader_000118);
+ DynaPolyActor_LoadMesh(play, &this->dyna, &gStoneTowerFloorSwitchCol);
if (!sBgF40SwitchGlobalsInitialized) {
sBgF40SwitchLastUpdateFrame = play->gameplayFrames;
sBgF40SwitchGlobalsInitialized = true;
@@ -189,6 +189,6 @@ void BgF40Switch_Update(Actor* thisx, PlayState* play) {
void BgF40Switch_Draw(Actor* thisx, PlayState* play) {
BgF40Switch* this = THIS;
- Gfx_DrawDListOpa(play, object_f40_switch_DL_000438);
- Gfx_DrawDListOpa(play, object_f40_switch_DL_000390);
+ Gfx_DrawDListOpa(play, gStoneTowerFloorSwitchDL);
+ Gfx_DrawDListOpa(play, gStoneTowerFloorSwitchOutlineDL);
}
From 808f60a1fa31a05f2a64040a4d662c932152b497 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Mon, 9 Oct 2023 02:39:15 +0200
Subject: [PATCH 09/16] naming (#1425)
---
assets/xml/objects/object_kzsaku.xml | 7 ++++---
src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c | 4 ++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/assets/xml/objects/object_kzsaku.xml b/assets/xml/objects/object_kzsaku.xml
index af957d700..fa157409e 100644
--- a/assets/xml/objects/object_kzsaku.xml
+++ b/assets/xml/objects/object_kzsaku.xml
@@ -1,7 +1,8 @@
+
-
-
-
+
+
+
diff --git a/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c b/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c
index 00f5e9957..94937b164 100644
--- a/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c
+++ b/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c
@@ -42,7 +42,7 @@ void ObjKzsaku_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->dyna.actor, 1.0f);
DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS);
- CollisionHeader_GetVirtual(&object_kzsaku_Colheader_001118, &col);
+ CollisionHeader_GetVirtual(&gUnderwaterGrateCol, &col);
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, col);
@@ -124,7 +124,7 @@ void ObjKzsaku_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL25_Opa(play->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPDisplayList(POLY_OPA_DISP++, object_kzsaku_DL_000040);
+ gSPDisplayList(POLY_OPA_DISP++, gUnderwaterGrateDL);
CLOSE_DISPS(play->state.gfxCtx);
}
From d25e10dcc24b911ef0c67c5a84dd7ebcb3e45872 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Mon, 9 Oct 2023 03:07:54 +0200
Subject: [PATCH 10/16] object_redead_obj (#1417)
* naming
* comment
* Out Name
* The Gibdo's Well Doors
* naming
* typos
---
assets/xml/objects/object_redead_obj.xml | 7 ++++---
src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/assets/xml/objects/object_redead_obj.xml b/assets/xml/objects/object_redead_obj.xml
index fd286d6e7..8460579b3 100644
--- a/assets/xml/objects/object_redead_obj.xml
+++ b/assets/xml/objects/object_redead_obj.xml
@@ -1,7 +1,8 @@
+
-
-
-
+
+
+
diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
index 382ed890d..31a9f6a3d 100644
--- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
+++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
@@ -81,7 +81,7 @@ ShutterInfo D_808A21B0[] = {
{ object_hakugin_obj_DL_000128, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ gGreatBayTempleObjectDoorDL, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_ikana_obj_DL_014A40, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
- { object_redead_obj_DL_0001A0, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
+ { gBeneathTheWellSlidingDoorDL, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_ikninside_obj_DL_004440, object_ikninside_obj_DL_005260, 130, 0, 20, 15 },
{ object_random_obj_DL_000190, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_kinsta1_obj_DL_000198, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
From ab4c207be49f9d3ac17f8522ec9c7dbc87675f24 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Mon, 9 Oct 2023 03:25:49 +0200
Subject: [PATCH 11/16] object_random_obj (#1416)
* naming
* Secret Shrine doors
* naming
* OutName
---
assets/xml/objects/object_random_obj.xml | 5 +++--
src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/assets/xml/objects/object_random_obj.xml b/assets/xml/objects/object_random_obj.xml
index 9b9986ca1..509ed86c7 100644
--- a/assets/xml/objects/object_random_obj.xml
+++ b/assets/xml/objects/object_random_obj.xml
@@ -1,6 +1,7 @@
+
-
-
+
+
diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
index 31a9f6a3d..4286cb2a3 100644
--- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
+++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
@@ -83,7 +83,7 @@ ShutterInfo D_808A21B0[] = {
{ object_ikana_obj_DL_014A40, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ gBeneathTheWellSlidingDoorDL, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_ikninside_obj_DL_004440, object_ikninside_obj_DL_005260, 130, 0, 20, 15 },
- { object_random_obj_DL_000190, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
+ { gSecretShrineSlidingDoorDL, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_kinsta1_obj_DL_000198, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_kaizoku_obj_DL_0001A0, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_last_obj_DL_0039C0, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
From e174672223593ddfe0d3bcb8308fdd0e00d6f60c Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Mon, 9 Oct 2023 04:05:12 +0200
Subject: [PATCH 12/16] object_ladder (#1419)
* naming
* Original naming
* removed comments
* comments
---
assets/xml/objects/object_ladder.xml | 28 +++++++++++++------
.../actors/ovl_Bg_Ladder/z_bg_ladder.c | 16 +++++------
2 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/assets/xml/objects/object_ladder.xml b/assets/xml/objects/object_ladder.xml
index 29ee69b9b..2fc01e5bf 100644
--- a/assets/xml/objects/object_ladder.xml
+++ b/assets/xml/objects/object_ladder.xml
@@ -1,13 +1,23 @@
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.c b/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.c
index 12cd5d334..8445e855a 100644
--- a/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.c
+++ b/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.c
@@ -37,10 +37,10 @@ static InitChainEntry sInitChain[] = {
};
static Gfx* sLadderDLists[] = {
- object_ladder_DL_0000A0, // 12 Rung
- object_ladder_DL_0002D0, // 16 Rung
- object_ladder_DL_000500, // 20 Rung
- object_ladder_DL_000730, // 24 Rung
+ gWoodenLadder12RungDL,
+ gWoodenLadder16RungDL,
+ gWoodenLadder20RungDL,
+ gWoodenLadder24RungDL,
};
void BgLadder_Init(Actor* thisx, PlayState* play) {
@@ -55,13 +55,13 @@ void BgLadder_Init(Actor* thisx, PlayState* play) {
size = thisx->params;
if (size == LADDER_SIZE_12RUNG) {
- DynaPolyActor_LoadMesh(play, &this->dyna, &object_ladder_Colheader_0001D8);
+ DynaPolyActor_LoadMesh(play, &this->dyna, &gWoodenLadder12RungCol);
} else if (size == LADDER_SIZE_16RUNG) {
- DynaPolyActor_LoadMesh(play, &this->dyna, &object_ladder_Colheader_000408);
+ DynaPolyActor_LoadMesh(play, &this->dyna, &gWoodenLadder16RungCol);
} else if (size == LADDER_SIZE_20RUNG) {
- DynaPolyActor_LoadMesh(play, &this->dyna, &object_ladder_Colheader_000638);
+ DynaPolyActor_LoadMesh(play, &this->dyna, &gWoodenLadder20RungCol);
} else if (size == LADDER_SIZE_24RUNG) {
- DynaPolyActor_LoadMesh(play, &this->dyna, &object_ladder_Colheader_000868);
+ DynaPolyActor_LoadMesh(play, &this->dyna, &gWoodenLadder24RungCol);
} else {
Actor_Kill(&this->dyna.actor);
return;
From e2dcde6a9296b7878e113568c819e429d54772ba Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Mon, 9 Oct 2023 13:13:48 +0200
Subject: [PATCH 13/16] object_kinsta1_obj (#1415)
* naming
* Original naming
* Original naming
* wrong file
* Swamp Spider House Door
* naming
* ups
* fix
---
assets/xml/objects/object_kinsta1_obj.xml | 7 ++++---
src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/assets/xml/objects/object_kinsta1_obj.xml b/assets/xml/objects/object_kinsta1_obj.xml
index be178d1e8..d2a55b04d 100644
--- a/assets/xml/objects/object_kinsta1_obj.xml
+++ b/assets/xml/objects/object_kinsta1_obj.xml
@@ -1,7 +1,8 @@
+
-
-
-
+
+
+
diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
index 4286cb2a3..b0805ef59 100644
--- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
+++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
@@ -84,7 +84,7 @@ ShutterInfo D_808A21B0[] = {
{ gBeneathTheWellSlidingDoorDL, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_ikninside_obj_DL_004440, object_ikninside_obj_DL_005260, 130, 0, 20, 15 },
{ gSecretShrineSlidingDoorDL, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
- { object_kinsta1_obj_DL_000198, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
+ { gSwampSpiderHouseSlidingDoorDL, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_kaizoku_obj_DL_0001A0, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
{ object_last_obj_DL_0039C0, gameplay_keep_DL_078A80, 130, 12, 20, 15 },
};
From dd4206bb244a47cbcb979dd0d3040c8f7ed998a8 Mon Sep 17 00:00:00 2001
From: Tom Overton
Date: Mon, 9 Oct 2023 18:11:21 -0700
Subject: [PATCH 14/16] Document `object_jso` (Garo and Garo Master) (#1428)
* Document `object_jso` (Garo and Garo Master)
* Fix TexAnim names
---
assets/xml/objects/object_jso.xml | 261 ++++++++++++++++--------------
1 file changed, 143 insertions(+), 118 deletions(-)
diff --git a/assets/xml/objects/object_jso.xml b/assets/xml/objects/object_jso.xml
index bfe271d69..d94ffdafe 100644
--- a/assets/xml/objects/object_jso.xml
+++ b/assets/xml/objects/object_jso.xml
@@ -1,122 +1,147 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From f17e85d1fd2a124ddde9adaecbb044db341ec0d4 Mon Sep 17 00:00:00 2001
From: mzxrules
Date: Wed, 11 Oct 2023 08:32:02 -0400
Subject: [PATCH 15/16] ovl_Obj_Grass_Unit OK and some grass documentation
(#1172)
* z_obj_grass_unit OK
* document some grass
* pr suggestions, add grass_unit comment
* pr suggestions
* implement constants
---
include/z64math.h | 9 +-
spec | 3 +-
.../actors/ovl_Obj_Grass/z_obj_grass.c | 380 +++++++++---------
.../actors/ovl_Obj_Grass/z_obj_grass.h | 54 ++-
.../ovl_Obj_Grass_Carry/z_obj_grass_carry.c | 283 +++++++------
.../ovl_Obj_Grass_Carry/z_obj_grass_carry.h | 10 +-
.../ovl_Obj_Grass_Unit/z_obj_grass_unit.c | 166 +++++++-
.../ovl_Obj_Grass_Unit/z_obj_grass_unit.h | 3 +
8 files changed, 533 insertions(+), 375 deletions(-)
diff --git a/include/z64math.h b/include/z64math.h
index 6fa64f4f4..4a4d15b98 100644
--- a/include/z64math.h
+++ b/include/z64math.h
@@ -39,6 +39,11 @@ typedef struct {
/* 0x8 */ s32 z;
} Vec3i; // size = 0xC
+typedef struct {
+ /* 0x0 */ f32 distance;
+ /* 0x4 */ s16 angle;
+} VecPolar; // size = 0x8
+
typedef struct {
/* 0x0 */ Vec3s center;
/* 0x6 */ s16 radius;
@@ -49,8 +54,8 @@ typedef struct {
/* 0xC */ f32 radius;
} Spheref; // size = 0x10
-/*
-The plane paramaters are of form `ax + by + cz + d = 0`
+/*
+The plane paramaters are of form `ax + by + cz + d = 0`
where `(a,b,c)` is the plane's normal vector and d is the originDist
*/
typedef struct {
diff --git a/spec b/spec
index e4508b5bd..7aab83ed8 100644
--- a/spec
+++ b/spec
@@ -2137,8 +2137,7 @@ beginseg
name "ovl_Obj_Grass_Unit"
compress
include "build/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.o"
- include "build/data/ovl_Obj_Grass_Unit/ovl_Obj_Grass_Unit.data.o"
- include "build/data/ovl_Obj_Grass_Unit/ovl_Obj_Grass_Unit.reloc.o"
+ include "build/src/overlays/actors/ovl_Obj_Grass_Unit/ovl_Obj_Grass_Unit_reloc.o"
endseg
beginseg
diff --git a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c
index e95f971c9..a1ce45b82 100644
--- a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c
+++ b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c
@@ -1,7 +1,9 @@
/*
* File: z_obj_grass.c
* Overlay: ovl_Obj_Grass
- * Description: "Master" instance of grass for unit spawned by Obj_Grass_Unit
+ * Description: Optimized manager for processing grass "spawned" by ObjGrassUnit
+ *
+ * Instances of ObjGrass must be spawned by ObjGrassUnit to function correctly.
*/
#include "prevent_bss_reordering.h"
@@ -18,10 +20,10 @@ void ObjGrass_Destroy(Actor* thisx, PlayState* play);
void ObjGrass_Update(Actor* thisx, PlayState* play);
void ObjGrass_Draw(Actor* thisx, PlayState* play);
-ObjGrassStruct1* D_809AADA0[4];
-f32 D_809AADB0[4];
-ObjGrassStruct1_1* D_809AADC0[20];
-f32 D_809AAE10[20];
+ObjGrassGroup* sNearestGrassGroups[OBJ_GRASS_NEAREST_GROUP_MAX];
+f32 sNearestGrassGroupsDist[OBJ_GRASS_NEAREST_GROUP_MAX];
+ObjGrassElement* sNearestGrassElements[OBJ_GRASS_NEAREST_ELEM_MAX];
+f32 sNearestGrassElementsDistSq[OBJ_GRASS_NEAREST_ELEM_MAX];
#include "overlays/ovl_Obj_Grass/ovl_Obj_Grass.c"
@@ -57,35 +59,35 @@ static ColliderCylinderInit sCylinderInit = {
{ 6, 44, 0, { 0, 0, 0 } },
};
-Vec3f D_809AAB4C[] = {
- { 0.0f, 0.707099974155f, 0.707099974155f },
- { 0.707099974155f, 0.707099974155f, 0.0f },
- { 0.0f, 0.707099974155f, -0.707099974155f },
- { -0.707099974155f, 0.707099974155f, 0.0f },
+static Vec3f sUnitDirections[] = {
+ { 0.0f, 0.7071f, 0.7071f },
+ { 0.7071f, 0.7071f, 0.0f },
+ { 0.0f, 0.7071f, -0.7071f },
+ { -0.7071f, 0.7071f, 0.0f },
};
-s16 D_809AAB7C[] = { 0x6C, 0x66, 0x60, 0x54, 0x42, 0x37, 0x2A, 0x26 };
+static s16 sFragmentScales[] = { 108, 102, 96, 84, 66, 55, 42, 38 };
-s32 func_809A9110(PlayState* play, Vec3f* arg1) {
- f32 sp2C;
- Vec3f sp20;
+s32 func_809A9110(PlayState* play, Vec3f* pos) {
+ f32 w;
+ Vec3f projectedPos;
- SkinMatrix_Vec3fMtxFMultXYZW(&play->viewProjectionMtxF, arg1, &sp20, &sp2C);
+ SkinMatrix_Vec3fMtxFMultXYZW(&play->viewProjectionMtxF, pos, &projectedPos, &w);
- if ((play->projectionMtxFDiagonal.z * -130.13191f) < sp20.z) {
- if (sp2C < 1.0f) {
- sp2C = 1.0f;
+ if ((play->projectionMtxFDiagonal.z * -130.13191f) < projectedPos.z) {
+ if (w < 1.0f) {
+ w = 1.0f;
}
- if (((fabsf(sp20.x) - (130.13191f * play->projectionMtxFDiagonal.x)) < sp2C) &&
- ((fabsf(sp20.y) - (130.13191f * play->projectionMtxFDiagonal.y)) < sp2C)) {
+ if (((fabsf(projectedPos.x) - (130.13191f * play->projectionMtxFDiagonal.x)) < w) &&
+ ((fabsf(projectedPos.y) - (130.13191f * play->projectionMtxFDiagonal.y)) < w)) {
return true;
}
}
return false;
}
-void func_809A91FC(MtxF* matrix) {
+void ObjGrass_OverrideMatrixCurrent(MtxF* matrix) {
s32 i;
MtxF* temp = Matrix_GetCurrent();
f32* tmp = &temp->xx;
@@ -96,42 +98,44 @@ void func_809A91FC(MtxF* matrix) {
}
}
-void func_809A92D0(ObjGrassStruct1_1* ptr, PlayState* play) {
- if (!(ptr->unk_0E & 0x10)) {
- Item_DropCollectibleRandom(play, NULL, &ptr->unk_00, ptr->unk_0E * 0x10);
+void ObjGrass_DropCollectible(ObjGrassElement* grassElem, PlayState* play) {
+ if (!(grassElem->dropTable & 0x10)) {
+ Item_DropCollectibleRandom(play, NULL, &grassElem->pos, grassElem->dropTable * 0x10);
}
}
-void func_809A9314(ObjGrassStruct1_1* ptr, PlayState* play) {
- Vec3f spBC;
- Vec3f spB0;
+void ObjGrass_SpawnFragments(Vec3f* basePos, PlayState* play) {
+ Vec3f velocity;
+ Vec3f pos;
s32 i;
- Vec3f* ptr2;
+ Vec3f* dir;
- for (i = 0; i < ARRAY_COUNT(D_809AAB4C); i++) {
- ptr2 = &D_809AAB4C[i];
+ for (i = 0; i < ARRAY_COUNT(sUnitDirections); i++) {
+ dir = &sUnitDirections[i];
- spB0.x = ptr->unk_00.x + (ptr2->x * 8.0f);
- spB0.y = (ptr->unk_00.y + (ptr2->y * 8.0f)) + 10.0f;
- spB0.z = ptr->unk_00.z + (ptr2->z * 8.0f);
+ pos.x = basePos->x + (dir->x * 8.0f);
+ pos.y = basePos->y + (dir->y * 8.0f) + 10.0f;
+ pos.z = basePos->z + (dir->z * 8.0f);
- spBC.x = (Rand_ZeroOne() - 0.5f) * 8.0f;
- spBC.y = Rand_ZeroOne() * 10.0f;
- spBC.z = (Rand_ZeroOne() - 0.5f) * 8.0f;
+ velocity.x = (Rand_ZeroOne() - 0.5f) * 8.0f;
+ velocity.y = Rand_ZeroOne() * 10.0f;
+ velocity.z = (Rand_ZeroOne() - 0.5f) * 8.0f;
- EffectSsKakera_Spawn(play, &spB0, &spBC, &spB0, -100, 64, 40, 3, 0,
- D_809AAB7C[(s32)(Rand_ZeroOne() * 111.1f) & 7], 0, 0, 80, -1, 1, gKakeraLeafMiddleDL);
+ EffectSsKakera_Spawn(play, &pos, &velocity, &pos, -100, 64, 40, 3, 0,
+ sFragmentScales[(s32)(Rand_ZeroOne() * 111.1f) & 7], 0, 0, 80, -1, GAMEPLAY_KEEP,
+ gKakeraLeafMiddleDL);
- spB0.x = ptr->unk_00.x + (ptr2->x * 16.0f);
- spB0.y = (ptr->unk_00.y + (ptr2->y * 16.0f)) + 10.0f;
- spB0.z = ptr->unk_00.z + (ptr2->z * 16.0f);
+ pos.x = basePos->x + (dir->x * 16.0f);
+ pos.y = basePos->y + (dir->y * 16.0f) + 10.0f;
+ pos.z = basePos->z + (dir->z * 16.0f);
- spBC.x = (Rand_ZeroOne() - 0.5f) * 6.0f;
- spBC.y = Rand_ZeroOne() * 10.0f;
- spBC.z = (Rand_ZeroOne() - 0.5f) * 6.0f;
+ velocity.x = (Rand_ZeroOne() - 0.5f) * 6.0f;
+ velocity.y = Rand_ZeroOne() * 10.0f;
+ velocity.z = (Rand_ZeroOne() - 0.5f) * 6.0f;
- EffectSsKakera_Spawn(play, &spB0, &spBC, &spB0, -100, 64, 40, 3, 0,
- D_809AAB7C[(s32)(Rand_ZeroOne() * 111.1f) % 7], 0, 0, 80, -1, 1, gKakeraLeafTipDL);
+ EffectSsKakera_Spawn(play, &pos, &velocity, &pos, -100, 64, 40, 3, 0,
+ sFragmentScales[(s32)(Rand_ZeroOne() * 111.1f) % 7], 0, 0, 80, -1, GAMEPLAY_KEEP,
+ gKakeraLeafTipDL);
}
}
@@ -141,9 +145,9 @@ void ObjGrass_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.4f);
- for (i = 0; i < ARRAY_COUNT(this->unk_2948); i++) {
- Collider_InitCylinder(play, &this->unk_2948[i].collider);
- Collider_SetCylinder(play, &this->unk_2948[i].collider, &this->actor, &sCylinderInit);
+ for (i = 0; i < ARRAY_COUNT(this->grassElemColliders); i++) {
+ Collider_InitCylinder(play, &this->grassElemColliders[i].collider);
+ Collider_SetCylinder(play, &this->grassElemColliders[i].collider, &this->actor, &sCylinderInit);
}
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
@@ -158,117 +162,121 @@ void ObjGrass_Destroy(Actor* thisx, PlayState* play) {
ObjGrass* this = THIS;
s32 i;
- for (i = 0; i < ARRAY_COUNT(this->unk_2948); i++) {
- Collider_DestroyCylinder(play, &this->unk_2948[i].collider);
+ for (i = 0; i < ARRAY_COUNT(this->grassElemColliders); i++) {
+ Collider_DestroyCylinder(play, &this->grassElemColliders[i].collider);
}
- for (i = 0; i < ARRAY_COUNT(this->unk_3298); i++) {
- ObjGrassCarry** ptr = &this->unk_3298[i];
+ for (i = 0; i < ARRAY_COUNT(this->grassCarry); i++) {
+ ObjGrassCarry** grassCarry = &this->grassCarry[i];
- if (*ptr != NULL) {
- (*ptr)->unk_190 = 0;
- *ptr = NULL;
+ if (*grassCarry != NULL) {
+ (*grassCarry)->grassManager = NULL;
+ *grassCarry = NULL;
}
}
}
-void func_809A9790(ObjGrass* this, PlayState* play) {
+void ObjGrass_ProcessColliders(ObjGrass* this, PlayState* play) {
s32 i;
- for (i = 0; i < ARRAY_COUNT(this->unk_2948); i++) {
- ObjGrassStruct1_1* ptr = this->unk_2948[i].unk_4C;
+ for (i = 0; i < ARRAY_COUNT(this->grassElemColliders); i++) {
+ ObjGrassElement* grassElem = this->grassElemColliders[i].entity;
- if ((ptr != NULL) && (this->unk_2948[i].collider.base.acFlags & AC_HIT)) {
- func_809A9314(ptr, play);
- func_809A92D0(ptr, play);
- ptr->unk_0F |= 4;
- SoundSource_PlaySfxAtFixedWorldPos(play, &ptr->unk_00, 20, NA_SE_EV_PLANT_BROKEN);
+ if ((grassElem != NULL) && (this->grassElemColliders[i].collider.base.acFlags & AC_HIT)) {
+ ObjGrass_SpawnFragments(&grassElem->pos, play);
+ ObjGrass_DropCollectible(grassElem, play);
+ grassElem->flags |= OBJ_GRASS_ELEM_REMOVED;
+ SoundSource_PlaySfxAtFixedWorldPos(play, &grassElem->pos, 20, NA_SE_EV_PLANT_BROKEN);
}
}
}
-void func_809A983C(ObjGrass* this, PlayState* play) {
+void ObjGrass_UpdateGrass(ObjGrass* this, PlayState* play) {
Player* player = GET_PLAYER(play);
s32 i;
s32 j;
s32 x;
s32 y;
- f32 temp_f0;
- ObjGrassStruct1* ptr;
- ObjGrassStruct1_1* ptr2;
- ObjGrassStruct2* ptr3;
+ f32 distSq;
+ ObjGrassGroup* grassGroup;
s16 yaw;
- for (i = 0; i < ARRAY_COUNT(D_809AADC0); i++) {
- D_809AADC0[i] = NULL;
- D_809AAE10[i] = 422500.0f;
+ for (i = 0; i < OBJ_GRASS_NEAREST_ELEM_MAX; i++) {
+ sNearestGrassElements[i] = NULL;
+ sNearestGrassElementsDistSq[i] = SQ(650.0f);
}
- for (i = 0; i < ARRAY_COUNT(D_809AADA0); i++) {
- D_809AADA0[i] = NULL;
- D_809AADB0[i] = 422500.0f;
+ for (i = 0; i < OBJ_GRASS_NEAREST_GROUP_MAX; i++) {
+ sNearestGrassGroups[i] = NULL;
+ sNearestGrassGroupsDist[i] = SQ(650.0f);
}
- for (i = 0; i < this->unk_2944; i++) {
- ptr = &this->unk_144[i];
+ for (i = 0; i < this->activeGrassGroups; i++) {
+ grassGroup = &this->grassGroups[i];
- for (j = 0; j < ptr->unk_FC; j++) {
- ptr->unk_0C[j].unk_0F &= (u16)~2;
+ for (j = 0; j < grassGroup->count; j++) {
+ grassGroup->elements[j].flags &= (u16)~OBJ_GRASS_ELEM_ANIM;
}
}
- for (i = 0; i < this->unk_2944; i++) {
- ptr = &this->unk_144[i];
- temp_f0 = Math3D_Vec3fDistSq(&ptr->unk_00, &player->actor.world.pos);
+ for (i = 0; i < this->activeGrassGroups; i++) {
+ grassGroup = &this->grassGroups[i];
+ distSq = Math3D_Vec3fDistSq(&grassGroup->homePos, &player->actor.world.pos);
- for (j = 0; j < ARRAY_COUNT(D_809AADB0); j++) {
- if (temp_f0 < D_809AADB0[j]) {
+ for (j = 0; j < OBJ_GRASS_NEAREST_GROUP_MAX; j++) {
+ if (distSq < sNearestGrassGroupsDist[j]) {
break;
}
}
- if (j < ARRAY_COUNT(D_809AADB0)) {
- for (x = 2; x >= j; x--) {
- D_809AADB0[x + 1] = D_809AADB0[x];
- D_809AADA0[x + 1] = D_809AADA0[x];
+ if (j < OBJ_GRASS_NEAREST_GROUP_MAX) {
+ // Insert the grassGroup into the list
+
+ // Shift each element under j that remains in the list down 1
+ for (x = OBJ_GRASS_NEAREST_GROUP_MAX - 2; x >= j; x--) {
+ sNearestGrassGroupsDist[x + 1] = sNearestGrassGroupsDist[x];
+ sNearestGrassGroups[x + 1] = sNearestGrassGroups[x];
}
- D_809AADB0[j] = temp_f0;
- D_809AADA0[j] = ptr;
+ sNearestGrassGroupsDist[j] = distSq;
+ sNearestGrassGroups[j] = grassGroup;
}
}
- this->unk_3294 = NULL;
+ this->carryGrassElem = NULL;
- for (i = 0; i < ARRAY_COUNT(D_809AADA0); i++) {
- ptr = D_809AADA0[i];
+ for (i = 0; i < OBJ_GRASS_NEAREST_GROUP_MAX; i++) {
+ grassGroup = sNearestGrassGroups[i];
- if (ptr != NULL) {
- for (j = 0; j < ptr->unk_FC; j++) {
- if (!(ptr->unk_0C[j].unk_0F & 4)) {
- temp_f0 = Math3D_Vec3fDistSq(&ptr->unk_0C[j].unk_00, &player->actor.world.pos);
+ if (grassGroup != NULL) {
+ for (j = 0; j < grassGroup->count; j++) {
+ if (!(grassGroup->elements[j].flags & OBJ_GRASS_ELEM_REMOVED)) {
+ distSq = Math3D_Vec3fDistSq(&grassGroup->elements[j].pos, &player->actor.world.pos);
- for (x = 0; x < ARRAY_COUNT(D_809AAE10); x++) {
- if (temp_f0 < D_809AAE10[x]) {
+ for (x = 0; x < OBJ_GRASS_NEAREST_ELEM_MAX; x++) {
+ if (distSq < sNearestGrassElementsDistSq[x]) {
break;
}
}
- if (x < ARRAY_COUNT(D_809AAE10)) {
- for (y = 18; y >= x; y--) {
- D_809AAE10[y + 1] = D_809AAE10[y];
- D_809AADC0[y + 1] = D_809AADC0[y];
+ if (x < OBJ_GRASS_NEAREST_ELEM_MAX) {
+ // Insert the GrassElement into the list
+
+ // Shift each element under j that remains in the list down 1
+ for (y = OBJ_GRASS_NEAREST_ELEM_MAX - 2; y >= x; y--) {
+ sNearestGrassElementsDistSq[y + 1] = sNearestGrassElementsDistSq[y];
+ sNearestGrassElements[y + 1] = sNearestGrassElements[y];
}
- D_809AAE10[x] = temp_f0;
- D_809AADC0[x] = &ptr->unk_0C[j];
+ sNearestGrassElementsDistSq[x] = distSq;
+ sNearestGrassElements[x] = &grassGroup->elements[j];
- if (temp_f0 < 2500.0f) {
+ if (distSq < SQ(50.0f)) {
yaw = player->actor.shape.rot.y -
- Math_Vec3f_Yaw(&player->actor.world.pos, &ptr->unk_0C[j].unk_00);
+ Math_Vec3f_Yaw(&player->actor.world.pos, &grassGroup->elements[j].pos);
if (ABS_ALT(yaw) < 0x2000) {
- this->unk_3294 = &ptr->unk_0C[j];
+ this->carryGrassElem = &grassGroup->elements[j];
}
}
}
@@ -277,28 +285,29 @@ void func_809A983C(ObjGrass* this, PlayState* play) {
}
}
- for (i = 0; i < ARRAY_COUNT(this->unk_2948); i++) {
- ptr3 = &this->unk_2948[i];
+ for (i = 0; i < ARRAY_COUNT(this->grassElemColliders); i++) {
+ ObjGrassCollider* grassCol = &this->grassElemColliders[i];
+ ObjGrassElement* grassElem;
- ptr3->collider.base.acFlags &= (u16)~AC_HIT;
- ptr3->collider.base.ocFlags1 &= (u16)~OC1_HIT;
+ grassCol->collider.base.acFlags &= (u16)~AC_HIT;
+ grassCol->collider.base.ocFlags1 &= (u16)~OC1_HIT;
- ptr2 = D_809AADC0[i];
- if (ptr2 != NULL) {
- ptr3->collider.dim.pos.x = ptr2->unk_00.x;
- ptr3->collider.dim.pos.y = ptr2->unk_00.y;
- ptr3->collider.dim.pos.z = ptr2->unk_00.z;
- CollisionCheck_SetAC(play, &play->colChkCtx, &ptr3->collider.base);
- CollisionCheck_SetOC(play, &play->colChkCtx, &ptr3->collider.base);
- ptr2->unk_0F |= 2;
- ptr3->unk_4C = ptr2;
+ grassElem = sNearestGrassElements[i];
+ if (grassElem != NULL) {
+ grassCol->collider.dim.pos.x = grassElem->pos.x;
+ grassCol->collider.dim.pos.y = grassElem->pos.y;
+ grassCol->collider.dim.pos.z = grassElem->pos.z;
+ CollisionCheck_SetAC(play, &play->colChkCtx, &grassCol->collider.base);
+ CollisionCheck_SetOC(play, &play->colChkCtx, &grassCol->collider.base);
+ grassElem->flags |= OBJ_GRASS_ELEM_ANIM;
+ grassCol->entity = grassElem;
} else {
- ptr3->unk_4C = NULL;
+ grassCol->entity = NULL;
}
}
}
-void func_809A9DB8(ObjGrass* this) {
+void ObjGrass_CalcAnimationMatrices(ObjGrass* this) {
s32 i;
s32 pad;
f32* ptr;
@@ -345,8 +354,8 @@ void func_809A9DB8(ObjGrass* this) {
sp6C[6] = (temp_f26 - temp_f22) * temp_f22 * temp_f20 * temp_f16 * 0.0015f;
sp6C[7] = (spA4 - temp_f20) * sp94 * sp90 * temp_f16 * 0.0015f;
- for (i = 0; i < ARRAY_COUNT(this->unk_2F88); i++) {
- ptr = &this->unk_2F88[i].mf[0][0];
+ for (i = 0; i < ARRAY_COUNT(this->distortionMtx); i++) {
+ ptr = &this->distortionMtx[i].mf[0][0];
tempf1 = sp6C[(i + 0) & 7];
tempf2 = sp6C[(i + 1) & 7];
@@ -379,64 +388,65 @@ void func_809A9DB8(ObjGrass* this) {
void ObjGrass_Update(Actor* thisx, PlayState* play) {
ObjGrass* this = THIS;
- func_809A9790(this, play);
- func_809A983C(this, play);
- func_809A9DB8(this);
+ ObjGrass_ProcessColliders(this, play);
+ ObjGrass_UpdateGrass(this, play);
+ ObjGrass_CalcAnimationMatrices(this);
}
-void func_809AA278(ObjGrass* this, PlayState* play) {
- ObjGrassStruct1* ptr;
- ObjGrassStruct1_1* ptr2;
+void ObjGrass_InitDraw(ObjGrass* this, PlayState* play) {
+ ObjGrassGroup* grassGroup;
+ ObjGrassElement* grassElem;
s32 i;
s32 j;
f32 distSq;
- f32 temp_f22;
+ f32 eyeDist;
- for (i = 0; i < this->unk_2944; i++) {
- ptr = &this->unk_144[i];
+ for (i = 0; i < this->activeGrassGroups; i++) {
+ grassGroup = &this->grassGroups[i];
- temp_f22 = Math3D_Vec3fDistSq(&ptr->unk_00, &GET_ACTIVE_CAM(play)->eye);
+ eyeDist = Math3D_Vec3fDistSq(&grassGroup->homePos, &GET_ACTIVE_CAM(play)->eye);
- if ((temp_f22 < SQ(1280.0f)) && func_809A9110(play, &ptr->unk_00)) {
- ptr->unk_FE |= 1;
+ if ((eyeDist < SQ(1280.0f)) && func_809A9110(play, &grassGroup->homePos)) {
+ grassGroup->flags |= OBJ_GRASS_GROUP_DRAW;
- for (j = 0; j < ptr->unk_FC; j++) {
- ptr2 = &ptr->unk_0C[j];
+ for (j = 0; j < grassGroup->count; j++) {
+ grassElem = &grassGroup->elements[j];
- if (ptr2->unk_0F & 4) {
- ptr2->unk_10 = 255;
- ptr2->unk_0F &= ~1;
+ if (grassElem->flags & OBJ_GRASS_ELEM_REMOVED) {
+ grassElem->alpha = 255;
+ grassElem->flags &= ~OBJ_GRASS_ELEM_DRAW;
} else {
- ptr2->unk_0F |= 1;
- if (temp_f22 < SQ(980.0f)) {
- ptr2->unk_10 = 255;
+ grassElem->flags |= OBJ_GRASS_ELEM_DRAW;
+ if (eyeDist < SQ(980.0f)) {
+ grassElem->alpha = 255;
} else {
- distSq = Math3D_Vec3fDistSq(&ptr2->unk_00, &GET_ACTIVE_CAM(play)->eye);
- if ((distSq <= SQ(1080.0f)) || ((ptr2->unk_0F & 8) && (distSq < SQ(1180.0f)))) {
- ptr2->unk_10 = 255;
+ distSq = Math3D_Vec3fDistSq(&grassElem->pos, &GET_ACTIVE_CAM(play)->eye);
+ if ((distSq <= SQ(1080.0f)) ||
+ ((grassElem->flags & OBJ_GRASS_ELEM_UNDERWATER) && (distSq < SQ(1180.0f)))) {
+ grassElem->alpha = 255;
} else if (distSq >= SQ(1180.0f)) {
- ptr2->unk_10 = 0;
+ grassElem->alpha = 0;
} else {
- ptr2->unk_10 = (1180.0f - sqrtf(distSq)) * 2.55f;
+ grassElem->alpha = (1180.0f - sqrtf(distSq)) * 2.55f;
}
}
}
}
} else {
- ptr->unk_FE &= ~1;
+ grassGroup->flags &= ~OBJ_GRASS_GROUP_DRAW;
}
}
}
-void func_809AA54C(Actor* thisx, PlayState* play2) {
+void ObjGrass_DrawOpa(Actor* thisx, PlayState* play2) {
ObjGrass* this = THIS;
PlayState* play = play2;
- Lights* temp_s0;
- ObjGrassStruct1* ptr;
+ Lights* lights;
+ ObjGrassGroup* grassGroup;
s32 i;
s32 j;
- Vec3s sp70 = { 0, 0, 0 };
- ObjGrassStruct1_1* ptr2;
+ Vec3s rot = { 0, 0, 0 };
+ ObjGrassElement* grassElem;
OPEN_DISPS(play->state.gfxCtx);
@@ -445,23 +455,23 @@ void func_809AA54C(Actor* thisx, PlayState* play2) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
gSPDisplayList(POLY_OPA_DISP++, gObjGrass_D_809AA9F0);
- for (i = 0; i < this->unk_2944; i++) {
- ptr = &this->unk_144[i];
+ for (i = 0; i < this->activeGrassGroups; i++) {
+ grassGroup = &this->grassGroups[i];
- if (ptr->unk_FE & 1) {
- temp_s0 = LightContext_NewLights(&play->lightCtx, play->state.gfxCtx);
- Lights_BindAll(temp_s0, play->lightCtx.listHead, &ptr->unk_00, play);
- Lights_Draw(temp_s0, play->state.gfxCtx);
+ if (grassGroup->flags & OBJ_GRASS_GROUP_DRAW) {
+ lights = LightContext_NewLights(&play->lightCtx, play->state.gfxCtx);
+ Lights_BindAll(lights, play->lightCtx.listHead, &grassGroup->homePos, play);
+ Lights_Draw(lights, play->state.gfxCtx);
- for (j = 0; j < ptr->unk_FC; j++) {
- ptr2 = &ptr->unk_0C[j];
+ for (j = 0; j < grassGroup->count; j++) {
+ grassElem = &grassGroup->elements[j];
- if ((ptr2->unk_0F & 1) && (ptr2->unk_10 == 255)) {
- sp70.y = ptr2->unk_0C;
- Matrix_SetTranslateRotateYXZ(ptr2->unk_00.x, ptr2->unk_00.y, ptr2->unk_00.z, &sp70);
+ if ((grassElem->flags & OBJ_GRASS_ELEM_DRAW) && (grassElem->alpha == 255)) {
+ rot.y = grassElem->rotY;
+ Matrix_SetTranslateRotateYXZ(grassElem->pos.x, grassElem->pos.y, grassElem->pos.z, &rot);
Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY);
- if (ptr2->unk_0F & 2) {
- func_809A91FC(&this->unk_2F88[j]);
+ if (grassElem->flags & OBJ_GRASS_ELEM_ANIM) {
+ ObjGrass_OverrideMatrixCurrent(&this->distortionMtx[j]);
}
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx),
@@ -475,13 +485,13 @@ void func_809AA54C(Actor* thisx, PlayState* play2) {
CLOSE_DISPS(play->state.gfxCtx);
}
-void func_809AA798(Actor* thisx, PlayState* play) {
+void ObjGrass_DrawXlu(Actor* thisx, PlayState* play) {
ObjGrass* this = THIS;
- ObjGrassStruct1* ptr;
- ObjGrassStruct1_1* ptr2;
+ ObjGrassGroup* grassGroup;
+ ObjGrassElement* grassElem;
s32 i;
s32 j;
- Vec3s sp6C = { 0, 0, 0 };
+ Vec3s rot = { 0, 0, 0 };
OPEN_DISPS(play->state.gfxCtx);
@@ -489,21 +499,21 @@ void func_809AA798(Actor* thisx, PlayState* play) {
gSPDisplayList(POLY_XLU_DISP++, gObjGrass_D_809AAA68);
- for (i = 0; i < this->unk_2944; i++) {
- ptr = &this->unk_144[i];
+ for (i = 0; i < this->activeGrassGroups; i++) {
+ grassGroup = &this->grassGroups[i];
- if (ptr->unk_FE & 1) {
- for (j = 0; j < ptr->unk_FC; j++) {
- ptr2 = &ptr->unk_0C[j];
+ if (grassGroup->flags & OBJ_GRASS_GROUP_DRAW) {
+ for (j = 0; j < grassGroup->count; j++) {
+ grassElem = &grassGroup->elements[j];
- if ((ptr2->unk_0F & 1) && (ptr2->unk_10 > 0) && (ptr2->unk_10 < 255)) {
- sp6C.y = ptr2->unk_0C;
- Matrix_SetTranslateRotateYXZ(ptr2->unk_00.x, ptr2->unk_00.y, ptr2->unk_00.z, &sp6C);
+ if ((grassElem->flags & OBJ_GRASS_ELEM_DRAW) && (grassElem->alpha > 0) && (grassElem->alpha < 255)) {
+ rot.y = grassElem->rotY;
+ Matrix_SetTranslateRotateYXZ(grassElem->pos.x, grassElem->pos.y, grassElem->pos.z, &rot);
Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, ptr2->unk_10);
+ gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, grassElem->alpha);
gSPDisplayList(POLY_XLU_DISP++, gObjGrass_D_809AAAE0);
}
}
@@ -516,7 +526,7 @@ void func_809AA798(Actor* thisx, PlayState* play) {
void ObjGrass_Draw(Actor* thisx, PlayState* play) {
ObjGrass* this = THIS;
- func_809AA278(this, play);
- func_809AA54C(thisx, play);
- func_809AA798(thisx, play);
+ ObjGrass_InitDraw(this, play);
+ ObjGrass_DrawOpa(thisx, play);
+ ObjGrass_DrawXlu(thisx, play);
}
diff --git a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.h b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.h
index fffcdad4e..f3fb8705d 100644
--- a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.h
+++ b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.h
@@ -7,40 +7,52 @@
struct ObjGrass;
struct ObjGrassCarry;
-typedef struct ObjGrassStruct1_1 {
- /* 0x00 */ Vec3f unk_00;
- /* 0x0C */ s16 unk_0C;
- /* 0x0E */ s8 unk_0E;
- /* 0x0F */ u8 unk_0F;
- /* 0x10 */ u8 unk_10;
-} ObjGrassStruct1_1; // size = 0x14
+#define OBJ_GRASS_NEAREST_GROUP_MAX 4
+#define OBJ_GRASS_NEAREST_ELEM_MAX 20
+
+#define OBJ_GRASS_GROUP_ELEM_COUNT_MAX 12
+
+#define OBJ_GRASS_GROUP_DRAW 1
+
+#define OBJ_GRASS_ELEM_DRAW 1
+#define OBJ_GRASS_ELEM_ANIM 2
+#define OBJ_GRASS_ELEM_REMOVED 4
+#define OBJ_GRASS_ELEM_UNDERWATER 8
+
+typedef struct ObjGrassElement {
+ /* 0x00 */ Vec3f pos;
+ /* 0x0C */ s16 rotY;
+ /* 0x0E */ s8 dropTable;
+ /* 0x0F */ u8 flags;
+ /* 0x10 */ u8 alpha;
+} ObjGrassElement; // size = 0x14
typedef struct {
- /* 0x00 */ Vec3f unk_00;
- /* 0x0C */ ObjGrassStruct1_1 unk_0C[12];
- /* 0xFC */ s16 unk_FC;
- /* 0xFE */ u8 unk_FE;
-} ObjGrassStruct1; // size = 0x100
+ /* 0x00 */ Vec3f homePos;
+ /* 0x0C */ ObjGrassElement elements[OBJ_GRASS_GROUP_ELEM_COUNT_MAX];
+ /* 0xFC */ s16 count;
+ /* 0xFE */ u8 flags;
+} ObjGrassGroup; // size = 0x100
typedef struct {
/* 0x00 */ ColliderCylinder collider;
- /* 0x4C */ ObjGrassStruct1_1* unk_4C;
-} ObjGrassStruct2; // size = 0x50
+ /* 0x4C */ ObjGrassElement* entity;
+} ObjGrassCollider; // size = 0x50
typedef struct ObjGrass {
/* 0x0000 */ Actor actor;
- /* 0x0144 */ ObjGrassStruct1 unk_144[40];
- /* 0x2944 */ s16 unk_2944;
- /* 0x2948 */ ObjGrassStruct2 unk_2948[20];
- /* 0x2F88 */ MtxF unk_2F88[12];
+ /* 0x0144 */ ObjGrassGroup grassGroups[40];
+ /* 0x2944 */ s16 activeGrassGroups;
+ /* 0x2948 */ ObjGrassCollider grassElemColliders[OBJ_GRASS_NEAREST_ELEM_MAX];
+ /* 0x2F88 */ MtxF distortionMtx[OBJ_GRASS_GROUP_ELEM_COUNT_MAX];
/* 0x3288 */ s16 unk_3288;
/* 0x328A */ s16 unk_328A;
/* 0x328C */ s16 unk_328C;
/* 0x328E */ s16 unk_328E;
/* 0x3290 */ s16 unk_3290;
- /* 0x3292 */ s16 unk_3292;
- /* 0x3294 */ ObjGrassStruct1_1* unk_3294;
- /* 0x3298 */ struct ObjGrassCarry* unk_3298[2];
+ /* 0x3292 */ s16 activeGrassCarry;
+ /* 0x3294 */ ObjGrassElement* carryGrassElem;
+ /* 0x3298 */ struct ObjGrassCarry* grassCarry[2];
} ObjGrass; // size = 0x32A0
#endif // Z_OBJ_GRASS_H
diff --git a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c
index 1554a2403..4b9c424f4 100644
--- a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c
+++ b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c
@@ -17,17 +17,17 @@ void ObjGrassCarry_Init(Actor* thisx, PlayState* play);
void ObjGrassCarry_Destroy(Actor* thisx, PlayState* play);
void ObjGrassCarry_Update(Actor* thisx, PlayState* play);
-void func_809AB3C4(ObjGrassCarry* this);
-void func_809AB3D8(ObjGrassCarry* this, PlayState* play);
-void func_809AB428(ObjGrassCarry* this);
-void func_809AB43C(ObjGrassCarry* this, PlayState* play);
-void func_809AB474(ObjGrassCarry* this);
-void func_809AB4A8(ObjGrassCarry* this, PlayState* play);
-void func_809AB5FC(ObjGrassCarry* this);
-void func_809AB610(ObjGrassCarry* this, PlayState* play);
-void func_809AB6FC(ObjGrassCarry* this);
-void func_809AB77C(ObjGrassCarry* this, PlayState* play);
-void func_809ABB7C(Actor* this, PlayState* play);
+void ObjGrassCarry_SetupAwaitSpawnManager(ObjGrassCarry* this);
+void ObjGrassCarry_AwaitSpawnManager(ObjGrassCarry* this, PlayState* play);
+void ObjGrassCarry_SetupIdle(ObjGrassCarry* this);
+void ObjGrassCarry_Idle(ObjGrassCarry* this, PlayState* play);
+void ObjGrassCarry_Reset(ObjGrassCarry* this);
+void ObjGrassCarry_Main(ObjGrassCarry* this, PlayState* play);
+void ObjGrassCarry_SetupLiftedUp(ObjGrassCarry* this);
+void ObjGrassCarry_LiftedUp(ObjGrassCarry* this, PlayState* play);
+void ObjGrassCarry_SetupFall(ObjGrassCarry* this);
+void ObjGrassCarry_Fall(ObjGrassCarry* this, PlayState* play);
+void ObjGrassCarry_Draw(Actor* this, PlayState* play);
ActorInit Obj_Grass_Carry_InitVars = {
ACTOR_OBJ_GRASS_CARRY,
@@ -61,19 +61,19 @@ static ColliderCylinderInit sCylinderInit = {
{ 10, 44, 0, { 0, 0, 0 } },
};
-s16 D_809ABBFC = 0;
-s16 D_809ABC00 = 0;
-s16 D_809ABC04 = 0;
-s16 D_809ABC08 = 0;
+static s16 sRotSpeedXTarget = 0;
+static s16 sRotSpeedX = 0;
+static s16 sRotSpeedYTarget = 0;
+static s16 sRotSpeedY = 0;
-Vec3f D_809ABC0C[] = {
+static Vec3f sUnitDirections[] = {
{ 0.0f, 0.7071f, 0.7071f },
{ 0.7071f, 0.7071f, 0.0f },
{ 0.0f, 0.7071f, -0.7071f },
{ -0.7071f, 0.7071f, 0.0f },
};
-s16 D_809ABC3C[] = { 0x6C, 0x66, 0x60, 0x54, 0x42, 0x37, 0x2A, 0x26 };
+static s16 sFragmentScales[] = { 108, 102, 96, 84, 66, 55, 42, 38 };
static InitChainEntry sInitChain[] = {
ICHAIN_F32_DIV1000(gravity, -3200, ICHAIN_CONTINUE),
@@ -81,69 +81,71 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 400, ICHAIN_STOP),
};
-void func_809AAE60(ObjGrassCarry* this) {
+void ObjGrassCarry_UpdateVelY(ObjGrassCarry* this) {
this->actor.velocity.y += this->actor.gravity;
if (this->actor.velocity.y < this->actor.terminalVelocity) {
this->actor.velocity.y = this->actor.terminalVelocity;
}
}
-void func_809AAE94(Vec3f* arg0, f32 arg1) {
- arg1 += ((Rand_ZeroOne() * 0.2f) - 0.1f) * arg1;
+void ObjGrassCarry_RandScaleVecToZero(Vec3f* velocity, f32 scale) {
+ scale += ((Rand_ZeroOne() * 0.2f) - 0.1f) * scale;
- arg0->x -= (arg0->x * arg1);
- arg0->y -= (arg0->y * arg1);
- arg0->z -= (arg0->z * arg1);
+ velocity->x -= velocity->x * scale;
+ velocity->y -= velocity->y * scale;
+ velocity->z -= velocity->z * scale;
}
-void func_809AAF18(ObjGrassCarry* this) {
- func_809AAE60(this);
- func_809AAE94(&this->actor.velocity, 0.05f);
+void ObjGrassCarry_UpdatePos(ObjGrassCarry* this) {
+ ObjGrassCarry_UpdateVelY(this);
+ ObjGrassCarry_RandScaleVecToZero(&this->actor.velocity, 0.05f);
Actor_UpdatePos(&this->actor);
}
-void func_809AAF58(ObjGrassCarry* this, PlayState* play) {
+void ObjGrassCarry_UpdateBgCheckInfo(ObjGrassCarry* this, PlayState* play) {
Actor_UpdateBgCheckInfo(play, &this->actor, 7.5f, 35.0f, 0.0f,
UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4 | UPDBGCHECKINFO_FLAG_40 |
UPDBGCHECKINFO_FLAG_80);
}
-void func_809AAF9C(Vec3f* arg0, s16 arg1, PlayState* play) {
- if (!(arg1 & 0x10)) {
- Item_DropCollectibleRandom(play, NULL, arg0, arg1 * 0x10);
+void ObjGrassCarry_DropCollectible(Vec3f* pos, s16 dropTable, PlayState* play) {
+ if ((dropTable & 0x10) == 0) {
+ Item_DropCollectibleRandom(play, NULL, pos, dropTable * 0x10);
}
}
-void func_809AAFE8(Vec3f* arg0, PlayState* play) {
- Vec3f spBC;
- Vec3f spB0;
+void ObjGrassCarry_SpawnFragments(Vec3f* basePos, PlayState* play) {
+ Vec3f velocity;
+ Vec3f pos;
s32 i;
- Vec3f* ptr;
+ Vec3f* dir;
- for (i = 0; i < ARRAY_COUNT(D_809ABC0C); i++) {
- ptr = &D_809ABC0C[i];
+ for (i = 0; i < ARRAY_COUNT(sUnitDirections); i++) {
+ dir = &sUnitDirections[i];
- spB0.x = arg0->x + (ptr->x * 8.0f);
- spB0.y = arg0->y + (ptr->y * 8.0f) + 10.0f;
- spB0.z = arg0->z + (ptr->z * 8.0f);
+ pos.x = basePos->x + (dir->x * 8.0f);
+ pos.y = basePos->y + (dir->y * 8.0f) + 10.0f;
+ pos.z = basePos->z + (dir->z * 8.0f);
- spBC.x = (Rand_ZeroOne() - 0.5f) * 8.0f;
- spBC.y = Rand_ZeroOne() * 10.0f;
- spBC.z = (Rand_ZeroOne() - 0.5f) * 8.0f;
+ velocity.x = (Rand_ZeroOne() - 0.5f) * 8.0f;
+ velocity.y = Rand_ZeroOne() * 10.0f;
+ velocity.z = (Rand_ZeroOne() - 0.5f) * 8.0f;
- EffectSsKakera_Spawn(play, &spB0, &spBC, &spB0, -100, 64, 40, 3, 0,
- D_809ABC3C[(s32)(Rand_ZeroOne() * 111.1f) & 7], 0, 0, 80, -1, 1, gKakeraLeafMiddleDL);
+ EffectSsKakera_Spawn(play, &pos, &velocity, &pos, -100, 64, 40, 3, 0,
+ sFragmentScales[(s32)(Rand_ZeroOne() * 111.1f) & 7], 0, 0, 80, -1, GAMEPLAY_KEEP,
+ gKakeraLeafMiddleDL);
- spB0.x = arg0->x + (ptr->x * 16.0f);
- spB0.y = arg0->y + (ptr->y * 16.0f) + 10.0f;
- spB0.z = arg0->z + (ptr->z * 16.0f);
+ pos.x = basePos->x + (dir->x * 16.0f);
+ pos.y = basePos->y + (dir->y * 16.0f) + 10.0f;
+ pos.z = basePos->z + (dir->z * 16.0f);
- spBC.x = (Rand_ZeroOne() - 0.5f) * 6.0f;
- spBC.y = Rand_ZeroOne() * 10.0f;
- spBC.z = (Rand_ZeroOne() - 0.5f) * 6.0f;
+ velocity.x = (Rand_ZeroOne() - 0.5f) * 6.0f;
+ velocity.y = Rand_ZeroOne() * 10.0f;
+ velocity.z = (Rand_ZeroOne() - 0.5f) * 6.0f;
- EffectSsKakera_Spawn(play, &spB0, &spBC, &spB0, -100, 64, 40, 3, 0,
- D_809ABC3C[(s32)(Rand_ZeroOne() * 111.1f) % 7], 0, 0, 80, -1, 1, gKakeraLeafTipDL);
+ EffectSsKakera_Spawn(play, &pos, &velocity, &pos, -100, 64, 40, 3, 0,
+ sFragmentScales[(s32)(Rand_ZeroOne() * 111.1f) % 7], 0, 0, 80, -1, GAMEPLAY_KEEP,
+ gKakeraLeafTipDL);
}
}
@@ -154,7 +156,7 @@ void ObjGrassCarry_Init(Actor* thisx, PlayState* play) {
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = 80;
- func_809AB3C4(this);
+ ObjGrassCarry_SetupAwaitSpawnManager(this);
}
void ObjGrassCarry_Destroy(Actor* thisx, PlayState* play) {
@@ -162,73 +164,69 @@ void ObjGrassCarry_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider);
- if (this->unk_190 != NULL) {
- ObjGrassCarry** carry = &this->unk_190->unk_3298[this->actor.params];
+ if (this->grassManager != NULL) {
+ ObjGrassCarry** carry = &this->grassManager->grassCarry[this->actor.params];
if (this == *carry) {
*carry = NULL;
- this->unk_190 = NULL;
+ this->grassManager = NULL;
}
}
}
-void func_809AB3C4(ObjGrassCarry* this) {
- this->actionFunc = func_809AB3D8;
+void ObjGrassCarry_SetupAwaitSpawnManager(ObjGrassCarry* this) {
+ this->actionFunc = ObjGrassCarry_AwaitSpawnManager;
}
-void func_809AB3D8(ObjGrassCarry* this, PlayState* play) {
- if (this->unk_190 != NULL) {
- if (this->actor.params != this->unk_190->unk_3292) {
- func_809AB474(this);
+void ObjGrassCarry_AwaitSpawnManager(ObjGrassCarry* this, PlayState* play) {
+ if (this->grassManager != NULL) {
+ if (this->actor.params != this->grassManager->activeGrassCarry) {
+ ObjGrassCarry_Reset(this);
} else {
- func_809AB428(this);
+ ObjGrassCarry_SetupIdle(this);
}
}
}
-void func_809AB428(ObjGrassCarry* this) {
- this->actionFunc = func_809AB43C;
+void ObjGrassCarry_SetupIdle(ObjGrassCarry* this) {
+ this->actionFunc = ObjGrassCarry_Idle;
}
-void func_809AB43C(ObjGrassCarry* this, PlayState* play) {
- if (this->actor.params != this->unk_190->unk_3292) {
- func_809AB474(this);
+void ObjGrassCarry_Idle(ObjGrassCarry* this, PlayState* play) {
+ if (this->actor.params != this->grassManager->activeGrassCarry) {
+ ObjGrassCarry_Reset(this);
}
}
-void func_809AB474(ObjGrassCarry* this) {
- this->actor.shape.rot.z = 0;
- this->actionFunc = func_809AB4A8;
- this->unk_194 = NULL;
- this->actor.shape.rot.y = this->actor.shape.rot.z;
- this->actor.shape.rot.x = this->actor.shape.rot.z;
- this->actor.world.rot.z = this->actor.shape.rot.z;
- this->actor.world.rot.y = this->actor.shape.rot.z;
- this->actor.world.rot.x = this->actor.shape.rot.z;
+void ObjGrassCarry_Reset(ObjGrassCarry* this) {
+ this->actionFunc = ObjGrassCarry_Main;
+ this->grassElem = NULL;
+ this->actor.world.rot.x = this->actor.world.rot.y = this->actor.world.rot.z = this->actor.shape.rot.x =
+ this->actor.shape.rot.y = this->actor.shape.rot.z = 0;
}
-void func_809AB4A8(ObjGrassCarry* this, PlayState* play) {
+void ObjGrassCarry_Main(ObjGrassCarry* this, PlayState* play) {
Actor* thisx = &this->actor;
if (Actor_HasParent(thisx, play)) {
- func_809AB5FC(this);
- if (this->unk_194 != NULL) {
- this->unk_194->unk_0F |= 4;
+ ObjGrassCarry_SetupLiftedUp(this);
+ if (this->grassElem != NULL) {
+ this->grassElem->flags |= OBJ_GRASS_ELEM_REMOVED;
}
- thisx->draw = func_809ABB7C;
+ thisx->draw = ObjGrassCarry_Draw;
thisx->shape.shadowDraw = ActorShadow_DrawCircle;
thisx->shape.shadowAlpha = 60;
thisx->shape.shadowScale = 1.0f;
- this->unk_190->unk_3292 ^= 1;
+ this->grassManager->activeGrassCarry ^= 1;
thisx->room = -1;
SoundSource_PlaySfxAtFixedWorldPos(play, &thisx->world.pos, 20, NA_SE_PL_PULL_UP_PLANT);
- } else if (this->unk_190->unk_3294 != NULL) {
+ } else if (this->grassManager->carryGrassElem != NULL) {
Player* player = GET_PLAYER(play);
- this->unk_194 = this->unk_190->unk_3294;
- Math_Vec3f_Copy(&thisx->world.pos, &this->unk_194->unk_00);
- thisx->shape.rot.y = thisx->world.rot.y = this->unk_194->unk_0C;
- this->unk_198 = this->unk_194->unk_0E;
+ this->grassElem = this->grassManager->carryGrassElem;
+ Math_Vec3f_Copy(&thisx->world.pos, &this->grassElem->pos);
+ thisx->shape.rot.y = thisx->world.rot.y = this->grassElem->rotY;
+ this->dropTable = this->grassElem->dropTable;
thisx->xzDistToPlayer = Actor_WorldDistXZToActor(&this->actor, &player->actor);
thisx->playerHeightRel = Actor_HeightDiff(&this->actor, &player->actor);
thisx->xyzDistToPlayerSq = SQ(thisx->xzDistToPlayer) + SQ(thisx->playerHeightRel);
@@ -237,87 +235,88 @@ void func_809AB4A8(ObjGrassCarry* this, PlayState* play) {
}
}
-void func_809AB5FC(ObjGrassCarry* this) {
- this->actionFunc = func_809AB610;
+void ObjGrassCarry_SetupLiftedUp(ObjGrassCarry* this) {
+ this->actionFunc = ObjGrassCarry_LiftedUp;
}
-void func_809AB610(ObjGrassCarry* this, PlayState* play) {
+void ObjGrassCarry_LiftedUp(ObjGrassCarry* this, PlayState* play) {
s32 pad;
- Vec3f sp30;
- s32 sp2C;
if (Actor_HasNoParent(&this->actor, play)) {
- func_809AB6FC(this);
+ ObjGrassCarry_SetupFall(this);
this->actor.velocity.x = Math_SinS(this->actor.world.rot.y) * this->actor.speed;
this->actor.velocity.z = Math_CosS(this->actor.world.rot.y) * this->actor.speed;
this->actor.gravity = -0.1f;
this->actor.terminalVelocity = -17.0f;
- func_809AAF18(this);
- func_809AAF58(this, play);
+ ObjGrassCarry_UpdatePos(this);
+ ObjGrassCarry_UpdateBgCheckInfo(this, play);
this->actor.gravity = -3.2f;
} else {
- sp30.x = this->actor.world.pos.x;
- sp30.y = this->actor.world.pos.y + 20.0f;
- sp30.z = this->actor.world.pos.z;
+ Vec3f pos;
+ s32 bgId;
+
+ pos.x = this->actor.world.pos.x;
+ pos.y = this->actor.world.pos.y + 20.0f;
+ pos.z = this->actor.world.pos.z;
this->actor.floorHeight =
- BgCheck_EntityRaycastFloor5(&play->colCtx, &this->actor.floorPoly, &sp2C, &this->actor, &sp30);
+ BgCheck_EntityRaycastFloor5(&play->colCtx, &this->actor.floorPoly, &bgId, &this->actor, &pos);
}
}
-void func_809AB6FC(ObjGrassCarry* this) {
- this->actionFunc = func_809AB77C;
- D_809ABBFC = -0xBB8;
- D_809ABC04 = (Rand_ZeroOne() - 0.5f) * 1600.0f;
- D_809ABC00 = 0;
- D_809ABC08 = 0;
- this->unk_19A = 60;
+void ObjGrassCarry_SetupFall(ObjGrassCarry* this) {
+ this->actionFunc = ObjGrassCarry_Fall;
+ sRotSpeedXTarget = -0xBB8;
+ sRotSpeedYTarget = (Rand_ZeroOne() - 0.5f) * 1600.0f;
+ sRotSpeedX = 0;
+ sRotSpeedY = 0;
+ this->fallTimer = 60;
}
-void func_809AB77C(ObjGrassCarry* this, PlayState* play) {
- s16 phi_s0;
- s32 temp_v0 = (this->collider.base.atFlags & AT_HIT) != 0;
- Vec3f sp5C;
+void ObjGrassCarry_Fall(ObjGrassCarry* this, PlayState* play) {
+ s16 angle;
+ s32 atHit = (this->collider.base.atFlags & AT_HIT) != 0;
+ Vec3f pos;
s32 i;
- if (temp_v0) {
+ if (atHit) {
this->collider.base.atFlags &= ~AT_HIT;
}
- this->unk_19A--;
+ this->fallTimer--;
- if ((this->actor.bgCheckFlags & (BGCHECKFLAG_GROUND | BGCHECKFLAG_GROUND_TOUCH | BGCHECKFLAG_WALL)) || temp_v0 ||
- (this->unk_19A <= 0)) {
- func_809AAFE8(&this->actor.world.pos, play);
- func_809AAF9C(&this->actor.world.pos, this->unk_198, play);
+ if ((this->actor.bgCheckFlags & (BGCHECKFLAG_GROUND | BGCHECKFLAG_GROUND_TOUCH | BGCHECKFLAG_WALL)) || atHit ||
+ (this->fallTimer <= 0)) {
+ ObjGrassCarry_SpawnFragments(&this->actor.world.pos, play);
+ ObjGrassCarry_DropCollectible(&this->actor.world.pos, this->dropTable, play);
this->actor.draw = NULL;
this->actor.shape.shadowDraw = NULL;
- if (this->unk_190 != NULL) {
- this->actor.room = this->unk_190->actor.room;
+ if (this->grassManager != NULL) {
+ this->actor.room = this->grassManager->actor.room;
}
if (!(this->actor.bgCheckFlags & BGCHECKFLAG_WATER)) {
SoundSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 20, NA_SE_EV_PLANT_BROKEN);
}
- func_809AB428(this);
+ ObjGrassCarry_SetupIdle(this);
return;
}
if (this->actor.bgCheckFlags & BGCHECKFLAG_WATER_TOUCH) {
- sp5C.y = this->actor.world.pos.y + this->actor.depthInWater;
+ pos.y = this->actor.world.pos.y + this->actor.depthInWater;
- for (phi_s0 = 0, i = 0; i < 4; i++, phi_s0 += 0x4000) {
- sp5C.x = (Math_SinS((s32)(Rand_ZeroOne() * 7200.0f) + phi_s0) * 15.0f) + this->actor.world.pos.x;
- sp5C.z = (Math_CosS((s32)(Rand_ZeroOne() * 7200.0f) + phi_s0) * 15.0f) + this->actor.world.pos.z;
- EffectSsGSplash_Spawn(play, &sp5C, NULL, NULL, 0, 190);
+ for (angle = 0, i = 0; i < 4; i++, angle += 0x4000) {
+ pos.x = (Math_SinS((s32)(Rand_ZeroOne() * 7200.0f) + angle) * 15.0f) + this->actor.world.pos.x;
+ pos.z = (Math_CosS((s32)(Rand_ZeroOne() * 7200.0f) + angle) * 15.0f) + this->actor.world.pos.z;
+ EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 190);
}
- sp5C.x = this->actor.world.pos.x;
- sp5C.z = this->actor.world.pos.z;
+ pos.x = this->actor.world.pos.x;
+ pos.z = this->actor.world.pos.z;
- EffectSsGSplash_Spawn(play, &sp5C, NULL, NULL, 0, 280);
- EffectSsGRipple_Spawn(play, &sp5C, 300, 700, 0);
+ EffectSsGSplash_Spawn(play, &pos, NULL, NULL, 0, 280);
+ EffectSsGRipple_Spawn(play, &pos, 300, 700, 0);
this->actor.terminalVelocity = -3.0f;
this->actor.velocity.x *= 0.1f;
@@ -325,20 +324,20 @@ void func_809AB77C(ObjGrassCarry* this, PlayState* play) {
this->actor.velocity.z *= 0.1f;
this->actor.gravity *= 0.5f;
- D_809ABC00 = D_809ABC00 >> 1;
- D_809ABBFC = D_809ABBFC >> 1;
- D_809ABC08 = D_809ABC08 >> 1;
- D_809ABC04 = D_809ABC04 >> 1;
+ sRotSpeedX >>= 1;
+ sRotSpeedXTarget >>= 1;
+ sRotSpeedY >>= 1;
+ sRotSpeedYTarget >>= 1;
this->actor.bgCheckFlags &= ~BGCHECKFLAG_WATER_TOUCH;
SoundSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 40, NA_SE_EV_DIVE_INTO_WATER_L);
}
- Math_StepToS(&D_809ABC00, D_809ABBFC, 0x1F4);
- Math_StepToS(&D_809ABC08, D_809ABC04, 0xAA);
- this->actor.shape.rot.x += D_809ABC00;
- this->actor.shape.rot.y += D_809ABC08;
- func_809AAF18(this);
- func_809AAF58(this, play);
+ Math_StepToS(&sRotSpeedX, sRotSpeedXTarget, 0x1F4);
+ Math_StepToS(&sRotSpeedY, sRotSpeedYTarget, 0xAA);
+ this->actor.shape.rot.x += sRotSpeedX;
+ this->actor.shape.rot.y += sRotSpeedY;
+ ObjGrassCarry_UpdatePos(this);
+ ObjGrassCarry_UpdateBgCheckInfo(this, play);
Collider_UpdateCylinder(&this->actor, &this->collider);
CollisionCheck_SetAT(play, &play->colChkCtx, &this->collider.base);
@@ -348,8 +347,8 @@ void func_809AB77C(ObjGrassCarry* this, PlayState* play) {
void ObjGrassCarry_Update(Actor* thisx, PlayState* play) {
ObjGrassCarry* this = THIS;
- if (this->unk_190 == NULL) {
- if ((this->actionFunc != func_809AB610) && (this->actionFunc != func_809AB77C)) {
+ if (this->grassManager == NULL) {
+ if ((this->actionFunc != ObjGrassCarry_LiftedUp) && (this->actionFunc != ObjGrassCarry_Fall)) {
Actor_Kill(&this->actor);
return;
}
@@ -358,6 +357,6 @@ void ObjGrassCarry_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
}
-void func_809ABB7C(Actor* this, PlayState* play) {
+void ObjGrassCarry_Draw(Actor* this, PlayState* play) {
Gfx_DrawDListOpa(play, gKusaBushType1DL);
}
diff --git a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h
index fa870305e..3f20ea1c1 100644
--- a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h
+++ b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h
@@ -5,17 +5,17 @@
struct ObjGrassCarry;
struct ObjGrass;
-struct ObjGrassStruct1_1;
+struct ObjGrassElement;
typedef void (*ObjGrassCarryActionFunc)(struct ObjGrassCarry*, PlayState*);
typedef struct ObjGrassCarry {
/* 0x000 */ Actor actor;
/* 0x144 */ ColliderCylinder collider;
- /* 0x190 */ struct ObjGrass* unk_190;
- /* 0x194 */ struct ObjGrassStruct1_1* unk_194;
- /* 0x198 */ s16 unk_198;
- /* 0x19A */ s16 unk_19A;
+ /* 0x190 */ struct ObjGrass* grassManager;
+ /* 0x194 */ struct ObjGrassElement* grassElem;
+ /* 0x198 */ s16 dropTable;
+ /* 0x19A */ s16 fallTimer;
/* 0x19C */ ObjGrassCarryActionFunc actionFunc;
} ObjGrassCarry; // size = 0x1A0
diff --git a/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.c b/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.c
index c57ed608f..dfb5d0527 100644
--- a/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.c
+++ b/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.c
@@ -1,38 +1,168 @@
/*
* File: z_obj_grass_unit.c
* Overlay: ovl_Obj_Grass_Unit
- * Description: Spawner for circular patch of grass
+ * Description: Initializes a pattern of grass to be passed to an ObjGrass instance.
+ *
+ * ObjGrassUnit instances are intended to be spawned from room data so that just one ObjGrass instance manages the grass
+ * for that room. When a room with ObjGrassUnit spawns loads, it allocates ovl_Obj_Grass_Unit and creates N instances of
+ * ObjGrassUnit. The first instance processed initializes sGrassManager, then all instances live on that cycle pass type
+ * and position data to that ObjGrass instance before calling Actor_Kill. Since ovl_Obj_Grass_Unit uses
+ * ALLOCTYPE_NORMAL, it is deleted and loses the reference to the newly created ObjGrass. This allows for ObjGrassUnit
+ * spawned in a different room to be associated to a new ObjGrass instance.
*/
#include "z_obj_grass_unit.h"
+#include "overlays/actors/ovl_Obj_Grass/z_obj_grass.h"
+#include "overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h"
#define FLAGS 0x00000000
#define THIS ((ObjGrassUnit*)thisx)
-void ObjGrassUnit_Init(Actor* thisx, PlayState* play);
+void ObjGrassUnit_Init(Actor* this, PlayState* play2);
-#if 0
ActorInit Obj_Grass_Unit_InitVars = {
- ACTOR_OBJ_GRASS_UNIT,
- ACTORCAT_BG,
- FLAGS,
- GAMEPLAY_FIELD_KEEP,
- sizeof(ObjGrassUnit),
- (ActorFunc)ObjGrassUnit_Init,
- (ActorFunc)Actor_Noop,
- (ActorFunc)Actor_Noop,
- (ActorFunc)NULL,
+ ACTOR_OBJ_GRASS_UNIT, ACTORCAT_BG, FLAGS,
+ GAMEPLAY_FIELD_KEEP, sizeof(ObjGrassUnit), (ActorFunc)ObjGrassUnit_Init,
+ (ActorFunc)Actor_Noop, (ActorFunc)Actor_Noop, (ActorFunc)NULL,
};
-#endif
+// Neat circular pattern with a single bush in the center
+static VecPolar sGrassPatternCircle[] = {
+ { 0.0f, 0x0000 }, { 80.0f, 0x0000 }, { 80.0f, 0x2000 }, { 80.0f, 0x4000 }, { 80.0f, 0x6000 },
+ { 80.0f, 0x8000 }, { 80.0f, 0xA000 }, { 80.0f, 0xC000 }, { 80.0f, 0xE000 },
+};
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/func_809ABDE0.s")
+// "Random" looking pattern
+static VecPolar sGrassPatternMixed[] = {
+ { 40.0f, 0x0666 }, { 40.0f, 0x2CCC }, { 40.0f, 0x5999 }, { 40.0f, 0x8667 }, { 20.0f, 0xC000 }, { 80.0f, 0x1333 },
+ { 80.0f, 0x4000 }, { 80.0f, 0x6CCC }, { 80.0f, 0x9334 }, { 80.0f, 0xACCD }, { 80.0f, 0xC667 }, { 60.0f, 0xE000 },
+};
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/func_809ABE54.s")
+typedef struct {
+ /* 0x0 */ s32 count;
+ /* 0x4 */ VecPolar* positions;
+} ObjGrassUnitPattern; // size = 0x8
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/func_809ABEC4.s")
+static ObjGrassUnitPattern sGrassPatterns[2] = {
+ { ARRAY_COUNT(sGrassPatternCircle), sGrassPatternCircle },
+ { ARRAY_COUNT(sGrassPatternMixed), sGrassPatternMixed },
+};
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/func_809ABF38.s")
+ObjGrass* sGrassManager = NULL;
+ObjGrassCarry* sGrassCarry0 = NULL;
+ObjGrassCarry* sGrassCarry1 = NULL;
+s32 sInitialized = false;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/ObjGrassUnit_Init.s")
+s32 ObjGrassUnit_SpawnObjGrass(Actor* this, PlayState* play) {
+ sGrassManager = (ObjGrass*)Actor_Spawn(&play->actorCtx, play, ACTOR_OBJ_GRASS, 0.0f, 0.0f, 0.0f, 0, 0, 0, -1);
+ if (sGrassManager != NULL) {
+ sGrassManager->actor.room = this->room;
+ return true;
+ }
+ return false;
+}
+
+s32 ObjGrassUnit_SpawnObjGrassCarry0(Actor* this, PlayState* play) {
+ sGrassCarry0 =
+ (ObjGrassCarry*)Actor_Spawn(&play->actorCtx, play, ACTOR_OBJ_GRASS_CARRY, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0);
+ if (sGrassCarry0 != NULL) {
+ sGrassCarry0->actor.room = this->room;
+ return true;
+ }
+ return false;
+}
+
+s32 ObjGrassUnit_SpawnObjGrassCarry1(Actor* this, PlayState* play) {
+ sGrassCarry1 =
+ (ObjGrassCarry*)Actor_Spawn(&play->actorCtx, play, ACTOR_OBJ_GRASS_CARRY, 0.0f, 0.0f, 0.0f, 0, 0, 0, 1);
+ if (sGrassCarry1 != NULL) {
+ sGrassCarry1->actor.room = this->room;
+ return true;
+ }
+ return false;
+}
+
+s32 ObjGrassUnit_IsUnderwater(PlayState* play, Vec3f* pos) {
+ WaterBox* waterBox;
+ f32 ySurface;
+ s32 bgId;
+
+ if (WaterBox_GetSurfaceImpl(play, &play->colCtx, pos->x, pos->z, &ySurface, &waterBox, &bgId) &&
+ (pos->y < ySurface)) {
+ return true;
+ }
+ return false;
+}
+
+void ObjGrassUnit_Init(Actor* this, PlayState* play2) {
+ PlayState* play = play2;
+ ObjGrassGroup* grassGroup;
+ ObjGrass* grassManager;
+ f32 homePosYSum;
+ f32 tmp;
+ s32 i;
+ VecPolar* grassPos;
+ CollisionPoly* poly;
+ s32 bgId;
+ ObjGrassElement* grassElem;
+ ObjGrassUnitPattern* grassPattern;
+ s8 dropTable = OBJGRASSUNIT_GET_DROPTABLE(this);
+
+ if ((sGrassManager == NULL) && !ObjGrassUnit_SpawnObjGrass(this, play)) {
+ Actor_Kill(this);
+ return;
+ }
+ if ((sGrassCarry0 == NULL) && ObjGrassUnit_SpawnObjGrassCarry0(this, play)) {
+ sGrassCarry0->grassManager = sGrassManager;
+ }
+ if ((sGrassCarry1 == NULL) && ObjGrassUnit_SpawnObjGrassCarry1(this, play)) {
+ sGrassCarry1->grassManager = sGrassManager;
+ }
+ if (!sInitialized && (sGrassManager != NULL) && (sGrassCarry0 != NULL) && (sGrassCarry1 != NULL)) {
+ sInitialized = true;
+ sGrassManager->grassCarry[0] = sGrassCarry0;
+ sGrassManager->grassCarry[1] = sGrassCarry1;
+ sGrassCarry0->grassManager = sGrassManager;
+ sGrassCarry1->grassManager = sGrassManager;
+ }
+
+ grassManager = sGrassManager;
+ if (sGrassManager->activeGrassGroups >= ARRAY_COUNT(sGrassManager->grassGroups)) {
+ Actor_Kill(this);
+ return;
+ }
+
+ homePosYSum = 0.0f;
+ grassGroup = &grassManager->grassGroups[sGrassManager->activeGrassGroups];
+ grassGroup->count = 0;
+ grassPattern = &sGrassPatterns[OBJGRASSUNIT_GET_PATTERN(this)];
+
+ for (i = 0; i < grassPattern->count; i++) {
+ grassElem = &grassGroup->elements[grassGroup->count];
+ grassPos = &grassPattern->positions[i];
+
+ grassElem->pos.x = (Math_CosS((this->home.rot.y + grassPos->angle)) * grassPos->distance) + this->home.pos.x;
+ grassElem->pos.y = this->home.pos.y + 100.0f;
+ grassElem->pos.z = (Math_SinS((this->home.rot.y + grassPos->angle)) * grassPos->distance) + this->home.pos.z;
+
+ grassElem->pos.y = BgCheck_EntityRaycastFloor5(&play->colCtx, &poly, &bgId, this, &grassElem->pos);
+ tmp = grassElem->pos.y - this->home.pos.y;
+ if ((fabsf(tmp) < 80.0f) && (grassElem->pos.y > BGCHECK_Y_MIN)) {
+ grassGroup->count++;
+ grassElem->rotY = (s16)(Rand_Next() >> 0x10);
+ grassElem->dropTable = dropTable;
+ if (ObjGrassUnit_IsUnderwater(play, &grassElem->pos)) {
+ grassElem->flags |= OBJ_GRASS_ELEM_UNDERWATER;
+ }
+ homePosYSum += grassElem->pos.y;
+ }
+ }
+ if (grassGroup->count > 0) {
+ grassManager->activeGrassGroups++;
+ grassGroup->homePos.x = this->home.pos.x;
+ grassGroup->homePos.y = (homePosYSum / grassGroup->count);
+ grassGroup->homePos.z = this->home.pos.z;
+ }
+ Actor_Kill(this);
+}
diff --git a/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.h b/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.h
index 58a8a427a..7c24d1e58 100644
--- a/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.h
+++ b/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.h
@@ -3,6 +3,9 @@
#include "global.h"
+#define OBJGRASSUNIT_GET_DROPTABLE(thisx) (((thisx)->params >> 8) & 0x1F)
+#define OBJGRASSUNIT_GET_PATTERN(thisx) ((thisx)->params & 1)
+
struct ObjGrassUnit;
typedef struct ObjGrassUnit {
From 2c182bf7e35f6b7ac7853071875343f591c37510 Mon Sep 17 00:00:00 2001
From: Nuss <67802335+hack-nuss@users.noreply.github.com>
Date: Wed, 11 Oct 2023 15:44:20 +0200
Subject: [PATCH 16/16] object_icicle (#1421)
* Naming
* naming
* naming
* top comment
---
assets/xml/objects/object_icicle.xml | 7 ++++---
src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c | 4 ++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/assets/xml/objects/object_icicle.xml b/assets/xml/objects/object_icicle.xml
index ac0000471..d3275aa46 100644
--- a/assets/xml/objects/object_icicle.xml
+++ b/assets/xml/objects/object_icicle.xml
@@ -1,7 +1,8 @@
+
-
-
-
+
+
+
diff --git a/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c b/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c
index a8eea2641..df6245c68 100644
--- a/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c
+++ b/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c
@@ -69,7 +69,7 @@ void BgIcicle_Init(Actor* thisx, PlayState* play) {
Actor_ProcessInitChain(thisx, sInitChain);
DynaPolyActor_Init(&this->dyna, 0);
- DynaPolyActor_LoadMesh(play, &this->dyna, &object_icicle_Colheader_000294);
+ DynaPolyActor_LoadMesh(play, &this->dyna, &gIcicleCol);
Collider_InitAndSetCylinder(play, &this->collider, thisx, &sCylinderInit);
Collider_UpdateCylinder(thisx, &this->collider);
@@ -242,5 +242,5 @@ void BgIcicle_Update(Actor* thisx, PlayState* play) {
}
void BgIcicle_Draw(Actor* thisx, PlayState* play) {
- Gfx_DrawDListOpa(play, object_icicle_DL_0000D0);
+ Gfx_DrawDListOpa(play, gIcicleDL);
}