From e48e565ffeb7f03f7e17412335366b4e086983cd Mon Sep 17 00:00:00 2001 From: Anghelo Carvajal Date: Thu, 18 Mar 2021 04:23:59 -0300 Subject: [PATCH] object_hidan_objects OK (#695) * xml Signed-off-by: angie * add to spec and remove repetaed entries Signed-off-by: Angie * add some dlists Signed-off-by: Angie * add a few offsets Signed-off-by: Angie * fireballs textures Signed-off-by: Angie * add some unused dlists Signed-off-by: Angie * change the references in decompiled objects Signed-off-by: angie * change the references from non matching actors Signed-off-by: angie * add blob Signed-off-by: angie * changes requested by @Zelllll Signed-off-by: angie * why is this object so big? Signed-off-by: angie * rename a lot of stuff Signed-off-by: Angie * this object never ends Signed-off-by: angie * Some floats Signed-off-by: angie * stones blocks Signed-off-by: angie * rename fireball and stuff Signed-off-by: Angie * Stationary flame thrower Signed-off-by: Angie * SpinningFlamethrower Signed-off-by: Angie * Rename the lasts textures Signed-off-by: Angie * some random renamings Signed-off-by: Angie * run format Signed-off-by: Angie * Remove .gitkeep Signed-off-by: angie --- .../BgHidanSekizou_Draw.s | 8 +- .../BgHidanSekizou_Init.s | 4 +- .../ovl_Bg_Hidan_Sekizou/func_8088D9F4.s | 8 +- assets/xml/objects/object_hidan_objects.xml | 89 +++++++++++++++++++ .../overlays/actors/z_bg_hidan_sekizou.data.s | 4 +- spec | 3 +- .../ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c | 11 +-- .../z_bg_hidan_firewall.c | 16 ++-- .../ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c | 8 +- .../ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c | 13 ++- .../ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c | 14 ++- .../ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c | 14 +-- .../ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c | 25 +++--- .../z_bg_hidan_kowarerukabe.c | 13 ++- .../ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c | 39 ++++---- .../z_bg_hidan_rsekizou.c | 31 ++++--- .../ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c | 12 +-- .../ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c | 34 +++---- .../ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c | 8 +- .../actors/ovl_Door_Shutter/z_door_shutter.c | 5 +- src/overlays/actors/ovl_En_Door/z_en_door.c | 6 +- undefined_syms.txt | 62 ------------- 22 files changed, 239 insertions(+), 188 deletions(-) create mode 100644 assets/xml/objects/object_hidan_objects.xml diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Draw.s index 466d5defd7..494e363978 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Draw.s @@ -50,8 +50,8 @@ glabel BgHidanSekizou_Draw /* 010B0 8088DF70 17000009 */ bne $t8, $zero, .L8088DF98 /* 010B4 8088DF74 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014 /* 010B8 8088DF78 8E6202C0 */ lw $v0, 0x02C0($s3) ## 000002C0 -/* 010BC 8088DF7C 3C090601 */ lui $t1, %hi(D_0600B0F8) ## $t1 = 06010000 -/* 010C0 8088DF80 2529B0F8 */ addiu $t1, $t1, %lo(D_0600B0F8) ## $t1 = 0600B0F8 +/* 010BC 8088DF7C 3C090601 */ lui $t1, %hi(gFireTempleStationaryFlamethrowerShortDL) ## $t1 = 06010000 +/* 010C0 8088DF80 2529B0F8 */ addiu $t1, $t1, %lo(gFireTempleStationaryFlamethrowerShortDL) ## $t1 = 0600B0F8 /* 010C4 8088DF84 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 /* 010C8 8088DF88 AE7902C0 */ sw $t9, 0x02C0($s3) ## 000002C0 /* 010CC 8088DF8C AC490004 */ sw $t1, 0x0004($v0) ## 00000004 @@ -59,8 +59,8 @@ glabel BgHidanSekizou_Draw /* 010D4 8088DF94 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 .L8088DF98: /* 010D8 8088DF98 8E6202C0 */ lw $v0, 0x02C0($s3) ## 000002C0 -/* 010DC 8088DF9C 3C0C0601 */ lui $t4, %hi(D_0600ABC8) ## $t4 = 06010000 -/* 010E0 8088DFA0 258CABC8 */ addiu $t4, $t4, %lo(D_0600ABC8) ## $t4 = 0600ABC8 +/* 010DC 8088DF9C 3C0C0601 */ lui $t4, %hi(gFireTempleStationaryFlamethrowerTallDL) ## $t4 = 06010000 +/* 010E0 8088DFA0 258CABC8 */ addiu $t4, $t4, %lo(gFireTempleStationaryFlamethrowerTallDL) ## $t4 = 0600ABC8 /* 010E4 8088DFA4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 /* 010E8 8088DFA8 AE6A02C0 */ sw $t2, 0x02C0($s3) ## 000002C0 /* 010EC 8088DFAC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Init.s index d2727a0643..465fe83db8 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/BgHidanSekizou_Init.s @@ -59,8 +59,8 @@ glabel BgHidanSekizou_Init /* 0048C 8088D34C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 /* 00490 8088D350 1612FFF3 */ bne $s0, $s2, .L8088D320 /* 00494 8088D354 00000000 */ nop -/* 00498 8088D358 3C040601 */ lui $a0, %hi(D_0600CC90) ## $a0 = 06010000 -/* 0049C 8088D35C 2484CC90 */ addiu $a0, $a0, %lo(D_0600CC90) ## $a0 = 0600CC90 +/* 00498 8088D358 3C040601 */ lui $a0, %hi(gFireTempleStationaryFlamethrowerCol) ## $a0 = 06010000 +/* 0049C 8088D35C 2484CC90 */ addiu $a0, $a0, %lo(gFireTempleStationaryFlamethrowerCol) ## $a0 = 0600CC90 /* 004A0 8088D360 0C010620 */ jal CollisionHeader_GetVirtual /* 004A4 8088D364 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFF0 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088D9F4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088D9F4.s index 7db256358f..6bd30f181c 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088D9F4.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Sekizou/func_8088D9F4.s @@ -38,7 +38,7 @@ glabel func_8088D9F4 /* 00B84 8088DA44 354A0024 */ ori $t2, $t2, 0x0024 ## $t2 = DB060024 /* 00B88 8088DA48 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 /* 00B8C 8088DA4C 468021A0 */ cvt.s.w $f6, $f4 -/* 00B90 8088DA50 3C048089 */ lui $a0, %hi(D_8088E27C) ## $a0 = 80890000 +/* 00B90 8088DA50 3C048089 */ lui $a0, %hi(sFireballsTexs) ## $a0 = 80890000 /* 00B94 8088DA54 3C198016 */ lui $t9, %hi(gSegments) /* 00B98 8088DA58 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 /* 00B9C 8088DA5C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF @@ -55,7 +55,7 @@ glabel func_8088D9F4 /* 00BC8 8088DA88 87AB0062 */ lh $t3, 0x0062($sp) /* 00BCC 8088DA8C 000B6080 */ sll $t4, $t3, 2 /* 00BD0 8088DA90 008C2021 */ addu $a0, $a0, $t4 -/* 00BD4 8088DA94 8C84E27C */ lw $a0, %lo(D_8088E27C)($a0) +/* 00BD4 8088DA94 8C84E27C */ lw $a0, %lo(sFireballsTexs)($a0) /* 00BD8 8088DA98 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000 /* 00BDC 8088DA9C 358C0001 */ ori $t4, $t4, 0x0001 ## $t4 = FA000001 /* 00BE0 8088DAA0 00047100 */ sll $t6, $a0, 4 @@ -157,10 +157,10 @@ glabel func_8088D9F4 /* 00D54 8088DC14 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000 /* 00D58 8088DC18 8FA8002C */ lw $t0, 0x002C($sp) /* 00D5C 8088DC1C 8FA30064 */ lw $v1, 0x0064($sp) -/* 00D60 8088DC20 3C0A0601 */ lui $t2, %hi(D_0600DC30) ## $t2 = 06010000 +/* 00D60 8088DC20 3C0A0601 */ lui $t2, %hi(gFireTempleFireballDL) ## $t2 = 06010000 /* 00D64 8088DC24 AD020004 */ sw $v0, 0x0004($t0) ## 00000004 /* 00D68 8088DC28 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 00D6C 8088DC2C 254ADC30 */ addiu $t2, $t2, %lo(D_0600DC30) ## $t2 = 0600DC30 +/* 00D6C 8088DC2C 254ADC30 */ addiu $t2, $t2, %lo(gFireTempleFireballDL) ## $t2 = 0600DC30 /* 00D70 8088DC30 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000 /* 00D74 8088DC34 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 /* 00D78 8088DC38 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 diff --git a/assets/xml/objects/object_hidan_objects.xml b/assets/xml/objects/object_hidan_objects.xml new file mode 100644 index 0000000000..f6cfba283b --- /dev/null +++ b/assets/xml/objects/object_hidan_objects.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/overlays/actors/z_bg_hidan_sekizou.data.s b/data/overlays/actors/z_bg_hidan_sekizou.data.s index 9408e1882d..6eb2c21ee0 100644 --- a/data/overlays/actors/z_bg_hidan_sekizou.data.s +++ b/data/overlays/actors/z_bg_hidan_sekizou.data.s @@ -24,6 +24,6 @@ glabel D_8088E268 .word 0x01000028, 0x00F0FF00 glabel D_8088E270 .word 0xC8500064, 0xB0F80190, 0x30F405DC -glabel D_8088E27C - .word 0x06015D20, 0x06016120, 0x06016520, 0x06016920, 0x06016D20, 0x06017120, 0x06017520, 0x06017920, 0x00000000 +glabel sFireballsTexs + .word gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex, gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex, 0x00000000 diff --git a/spec b/spec index 7a2b3a92cd..511c9c5e73 100644 --- a/spec +++ b/spec @@ -3724,7 +3724,8 @@ endseg beginseg name "object_hidan_objects" romalign 0x1000 - include "build/baserom/object_hidan_objects.o" + include "build/assets/objects/object_hidan_objects/object_hidan_objects.o" + number 6 endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c index 27bb393c55..fc3aa9ee71 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c @@ -5,6 +5,7 @@ */ #include "z_bg_hidan_dalm.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -95,10 +96,6 @@ static InitChainEntry sInitChain[] = { ICHAIN_F32_DIV1000(gravity, -200, ICHAIN_STOP), }; -extern Gfx D_0600BBF0[]; -extern Gfx D_0600BDF0[]; -extern CollisionHeader D_0600DA10; - void BgHidanDalm_Init(Actor* thisx, GlobalContext* globalCtx) { BgHidanDalm* this = THIS; s32 pad; @@ -106,7 +103,7 @@ void BgHidanDalm_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(thisx, sInitChain); DynaPolyActor_Init(&this->dyna, DPM_UNK); - CollisionHeader_GetVirtual(&D_0600DA10, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleHammerableTotemCol, &colHeader); this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader); Collider_InitTris(globalCtx, &this->collider); Collider_SetTris(globalCtx, &this->collider, thisx, &sTrisInit, this->colliderItems); @@ -216,9 +213,9 @@ void BgHidanDalm_Draw(Actor* thisx, GlobalContext* globalCtx) { BgHidanDalm* this = THIS; if (this->dyna.actor.params == 0) { - Gfx_DrawDListOpa(globalCtx, D_0600BBF0); + Gfx_DrawDListOpa(globalCtx, gFireTempleHammerableTotemBodyDL); } else { - Gfx_DrawDListOpa(globalCtx, D_0600BDF0); + Gfx_DrawDListOpa(globalCtx, gFireTempleHammerableTotemHeadDL); } if (this->actionFunc == BgHidanDalm_Wait) { diff --git a/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c b/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c index b406f8c025..1a094f207c 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c @@ -5,6 +5,7 @@ */ #include "z_bg_hidan_firewall.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -22,8 +23,6 @@ void BgHidanFirewall_Erupt(BgHidanFirewall* this, GlobalContext* globalCtx); void BgHidanFirewall_Collide(BgHidanFirewall* this, GlobalContext* globalCtx); void BgHidanFirewall_ColliderFollowPlayer(BgHidanFirewall* this, GlobalContext* globalCtx); -extern Gfx D_0600DA80[]; - const ActorInit Bg_Hidan_Firewall_InitVars = { ACTOR_BG_HIDAN_FIREWALL, ACTORCAT_BG, @@ -58,10 +57,6 @@ static ColliderCylinderInit sCylinderInit = { static CollisionCheckInfoInit sColChkInfoInit = { 1, 80, 100, MASS_IMMOVABLE }; -static UNK_PTR D_80886D04[] = { - 0x06015D20, 0x06016120, 0x06016520, 0x06016920, 0x06016D20, 0x06017120, 0x06017520, 0x06017920, -}; - void BgHidanFirewall_Init(Actor* thisx, GlobalContext* globalCtx) { BgHidanFirewall* this = THIS; @@ -199,6 +194,11 @@ void BgHidanFirewall_Update(Actor* thisx, GlobalContext* globalCtx) { } } +static u64* sFireballTexs[] = { + gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex, + gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex, +}; + void BgHidanFirewall_Draw(Actor* thisx, GlobalContext* globalCtx) { BgHidanFirewall* this = THIS; @@ -206,12 +206,12 @@ void BgHidanFirewall_Draw(Actor* thisx, GlobalContext* globalCtx) { POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0x14); - gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80886D04[this->unk_150])); + gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sFireballTexs[this->unk_150])); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x01, 255, 255, 0, 150); gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 255); gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 458), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_XLU_DISP++, D_0600DA80); + gSPDisplayList(POLY_XLU_DISP++, gFireTempleFireballUpperHalfDL); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_firewall.c", 463); } diff --git a/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c b/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c index 61970d412e..313137a271 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c @@ -5,6 +5,7 @@ */ #include "z_bg_hidan_fslift.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000010 @@ -19,9 +20,6 @@ void func_80886FCC(BgHidanFslift* this, GlobalContext* globalCtx); void func_8088706C(BgHidanFslift* this, GlobalContext* globalCtx); void func_808870D8(BgHidanFslift* this, GlobalContext* globalCtx); -extern Gfx D_0600B630[]; -extern CollisionHeader D_0600E1E8; - const ActorInit Bg_Hidan_Fslift_InitVars = { ACTOR_BG_HIDAN_FSLIFT, ACTORCAT_BG, @@ -49,7 +47,7 @@ void BgHidanFslift_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyActor_Init(&this->dyna, DPM_PLAYER); - CollisionHeader_GetVirtual(&D_0600E1E8, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleHookshotElevatorCol, &colHeader); this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader); if (Actor_SpawnAsChild(&globalCtx->actorCtx, &this->dyna.actor, globalCtx, ACTOR_OBJ_HSBLOCK, this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y + 40.0f, @@ -143,5 +141,5 @@ void BgHidanFslift_Update(Actor* thisx, GlobalContext* globalCtx) { } void BgHidanFslift_Draw(Actor* thisx, GlobalContext* globalCtx) { - Gfx_DrawDListOpa(globalCtx, D_0600B630); + Gfx_DrawDListOpa(globalCtx, gFireTempleHookshotElevatorDL); } diff --git a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c index 65e53b04f9..61ba456100 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c @@ -1,5 +1,13 @@ +/* + * File: z_bg_hidan_fwbig.c + * Overlay: ovl_Bg_Hidan_Fwbig + * Description: Large fire walls at Fire Temple (flame wall before bombable door and the one that chases the player in + * the lava room) + */ + #include "z_bg_hidan_fwbig.h" #include "objects/gameplay_keep/gameplay_keep.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000010 @@ -25,8 +33,6 @@ void BgHidanFwbig_WaitForTimer(BgHidanFwbig* this, GlobalContext* globalCtx); void BgHidanFwbig_WaitForPlayer(BgHidanFwbig* this, GlobalContext* globalCtx); void BgHidanFwbig_Move(BgHidanFwbig* this, GlobalContext* globalCtx); -extern Gfx D_0600DB20[]; - const ActorInit Bg_Hidan_Fwbig_InitVars = { ACTOR_BG_HIDAN_FWBIG, ACTORCAT_PROP, @@ -247,6 +253,7 @@ void BgHidanFwbig_Draw(Actor* thisx, GlobalContext* globalCtx) { f32 height; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_fwbig.c", 630); + func_80093D84(globalCtx->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gEffUnknown4Tex)); @@ -266,7 +273,7 @@ void BgHidanFwbig_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_fwbig.c", 660), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_XLU_DISP++, D_0600DB20); + gSPDisplayList(POLY_XLU_DISP++, gFireTempleBigFireWallDL); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_fwbig.c", 664); } diff --git a/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c b/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c index a8959d8324..e5408c0155 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c @@ -5,6 +5,7 @@ */ #include "z_bg_hidan_hamstep.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -21,11 +22,6 @@ void func_808889B8(BgHidanHamstep* this, GlobalContext* globalCtx); void func_80888A58(BgHidanHamstep* this, GlobalContext* globalCtx); void BgHidanHamstep_DoNothing(BgHidanHamstep* this, GlobalContext* globalCtx); -extern Gfx D_0600A548[]; -extern Gfx D_0600A668[]; -extern CollisionHeader D_0600DE44; -extern CollisionHeader D_0600DD1C; - static f32 sYPosOffsets[] = { -20.0f, -120.0f, -220.0f, -320.0f, -420.0f, }; @@ -158,9 +154,9 @@ void BgHidanHamstep_Init(Actor* thisx, GlobalContext* globalCtx) { } if ((this->dyna.actor.params & 0xFF) == 0) { - CollisionHeader_GetVirtual(&D_0600DE44, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleStoneStep1Col, &colHeader); } else { - CollisionHeader_GetVirtual(&D_0600DD1C, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleStoneStep2Col, &colHeader); } this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); @@ -410,9 +406,9 @@ void BgHidanHamstep_Draw(Actor* thisx, GlobalContext* globalCtx) { G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if ((thisx->params & 0xFF) == 0) { - gSPDisplayList(POLY_OPA_DISP++, D_0600A668); + gSPDisplayList(POLY_OPA_DISP++, gFireTempleStoneStep1DL); } else { - gSPDisplayList(POLY_OPA_DISP++, D_0600A548); + gSPDisplayList(POLY_OPA_DISP++, gFireTempleStoneStep2DL); } CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_hamstep.c", 796); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c b/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c index bc67de48be..617e50bd9c 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c @@ -5,6 +5,7 @@ */ #include "z_bg_hidan_hrock.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -19,9 +20,6 @@ void func_8088960C(BgHidanHrock* this, GlobalContext* globalCtx); void func_808896B8(BgHidanHrock* this, GlobalContext* globalCtx); void func_808894A4(BgHidanHrock* this, GlobalContext* globalCtx); -extern UNK_TYPE D_0600D054; -extern UNK_TYPE D_0600D188; - const ActorInit Bg_Hidan_Hrock_InitVars = { ACTOR_BG_HIDAN_HROCK, ACTORCAT_BG, @@ -136,9 +134,9 @@ void BgHidanHrock_Init(Actor* thisx, GlobalContext* globalCtx) { } if (thisx->params == 0) { - CollisionHeader_GetVirtual(&D_0600D054, &collisionHeader); + CollisionHeader_GetVirtual(&gFireTempleTallestPillarAboveRoomBeforeBossCol, &collisionHeader); } else { - CollisionHeader_GetVirtual(&D_0600D188, &collisionHeader); + CollisionHeader_GetVirtual(&gFireTemplePillarInsertedInGroundCol, &collisionHeader); } this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, collisionHeader); @@ -233,7 +231,11 @@ void BgHidanHrock_Update(Actor* thisx, GlobalContext* globalCtx) { } void BgHidanHrock_Draw(Actor* thisx, GlobalContext* globalCtx) { - static Gfx* dlists[] = { 0x0600A240, 0x0600C838, 0x0600C838 }; + static Gfx* dlists[] = { + gFireTempleTallestPillarAboveRoomBeforeBossDL, + gFireTemplePillarInsertedInGroundDL, + gFireTemplePillarInsertedInGroundDL, + }; Gfx_DrawDListOpa(globalCtx, dlists[thisx->params]); } diff --git a/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c b/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c index 85011f8cda..1ed544dd44 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c @@ -5,6 +5,7 @@ */ #include "z_bg_hidan_kousi.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000010 @@ -40,14 +41,10 @@ static InitChainEntry sInitChain[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; -extern CollisionHeader D_0600E2CC; -extern CollisionHeader D_0600E380; -extern CollisionHeader D_0600E430; - -static CollisionHeader* D_80889E70[] = { - &D_0600E2CC, - &D_0600E380, - &D_0600E430, +static CollisionHeader* sMetalFencesCollisions[] = { + &gFireTempleMetalFenceWithSlantCol, + &gFireTempleMetalFenceCol, + &gFireTempleMetalFence2Col, }; static s16 D_80889E7C[] = { @@ -57,10 +54,10 @@ static s16 D_80889E7C[] = { 0x0000, }; -static Gfx* D_80889E84[] = { - 0x0600C798, - 0x0600BFA8, - 0x0600BB58, +static Gfx* sMetalFencesDLs[] = { + gFireTempleMetalFenceWithSlantDL, + gFireTempleMetalFenceDL, + gFireTempleMetalFence2DL, }; void BgHidanKousi_SetupAction(BgHidanKousi* this, BgHidanKousiActionFunc actionFunc) { @@ -82,7 +79,7 @@ void BgHidanKousi_Init(Actor* thisx, GlobalContext* globalCtx) { osSyncPrintf("arg_data おかしい 【格子】\n"); } - CollisionHeader_GetVirtual(D_80889E70[thisx->params & 0xFF], &colHeader); + CollisionHeader_GetVirtual(sMetalFencesCollisions[thisx->params & 0xFF], &colHeader); this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader); thisx->world.rot.y = D_80889E7C[this->dyna.actor.params & 0xFF] + thisx->shape.rot.y; if (Flags_GetSwitch(globalCtx, (thisx->params >> 8) & 0xFF)) { @@ -161,7 +158,7 @@ void BgHidanKousi_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 354), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, D_80889E84[thisx->params & 0xFF]); + gSPDisplayList(POLY_OPA_DISP++, sMetalFencesDLs[thisx->params & 0xFF]); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_kousi.c", 359); } diff --git a/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c b/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c index 37ba9d2056..4d909fa74b 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c @@ -7,6 +7,7 @@ #include "z_bg_hidan_kowarerukabe.h" #include "objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h" #include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -35,7 +36,11 @@ const ActorInit Bg_Hidan_Kowarerukabe_InitVars = { (ActorFunc)BgHidanKowarerukabe_Draw, }; -static Gfx* sBreakableWallDLists[] = { 0x0600B9C0, 0x0600C038, 0x0600B900 }; +static Gfx* sBreakableWallDLists[] = { + gFireTempleCrackedStoneFloorDL, + gFireTempleBombableWallDL, + gFireTempleLargeBombableWallDL, +}; static ColliderJntSphElementInit sJntSphElementsInit[1] = { { @@ -65,7 +70,11 @@ static ColliderJntSphInit sJntSphInit = { }; void BgHidanKowarerukabe_InitDynaPoly(BgHidanKowarerukabe* this, GlobalContext* globalCtx) { - static CollisionHeader* collisionHeaders[] = { 0x0600D800, 0x0600D878, 0x0600D8F8 }; + static CollisionHeader* collisionHeaders[] = { + &gFireTempleCrackedStoneFloorCol, + &gFireTempleBombableWallCol, + &gFireTempleLargeBombableWallCol, + }; s32 pad; CollisionHeader* colHeader = NULL; s32 pad2; diff --git a/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c b/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c index 43bed22a9d..6966a6c41c 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c @@ -1,4 +1,11 @@ +/* + * File: z_bg_hidan_rock.c + * Overlay: ovl_Bg_Hidan_Rock + * Description: Stone blocks (Fire Temple) + */ + #include "z_bg_hidan_rock.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -22,12 +29,6 @@ void func_8088B990(BgHidanRock* this, GlobalContext* globalCtx); void func_8088BC40(GlobalContext* globalCtx, BgHidanRock* this); -extern Gfx D_0600C100[]; -extern Gfx D_0600C1F0[]; -extern Gfx D_0600CA10[]; -extern CollisionHeader* D_0600CB80; -extern CollisionHeader* D_0600DF78; - static Vec3f D_8088BF60 = { 3310.0f, 120.0f, 0.0f }; const ActorInit Bg_Hidan_Rock_InitVars = { @@ -42,7 +43,7 @@ const ActorInit Bg_Hidan_Rock_InitVars = { (ActorFunc)BgHidanRock_Draw, }; -static ColliderCylinderInit D_8088BF8C = { +static ColliderCylinderInit sCylinderInit = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, @@ -81,7 +82,7 @@ void BgHidanRock_Init(Actor* thisx, GlobalContext* globalCtx) { thisx->params = ((thisx->params) >> 8) & 0xFF; Collider_InitCylinder(globalCtx, &this->collider); - Collider_SetCylinder(globalCtx, &this->collider, thisx, &D_8088BF8C); + Collider_SetCylinder(globalCtx, &this->collider, thisx, &sCylinderInit); if (this->type == 0) { if (Flags_GetSwitch(globalCtx, thisx->params)) { @@ -93,9 +94,9 @@ void BgHidanRock_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = func_8088B268; } thisx->flags |= 0x30; - CollisionHeader_GetVirtual(&D_0600CB80, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleStoneBlock1Col, &colHeader); } else { - CollisionHeader_GetVirtual(&D_0600DF78, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleStoneBlock2Col, &colHeader); this->collider.dim.pos.x = thisx->home.pos.x; this->collider.dim.pos.y = thisx->home.pos.y; this->collider.dim.pos.z = thisx->home.pos.z; @@ -338,14 +339,18 @@ void BgHidanRock_Update(Actor* thisx, GlobalContext* globalCtx) { } if (this->unk_16C > 0.0f) { - this->collider.dim.height = D_8088BF8C.dim.height * this->unk_16C; + this->collider.dim.height = sCylinderInit.dim.height * this->unk_16C; CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base); } } +static u64* sVerticalFlamesTexs[] = { + gFireTempleBigVerticalFlame0Tex, gFireTempleBigVerticalFlame1Tex, gFireTempleBigVerticalFlame2Tex, + gFireTempleBigVerticalFlame3Tex, gFireTempleBigVerticalFlame4Tex, gFireTempleBigVerticalFlame5Tex, + gFireTempleBigVerticalFlame6Tex, gFireTempleBigVerticalFlame7Tex, +}; + void func_8088BC40(GlobalContext* globalCtx, BgHidanRock* this) { - static UNK_PTR D_8088BFC4[] = { 0x06012120, 0x060128A0, 0x06013020, 0x060137A0, - 0x06013F20, 0x060146A0, 0x06014E20, 0x060155A0 }; s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_rock.c", 808); @@ -365,10 +370,10 @@ void func_8088BC40(GlobalContext* globalCtx, BgHidanRock* this) { Matrix_Translate(-10.5f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_Scale(6.0f, this->unk_16C, 6.0f, MTXMODE_APPLY); - gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8088BFC4[globalCtx->gameplayFrames & 7])); + gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sVerticalFlamesTexs[globalCtx->gameplayFrames & 7])); gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_rock.c", 853), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_XLU_DISP++, D_0600CA10); + gSPDisplayList(POLY_XLU_DISP++, gFireTempleBigVerticalFlameDL); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_rock.c", 857); } @@ -378,9 +383,9 @@ void BgHidanRock_Draw(Actor* thisx, GlobalContext* globalCtx) { s32 pad; if (this->type == 0) { - Gfx_DrawDListOpa(globalCtx, D_0600C100); + Gfx_DrawDListOpa(globalCtx, gFireTempleStoneBlock1DL); } else { - Gfx_DrawDListOpa(globalCtx, D_0600C1F0); + Gfx_DrawDListOpa(globalCtx, gFireTempleStoneBlock2DL); } if (this->unk_16C > 0.0f) { diff --git a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c index 5aaf3b9bb8..8c3807a27a 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c @@ -1,4 +1,11 @@ +/* + * File: z_bg_hidan_rsekizou.c + * Overlay: ovl_Bg_Hidan_Rsekizou + * Description: Spinning Stone flamethrower + */ + #include "z_bg_hidan_rsekizou.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -109,12 +116,10 @@ static InitChainEntry sInitChain[] = { ICHAIN_F32(uncullZoneForward, 1500, ICHAIN_STOP), }; -static UNK_PTR D_8088CD74[] = { 0x06015D20, 0x06016120, 0x06016520, 0x06016920, - 0x06016D20, 0x06017120, 0x06017520, 0x06017920 }; - -extern CollisionHeader D_0600D5C0; -extern Gfx D_0600AD00[]; // Display List -extern Gfx D_0600DC30[]; // Display List +static u64* sFireballsTexs[] = { + gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex, + gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex, +}; void BgHidanRsekizou_Init(Actor* thisx, GlobalContext* globalCtx) { BgHidanRsekizou* this = THIS; @@ -125,7 +130,7 @@ void BgHidanRsekizou_Init(Actor* thisx, GlobalContext* globalCtx) { colHeader = NULL; Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyActor_Init(&this->dyna, DPM_UNK); - CollisionHeader_GetVirtual(&D_0600D5C0, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleSpinningFlamethrowerCol, &colHeader); this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); Collider_InitJntSph(globalCtx, &this->collider); Collider_SetJntSph(globalCtx, &this->collider, &this->dyna.actor, &sJntSphInit, this->colliderItems); @@ -186,11 +191,11 @@ Gfx* BgHidanRsekizou_DrawFireball(GlobalContext* globalCtx, BgHidanRsekizou* thi f32 fVar6; f32 tmpf7; - temp = (((this->burnFrame + frame) % 8) * 7) * 0.14285715f; - gSPSegment(displayList++, 0x09, SEGMENTED_TO_VIRTUAL(D_8088CD74[temp])); + temp = (((this->burnFrame + frame) % 8) * 7) * (1.0f / 7.0f); + gSPSegment(displayList++, 0x09, SEGMENTED_TO_VIRTUAL(sFireballsTexs[temp])); frame++; - fVar6 = (frame != 4) ? frame + ((3 - this->bendFrame) * 0.33333334f) : frame; + fVar6 = (frame != 4) ? frame + ((3 - this->bendFrame) * (1.0f / 3.0f)) : frame; gDPSetPrimColor(displayList++, 0, 1, 255, 255, 0, 150); gDPSetEnvColor(displayList++, 255, 0, 0, 255); @@ -207,14 +212,14 @@ Gfx* BgHidanRsekizou_DrawFireball(GlobalContext* globalCtx, BgHidanRsekizou* thi tmpf7 = (((((0.7f * fVar6) + 0.5f) * 10.0f) * fVar6) + 20.0f); mf->wx = (tmpf7 * sins) + this->dyna.actor.world.pos.x; - mf->wy = (this->dyna.actor.world.pos.y + 30.0f) + (0.699999988079f * fVar6); + mf->wy = (this->dyna.actor.world.pos.y + 30.0f) + ((7.0f / 10.0f) * fVar6); mf->wz = (tmpf7 * coss) + this->dyna.actor.world.pos.z; gSPMatrix(displayList++, Matrix_MtxFToMtx(Matrix_CheckFloats(mf, "../z_bg_hidan_rsekizou.c", 543), Graph_Alloc(globalCtx->state.gfxCtx, sizeof(Mtx))), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(displayList++, D_0600DC30); + gSPDisplayList(displayList++, gFireTempleFireballDL); return displayList; } @@ -231,7 +236,7 @@ void BgHidanRsekizou_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 568), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, D_0600AD00); + gSPDisplayList(POLY_OPA_DISP++, gFireTempleSpinningFlamethrowerDL); Matrix_MtxFCopy(&mf, &gMtxFClear); POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0x14); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c b/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c index 94d5721663..376153dcf1 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c @@ -1,4 +1,11 @@ +/* + * File: z_bg_hidan_sekizou.c + * Overlay: ovl_Bg_Hidan_Sekizou + * Description: Stationary flame thrower statue + */ + #include "z_bg_hidan_sekizou.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -9,11 +16,6 @@ void BgHidanSekizou_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgHidanSekizou_Update(Actor* thisx, GlobalContext* globalCtx); void BgHidanSekizou_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_0600ABC8; -extern UNK_TYPE D_0600B0F8; -extern UNK_TYPE D_0600CC90; -extern UNK_TYPE D_0600DC30; - /* const ActorInit Bg_Hidan_Sekizou_InitVars = { ACTOR_BG_HIDAN_SEKIZOU, diff --git a/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c b/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c index b970c50a12..fcfef6bf14 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c @@ -1,4 +1,11 @@ +/* + * File: z_bg_hidan_sima.c + * Overlay: ovl_Bg_Hidan_Sima + * Description: Stone platform (Fire Temple) + */ + #include "z_bg_hidan_sima.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000000 @@ -16,12 +23,6 @@ void func_8088E760(BgHidanSima* this, GlobalContext* globalCtx); void func_8088E7A8(BgHidanSima* this, GlobalContext* globalCtx); void func_8088E90C(BgHidanSima* this); -extern Gfx D_0600C338[]; -extern Gfx D_0600C470[]; -extern Gfx D_0600DC30[]; -extern CollisionHeader D_0600FAE8; -extern CollisionHeader D_060120E8; - const ActorInit Bg_Hidan_Sima_InitVars = { ACTOR_BG_HIDAN_SIMA, ACTORCAT_BG, @@ -76,7 +77,10 @@ static InitChainEntry sInitChain[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; -u64* D_8088F1FC[] = { 0x06015D20, 0x06016120, 0x06016520, 0x06016920, 0x06016D20, 0x06017120, 0x06017520, 0x06017920 }; +static u64* sFireballsTexs[] = { + gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex, + gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex, +}; void BgHidanSima_Init(Actor* thisx, GlobalContext* globalCtx) { BgHidanSima* this = THIS; @@ -87,9 +91,9 @@ void BgHidanSima_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyActor_Init(&this->dyna, DPM_PLAYER); if (this->dyna.actor.params == 0) { - CollisionHeader_GetVirtual(&D_060120E8, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleStonePlatform1Col, &colHeader); } else { - CollisionHeader_GetVirtual(&D_0600FAE8, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleStonePlatform2Col, &colHeader); } this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); Collider_InitJntSph(globalCtx, &this->collider); @@ -254,21 +258,21 @@ Gfx* func_8088EB54(GlobalContext* globalCtx, BgHidanSima* this, Gfx* gfx) { mtxF.yy += 0.4f; mtxF.zz += 0.4f; - gSPSegment(gfx++, 0x09, SEGMENTED_TO_VIRTUAL(D_8088F1FC[(this->timer + s3) % 7])); + gSPSegment(gfx++, 0x09, SEGMENTED_TO_VIRTUAL(sFireballsTexs[(this->timer + s3) % 7])); gSPMatrix(gfx++, Matrix_MtxFToMtx(Matrix_CheckFloats(&mtxF, "../z_bg_hidan_sima.c", 611), Graph_Alloc(globalCtx->state.gfxCtx, sizeof(Mtx))), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(gfx++, D_0600DC30); + gSPDisplayList(gfx++, gFireTempleFireballDL); } mtxF.wx = this->dyna.actor.world.pos.x + (phi_s5 * 25 + 80) * sin; mtxF.wz = this->dyna.actor.world.pos.z + (phi_s5 * 25 + 80) * cos; - gSPSegment(gfx++, 0x09, SEGMENTED_TO_VIRTUAL(D_8088F1FC[(this->timer + s3) % 7])); + gSPSegment(gfx++, 0x09, SEGMENTED_TO_VIRTUAL(sFireballsTexs[(this->timer + s3) % 7])); gSPMatrix(gfx++, Matrix_MtxFToMtx(Matrix_CheckFloats(&mtxF, "../z_bg_hidan_sima.c", 624), Graph_Alloc(globalCtx->state.gfxCtx, sizeof(Mtx))), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(gfx++, D_0600DC30); + gSPDisplayList(gfx++, gFireTempleFireballDL); return gfx; } @@ -280,9 +284,9 @@ void BgHidanSima_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_sima.c", 645), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->dyna.actor.params == 0) { - gSPDisplayList(POLY_OPA_DISP++, D_0600C338); + gSPDisplayList(POLY_OPA_DISP++, gFireTempleStonePlatform1DL); } else { - gSPDisplayList(POLY_OPA_DISP++, D_0600C470); + gSPDisplayList(POLY_OPA_DISP++, gFireTempleStonePlatform2DL); if (this->actionFunc == func_8088E7A8) { POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0x14); gDPSetPrimColor(POLY_XLU_DISP++, 0, 1, 255, 255, 0, 150); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c b/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c index 72d693df3f..4fa9ad10e6 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c @@ -5,6 +5,7 @@ */ #include "z_bg_hidan_syoku.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000010 @@ -35,9 +36,6 @@ static InitChainEntry sInitChain[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; -extern Gfx D_0600A7E0[]; -extern CollisionHeader* D_0600E568; - void BgHidanSyoku_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; BgHidanSyoku* this = THIS; @@ -45,7 +43,7 @@ void BgHidanSyoku_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyActor_Init(&this->dyna, DPM_PLAYER); - CollisionHeader_GetVirtual(&D_0600E568, &colHeader); + CollisionHeader_GetVirtual(&gFireTempleFlareDancerPlatformCol, &colHeader); this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); this->actionFunc = func_8088F4B8; this->dyna.actor.home.pos.y += 540.0f; @@ -126,5 +124,5 @@ void BgHidanSyoku_Update(Actor* thisx, GlobalContext* globalCtx) { } void BgHidanSyoku_Draw(Actor* thisx, GlobalContext* globalCtx) { - Gfx_DrawDListOpa(globalCtx, D_0600A7E0); + Gfx_DrawDListOpa(globalCtx, gFireTempleFlareDancerPlatformDL); } 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 e22a901ac2..e6bbcc4d4d 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -8,6 +8,7 @@ #include "objects/object_demo_kekkai/object_demo_kekkai.h" #include "overlays/actors/ovl_Boss_Goma/z_boss_goma.h" #include "objects/gameplay_keep/gameplay_keep.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000010 @@ -91,8 +92,8 @@ static ShutterInfo D_80998134[] = { { 0x06000100, 0x060001F0, 240, 14, 50, 15 }, { 0x060010C0, NULL, 130, 12, 50, 15 }, { gDoorMetalBarsDL, gDungeonDoorDL, 130, 12, 20, 15 }, - { 0x06010CB0, gDungeonDoorDL, 130, 12, 20, 15 }, - { 0x06011F20, gDungeonDoorDL, 130, 12, 20, 15 }, + { gFireTempleDoorFrontDL, gDungeonDoorDL, 130, 12, 20, 15 }, + { gFireTempleDoorBackDL, gDungeonDoorDL, 130, 12, 20, 15 }, { 0x060000C0, gDungeonDoorDL, 130, 12, 20, 15 }, { 0x06005D90, gDungeonDoorDL, 130, 12, 20, 15 }, { 0x06007000, gDungeonDoorDL, 130, 12, 20, 15 }, 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 e6b2152850..ed6e12f2c3 100644 --- a/src/overlays/actors/ovl_En_Door/z_en_door.c +++ b/src/overlays/actors/ovl_En_Door/z_en_door.c @@ -6,6 +6,7 @@ #include "z_en_door.h" #include "objects/gameplay_keep/gameplay_keep.h" +#include "objects/object_hidan_objects/object_hidan_objects.h" #define FLAGS 0x00000010 @@ -67,8 +68,9 @@ static u8 sDoorAnimOpenFrames[] = { 25, 25, 25, 25 }; static u8 sDoorAnimCloseFrames[] = { 60, 70, 60, 70 }; static Gfx* D_809FCEE4[5][2] = { - { gDoorLeftDL, gDoorRightDL }, { 0x0600F998, 0x0600F938 }, { 0x06004958, 0x06004A10 }, - { 0x060013B8, 0x06001420 }, { 0x050047A0, 0x05004978 }, + { gDoorLeftDL, gDoorRightDL }, { gFireTempleBombableDoorDL2, gFireTempleBombableDoorDL1 }, + { 0x06004958, 0x06004A10 }, { 0x060013B8, 0x06001420 }, + { 0x050047A0, 0x05004978 }, }; void EnDoor_Init(Actor* thisx, GlobalContext* globalCtx2) { diff --git a/undefined_syms.txt b/undefined_syms.txt index ecad695597..66a461eeda 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -128,11 +128,6 @@ D_05017A60 = 0x05017A60; // z_door_toki D_06007888 = 0x06007888; -// z_bg_hidan_kousi -D_0600E2CC = 0x0600E2CC; -D_0600E380 = 0x0600E380; -D_0600E430 = 0x0600E430; - // z_bg_spot01_idomizu D_060007D0 = 0x060007D0; @@ -192,19 +187,6 @@ D_06005A20 = 0x06005A20; D_06000360 = 0x06000360; D_06000180 = 0x06000180; -// z_bg_hidan_dalm -D_0600BBF0 = 0x0600BBF0; -D_0600BDF0 = 0x0600BDF0; -D_0600DA10 = 0x0600DA10; - -// z_bg_hidan_fslift -D_0600B630 = 0x0600B630; -D_0600E1E8 = 0x0600E1E8; - -// z_bg_hidan_syoku -D_0600A7E0 = 0x0600A7E0; -D_0600E568 = 0x0600E568; - // z_bg_jya_1flift D_060004A8 = 0x060004A8; D_060001F0 = 0x060001F0; @@ -848,9 +830,6 @@ D_060012C0 = 0x060012C0; D_050095B0 = 0x050095B0; D_05009940 = 0x05009940; -// z_bg_hidan_firewall -D_0600DA80 = 0x0600DA80; - // z_en_ani D_060000F0 = 0x060000F0; D_060067B8 = 0x060067B8; @@ -1135,11 +1114,6 @@ D_06012160 = 0x06012160; D_05005290 = 0x05005290; D_05005380 = 0x05005380; -// z_en_bg_hidan_rsekizou -D_0600AD00 = 0x0600AD00; -D_0600D5C0 = 0x0600D5C0; -D_0600DC30 = 0x0600DC30; - // z_en_geldb D_0600ADF8 = 0x0600ADF8; D_0600B6D4 = 0x0600B6D4; @@ -1398,9 +1372,6 @@ D_06000B20 = 0x06000B20; D_06000BC0 = 0x06000BC0; D_06001580 = 0x06001580; -// z_Bg_Hidan_Fwbig -D_0600DB20 = 0x0600DB20; - // z_bg_po_event D_06007860 = 0x06007860; D_060075A0 = 0x060075A0; @@ -1530,39 +1501,6 @@ D_06005E30 = 0x06005E30; D_06006F70 = 0x06006F70; D_06000C2C = 0x06000C2C; -// z_bg_hidan_hamstep -D_0600A548 = 0x0600A548; -D_0600A668 = 0x0600A668; -D_0600DE44 = 0x0600DE44; -D_0600DD1C = 0x0600DD1C; - -// z_bg_hidan_hrock -D_0600D054 = 0x0600D054; -D_0600D188 = 0x0600D188; - -// z_bg_hidan_kowarerukabe -D_05000530 = 0x05000530; - -// z_bg_hidan_rock -D_0600C100 = 0x0600C100; -D_0600C1F0 = 0x0600C1F0; -D_0600CA10 = 0x0600CA10; -D_0600CB80 = 0x0600CB80; -D_0600DF78 = 0x0600DF78; - -// z_bg_hidan_sekizou -D_0600ABC8 = 0x0600ABC8; -D_0600B0F8 = 0x0600B0F8; -D_0600CC90 = 0x0600CC90; -D_0600DC30 = 0x0600DC30; - -// z_bg_hidan_sima -D_0600C338 = 0x0600C338; -D_0600C470 = 0x0600C470; -D_0600DC30 = 0x0600DC30; -D_0600FAE8 = 0x0600FAE8; -D_060120E8 = 0x060120E8; - // z_bg_ice_objects D_06000190 = 0x06000190; D_060003F0 = 0x060003F0;