diff options
| author | Nathan Casabieille <nathan.casabieille@epitech.eu> | 2026-05-06 09:35:25 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-06 07:35:25 +0000 |
| commit | 1b6ff388ef9b9a47f2a6ce9ca8a9da3c99b0d77b (patch) | |
| tree | f7a3f995c01f3821ba42a09f218066220a513a52 /src | |
| parent | 18d73ff3743ec70127e03f7a28947d586298bd30 (diff) | |
BgSpot09Obj: document params type enum (#2747)
* BgSpot09Obj: document params type enum
* Address review comments
- Remove "objects" from description (has specific meaning in Zelda64 engine)
- Move BgSpot09ObjType enum to .h for use by external files
- Replace return 0/1 literals with false/true in func_808B1AE0
- Fix enum comments: remove "visible" terminology, correct tent is adult-only
---------
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c | 30 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.h | 9 |
2 files changed, 24 insertions, 15 deletions
diff --git a/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c b/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c index 8fa33c1d2..2d467c253 100644 --- a/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c +++ b/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c @@ -1,7 +1,7 @@ /* * File: z_bg_spot09_obj.c * Overlay: ovl_Bg_Spot09_Obj - * Description: + * Description: Gerudo Valley bridge and carpenters' tent */ #include "z_bg_spot09_obj.h" @@ -71,31 +71,31 @@ s32 func_808B1AE0(BgSpot09Obj* this, PlayState* play) { s32 carpentersRescued; if (IS_CUTSCENE_LAYER) { - return this->dyna.actor.params == 0; + return this->dyna.actor.params == BG_SPOT09_OBJ_BRIDGE_SIDES; } carpentersRescued = GET_EVENTCHKINF_CARPENTERS_ALL_RESCUED(); if (LINK_AGE_IN_YEARS == YEARS_ADULT) { switch (this->dyna.actor.params) { - case 0: - return 0; - case 1: + case BG_SPOT09_OBJ_BRIDGE_SIDES: + return false; + case BG_SPOT09_OBJ_BRIDGE_BROKEN: return !carpentersRescued; - case 4: + case BG_SPOT09_OBJ_BRIDGE_REPAIRED: return carpentersRescued; - case 3: - return 1; + case BG_SPOT09_OBJ_TENT: + return true; } } else { - return this->dyna.actor.params == 2; + return this->dyna.actor.params == BG_SPOT09_OBJ_BRIDGE_CHILD; } - return 0; + return false; } s32 func_808B1BA0(BgSpot09Obj* this, PlayState* play) { - if (this->dyna.actor.params == 3) { + if (this->dyna.actor.params == BG_SPOT09_OBJ_TENT) { Actor_SetScale(&this->dyna.actor, 0.1f); } else { Actor_SetScale(&this->dyna.actor, 1.0f); @@ -138,7 +138,7 @@ s32 func_808B1D18(BgSpot09Obj* this, PlayState* play) { } s32 func_808B1D44(BgSpot09Obj* this, PlayState* play) { - if (this->dyna.actor.params == 3) { + if (this->dyna.actor.params == BG_SPOT09_OBJ_TENT) { return func_808B1D18(this, play); } else { return func_808B1CEC(this, play); @@ -152,7 +152,7 @@ void BgSpot09Obj_Init(Actor* thisx, PlayState* play) { "Spot09 Object [arg_data : 0x%04x](Carpenter Rescue Flag 0x%x)\n"), this->dyna.actor.params, GET_EVENTCHKINF_CARPENTERS_RESCUED_FLAGS()); this->dyna.actor.params &= 0xFF; - if ((this->dyna.actor.params < 0) || (this->dyna.actor.params >= 5)) { + if ((this->dyna.actor.params < 0) || (this->dyna.actor.params >= BG_SPOT09_OBJ_MAX)) { PRINTF(T("Error : Spot 09 object の arg_data が判別出来ない(%s %d)(arg_data 0x%04x)\n", "Error : Spot 09 object arg_data cannot be determined (%s %d)(arg_data 0x%04x)\n"), "../z_bg_spot09_obj.c", 322, this->dyna.actor.params); @@ -169,7 +169,7 @@ void BgSpot09Obj_Destroy(Actor* thisx, PlayState* play) { DynaCollisionContext* dynaColCtx = &play->colCtx.dyna; BgSpot09Obj* this = (BgSpot09Obj*)thisx; - if (this->dyna.actor.params != 0) { + if (this->dyna.actor.params != BG_SPOT09_OBJ_BRIDGE_SIDES) { DynaPoly_DeleteBgActor(play, dynaColCtx, this->dyna.bgId); } } @@ -180,7 +180,7 @@ void BgSpot09Obj_Update(Actor* thisx, PlayState* play) { void BgSpot09Obj_Draw(Actor* thisx, PlayState* play) { Gfx_DrawDListOpa(play, sDLists[thisx->params]); - if (thisx->params == 3) { + if (thisx->params == BG_SPOT09_OBJ_TENT) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_spot09_obj.c", 388); Gfx_SetupDL_25Xlu(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.h b/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.h index c0a60964f..8e716117a 100644 --- a/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.h +++ b/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.h @@ -4,6 +4,15 @@ #include "ultra64.h" #include "actor.h" +typedef enum BgSpot09ObjType { + /* 0 */ BG_SPOT09_OBJ_BRIDGE_SIDES, // bridge geometry, cutscene layer only + /* 1 */ BG_SPOT09_OBJ_BRIDGE_BROKEN, // adult Link, before carpenters are rescued + /* 2 */ BG_SPOT09_OBJ_BRIDGE_CHILD, // child Link + /* 3 */ BG_SPOT09_OBJ_TENT, // carpenters' tent, adult Link + /* 4 */ BG_SPOT09_OBJ_BRIDGE_REPAIRED, // adult Link, after carpenters are rescued + /* 5 */ BG_SPOT09_OBJ_MAX +} BgSpot09ObjType; + struct BgSpot09Obj; typedef struct BgSpot09Obj { |
