From 76bc423dd3e829889ac5906c8aa368ae6f00f968 Mon Sep 17 00:00:00 2001 From: shawlucas Date: Wed, 1 Apr 2020 14:34:48 -0700 Subject: [PATCH 1/7] Decompiled ovl_En_Tana, ran format.sh --- spec | 4 +- .../actors/ovl_Arrow_Fire/z_arrow_fire.c | 2 +- .../actors/ovl_Arrow_Ice/z_arrow_ice.c | 2 +- .../actors/ovl_Arrow_Light/z_arrow_light.c | 2 +- src/overlays/actors/ovl_En_Tana/z_en_tana.c | 85 ++++++++++++++++--- .../actors/ovl_En_Wallmas/z_en_wallmas.c | 10 +-- 6 files changed, 84 insertions(+), 21 deletions(-) diff --git a/spec b/spec index 3959b14b72..7aa5c6e984 100644 --- a/spec +++ b/spec @@ -3624,9 +3624,7 @@ endseg beginseg name "ovl_En_Tana" include "build/src/overlays/actors/ovl_En_Tana/z_en_tana.o" - include "build/data/overlays/actors/z_en_tana.data.o" - include "build/data/overlays/actors/z_en_tana.rodata.o" - include "build/data/overlays/actors/z_en_tana.reloc.o" + include "build/src/overlays/actors/ovl_En_Tana/z_en_tana_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index af0fb9ca23..2a289272d6 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -239,7 +239,7 @@ void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx) { gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); gSPDisplayList(gfxCtx->polyXlu.p++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1, - 255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64)); + 255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682); } diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index 5b70457f49..f119387994 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -239,7 +239,7 @@ void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx) { gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); gSPDisplayList(gfxCtx->polyXlu.p++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1, - 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16)); + 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676); } diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index 4522c4c84d..4a1826d422 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -239,7 +239,7 @@ void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); gSPDisplayList(gfxCtx->polyXlu.p++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1, - 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16)); + 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16)); gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 664); } diff --git a/src/overlays/actors/ovl_En_Tana/z_en_tana.c b/src/overlays/actors/ovl_En_Tana/z_en_tana.c index 1b5e59514a..ea86492cf0 100644 --- a/src/overlays/actors/ovl_En_Tana/z_en_tana.c +++ b/src/overlays/actors/ovl_En_Tana/z_en_tana.c @@ -1,13 +1,20 @@ +/* + * File: z_en_tana.c + * Overlay: ovl_En_Tana + * Description: Shop Shelves + */ + #include "z_en_tana.h" #define ROOM 0x00 #define FLAGS 0x00000009 -void EnTana_Init(EnTana* this, GlobalContext* globalCtx); -void EnTana_Destroy(EnTana* this, GlobalContext* globalCtx); -void EnTana_Update(EnTana* this, GlobalContext* globalCtx); +static void EnTana_Init(EnTana* this, GlobalContext* globalCtx); +static void EnTana_Destroy(EnTana* this, GlobalContext* globalCtx); +static void EnTana_Update(EnTana* this, GlobalContext* globalCtx); +static void func_80B17FC4(EnTana* this, GlobalContext* globalCtx); +static void func_80B1809C(EnTana* this, GlobalContext* globalCtx); -/* const ActorInit En_Tana_InitVars = { ACTOR_EN_TANA, ACTORTYPE_PROP, @@ -20,13 +27,71 @@ const ActorInit En_Tana_InitVars = { (ActorFunc)EnTana_Update, NULL, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Destroy.s") +static char* shelfTypes[] = { + "木の棚", // "Wooden Shelves" + "石の棚", // "Stone Shelves" +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Update.s") +static const ActorFunc drawFuncs[] = { + (ActorFunc)func_80B17FC4, + (ActorFunc)func_80B1809C, + (ActorFunc)func_80B1809C, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B17FC4.s") +static u32 dListTbl[] = { + 0x06000B80, + 0x060027E8, + 0x060027E8, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B1809C.s") +static u32 dListTbl2[] = { + 0x00000000, + 0x06000E08, + 0x06001608, + 0x00000000, +}; + +static void EnTana_Init(EnTana* this, GlobalContext* globalCtx) { + Actor* thisx = &this->actor; + osSyncPrintf("☆☆☆ %s ☆☆☆\n", shelfTypes[thisx->params]); + Actor_SetScale(thisx, 1.0f); + thisx->flags &= 0xFFFFFFFE; + thisx->draw = drawFuncs[thisx->params]; +} + +static void EnTana_Destroy(EnTana* this, GlobalContext* globalCtx) { +} + +static void EnTana_Update(EnTana* this, GlobalContext* globalCtx) { +} + +static void func_80B17FC4(EnTana* this, GlobalContext* globalCtx) { + + Actor* thisx = &this->actor; + GraphicsContext* gfxCtx; + Gfx* gfxArr[4]; + + gfxCtx = globalCtx->state.gfxCtx; + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_en_tana.c", 148); + func_80093D18(globalCtx->state.gfxCtx); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_tana.c", 152), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyOpa.p++, dListTbl[thisx->params]); + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_en_tana.c", 157); +} + +static void func_80B1809C(EnTana* this, GlobalContext* globalCtx) { + Actor* thisx = &this->actor; + GraphicsContext* gfxCtx; + Gfx* gfxArr[4]; + + gfxCtx = globalCtx->state.gfxCtx; + func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_en_tana.c", 163); + func_80093D18(globalCtx->state.gfxCtx); + gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(dListTbl2[thisx->params])); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_tana.c", 169), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyOpa.p++, dListTbl[thisx->params]); + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_en_tana.c", 174); +} diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c index d106c9cd02..cddc64c8aa 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -57,11 +57,11 @@ static ColliderCylinderInit colCylinderInit = { 0x00, 0x01, 0x01, 0x00, 0x001E, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000, }; -static Sub98Init4 sub98Init = { - 0x04, - 0x001E, - 0x0028, - 0x96, +static Sub98Init4 sub98Init = { + 0x04, + 0x001E, + 0x0028, + 0x96, }; static ActorDamageChart damageChart = { { From 36b9f914dc3922aef66769d05d1e9c4640711c5f Mon Sep 17 00:00:00 2001 From: shawlucas Date: Wed, 1 Apr 2020 14:42:47 -0700 Subject: [PATCH 2/7] Removed asm files from En_Tana --- .../actors/ovl_En_Tana/EnTana_Destroy.s | 6 -- .../overlays/actors/ovl_En_Tana/EnTana_Init.s | 36 -------- .../actors/ovl_En_Tana/EnTana_Update.s | 6 -- .../actors/ovl_En_Tana/func_80B17FC4.s | 57 ------------- .../actors/ovl_En_Tana/func_80B1809C.s | 83 ------------------- data/overlays/actors/z_en_tana.data.s | 27 ------ data/overlays/actors/z_en_tana.reloc.s | 11 --- data/overlays/actors/z_en_tana.rodata.s | 41 --------- 8 files changed, 267 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B17FC4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B1809C.s delete mode 100644 data/overlays/actors/z_en_tana.data.s delete mode 100644 data/overlays/actors/z_en_tana.reloc.s delete mode 100644 data/overlays/actors/z_en_tana.rodata.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Destroy.s deleted file mode 100644 index 112a1f1d96..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Destroy.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel EnTana_Destroy -/* 0007C 80B17FAC AFA40000 */ sw $a0, 0x0000($sp) -/* 00080 80B17FB0 03E00008 */ jr $ra -/* 00084 80B17FB4 AFA50004 */ sw $a1, 0x0004($sp) - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Init.s deleted file mode 100644 index 56ed26e0d1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Init.s +++ /dev/null @@ -1,36 +0,0 @@ -glabel EnTana_Init -/* 00000 80B17F30 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00004 80B17F34 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 80B17F38 AFA5001C */ sw $a1, 0x001C($sp) -/* 0000C 80B17F3C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00010 80B17F40 84CE001C */ lh $t6, 0x001C($a2) ## 0000001C -/* 00014 80B17F44 3C0580B2 */ lui $a1, %hi(D_80B18200) ## $a1 = 80B20000 -/* 00018 80B17F48 3C0480B2 */ lui $a0, %hi(D_80B18240) ## $a0 = 80B20000 -/* 0001C 80B17F4C 000E7880 */ sll $t7, $t6, 2 -/* 00020 80B17F50 00AF2821 */ addu $a1, $a1, $t7 -/* 00024 80B17F54 8CA58200 */ lw $a1, %lo(D_80B18200)($a1) -/* 00028 80B17F58 24848240 */ addiu $a0, $a0, %lo(D_80B18240) ## $a0 = 80B18240 -/* 0002C 80B17F5C 0C00084C */ jal osSyncPrintf - -/* 00030 80B17F60 AFA60018 */ sw $a2, 0x0018($sp) -/* 00034 80B17F64 8FA40018 */ lw $a0, 0x0018($sp) -/* 00038 80B17F68 0C00B58B */ jal Actor_SetScale - -/* 0003C 80B17F6C 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 00040 80B17F70 8FA60018 */ lw $a2, 0x0018($sp) -/* 00044 80B17F74 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00048 80B17F78 3C0A80B2 */ lui $t2, %hi(D_80B18208) ## $t2 = 80B20000 -/* 0004C 80B17F7C 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004 -/* 00050 80B17F80 84C8001C */ lh $t0, 0x001C($a2) ## 0000001C -/* 00054 80B17F84 0301C824 */ and $t9, $t8, $at -/* 00058 80B17F88 00084880 */ sll $t1, $t0, 2 -/* 0005C 80B17F8C 01495021 */ addu $t2, $t2, $t1 -/* 00060 80B17F90 ACD90004 */ sw $t9, 0x0004($a2) ## 00000004 -/* 00064 80B17F94 8D4A8208 */ lw $t2, %lo(D_80B18208)($t2) -/* 00068 80B17F98 ACCA0134 */ sw $t2, 0x0134($a2) ## 00000134 -/* 0006C 80B17F9C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00070 80B17FA0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00074 80B17FA4 03E00008 */ jr $ra -/* 00078 80B17FA8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Update.s deleted file mode 100644 index 45021ba456..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tana/EnTana_Update.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel EnTana_Update -/* 00088 80B17FB8 AFA40000 */ sw $a0, 0x0000($sp) -/* 0008C 80B17FBC 03E00008 */ jr $ra -/* 00090 80B17FC0 AFA50004 */ sw $a1, 0x0004($sp) - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B17FC4.s b/asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B17FC4.s deleted file mode 100644 index 5eb0dd9285..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B17FC4.s +++ /dev/null @@ -1,57 +0,0 @@ -glabel func_80B17FC4 -/* 00094 80B17FC4 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00098 80B17FC8 AFBF001C */ sw $ra, 0x001C($sp) -/* 0009C 80B17FCC AFB00018 */ sw $s0, 0x0018($sp) -/* 000A0 80B17FD0 AFA40048 */ sw $a0, 0x0048($sp) -/* 000A4 80B17FD4 AFA5004C */ sw $a1, 0x004C($sp) -/* 000A8 80B17FD8 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 000AC 80B17FDC 3C0680B2 */ lui $a2, %hi(D_80B18254) ## $a2 = 80B20000 -/* 000B0 80B17FE0 24C68254 */ addiu $a2, $a2, %lo(D_80B18254) ## $a2 = 80B18254 -/* 000B4 80B17FE4 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8 -/* 000B8 80B17FE8 24070094 */ addiu $a3, $zero, 0x0094 ## $a3 = 00000094 -/* 000BC 80B17FEC 0C031AB1 */ jal func_800C6AC4 -/* 000C0 80B17FF0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 000C4 80B17FF4 8FAF004C */ lw $t7, 0x004C($sp) -/* 000C8 80B17FF8 0C024F46 */ jal func_80093D18 -/* 000CC 80B17FFC 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 000D0 80B18000 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 000D4 80B18004 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 000D8 80B18008 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 000DC 80B1800C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 000E0 80B18010 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 000E4 80B18014 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 000E8 80B18018 8FA8004C */ lw $t0, 0x004C($sp) -/* 000EC 80B1801C 3C0580B2 */ lui $a1, %hi(D_80B18264) ## $a1 = 80B20000 -/* 000F0 80B18020 24A58264 */ addiu $a1, $a1, %lo(D_80B18264) ## $a1 = 80B18264 -/* 000F4 80B18024 8D040000 */ lw $a0, 0x0000($t0) ## 00000000 -/* 000F8 80B18028 24060098 */ addiu $a2, $zero, 0x0098 ## $a2 = 00000098 -/* 000FC 80B1802C 0C0346A2 */ jal Matrix_NewMtx -/* 00100 80B18030 AFA2002C */ sw $v0, 0x002C($sp) -/* 00104 80B18034 8FA3002C */ lw $v1, 0x002C($sp) -/* 00108 80B18038 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 0010C 80B1803C 3C0E80B2 */ lui $t6, %hi(D_80B18214) ## $t6 = 80B20000 -/* 00110 80B18040 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00114 80B18044 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00118 80B18048 3C0680B2 */ lui $a2, %hi(D_80B18274) ## $a2 = 80B20000 -/* 0011C 80B1804C 24C68274 */ addiu $a2, $a2, %lo(D_80B18274) ## $a2 = 80B18274 -/* 00120 80B18050 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00124 80B18054 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 00128 80B18058 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 0012C 80B1805C 8FAB0048 */ lw $t3, 0x0048($sp) -/* 00130 80B18060 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8 -/* 00134 80B18064 2407009D */ addiu $a3, $zero, 0x009D ## $a3 = 0000009D -/* 00138 80B18068 856C001C */ lh $t4, 0x001C($t3) ## 0000001C -/* 0013C 80B1806C 000C6880 */ sll $t5, $t4, 2 -/* 00140 80B18070 01CD7021 */ addu $t6, $t6, $t5 -/* 00144 80B18074 8DCE8214 */ lw $t6, %lo(D_80B18214)($t6) -/* 00148 80B18078 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 0014C 80B1807C 8FAF004C */ lw $t7, 0x004C($sp) -/* 00150 80B18080 0C031AD5 */ jal func_800C6B54 -/* 00154 80B18084 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -/* 00158 80B18088 8FBF001C */ lw $ra, 0x001C($sp) -/* 0015C 80B1808C 8FB00018 */ lw $s0, 0x0018($sp) -/* 00160 80B18090 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 00164 80B18094 03E00008 */ jr $ra -/* 00168 80B18098 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B1809C.s b/asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B1809C.s deleted file mode 100644 index 65e5da51f1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Tana/func_80B1809C.s +++ /dev/null @@ -1,83 +0,0 @@ -glabel func_80B1809C -/* 0016C 80B1809C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00170 80B180A0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00174 80B180A4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00178 80B180A8 AFA40048 */ sw $a0, 0x0048($sp) -/* 0017C 80B180AC AFA5004C */ sw $a1, 0x004C($sp) -/* 00180 80B180B0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00184 80B180B4 3C0680B2 */ lui $a2, %hi(D_80B18284) ## $a2 = 80B20000 -/* 00188 80B180B8 24C68284 */ addiu $a2, $a2, %lo(D_80B18284) ## $a2 = 80B18284 -/* 0018C 80B180BC 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8 -/* 00190 80B180C0 240700A3 */ addiu $a3, $zero, 0x00A3 ## $a3 = 000000A3 -/* 00194 80B180C4 0C031AB1 */ jal func_800C6AC4 -/* 00198 80B180C8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 0019C 80B180CC 8FAF004C */ lw $t7, 0x004C($sp) -/* 001A0 80B180D0 0C024F46 */ jal func_80093D18 -/* 001A4 80B180D4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 001A8 80B180D8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 001AC 80B180DC 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 001B0 80B180E0 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020 -/* 001B4 80B180E4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 001B8 80B180E8 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 001BC 80B180EC AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 001C0 80B180F0 8FA80048 */ lw $t0, 0x0048($sp) -/* 001C4 80B180F4 3C0480B2 */ lui $a0, %hi(D_80B18220) ## $a0 = 80B20000 -/* 001C8 80B180F8 3C0F8016 */ lui $t7, 0x8016 ## $t7 = 80160000 -/* 001CC 80B180FC 8509001C */ lh $t1, 0x001C($t0) ## 0000001C -/* 001D0 80B18100 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 001D4 80B18104 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 001D8 80B18108 00095080 */ sll $t2, $t1, 2 -/* 001DC 80B1810C 008A2021 */ addu $a0, $a0, $t2 -/* 001E0 80B18110 8C848220 */ lw $a0, %lo(D_80B18220)($a0) -/* 001E4 80B18114 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 001E8 80B18118 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 001EC 80B1811C 00046100 */ sll $t4, $a0, 4 -/* 001F0 80B18120 000C6F02 */ srl $t5, $t4, 28 -/* 001F4 80B18124 000D7080 */ sll $t6, $t5, 2 -/* 001F8 80B18128 01EE7821 */ addu $t7, $t7, $t6 -/* 001FC 80B1812C 8DEF6FA8 */ lw $t7, 0x6FA8($t7) ## 80166FA8 -/* 00200 80B18130 00815824 */ and $t3, $a0, $at -/* 00204 80B18134 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00208 80B18138 016FC021 */ addu $t8, $t3, $t7 -/* 0020C 80B1813C 0301C821 */ addu $t9, $t8, $at -/* 00210 80B18140 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 00214 80B18144 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00218 80B18148 3C0580B2 */ lui $a1, %hi(D_80B18294) ## $a1 = 80B20000 -/* 0021C 80B1814C 24A58294 */ addiu $a1, $a1, %lo(D_80B18294) ## $a1 = 80B18294 -/* 00220 80B18150 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 00224 80B18154 AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0 -/* 00228 80B18158 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 0022C 80B1815C 8FAA004C */ lw $t2, 0x004C($sp) -/* 00230 80B18160 240600A9 */ addiu $a2, $zero, 0x00A9 ## $a2 = 000000A9 -/* 00234 80B18164 8D440000 */ lw $a0, 0x0000($t2) ## 00000000 -/* 00238 80B18168 0C0346A2 */ jal Matrix_NewMtx -/* 0023C 80B1816C AFA20028 */ sw $v0, 0x0028($sp) -/* 00240 80B18170 8FA30028 */ lw $v1, 0x0028($sp) -/* 00244 80B18174 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000 -/* 00248 80B18178 3C1880B2 */ lui $t8, %hi(D_80B18214) ## $t8 = 80B20000 -/* 0024C 80B1817C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00250 80B18180 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00254 80B18184 3C0680B2 */ lui $a2, %hi(D_80B182A4) ## $a2 = 80B20000 -/* 00258 80B18188 24C682A4 */ addiu $a2, $a2, %lo(D_80B182A4) ## $a2 = 80B182A4 -/* 0025C 80B1818C 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00260 80B18190 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0 -/* 00264 80B18194 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 00268 80B18198 8FAE0048 */ lw $t6, 0x0048($sp) -/* 0026C 80B1819C 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8 -/* 00270 80B181A0 240700AE */ addiu $a3, $zero, 0x00AE ## $a3 = 000000AE -/* 00274 80B181A4 85CB001C */ lh $t3, 0x001C($t6) ## 0000001C -/* 00278 80B181A8 000B7880 */ sll $t7, $t3, 2 -/* 0027C 80B181AC 030FC021 */ addu $t8, $t8, $t7 -/* 00280 80B181B0 8F188214 */ lw $t8, %lo(D_80B18214)($t8) -/* 00284 80B181B4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00288 80B181B8 8FB9004C */ lw $t9, 0x004C($sp) -/* 0028C 80B181BC 0C031AD5 */ jal func_800C6B54 -/* 00290 80B181C0 8F250000 */ lw $a1, 0x0000($t9) ## 00000000 -/* 00294 80B181C4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00298 80B181C8 8FB00018 */ lw $s0, 0x0018($sp) -/* 0029C 80B181CC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 002A0 80B181D0 03E00008 */ jr $ra -/* 002A4 80B181D4 00000000 */ nop -/* 002A8 80B181D8 00000000 */ nop -/* 002AC 80B181DC 00000000 */ nop - diff --git a/data/overlays/actors/z_en_tana.data.s b/data/overlays/actors/z_en_tana.data.s deleted file mode 100644 index bfaeed8ec2..0000000000 --- a/data/overlays/actors/z_en_tana.data.s +++ /dev/null @@ -1,27 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel En_Tana_InitVars - .word 0x00C20600, 0x00000009, 0x00B20000, 0x0000014C -.word EnTana_Init -.word EnTana_Destroy -.word EnTana_Update -.word 0x00000000 -glabel D_80B18200 - .word D_80B18230 -.word D_80B18238 -glabel D_80B18208 - .word func_80B17FC4 -.word func_80B1809C -.word func_80B1809C -glabel D_80B18214 - .word 0x06000B80, 0x060027E8, 0x060027E8 -glabel D_80B18220 - .word 0x00000000, 0x06000E08, 0x06001608, 0x00000000 - diff --git a/data/overlays/actors/z_en_tana.reloc.s b/data/overlays/actors/z_en_tana.reloc.s deleted file mode 100644 index b8a9b26409..0000000000 --- a/data/overlays/actors/z_en_tana.reloc.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata -glabel D_80B182C0 - -.incbin "baserom/ovl_En_Tana", 0x390, 0x000000A0 diff --git a/data/overlays/actors/z_en_tana.rodata.s b/data/overlays/actors/z_en_tana.rodata.s deleted file mode 100644 index 4d24152e2d..0000000000 --- a/data/overlays/actors/z_en_tana.rodata.s +++ /dev/null @@ -1,41 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata - -glabel D_80B18230 - .word 0xCCDAA4CE, 0xC3AA0000 -glabel D_80B18238 - .word 0xC0D0A4CE, 0xC3AA0000 -glabel D_80B18240 - .asciz "☆☆☆ %s ☆☆☆\n" - .balign 4 - -glabel D_80B18254 - .asciz "../z_en_tana.c" - .balign 4 - -glabel D_80B18264 - .asciz "../z_en_tana.c" - .balign 4 - -glabel D_80B18274 - .asciz "../z_en_tana.c" - .balign 4 - -glabel D_80B18284 - .asciz "../z_en_tana.c" - .balign 4 - -glabel D_80B18294 - .asciz "../z_en_tana.c" - .balign 4 - -glabel D_80B182A4 - .word 0x2E2E2F7A, 0x5F656E5F, 0x74616E61, 0x2E630000, 0x00000000, 0x00000000, 0x00000000 - - From 9f35711e8f2a8749262ac8ad742e8d04713af766 Mon Sep 17 00:00:00 2001 From: shawlucas Date: Wed, 1 Apr 2020 14:57:57 -0700 Subject: [PATCH 3/7] Made suggested changes --- src/overlays/actors/ovl_En_Tana/z_en_tana.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/overlays/actors/ovl_En_Tana/z_en_tana.c b/src/overlays/actors/ovl_En_Tana/z_en_tana.c index ea86492cf0..9852a4a22c 100644 --- a/src/overlays/actors/ovl_En_Tana/z_en_tana.c +++ b/src/overlays/actors/ovl_En_Tana/z_en_tana.c @@ -39,17 +39,17 @@ static const ActorFunc drawFuncs[] = { (ActorFunc)func_80B1809C, }; -static u32 dListTbl[] = { +static Gfx* dListTbl[] = { 0x06000B80, 0x060027E8, 0x060027E8, }; -static u32 dListTbl2[] = { - 0x00000000, +static Gfx* dListTbl2[] = { + NULL, 0x06000E08, 0x06001608, - 0x00000000, + NULL, }; static void EnTana_Init(EnTana* this, GlobalContext* globalCtx) { From 45ce20a6e0b6ef5d78d322933c557766a3f50150 Mon Sep 17 00:00:00 2001 From: shawlucas Date: Wed, 1 Apr 2020 17:28:00 -0700 Subject: [PATCH 4/7] Decompiled ovl_Bg_Spot05_Soko --- spec | 3 +- .../ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c | 98 ++++++++++++++++--- .../ovl_Bg_Spot05_Soko/z_bg_spot05_soko.h | 5 +- undefined_syms.txt | 6 +- 4 files changed, 94 insertions(+), 18 deletions(-) diff --git a/spec b/spec index 3959b14b72..6235e8f526 100644 --- a/spec +++ b/spec @@ -1400,8 +1400,7 @@ endseg beginseg name "ovl_Bg_Spot05_Soko" include "build/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.o" - include "build/data/overlays/actors/z_bg_spot05_soko.data.o" - include "build/data/overlays/actors/z_bg_spot05_soko.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c b/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c index 6155326378..d0bb19a5ba 100644 --- a/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c +++ b/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c @@ -1,14 +1,25 @@ +/* + * File: z_bg_spot05_soko.c + * Overlay: ovl_Bg_Spot05_Soko + * Description: Sacred Forest Meadow Entities + */ + #include "z_bg_spot05_soko.h" #define ROOM 0x00 #define FLAGS 0x00000000 -void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx); -void BgSpot05Soko_Destroy(BgSpot05Soko* this, GlobalContext* globalCtx); -void BgSpot05Soko_Update(BgSpot05Soko* this, GlobalContext* globalCtx); -void BgSpot05Soko_Draw(BgSpot05Soko* this, GlobalContext* globalCtx); +static void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx); +static void BgSpot05Soko_Destroy(BgSpot05Soko* this, GlobalContext* globalCtx); +static void BgSpot05Soko_Update(BgSpot05Soko* this, GlobalContext* globalCtx); +static void BgSpot05Soko_Draw(BgSpot05Soko* this, GlobalContext* globalCtx); +static void func_808AE5A8(BgSpot05Soko* this, GlobalContext* globalCtx); +static void func_808AE5B4(BgSpot05Soko* this, GlobalContext* globalCtx); +static void func_808AE630(BgSpot05Soko* this, GlobalContext* globalCtx); + +extern Gfx* D_060012C0; +extern Gfx* D_06000918; -/* const ActorInit Bg_Spot05_Soko_InitVars = { ACTOR_BG_SPOT05_SOKO, ACTORTYPE_PROP, @@ -21,17 +32,78 @@ const ActorInit Bg_Spot05_Soko_InitVars = { (ActorFunc)BgSpot05Soko_Update, (ActorFunc)BgSpot05Soko_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Destroy.s") +static InitChainEntry initChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5A8.s") +static Gfx* dListTbl[] = { + 0x06000840, + 0x06001190, + NULL, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5B4.s") +static void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx) { -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE630.s") + Actor* thisx = &this->dyna.actor; + u32 sp24[2]; + sp24[0] = 0; + Actor_ProcessInitChain(thisx, initChain); + this->switchFlag = (thisx->params >> 8) & 0xFF; + thisx->params &= 0xFF; + DynaPolyInfo_SetActorMove(thisx, DPM_UNK); + if (thisx->params == 0) { + DynaPolyInfo_Alloc(&D_06000918, &sp24); + if (LINK_IS_ADULT) { + Actor_Kill(thisx); + } else { + this->actionFunc = &func_808AE5A8; + } + } else { + DynaPolyInfo_Alloc(&D_060012C0, &sp24); + if (Flags_GetSwitch(globalCtx, this->switchFlag) != 0) { + Actor_Kill(thisx); + } else { + this->actionFunc = &func_808AE5B4; + thisx->flags |= 0x10; + } + } + this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, sp24[0]); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Update.s") +static void BgSpot05Soko_Destroy(BgSpot05Soko* this, GlobalContext* globalCtx) { + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Draw.s") +static void func_808AE5A8(BgSpot05Soko* this, GlobalContext* globalCtx) { +} + +static void func_808AE5B4(BgSpot05Soko* this, GlobalContext* globalCtx) { + Actor* thisx = &this->dyna.actor; + if (Flags_GetSwitch(globalCtx, this->switchFlag)) { + Audio_PlaySoundAtPosition(globalCtx, &thisx->posRot.pos, 0x1E, NA_SE_EV_METALDOOR_CLOSE); + Actor_SetHeight(thisx, 50.0f); + func_80080480(globalCtx, thisx); + this->actionFunc = &func_808AE630; + thisx->speedXZ = 0.5f; + } +} + +static void func_808AE630(BgSpot05Soko* this, GlobalContext* globalCtx) { + Actor* thisx = &this->dyna.actor; + + thisx->speedXZ *= 1.5f; + if (Math_ApproxF(&thisx->posRot.pos.y, thisx->initPosRot.pos.y - 120.0f, thisx->speedXZ) != 0) { + Actor_Kill(thisx); + } +} + +static void BgSpot05Soko_Update(BgSpot05Soko* this, GlobalContext* globalCtx) { + Actor* thisx = &this->dyna.actor; + this->actionFunc(thisx, globalCtx); +} + +extern Gfx* D_808AE724[]; +static void BgSpot05Soko_Draw(BgSpot05Soko* this, GlobalContext* globalCtx) { + Gfx_DrawDListOpa(globalCtx, dListTbl[this->dyna.actor.params]); +} diff --git a/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.h b/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.h index b54c3899b9..bea4a9f338 100644 --- a/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.h +++ b/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.h @@ -5,8 +5,9 @@ #include typedef struct { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x20]; + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0164 */ ActorFunc actionFunc; + /* 0x0168 */ s32 switchFlag; } BgSpot05Soko; // size = 0x016C extern const ActorInit Bg_Spot05_Soko_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index d4e050db8d..b7d74fd5cf 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -467,4 +467,8 @@ link_animetion_segment = 0x07000000; // z_en_ds D_06004768 = 0x06004768; -D_0600039C = 0x0600039C; \ No newline at end of file +D_0600039C = 0x0600039C; + +// z_bg_spot05_soko +D_06000918 = 0x06000918; +D_060012C0 = 0x060012C0; \ No newline at end of file From 2d11436367b4ce5eaeb02e5b2f387f5ea95b5533 Mon Sep 17 00:00:00 2001 From: shawlucas Date: Wed, 1 Apr 2020 17:32:20 -0700 Subject: [PATCH 5/7] Decompiled ovl_Bg_Spot05_Soko --- .../ovl_Bg_Spot05_Soko/BgSpot05Soko_Destroy.s | 16 ---- .../ovl_Bg_Spot05_Soko/BgSpot05Soko_Draw.s | 19 ----- .../ovl_Bg_Spot05_Soko/BgSpot05Soko_Init.s | 82 ------------------- .../ovl_Bg_Spot05_Soko/BgSpot05Soko_Update.s | 12 --- .../actors/ovl_Bg_Spot05_Soko/func_808AE5A8.s | 6 -- .../actors/ovl_Bg_Spot05_Soko/func_808AE5B4.s | 38 --------- .../actors/ovl_Bg_Spot05_Soko/func_808AE630.s | 33 -------- data/overlays/actors/z_bg_spot05_soko.data.s | 20 ----- data/overlays/actors/z_bg_spot05_soko.reloc.s | 11 --- 9 files changed, 237 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5A8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5B4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE630.s delete mode 100644 data/overlays/actors/z_bg_spot05_soko.data.s delete mode 100644 data/overlays/actors/z_bg_spot05_soko.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Destroy.s deleted file mode 100644 index 079cd08691..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Destroy.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel BgSpot05Soko_Destroy -/* 00108 808AE578 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0010C 808AE57C AFA40018 */ sw $a0, 0x0018($sp) -/* 00110 808AE580 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00114 808AE584 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00118 808AE588 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0011C 808AE58C 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 00120 808AE590 0C00FB56 */ jal DynaPolyInfo_Free - ## DynaPolyInfo_delReserve -/* 00124 808AE594 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 00128 808AE598 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0012C 808AE59C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00130 808AE5A0 03E00008 */ jr $ra -/* 00134 808AE5A4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Draw.s deleted file mode 100644 index 338886aa6d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Draw.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel BgSpot05Soko_Draw -/* 00250 808AE6C0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00254 808AE6C4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00258 808AE6C8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0025C 808AE6CC 84EE001C */ lh $t6, 0x001C($a3) ## 0000001C -/* 00260 808AE6D0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00264 808AE6D4 3C05808B */ lui $a1, %hi(D_808AE724) ## $a1 = 808B0000 -/* 00268 808AE6D8 000E7880 */ sll $t7, $t6, 2 -/* 0026C 808AE6DC 00AF2821 */ addu $a1, $a1, $t7 -/* 00270 808AE6E0 0C00D498 */ jal Gfx_DrawDListOpa - -/* 00274 808AE6E4 8CA5E724 */ lw $a1, %lo(D_808AE724)($a1) -/* 00278 808AE6E8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0027C 808AE6EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00280 808AE6F0 03E00008 */ jr $ra -/* 00284 808AE6F4 00000000 */ nop -/* 00288 808AE6F8 00000000 */ nop -/* 0028C 808AE6FC 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Init.s deleted file mode 100644 index efc5c4244b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Init.s +++ /dev/null @@ -1,82 +0,0 @@ -glabel BgSpot05Soko_Init -/* 00000 808AE470 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00004 808AE474 AFA50034 */ sw $a1, 0x0034($sp) -/* 00008 808AE478 AFBF001C */ sw $ra, 0x001C($sp) -/* 0000C 808AE47C AFB00018 */ sw $s0, 0x0018($sp) -/* 00010 808AE480 3C05808B */ lui $a1, %hi(D_808AE720) ## $a1 = 808B0000 -/* 00014 808AE484 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00018 808AE488 AFA00024 */ sw $zero, 0x0024($sp) -/* 0001C 808AE48C 0C01E037 */ jal Actor_ProcessInitChain - -/* 00020 808AE490 24A5E720 */ addiu $a1, $a1, %lo(D_808AE720) ## $a1 = 808AE720 -/* 00024 808AE494 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 00028 808AE498 8619001C */ lh $t9, 0x001C($s0) ## 0000001C -/* 0002C 808AE49C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00030 808AE4A0 000E7A03 */ sra $t7, $t6, 8 -/* 00034 808AE4A4 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000 -/* 00038 808AE4A8 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000 -/* 0003C 808AE4AC AE180168 */ sw $t8, 0x0168($s0) ## 00000168 -/* 00040 808AE4B0 A608001C */ sh $t0, 0x001C($s0) ## 0000001C -/* 00044 808AE4B4 0C010D20 */ jal DynaPolyInfo_SetActorMove - -/* 00048 808AE4B8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 0004C 808AE4BC 8609001C */ lh $t1, 0x001C($s0) ## 0000001C -/* 00050 808AE4C0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00054 808AE4C4 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 00058 808AE4C8 15200010 */ bne $t1, $zero, .L808AE50C -/* 0005C 808AE4CC 248412C0 */ addiu $a0, $a0, 0x12C0 ## $a0 = 060012C0 -/* 00060 808AE4D0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00064 808AE4D4 0C010620 */ jal DynaPolyInfo_Alloc - -/* 00068 808AE4D8 24840918 */ addiu $a0, $a0, 0x0918 ## $a0 = 06000918 -/* 0006C 808AE4DC 3C0A8016 */ lui $t2, 0x8016 ## $t2 = 80160000 -/* 00070 808AE4E0 8D4AE664 */ lw $t2, -0x199C($t2) ## 8015E664 -/* 00074 808AE4E4 3C0B808B */ lui $t3, %hi(func_808AE5A8) ## $t3 = 808B0000 -/* 00078 808AE4E8 256BE5A8 */ addiu $t3, $t3, %lo(func_808AE5A8) ## $t3 = 808AE5A8 -/* 0007C 808AE4EC 15400005 */ bne $t2, $zero, .L808AE504 -/* 00080 808AE4F0 00000000 */ nop -/* 00084 808AE4F4 0C00B55C */ jal Actor_Kill - -/* 00088 808AE4F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0008C 808AE4FC 10000014 */ beq $zero, $zero, .L808AE550 -/* 00090 808AE500 8FA40034 */ lw $a0, 0x0034($sp) -.L808AE504: -/* 00094 808AE504 10000011 */ beq $zero, $zero, .L808AE54C -/* 00098 808AE508 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164 -.L808AE50C: -/* 0009C 808AE50C 0C010620 */ jal DynaPolyInfo_Alloc - -/* 000A0 808AE510 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 000A4 808AE514 8FA40034 */ lw $a0, 0x0034($sp) -/* 000A8 808AE518 0C00B2D0 */ jal Flags_GetSwitch - -/* 000AC 808AE51C 8E050168 */ lw $a1, 0x0168($s0) ## 00000168 -/* 000B0 808AE520 10400005 */ beq $v0, $zero, .L808AE538 -/* 000B4 808AE524 3C0C808B */ lui $t4, %hi(func_808AE5B4) ## $t4 = 808B0000 -/* 000B8 808AE528 0C00B55C */ jal Actor_Kill - -/* 000BC 808AE52C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000C0 808AE530 10000007 */ beq $zero, $zero, .L808AE550 -/* 000C4 808AE534 8FA40034 */ lw $a0, 0x0034($sp) -.L808AE538: -/* 000C8 808AE538 8E0D0004 */ lw $t5, 0x0004($s0) ## 00000004 -/* 000CC 808AE53C 258CE5B4 */ addiu $t4, $t4, %lo(func_808AE5B4) ## $t4 = FFFFE5B4 -/* 000D0 808AE540 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164 -/* 000D4 808AE544 35AE0010 */ ori $t6, $t5, 0x0010 ## $t6 = 00000010 -/* 000D8 808AE548 AE0E0004 */ sw $t6, 0x0004($s0) ## 00000004 -.L808AE54C: -/* 000DC 808AE54C 8FA40034 */ lw $a0, 0x0034($sp) -.L808AE550: -/* 000E0 808AE550 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 000E4 808AE554 8FA70024 */ lw $a3, 0x0024($sp) -/* 000E8 808AE558 0C00FA9D */ jal DynaPolyInfo_RegisterActor - ## DynaPolyInfo_setActor -/* 000EC 808AE55C 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 000F0 808AE560 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 000F4 808AE564 8FBF001C */ lw $ra, 0x001C($sp) -/* 000F8 808AE568 8FB00018 */ lw $s0, 0x0018($sp) -/* 000FC 808AE56C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00100 808AE570 03E00008 */ jr $ra -/* 00104 808AE574 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Update.s deleted file mode 100644 index f4e14b2486..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/BgSpot05Soko_Update.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel BgSpot05Soko_Update -/* 0022C 808AE69C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00230 808AE6A0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00234 808AE6A4 8C990164 */ lw $t9, 0x0164($a0) ## 00000164 -/* 00238 808AE6A8 0320F809 */ jalr $ra, $t9 -/* 0023C 808AE6AC 00000000 */ nop -/* 00240 808AE6B0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00244 808AE6B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00248 808AE6B8 03E00008 */ jr $ra -/* 0024C 808AE6BC 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5A8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5A8.s deleted file mode 100644 index c2c475fc36..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5A8.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_808AE5A8 -/* 00138 808AE5A8 AFA40000 */ sw $a0, 0x0000($sp) -/* 0013C 808AE5AC 03E00008 */ jr $ra -/* 00140 808AE5B0 AFA50004 */ sw $a1, 0x0004($sp) - - diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5B4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5B4.s deleted file mode 100644 index 1c52374e33..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE5B4.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_808AE5B4 -/* 00144 808AE5B4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00148 808AE5B8 AFB00018 */ sw $s0, 0x0018($sp) -/* 0014C 808AE5BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00150 808AE5C0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00154 808AE5C4 AFA50024 */ sw $a1, 0x0024($sp) -/* 00158 808AE5C8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0015C 808AE5CC 0C00B2D0 */ jal Flags_GetSwitch - -/* 00160 808AE5D0 8E050168 */ lw $a1, 0x0168($s0) ## 00000168 -/* 00164 808AE5D4 10400011 */ beq $v0, $zero, .L808AE61C -/* 00168 808AE5D8 8FA40024 */ lw $a0, 0x0024($sp) -/* 0016C 808AE5DC 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00170 808AE5E0 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E -/* 00174 808AE5E4 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 00178 808AE5E8 2407285A */ addiu $a3, $zero, 0x285A ## $a3 = 0000285A -/* 0017C 808AE5EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00180 808AE5F0 0C00B56E */ jal Actor_SetHeight - -/* 00184 808AE5F4 3C054248 */ lui $a1, 0x4248 ## $a1 = 42480000 -/* 00188 808AE5F8 8FA40024 */ lw $a0, 0x0024($sp) -/* 0018C 808AE5FC 0C020120 */ jal func_80080480 -/* 00190 808AE600 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00194 808AE604 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00198 808AE608 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 0019C 808AE60C 3C0E808B */ lui $t6, %hi(func_808AE630) ## $t6 = 808B0000 -/* 001A0 808AE610 25CEE630 */ addiu $t6, $t6, %lo(func_808AE630) ## $t6 = 808AE630 -/* 001A4 808AE614 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164 -/* 001A8 808AE618 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068 -.L808AE61C: -/* 001AC 808AE61C 8FBF001C */ lw $ra, 0x001C($sp) -/* 001B0 808AE620 8FB00018 */ lw $s0, 0x0018($sp) -/* 001B4 808AE624 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001B8 808AE628 03E00008 */ jr $ra -/* 001BC 808AE62C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE630.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE630.s deleted file mode 100644 index c9504af5e0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot05_Soko/func_808AE630.s +++ /dev/null @@ -1,33 +0,0 @@ -glabel func_808AE630 -/* 001C0 808AE630 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001C4 808AE634 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001C8 808AE638 AFA5001C */ sw $a1, 0x001C($sp) -/* 001CC 808AE63C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 001D0 808AE640 44813000 */ mtc1 $at, $f6 ## $f6 = 1.50 -/* 001D4 808AE644 C4840068 */ lwc1 $f4, 0x0068($a0) ## 00000068 -/* 001D8 808AE648 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 001DC 808AE64C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 001E0 808AE650 46062202 */ mul.s $f8, $f4, $f6 -/* 001E4 808AE654 44818000 */ mtc1 $at, $f16 ## $f16 = 120.00 -/* 001E8 808AE658 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 001EC 808AE65C E4880040 */ swc1 $f8, 0x0040($a0) ## 00000068 -/* 001F0 808AE660 C4EA000C */ lwc1 $f10, 0x000C($a3) ## 0000000C -/* 001F4 808AE664 8CE60068 */ lw $a2, 0x0068($a3) ## 00000068 -/* 001F8 808AE668 AFA70018 */ sw $a3, 0x0018($sp) -/* 001FC 808AE66C 46105481 */ sub.s $f18, $f10, $f16 -/* 00200 808AE670 44059000 */ mfc1 $a1, $f18 -/* 00204 808AE674 0C01DE80 */ jal Math_ApproxF - -/* 00208 808AE678 00000000 */ nop -/* 0020C 808AE67C 10400003 */ beq $v0, $zero, .L808AE68C -/* 00210 808AE680 8FA70018 */ lw $a3, 0x0018($sp) -/* 00214 808AE684 0C00B55C */ jal Actor_Kill - -/* 00218 808AE688 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -.L808AE68C: -/* 0021C 808AE68C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00220 808AE690 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00224 808AE694 03E00008 */ jr $ra -/* 00228 808AE698 00000000 */ nop - - diff --git a/data/overlays/actors/z_bg_spot05_soko.data.s b/data/overlays/actors/z_bg_spot05_soko.data.s deleted file mode 100644 index 8022c06c6e..0000000000 --- a/data/overlays/actors/z_bg_spot05_soko.data.s +++ /dev/null @@ -1,20 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel Bg_Spot05_Soko_InitVars - .word 0x018D0600, 0x00000000, 0x01610000, 0x0000016C -.word BgSpot05Soko_Init -.word BgSpot05Soko_Destroy -.word BgSpot05Soko_Update -.word BgSpot05Soko_Draw -glabel D_808AE720 - .word 0x48500064 -glabel D_808AE724 - .word 0x06000840, 0x06001190, 0x00000000 - diff --git a/data/overlays/actors/z_bg_spot05_soko.reloc.s b/data/overlays/actors/z_bg_spot05_soko.reloc.s deleted file mode 100644 index 05766685f3..0000000000 --- a/data/overlays/actors/z_bg_spot05_soko.reloc.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata -glabel D_808AE730 - -.incbin "baserom/ovl_Bg_Spot05_Soko", 0x2C0, 0x00000050 From 2a1bf817657f09eadc9cc86750da63fbca3ede49 Mon Sep 17 00:00:00 2001 From: shawlucas Date: Wed, 1 Apr 2020 17:40:56 -0700 Subject: [PATCH 6/7] Removed NULL from dlist tables. Found out it was just padding --- src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c | 1 - src/overlays/actors/ovl_En_Tana/z_en_tana.c | 1 - 2 files changed, 2 deletions(-) diff --git a/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c b/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c index d0bb19a5ba..9422b41fd1 100644 --- a/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c +++ b/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c @@ -40,7 +40,6 @@ static InitChainEntry initChain[] = { static Gfx* dListTbl[] = { 0x06000840, 0x06001190, - NULL, }; static void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_En_Tana/z_en_tana.c b/src/overlays/actors/ovl_En_Tana/z_en_tana.c index 9852a4a22c..abfc007808 100644 --- a/src/overlays/actors/ovl_En_Tana/z_en_tana.c +++ b/src/overlays/actors/ovl_En_Tana/z_en_tana.c @@ -49,7 +49,6 @@ static Gfx* dListTbl2[] = { NULL, 0x06000E08, 0x06001608, - NULL, }; static void EnTana_Init(EnTana* this, GlobalContext* globalCtx) { From 09f430240b48c704df8e305bf2fc85a2237594b9 Mon Sep 17 00:00:00 2001 From: shawlucas Date: Thu, 2 Apr 2020 10:11:31 -0700 Subject: [PATCH 7/7] Made suggested changes --- .../ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c | 19 ++++++++++--------- src/overlays/actors/ovl_En_Tana/z_en_tana.c | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c b/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c index 9422b41fd1..49840b428d 100644 --- a/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c +++ b/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.c @@ -45,8 +45,11 @@ static Gfx* dListTbl[] = { static void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx) { Actor* thisx = &this->dyna.actor; - u32 sp24[2]; - sp24[0] = 0; + u32 pad1; + u32 sp24; + u32 pad2; + + sp24 = 0; Actor_ProcessInitChain(thisx, initChain); this->switchFlag = (thisx->params >> 8) & 0xFF; thisx->params &= 0xFF; @@ -56,18 +59,18 @@ static void BgSpot05Soko_Init(BgSpot05Soko* this, GlobalContext* globalCtx) { if (LINK_IS_ADULT) { Actor_Kill(thisx); } else { - this->actionFunc = &func_808AE5A8; + this->actionFunc = func_808AE5A8; } } else { DynaPolyInfo_Alloc(&D_060012C0, &sp24); if (Flags_GetSwitch(globalCtx, this->switchFlag) != 0) { Actor_Kill(thisx); } else { - this->actionFunc = &func_808AE5B4; + this->actionFunc = func_808AE5B4; thisx->flags |= 0x10; } } - this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, sp24[0]); + this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, sp24); } static void BgSpot05Soko_Destroy(BgSpot05Soko* this, GlobalContext* globalCtx) { @@ -83,7 +86,7 @@ static void func_808AE5B4(BgSpot05Soko* this, GlobalContext* globalCtx) { Audio_PlaySoundAtPosition(globalCtx, &thisx->posRot.pos, 0x1E, NA_SE_EV_METALDOOR_CLOSE); Actor_SetHeight(thisx, 50.0f); func_80080480(globalCtx, thisx); - this->actionFunc = &func_808AE630; + this->actionFunc = func_808AE630; thisx->speedXZ = 0.5f; } } @@ -98,11 +101,9 @@ static void func_808AE630(BgSpot05Soko* this, GlobalContext* globalCtx) { } static void BgSpot05Soko_Update(BgSpot05Soko* this, GlobalContext* globalCtx) { - Actor* thisx = &this->dyna.actor; - this->actionFunc(thisx, globalCtx); + this->actionFunc(this, globalCtx); } -extern Gfx* D_808AE724[]; static void BgSpot05Soko_Draw(BgSpot05Soko* this, GlobalContext* globalCtx) { Gfx_DrawDListOpa(globalCtx, dListTbl[this->dyna.actor.params]); } diff --git a/src/overlays/actors/ovl_En_Tana/z_en_tana.c b/src/overlays/actors/ovl_En_Tana/z_en_tana.c index abfc007808..e812b30470 100644 --- a/src/overlays/actors/ovl_En_Tana/z_en_tana.c +++ b/src/overlays/actors/ovl_En_Tana/z_en_tana.c @@ -55,7 +55,7 @@ static void EnTana_Init(EnTana* this, GlobalContext* globalCtx) { Actor* thisx = &this->actor; osSyncPrintf("☆☆☆ %s ☆☆☆\n", shelfTypes[thisx->params]); Actor_SetScale(thisx, 1.0f); - thisx->flags &= 0xFFFFFFFE; + thisx->flags &= ~1; thisx->draw = drawFuncs[thisx->params]; }