diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Destroy.s deleted file mode 100644 index 7023d911ff..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel BgHidanCurtain_Destroy -/* 0026C 8088540C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00270 80885410 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00274 80885414 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00278 80885418 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0027C 8088541C 0C0170EB */ jal Collider_DestroyCylinder - -/* 00280 80885420 24C50158 */ addiu $a1, $a2, 0x0158 ## $a1 = 00000158 -/* 00284 80885424 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00288 80885428 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0028C 8088542C 03E00008 */ jr $ra -/* 00290 80885430 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Draw.s deleted file mode 100644 index 98e47a5ad2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Draw.s +++ /dev/null @@ -1,112 +0,0 @@ -.rdata -glabel D_80885CCC - .asciz "../z_bg_hidan_curtain.c" - .balign 4 - -glabel D_80885CE4 - .asciz "../z_bg_hidan_curtain.c" - .balign 4 - -glabel D_80885CFC - .asciz "../z_bg_hidan_curtain.c" - .balign 4 - -.text -glabel BgHidanCurtain_Draw -/* 0084C 808859EC 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90 -/* 00850 808859F0 AFB10038 */ sw $s1, 0x0038($sp) -/* 00854 808859F4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00858 808859F8 AFBF003C */ sw $ra, 0x003C($sp) -/* 0085C 808859FC AFB00034 */ sw $s0, 0x0034($sp) -/* 00860 80885A00 AFA40070 */ sw $a0, 0x0070($sp) -/* 00864 80885A04 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00868 80885A08 3C068088 */ lui $a2, %hi(D_80885CCC) ## $a2 = 80880000 -/* 0086C 80885A0C 24C65CCC */ addiu $a2, $a2, %lo(D_80885CCC) ## $a2 = 80885CCC -/* 00870 80885A10 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8 -/* 00874 80885A14 240702AD */ addiu $a3, $zero, 0x02AD ## $a3 = 000002AD -/* 00878 80885A18 0C031AB1 */ jal Graph_OpenDisps -/* 0087C 80885A1C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00880 80885A20 0C024F61 */ jal func_80093D84 -/* 00884 80885A24 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00888 80885A28 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 0088C 80885A2C 8FA90070 */ lw $t1, 0x0070($sp) -/* 00890 80885A30 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000 -/* 00894 80885A34 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00898 80885A38 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 0089C 80885A3C 35EF8080 */ ori $t7, $t7, 0x8080 ## $t7 = FA008080 -/* 008A0 80885A40 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 008A4 80885A44 91390153 */ lbu $t9, 0x0153($t1) ## 00000153 -/* 008A8 80885A48 3C01FFDC */ lui $at, 0xFFDC ## $at = FFDC0000 -/* 008AC 80885A4C 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 008B0 80885A50 03215025 */ or $t2, $t9, $at ## $t2 = FFDC0000 -/* 008B4 80885A54 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 008B8 80885A58 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 008BC 80885A5C 3C0DFF00 */ lui $t5, 0xFF00 ## $t5 = FF000000 -/* 008C0 80885A60 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000 -/* 008C4 80885A64 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 008C8 80885A68 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 008CC 80885A6C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 008D0 80885A70 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 008D4 80885A74 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 008D8 80885A78 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020 -/* 008DC 80885A7C 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020 -/* 008E0 80885A80 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 008E4 80885A84 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 008E8 80885A88 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 008EC 80885A8C 85230156 */ lh $v1, 0x0156($t1) ## 00000156 -/* 008F0 80885A90 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 008F4 80885A94 240E0040 */ addiu $t6, $zero, 0x0040 ## $t6 = 00000040 -/* 008F8 80885A98 00030823 */ subu $at, $zero, $v1 -/* 008FC 80885A9C 00015900 */ sll $t3, $at, 4 -/* 00900 80885AA0 01615823 */ subu $t3, $t3, $at -/* 00904 80885AA4 316C00FF */ andi $t4, $t3, 0x00FF ## $t4 = 00000008 -/* 00908 80885AA8 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 0090C 80885AAC 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040 -/* 00910 80885AB0 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020 -/* 00914 80885AB4 AFB80010 */ sw $t8, 0x0010($sp) -/* 00918 80885AB8 AFB90014 */ sw $t9, 0x0014($sp) -/* 0091C 80885ABC AFAA0018 */ sw $t2, 0x0018($sp) -/* 00920 80885AC0 AFAC0020 */ sw $t4, 0x0020($sp) -/* 00924 80885AC4 AFAE0028 */ sw $t6, 0x0028($sp) -/* 00928 80885AC8 AFAD0024 */ sw $t5, 0x0024($sp) -/* 0092C 80885ACC AFA0001C */ sw $zero, 0x001C($sp) -/* 00930 80885AD0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00934 80885AD4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00938 80885AD8 AFA2004C */ sw $v0, 0x004C($sp) -/* 0093C 80885ADC 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00940 80885AE0 3066007F */ andi $a2, $v1, 0x007F ## $a2 = 00000000 -/* 00944 80885AE4 8FA8004C */ lw $t0, 0x004C($sp) -/* 00948 80885AE8 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000 -/* 0094C 80885AEC 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003 -/* 00950 80885AF0 AD020004 */ sw $v0, 0x0004($t0) ## 00000004 -/* 00954 80885AF4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00958 80885AF8 3C058088 */ lui $a1, %hi(D_80885CE4) ## $a1 = 80880000 -/* 0095C 80885AFC 24A55CE4 */ addiu $a1, $a1, %lo(D_80885CE4) ## $a1 = 80885CE4 -/* 00960 80885B00 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00964 80885B04 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 00968 80885B08 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 0096C 80885B0C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00970 80885B10 240602BA */ addiu $a2, $zero, 0x02BA ## $a2 = 000002BA -/* 00974 80885B14 0C0346A2 */ jal Matrix_NewMtx -/* 00978 80885B18 AFA20048 */ sw $v0, 0x0048($sp) -/* 0097C 80885B1C 8FA30048 */ lw $v1, 0x0048($sp) -/* 00980 80885B20 3C0B0402 */ lui $t3, 0x0402 ## $t3 = 04020000 -/* 00984 80885B24 256B84B0 */ addiu $t3, $t3, 0x84B0 ## $t3 = 040184B0 -/* 00988 80885B28 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0098C 80885B2C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00990 80885B30 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 00994 80885B34 3C068088 */ lui $a2, %hi(D_80885CFC) ## $a2 = 80880000 -/* 00998 80885B38 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 0099C 80885B3C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 009A0 80885B40 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 009A4 80885B44 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 009A8 80885B48 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 009AC 80885B4C 24C65CFC */ addiu $a2, $a2, %lo(D_80885CFC) ## $a2 = 80885CFC -/* 009B0 80885B50 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8 -/* 009B4 80885B54 0C031AD5 */ jal Graph_CloseDisps -/* 009B8 80885B58 240702BE */ addiu $a3, $zero, 0x02BE ## $a3 = 000002BE -/* 009BC 80885B5C 8FBF003C */ lw $ra, 0x003C($sp) -/* 009C0 80885B60 8FB00034 */ lw $s0, 0x0034($sp) -/* 009C4 80885B64 8FB10038 */ lw $s1, 0x0038($sp) -/* 009C8 80885B68 03E00008 */ jr $ra -/* 009CC 80885B6C 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Init.s deleted file mode 100644 index 8fb3fd963f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Init.s +++ /dev/null @@ -1,206 +0,0 @@ -.rdata -glabel D_80885BF0 - .asciz "Curtain (arg_data 0x%04x)\n" - .balign 4 - -glabel D_80885C0C - .asciz "Error : object のタイプが設定されていない(%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80885C50 - .asciz "../z_bg_hidan_curtain.c" - .balign 4 - -glabel D_80885C68 - .asciz "Warning : object のセーブビットが設定されていない(%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80885CB4 - .asciz "../z_bg_hidan_curtain.c" - .balign 4 - -.text -glabel BgHidanCurtain_Init -/* 00000 808851A0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00004 808851A4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00008 808851A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0000C 808851AC AFBF001C */ sw $ra, 0x001C($sp) -/* 00010 808851B0 AFA50034 */ sw $a1, 0x0034($sp) -/* 00014 808851B4 3C048088 */ lui $a0, %hi(D_80885BF0) ## $a0 = 80880000 -/* 00018 808851B8 24845BF0 */ addiu $a0, $a0, %lo(D_80885BF0) ## $a0 = 80885BF0 -/* 0001C 808851BC 0C00084C */ jal osSyncPrintf - -/* 00020 808851C0 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 00024 808851C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00028 808851C8 0C00B56E */ jal Actor_SetHeight - -/* 0002C 808851CC 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000 -/* 00030 808851D0 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 00034 808851D4 000E7B03 */ sra $t7, $t6, 12 -/* 00038 808851D8 31F8000F */ andi $t8, $t7, 0x000F ## $t8 = 00000000 -/* 0003C 808851DC 330200FF */ andi $v0, $t8, 0x00FF ## $v0 = 00000000 -/* 00040 808851E0 28410007 */ slti $at, $v0, 0x0007 -/* 00044 808851E4 1420000C */ bne $at, $zero, .L80885218 -/* 00048 808851E8 A2180150 */ sb $t8, 0x0150($s0) ## 00000150 -/* 0004C 808851EC 3C048088 */ lui $a0, %hi(D_80885C0C) ## $a0 = 80880000 -/* 00050 808851F0 3C058088 */ lui $a1, %hi(D_80885C50) ## $a1 = 80880000 -/* 00054 808851F4 24A55C50 */ addiu $a1, $a1, %lo(D_80885C50) ## $a1 = 80885C50 -/* 00058 808851F8 24845C0C */ addiu $a0, $a0, %lo(D_80885C0C) ## $a0 = 80885C0C -/* 0005C 808851FC 24060160 */ addiu $a2, $zero, 0x0160 ## $a2 = 00000160 -/* 00060 80885200 0C00084C */ jal osSyncPrintf - -/* 00064 80885204 8607001C */ lh $a3, 0x001C($s0) ## 0000001C -/* 00068 80885208 0C00B55C */ jal Actor_Kill - -/* 0006C 8088520C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00070 80885210 1000007A */ beq $zero, $zero, .L808853FC -/* 00074 80885214 8FBF001C */ lw $ra, 0x001C($sp) -.L80885218: -/* 00078 80885218 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 0007C 8088521C 10410002 */ beq $v0, $at, .L80885228 -/* 00080 80885220 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00084 80885224 14410003 */ bne $v0, $at, .L80885234 -.L80885228: -/* 00088 80885228 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 0008C 8088522C 10000002 */ beq $zero, $zero, .L80885238 -/* 00090 80885230 A2190152 */ sb $t9, 0x0152($s0) ## 00000152 -.L80885234: -/* 00094 80885234 A2000152 */ sb $zero, 0x0152($s0) ## 00000152 -.L80885238: -/* 00098 80885238 92080152 */ lbu $t0, 0x0152($s0) ## 00000152 -/* 0009C 8088523C 3C0A8088 */ lui $t2, %hi(D_80885BA4) ## $t2 = 80880000 -/* 000A0 80885240 254A5BA4 */ addiu $t2, $t2, %lo(D_80885BA4) ## $t2 = 80885BA4 -/* 000A4 80885244 00084900 */ sll $t1, $t0, 4 -/* 000A8 80885248 012A5821 */ addu $t3, $t1, $t2 -/* 000AC 8088524C AFAB0024 */ sw $t3, 0x0024($sp) -/* 000B0 80885250 860F001C */ lh $t7, 0x001C($s0) ## 0000001C -/* 000B4 80885254 860C001C */ lh $t4, 0x001C($s0) ## 0000001C -/* 000B8 80885258 3C048088 */ lui $a0, %hi(D_80885C68) ## $a0 = 80880000 -/* 000BC 8088525C 31F8003F */ andi $t8, $t7, 0x003F ## $t8 = 00000000 -/* 000C0 80885260 A618001C */ sh $t8, 0x001C($s0) ## 0000001C -/* 000C4 80885264 8607001C */ lh $a3, 0x001C($s0) ## 0000001C -/* 000C8 80885268 000C6983 */ sra $t5, $t4, 6 -/* 000CC 8088526C 31AE003F */ andi $t6, $t5, 0x003F ## $t6 = 00000000 -/* 000D0 80885270 04E00003 */ bltz $a3, .L80885280 -/* 000D4 80885274 A20E0151 */ sb $t6, 0x0151($s0) ## 00000151 -/* 000D8 80885278 28E10040 */ slti $at, $a3, 0x0040 -/* 000DC 8088527C 14200005 */ bne $at, $zero, .L80885294 -.L80885280: -/* 000E0 80885280 3C058088 */ lui $a1, %hi(D_80885CB4) ## $a1 = 80880000 -/* 000E4 80885284 24A55CB4 */ addiu $a1, $a1, %lo(D_80885CB4) ## $a1 = 80885CB4 -/* 000E8 80885288 24845C68 */ addiu $a0, $a0, %lo(D_80885C68) ## $a0 = 80885C68 -/* 000EC 8088528C 0C00084C */ jal osSyncPrintf - -/* 000F0 80885290 24060175 */ addiu $a2, $zero, 0x0175 ## $a2 = 00000175 -.L80885294: -/* 000F4 80885294 8FB90024 */ lw $t9, 0x0024($sp) -/* 000F8 80885298 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000FC 8088529C 0C00B58B */ jal Actor_SetScale - -/* 00100 808852A0 8F250004 */ lw $a1, 0x0004($t9) ## 00000004 -/* 00104 808852A4 26050158 */ addiu $a1, $s0, 0x0158 ## $a1 = 00000158 -/* 00108 808852A8 AFA50020 */ sw $a1, 0x0020($sp) -/* 0010C 808852AC 0C0170D9 */ jal Collider_InitCylinder - -/* 00110 808852B0 8FA40034 */ lw $a0, 0x0034($sp) -/* 00114 808852B4 3C078088 */ lui $a3, %hi(D_80885B70) ## $a3 = 80880000 -/* 00118 808852B8 24E75B70 */ addiu $a3, $a3, %lo(D_80885B70) ## $a3 = 80885B70 -/* 0011C 808852BC 8FA40034 */ lw $a0, 0x0034($sp) -/* 00120 808852C0 8FA50020 */ lw $a1, 0x0020($sp) -/* 00124 808852C4 0C01712B */ jal Collider_SetCylinder - -/* 00128 808852C8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0012C 808852CC C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024 -/* 00130 808852D0 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028 -/* 00134 808852D4 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C -/* 00138 808852D8 4600218D */ trunc.w.s $f6, $f4 -/* 0013C 808852DC 8FA30024 */ lw $v1, 0x0024($sp) -/* 00140 808852E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00144 808852E4 4600428D */ trunc.w.s $f10, $f8 -/* 00148 808852E8 44093000 */ mfc1 $t1, $f6 -/* 0014C 808852EC 4600848D */ trunc.w.s $f18, $f16 -/* 00150 808852F0 440B5000 */ mfc1 $t3, $f10 -/* 00154 808852F4 A609019E */ sh $t1, 0x019E($s0) ## 0000019E -/* 00158 808852F8 440D9000 */ mfc1 $t5, $f18 -/* 0015C 808852FC A60B01A0 */ sh $t3, 0x01A0($s0) ## 000001A0 -/* 00160 80885300 A60D01A2 */ sh $t5, 0x01A2($s0) ## 000001A2 -/* 00164 80885304 846E0000 */ lh $t6, 0x0000($v1) ## 00000000 -/* 00168 80885308 A60E0198 */ sh $t6, 0x0198($s0) ## 00000198 -/* 0016C 8088530C 846F0002 */ lh $t7, 0x0002($v1) ## 00000002 -/* 00170 80885310 A60F019A */ sh $t7, 0x019A($s0) ## 0000019A -/* 00174 80885314 0C0189B7 */ jal Collider_CylinderUpdate - -/* 00178 80885318 8FA50020 */ lw $a1, 0x0020($sp) -/* 0017C 8088531C 3C068088 */ lui $a2, %hi(D_80885B9C) ## $a2 = 80880000 -/* 00180 80885320 24C65B9C */ addiu $a2, $a2, %lo(D_80885B9C) ## $a2 = 80885B9C -/* 00184 80885324 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098 -/* 00188 80885328 0C0187B5 */ jal func_80061ED4 -/* 0018C 8088532C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00190 80885330 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 00194 80885334 3C198088 */ lui $t9, %hi(func_80885434) ## $t9 = 80880000 -/* 00198 80885338 27395434 */ addiu $t9, $t9, %lo(func_80885434) ## $t9 = 80885434 -/* 0019C 8088533C 14400006 */ bne $v0, $zero, .L80885358 -/* 001A0 80885340 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 001A4 80885344 3C188088 */ lui $t8, %hi(func_80885514) ## $t8 = 80880000 -/* 001A8 80885348 27185514 */ addiu $t8, $t8, %lo(func_80885514) ## $t8 = 80885514 -/* 001AC 8088534C AE18014C */ sw $t8, 0x014C($s0) ## 0000014C -/* 001B0 80885350 1000000C */ beq $zero, $zero, .L80885384 -/* 001B4 80885354 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -.L80885358: -/* 001B8 80885358 10410004 */ beq $v0, $at, .L8088536C -/* 001BC 8088535C AE19014C */ sw $t9, 0x014C($s0) ## 0000014C -/* 001C0 80885360 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 001C4 80885364 54410008 */ bnel $v0, $at, .L80885388 -/* 001C8 80885368 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L8088536C: -/* 001CC 8088536C 8FA80024 */ lw $t0, 0x0024($sp) -/* 001D0 80885370 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C -/* 001D4 80885374 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 001D8 80885378 C5060008 */ lwc1 $f6, 0x0008($t0) ## 00000008 -/* 001DC 8088537C 46062201 */ sub.s $f8, $f4, $f6 -/* 001E0 80885380 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028 -.L80885384: -/* 001E4 80885384 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L80885388: -/* 001E8 80885388 14410006 */ bne $v0, $at, .L808853A4 -/* 001EC 8088538C 8FA40034 */ lw $a0, 0x0034($sp) -/* 001F0 80885390 0C00B32C */ jal Flags_GetTreasure - -/* 001F4 80885394 92050151 */ lbu $a1, 0x0151($s0) ## 00000151 -/* 001F8 80885398 1440000B */ bne $v0, $zero, .L808853C8 -/* 001FC 8088539C 00000000 */ nop -/* 00200 808853A0 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -.L808853A4: -/* 00204 808853A4 10400003 */ beq $v0, $zero, .L808853B4 -/* 00208 808853A8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 0020C 808853AC 14410008 */ bne $v0, $at, .L808853D0 -/* 00210 808853B0 00000000 */ nop -.L808853B4: -/* 00214 808853B4 8FA40034 */ lw $a0, 0x0034($sp) -/* 00218 808853B8 0C00B337 */ jal Flags_GetClear - -/* 0021C 808853BC 82050003 */ lb $a1, 0x0003($s0) ## 00000003 -/* 00220 808853C0 10400003 */ beq $v0, $zero, .L808853D0 -/* 00224 808853C4 00000000 */ nop -.L808853C8: -/* 00228 808853C8 0C00B55C */ jal Actor_Kill - -/* 0022C 808853CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L808853D0: -/* 00230 808853D0 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00234 808853D4 00000000 */ nop -/* 00238 808853D8 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 0023C 808853DC 44815000 */ mtc1 $at, $f10 ## $f10 = 15.00 -/* 00240 808853E0 00000000 */ nop -/* 00244 808853E4 460A0402 */ mul.s $f16, $f0, $f10 -/* 00248 808853E8 4600848D */ trunc.w.s $f18, $f16 -/* 0024C 808853EC 440A9000 */ mfc1 $t2, $f18 -/* 00250 808853F0 00000000 */ nop -/* 00254 808853F4 A60A0156 */ sh $t2, 0x0156($s0) ## 00000156 -/* 00258 808853F8 8FBF001C */ lw $ra, 0x001C($sp) -.L808853FC: -/* 0025C 808853FC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00260 80885400 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00264 80885404 03E00008 */ jr $ra -/* 00268 80885408 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Update.s deleted file mode 100644 index 73c1161ea2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Update.s +++ /dev/null @@ -1,183 +0,0 @@ -glabel BgHidanCurtain_Update -/* 005B8 80885758 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 005BC 8088575C AFBF0024 */ sw $ra, 0x0024($sp) -/* 005C0 80885760 AFB10020 */ sw $s1, 0x0020($sp) -/* 005C4 80885764 AFB0001C */ sw $s0, 0x001C($sp) -/* 005C8 80885768 8CB90790 */ lw $t9, 0x0790($a1) ## 00000790 -/* 005CC 8088576C 908E0152 */ lbu $t6, 0x0152($a0) ## 00000152 -/* 005D0 80885770 3C188088 */ lui $t8, %hi(D_80885BA4) ## $t8 = 80880000 -/* 005D4 80885774 87220142 */ lh $v0, 0x0142($t9) ## 00000142 -/* 005D8 80885778 27185BA4 */ addiu $t8, $t8, %lo(D_80885BA4) ## $t8 = 80885BA4 -/* 005DC 8088577C 24010028 */ addiu $at, $zero, 0x0028 ## $at = 00000028 -/* 005E0 80885780 000E7900 */ sll $t7, $t6, 4 -/* 005E4 80885784 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 005E8 80885788 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 005EC 8088578C 10410004 */ beq $v0, $at, .L808857A0 -/* 005F0 80885790 01F81821 */ addu $v1, $t7, $t8 -/* 005F4 80885794 24010038 */ addiu $at, $zero, 0x0038 ## $at = 00000038 -/* 005F8 80885798 54410006 */ bnel $v0, $at, .L808857B4 -/* 005FC 8088579C 92020168 */ lbu $v0, 0x0168($s0) ## 00000168 -.L808857A0: -/* 00600 808857A0 92080168 */ lbu $t0, 0x0168($s0) ## 00000168 -/* 00604 808857A4 3109FFFD */ andi $t1, $t0, 0xFFFD ## $t1 = 00000000 -/* 00608 808857A8 1000008B */ beq $zero, $zero, .L808859D8 -/* 0060C 808857AC A2090168 */ sb $t1, 0x0168($s0) ## 00000168 -/* 00610 808857B0 92020168 */ lbu $v0, 0x0168($s0) ## 00000168 -.L808857B4: -/* 00614 808857B4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00618 808857B8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 0061C 808857BC 304A0002 */ andi $t2, $v0, 0x0002 ## $t2 = 00000000 -/* 00620 808857C0 1140000A */ beq $t2, $zero, .L808857EC -/* 00624 808857C4 304BFFFD */ andi $t3, $v0, 0xFFFD ## $t3 = 00000000 -/* 00628 808857C8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0062C 808857CC 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00630 808857D0 A20B0168 */ sb $t3, 0x0168($s0) ## 00000168 -/* 00634 808857D4 8607008A */ lh $a3, 0x008A($s0) ## 0000008A -/* 00638 808857D8 AFA30034 */ sw $v1, 0x0034($sp) -/* 0063C 808857DC 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000 -/* 00640 808857E0 0C00BDC7 */ jal func_8002F71C -/* 00644 808857E4 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00648 808857E8 8FA30034 */ lw $v1, 0x0034($sp) -.L808857EC: -/* 0064C 808857EC 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 00650 808857F0 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00654 808857F4 10410003 */ beq $v0, $at, .L80885804 -/* 00658 808857F8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 0065C 808857FC 54410009 */ bnel $v0, $at, .L80885824 -/* 00660 80885800 AFA30034 */ sw $v1, 0x0034($sp) -.L80885804: -/* 00664 80885804 C600000C */ lwc1 $f0, 0x000C($s0) ## 0000000C -/* 00668 80885808 C4680008 */ lwc1 $f8, 0x0008($v1) ## 00000008 -/* 0066C 8088580C C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 00670 80885810 46000180 */ add.s $f6, $f0, $f0 -/* 00674 80885814 46083281 */ sub.s $f10, $f6, $f8 -/* 00678 80885818 46105481 */ sub.s $f18, $f10, $f16 -/* 0067C 8088581C E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028 -/* 00680 80885820 AFA30034 */ sw $v1, 0x0034($sp) -.L80885824: -/* 00684 80885824 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C -/* 00688 80885828 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0068C 8088582C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00690 80885830 0320F809 */ jalr $ra, $t9 -/* 00694 80885834 00000000 */ nop -/* 00698 80885838 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 0069C 8088583C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 006A0 80885840 8FA30034 */ lw $v1, 0x0034($sp) -/* 006A4 80885844 10410003 */ beq $v0, $at, .L80885854 -/* 006A8 80885848 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 006AC 8088584C 54410009 */ bnel $v0, $at, .L80885874 -/* 006B0 80885850 C612000C */ lwc1 $f18, 0x000C($s0) ## 0000000C -.L80885854: -/* 006B4 80885854 C600000C */ lwc1 $f0, 0x000C($s0) ## 0000000C -/* 006B8 80885858 C4660008 */ lwc1 $f6, 0x0008($v1) ## 00000008 -/* 006BC 8088585C C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028 -/* 006C0 80885860 46000100 */ add.s $f4, $f0, $f0 -/* 006C4 80885864 46062201 */ sub.s $f8, $f4, $f6 -/* 006C8 80885868 460A4401 */ sub.s $f16, $f8, $f10 -/* 006CC 8088586C E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028 -/* 006D0 80885870 C612000C */ lwc1 $f18, 0x000C($s0) ## 0000000C -.L80885874: -/* 006D4 80885874 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 006D8 80885878 C4600008 */ lwc1 $f0, 0x0008($v1) ## 00000008 -/* 006DC 8088587C 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 006E0 80885880 46049181 */ sub.s $f6, $f18, $f4 -/* 006E4 80885884 44815000 */ mtc1 $at, $f10 ## $f10 = 255.00 -/* 006E8 80885888 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 006EC 8088588C 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 006F0 80885890 46060201 */ sub.s $f8, $f0, $f6 -/* 006F4 80885894 46004083 */ div.s $f2, $f8, $f0 -/* 006F8 80885898 46025402 */ mul.s $f16, $f10, $f2 -/* 006FC 8088589C 444CF800 */ cfc1 $t4, $31 -/* 00700 808858A0 44CDF800 */ ctc1 $t5, $31 -/* 00704 808858A4 00000000 */ nop -/* 00708 808858A8 460084A4 */ cvt.w.s $f18, $f16 -/* 0070C 808858AC 444DF800 */ cfc1 $t5, $31 -/* 00710 808858B0 00000000 */ nop -/* 00714 808858B4 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000 -/* 00718 808858B8 51A00013 */ beql $t5, $zero, .L80885908 -/* 0071C 808858BC 440D9000 */ mfc1 $t5, $f18 -/* 00720 808858C0 44819000 */ mtc1 $at, $f18 ## $f18 = 2147483648.00 -/* 00724 808858C4 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 00728 808858C8 46128481 */ sub.s $f18, $f16, $f18 -/* 0072C 808858CC 44CDF800 */ ctc1 $t5, $31 -/* 00730 808858D0 00000000 */ nop -/* 00734 808858D4 460094A4 */ cvt.w.s $f18, $f18 -/* 00738 808858D8 444DF800 */ cfc1 $t5, $31 -/* 0073C 808858DC 00000000 */ nop -/* 00740 808858E0 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000 -/* 00744 808858E4 15A00005 */ bne $t5, $zero, .L808858FC -/* 00748 808858E8 00000000 */ nop -/* 0074C 808858EC 440D9000 */ mfc1 $t5, $f18 -/* 00750 808858F0 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00754 808858F4 10000007 */ beq $zero, $zero, .L80885914 -/* 00758 808858F8 01A16825 */ or $t5, $t5, $at ## $t5 = 80000000 -.L808858FC: -/* 0075C 808858FC 10000005 */ beq $zero, $zero, .L80885914 -/* 00760 80885900 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF -/* 00764 80885904 440D9000 */ mfc1 $t5, $f18 -.L80885908: -/* 00768 80885908 00000000 */ nop -/* 0076C 8088590C 05A0FFFB */ bltz $t5, .L808858FC -/* 00770 80885910 00000000 */ nop -.L80885914: -/* 00774 80885914 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 000000FF -/* 00778 80885918 44CCF800 */ ctc1 $t4, $31 -/* 0077C 8088591C 29C10033 */ slti $at, $t6, 0x0033 -/* 00780 80885920 1420001F */ bne $at, $zero, .L808859A0 -/* 00784 80885924 A20D0153 */ sb $t5, 0x0153($s0) ## 00000153 -/* 00788 80885928 846F0002 */ lh $t7, 0x0002($v1) ## 00000002 -/* 0078C 8088592C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00790 80885930 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00794 80885934 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 00798 80885938 02212821 */ addu $a1, $s1, $at -/* 0079C 8088593C 26060158 */ addiu $a2, $s0, 0x0158 ## $a2 = 00000158 -/* 007A0 80885940 468021A0 */ cvt.s.w $f6, $f4 -/* 007A4 80885944 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 007A8 80885948 46023202 */ mul.s $f8, $f6, $f2 -/* 007AC 8088594C 4600428D */ trunc.w.s $f10, $f8 -/* 007B0 80885950 44085000 */ mfc1 $t0, $f10 -/* 007B4 80885954 00000000 */ nop -/* 007B8 80885958 A608019A */ sh $t0, 0x019A($s0) ## 0000019A -/* 007BC 8088595C AFA60028 */ sw $a2, 0x0028($sp) -/* 007C0 80885960 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 007C4 80885964 AFA5002C */ sw $a1, 0x002C($sp) -/* 007C8 80885968 8FA5002C */ lw $a1, 0x002C($sp) -/* 007CC 8088596C 8FA60028 */ lw $a2, 0x0028($sp) -/* 007D0 80885970 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 007D4 80885974 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 007D8 80885978 3C098016 */ lui $t1, %hi(gSaveContext+0x1360) -/* 007DC 8088597C 8D29F9C0 */ lw $t1, %lo(gSaveContext+0x1360)($t1) -/* 007E0 80885980 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007E4 80885984 29210004 */ slti $at, $t1, 0x0004 -/* 007E8 80885988 50200011 */ beql $at, $zero, .L808859D0 -/* 007EC 8088598C 860B0156 */ lh $t3, 0x0156($s0) ## 00000156 -/* 007F0 80885990 0C00BE5D */ jal func_8002F974 -/* 007F4 80885994 240520A3 */ addiu $a1, $zero, 0x20A3 ## $a1 = 000020A3 -/* 007F8 80885998 1000000D */ beq $zero, $zero, .L808859D0 -/* 007FC 8088599C 860B0156 */ lh $t3, 0x0156($s0) ## 00000156 -.L808859A0: -/* 00800 808859A0 920A0150 */ lbu $t2, 0x0150($s0) ## 00000150 -/* 00804 808859A4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00808 808859A8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0080C 808859AC 55410008 */ bnel $t2, $at, .L808859D0 -/* 00810 808859B0 860B0156 */ lh $t3, 0x0156($s0) ## 00000156 -/* 00814 808859B4 0C00B32C */ jal Flags_GetTreasure - -/* 00818 808859B8 92050151 */ lbu $a1, 0x0151($s0) ## 00000151 -/* 0081C 808859BC 50400004 */ beql $v0, $zero, .L808859D0 -/* 00820 808859C0 860B0156 */ lh $t3, 0x0156($s0) ## 00000156 -/* 00824 808859C4 0C00B55C */ jal Actor_Kill - -/* 00828 808859C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0082C 808859CC 860B0156 */ lh $t3, 0x0156($s0) ## 00000156 -.L808859D0: -/* 00830 808859D0 25790001 */ addiu $t9, $t3, 0x0001 ## $t9 = 00000001 -/* 00834 808859D4 A6190156 */ sh $t9, 0x0156($s0) ## 00000156 -.L808859D8: -/* 00838 808859D8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0083C 808859DC 8FB0001C */ lw $s0, 0x001C($sp) -/* 00840 808859E0 8FB10020 */ lw $s1, 0x0020($sp) -/* 00844 808859E4 03E00008 */ jr $ra -/* 00848 808859E8 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885434.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885434.s deleted file mode 100644 index 1667413af6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885434.s +++ /dev/null @@ -1,50 +0,0 @@ -glabel func_80885434 -/* 00294 80885434 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00298 80885438 AFB00020 */ sw $s0, 0x0020($sp) -/* 0029C 8088543C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 002A0 80885440 AFBF0024 */ sw $ra, 0x0024($sp) -/* 002A4 80885444 AFA5002C */ sw $a1, 0x002C($sp) -/* 002A8 80885448 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 002AC 8088544C 0C00B2D0 */ jal Flags_GetSwitch - -/* 002B0 80885450 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 002B4 80885454 1040001F */ beq $v0, $zero, .L808854D4 -/* 002B8 80885458 8FA4002C */ lw $a0, 0x002C($sp) -/* 002BC 8088545C 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 002C0 80885460 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 002C4 80885464 3C0E8088 */ lui $t6, %hi(func_808854E8) ## $t6 = 80880000 -/* 002C8 80885468 1441000A */ bne $v0, $at, .L80885494 -/* 002CC 8088546C 25CE54E8 */ addiu $t6, $t6, %lo(func_808854E8) ## $t6 = 808854E8 -/* 002D0 80885470 AE0E014C */ sw $t6, 0x014C($s0) ## 0000014C -/* 002D4 80885474 AFA00010 */ sw $zero, 0x0010($sp) -/* 002D8 80885478 24050D16 */ addiu $a1, $zero, 0x0D16 ## $a1 = 00000D16 -/* 002DC 8088547C 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D -/* 002E0 80885480 0C02003E */ jal func_800800F8 -/* 002E4 80885484 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000 -/* 002E8 80885488 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032 -/* 002EC 8088548C 10000011 */ beq $zero, $zero, .L808854D4 -/* 002F0 80885490 A60F0154 */ sh $t7, 0x0154($s0) ## 00000154 -.L80885494: -/* 002F4 80885494 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 002F8 80885498 1441000C */ bne $v0, $at, .L808854CC -/* 002FC 8088549C 3C088088 */ lui $t0, %hi(func_80885604) ## $t0 = 80880000 -/* 00300 808854A0 3C188088 */ lui $t8, %hi(func_808854E8) ## $t8 = 80880000 -/* 00304 808854A4 271854E8 */ addiu $t8, $t8, %lo(func_808854E8) ## $t8 = 808854E8 -/* 00308 808854A8 AE18014C */ sw $t8, 0x014C($s0) ## 0000014C -/* 0030C 808854AC AFA00010 */ sw $zero, 0x0010($sp) -/* 00310 808854B0 24050D20 */ addiu $a1, $zero, 0x0D20 ## $a1 = 00000D20 -/* 00314 808854B4 2406003C */ addiu $a2, $zero, 0x003C ## $a2 = 0000003C -/* 00318 808854B8 0C02003E */ jal func_800800F8 -/* 0031C 808854BC 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000 -/* 00320 808854C0 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E -/* 00324 808854C4 10000003 */ beq $zero, $zero, .L808854D4 -/* 00328 808854C8 A6190154 */ sh $t9, 0x0154($s0) ## 00000154 -.L808854CC: -/* 0032C 808854CC 25085604 */ addiu $t0, $t0, %lo(func_80885604) ## $t0 = 00005604 -/* 00330 808854D0 AE08014C */ sw $t0, 0x014C($s0) ## 0000014C -.L808854D4: -/* 00334 808854D4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00338 808854D8 8FB00020 */ lw $s0, 0x0020($sp) -/* 0033C 808854DC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00340 808854E0 03E00008 */ jr $ra -/* 00344 808854E4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_808854E8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_808854E8.s deleted file mode 100644 index c1505b6202..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_808854E8.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_808854E8 -/* 00348 808854E8 AFA50004 */ sw $a1, 0x0004($sp) -/* 0034C 808854EC 84830154 */ lh $v1, 0x0154($a0) ## 00000154 -/* 00350 808854F0 3C0F8088 */ lui $t7, %hi(func_80885604) ## $t7 = 80880000 -/* 00354 808854F4 25EF5604 */ addiu $t7, $t7, %lo(func_80885604) ## $t7 = 80885604 -/* 00358 808854F8 2C620001 */ sltiu $v0, $v1, 0x0001 -/* 0035C 808854FC 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 00360 80885500 10400002 */ beq $v0, $zero, .L8088550C -/* 00364 80885504 A48E0154 */ sh $t6, 0x0154($a0) ## 00000154 -/* 00368 80885508 AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C -.L8088550C: -/* 0036C 8088550C 03E00008 */ jr $ra -/* 00370 80885510 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885514.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885514.s deleted file mode 100644 index c6b57b6f76..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885514.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_80885514 -/* 00374 80885514 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00378 80885518 AFA40018 */ sw $a0, 0x0018($sp) -/* 0037C 8088551C 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00380 80885520 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00384 80885524 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00388 80885528 0C00B337 */ jal Flags_GetClear - -/* 0038C 8088552C 81C50003 */ lb $a1, 0x0003($t6) ## 00000003 -/* 00390 80885530 10400004 */ beq $v0, $zero, .L80885544 -/* 00394 80885534 8FB80018 */ lw $t8, 0x0018($sp) -/* 00398 80885538 3C0F8088 */ lui $t7, %hi(func_80885604) ## $t7 = 80880000 -/* 0039C 8088553C 25EF5604 */ addiu $t7, $t7, %lo(func_80885604) ## $t7 = 80885604 -/* 003A0 80885540 AF0F014C */ sw $t7, 0x014C($t8) ## 0000014C -.L80885544: -/* 003A4 80885544 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003A8 80885548 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003AC 8088554C 03E00008 */ jr $ra -/* 003B0 80885550 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885554.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885554.s deleted file mode 100644 index 52b8380577..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885554.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_80885554 -/* 003B4 80885554 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003B8 80885558 AFA40018 */ sw $a0, 0x0018($sp) -/* 003BC 8088555C 8FAE0018 */ lw $t6, 0x0018($sp) -/* 003C0 80885560 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003C4 80885564 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 003C8 80885568 0C00B2D0 */ jal Flags_GetSwitch - -/* 003CC 8088556C 85C5001C */ lh $a1, 0x001C($t6) ## 0000001C -/* 003D0 80885570 14400004 */ bne $v0, $zero, .L80885584 -/* 003D4 80885574 8FB80018 */ lw $t8, 0x0018($sp) -/* 003D8 80885578 3C0F8088 */ lui $t7, %hi(func_80885594) ## $t7 = 80880000 -/* 003DC 8088557C 25EF5594 */ addiu $t7, $t7, %lo(func_80885594) ## $t7 = 80885594 -/* 003E0 80885580 AF0F014C */ sw $t7, 0x014C($t8) ## 0000014C -.L80885584: -/* 003E4 80885584 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003E8 80885588 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003EC 8088558C 03E00008 */ jr $ra -/* 003F0 80885590 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885594.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885594.s deleted file mode 100644 index 6929f16e28..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885594.s +++ /dev/null @@ -1,32 +0,0 @@ -glabel func_80885594 -/* 003F4 80885594 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003F8 80885598 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003FC 8088559C AFA5001C */ sw $a1, 0x001C($sp) -/* 00400 808855A0 908E0152 */ lbu $t6, 0x0152($a0) ## 00000152 -/* 00404 808855A4 3C018088 */ lui $at, %hi(D_80885BB0) ## $at = 80880000 -/* 00408 808855A8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0040C 808855AC 000E7900 */ sll $t7, $t6, 4 -/* 00410 808855B0 002F0821 */ addu $at, $at, $t7 -/* 00414 808855B4 C4205BB0 */ lwc1 $f0, %lo(D_80885BB0)($at) -/* 00418 808855B8 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C -/* 0041C 808855BC AFA70018 */ sw $a3, 0x0018($sp) -/* 00420 808855C0 44060000 */ mfc1 $a2, $f0 -/* 00424 808855C4 0C01DE80 */ jal Math_ApproxF - -/* 00428 808855C8 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 0042C 808855CC 10400009 */ beq $v0, $zero, .L808855F4 -/* 00430 808855D0 8FA70018 */ lw $a3, 0x0018($sp) -/* 00434 808855D4 84E5001C */ lh $a1, 0x001C($a3) ## 0000001C -/* 00438 808855D8 AFA70018 */ sw $a3, 0x0018($sp) -/* 0043C 808855DC 0C00B2ED */ jal Flags_UnsetSwitch - -/* 00440 808855E0 8FA4001C */ lw $a0, 0x001C($sp) -/* 00444 808855E4 8FA70018 */ lw $a3, 0x0018($sp) -/* 00448 808855E8 3C188088 */ lui $t8, %hi(func_80885434) ## $t8 = 80880000 -/* 0044C 808855EC 27185434 */ addiu $t8, $t8, %lo(func_80885434) ## $t8 = 80885434 -/* 00450 808855F0 ACF8014C */ sw $t8, 0x014C($a3) ## 0000014C -.L808855F4: -/* 00454 808855F4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00458 808855F8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0045C 808855FC 03E00008 */ jr $ra -/* 00460 80885600 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885604.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885604.s deleted file mode 100644 index e2f6731a38..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885604.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_80885604 -/* 00464 80885604 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00468 80885608 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0046C 8088560C AFA5001C */ sw $a1, 0x001C($sp) -/* 00470 80885610 908E0152 */ lbu $t6, 0x0152($a0) ## 00000152 -/* 00474 80885614 3C188088 */ lui $t8, %hi(D_80885BA4) ## $t8 = 80880000 -/* 00478 80885618 27185BA4 */ addiu $t8, $t8, %lo(D_80885BA4) ## $t8 = 80885BA4 -/* 0047C 8088561C 000E7900 */ sll $t7, $t6, 4 -/* 00480 80885620 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 00484 80885624 01F81021 */ addu $v0, $t7, $t8 -/* 00488 80885628 C4460008 */ lwc1 $f6, 0x0008($v0) ## 00000008 -/* 0048C 8088562C C4E4000C */ lwc1 $f4, 0x000C($a3) ## 0000000C -/* 00490 80885630 8C46000C */ lw $a2, 0x000C($v0) ## 0000000C -/* 00494 80885634 AFA70018 */ sw $a3, 0x0018($sp) -/* 00498 80885638 46062201 */ sub.s $f8, $f4, $f6 -/* 0049C 8088563C 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 004A0 80885640 44054000 */ mfc1 $a1, $f8 -/* 004A4 80885644 0C01DE80 */ jal Math_ApproxF - -/* 004A8 80885648 00000000 */ nop -/* 004AC 8088564C 10400025 */ beq $v0, $zero, .L808856E4 -/* 004B0 80885650 8FA70018 */ lw $a3, 0x0018($sp) -/* 004B4 80885654 90E20150 */ lbu $v0, 0x0150($a3) ## 00000150 -/* 004B8 80885658 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 004BC 8088565C 10400003 */ beq $v0, $zero, .L8088566C -/* 004C0 80885660 00000000 */ nop -/* 004C4 80885664 54410006 */ bnel $v0, $at, .L80885680 -/* 004C8 80885668 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -.L8088566C: -/* 004CC 8088566C 0C00B55C */ jal Actor_Kill - -/* 004D0 80885670 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 004D4 80885674 1000001C */ beq $zero, $zero, .L808856E8 -/* 004D8 80885678 8FBF0014 */ lw $ra, 0x0014($sp) -/* 004DC 8088567C 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -.L80885680: -/* 004E0 80885680 14410005 */ bne $v0, $at, .L80885698 -/* 004E4 80885684 3C0C8088 */ lui $t4, %hi(func_808856F4) ## $t4 = 80880000 -/* 004E8 80885688 3C198088 */ lui $t9, %hi(func_80885554) ## $t9 = 80880000 -/* 004EC 8088568C 27395554 */ addiu $t9, $t9, %lo(func_80885554) ## $t9 = 80885554 -/* 004F0 80885690 10000014 */ beq $zero, $zero, .L808856E4 -/* 004F4 80885694 ACF9014C */ sw $t9, 0x014C($a3) ## 0000014C -.L80885698: -/* 004F8 80885698 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 004FC 8088569C 14410004 */ bne $v0, $at, .L808856B0 -/* 00500 808856A0 258C56F4 */ addiu $t4, $t4, %lo(func_808856F4) ## $t4 = 808856F4 -/* 00504 808856A4 24080190 */ addiu $t0, $zero, 0x0190 ## $t0 = 00000190 -/* 00508 808856A8 1000000D */ beq $zero, $zero, .L808856E0 -/* 0050C 808856AC A4E80154 */ sh $t0, 0x0154($a3) ## 00000154 -.L808856B0: -/* 00510 808856B0 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00514 808856B4 14410003 */ bne $v0, $at, .L808856C4 -/* 00518 808856B8 240900C8 */ addiu $t1, $zero, 0x00C8 ## $t1 = 000000C8 -/* 0051C 808856BC 10000008 */ beq $zero, $zero, .L808856E0 -/* 00520 808856C0 A4E90154 */ sh $t1, 0x0154($a3) ## 00000154 -.L808856C4: -/* 00524 808856C4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00528 808856C8 14410004 */ bne $v0, $at, .L808856DC -/* 0052C 808856CC 240B012C */ addiu $t3, $zero, 0x012C ## $t3 = 0000012C -/* 00530 808856D0 240A00A0 */ addiu $t2, $zero, 0x00A0 ## $t2 = 000000A0 -/* 00534 808856D4 10000002 */ beq $zero, $zero, .L808856E0 -/* 00538 808856D8 A4EA0154 */ sh $t2, 0x0154($a3) ## 00000154 -.L808856DC: -/* 0053C 808856DC A4EB0154 */ sh $t3, 0x0154($a3) ## 00000154 -.L808856E0: -/* 00540 808856E0 ACEC014C */ sw $t4, 0x014C($a3) ## 0000014C -.L808856E4: -/* 00544 808856E4 8FBF0014 */ lw $ra, 0x0014($sp) -.L808856E8: -/* 00548 808856E8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0054C 808856EC 03E00008 */ jr $ra -/* 00550 808856F0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_808856F4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_808856F4.s deleted file mode 100644 index 053200f93f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_808856F4.s +++ /dev/null @@ -1,30 +0,0 @@ -glabel func_808856F4 -/* 00554 808856F4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00558 808856F8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0055C 808856FC AFA5001C */ sw $a1, 0x001C($sp) -/* 00560 80885700 84820154 */ lh $v0, 0x0154($a0) ## 00000154 -/* 00564 80885704 3C0F8088 */ lui $t7, %hi(func_80885594) ## $t7 = 80880000 -/* 00568 80885708 25EF5594 */ addiu $t7, $t7, %lo(func_80885594) ## $t7 = 80885594 -/* 0056C 8088570C 10400003 */ beq $v0, $zero, .L8088571C -/* 00570 80885710 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00574 80885714 A48E0154 */ sh $t6, 0x0154($a0) ## 00000154 -/* 00578 80885718 84820154 */ lh $v0, 0x0154($a0) ## 00000154 -.L8088571C: -/* 0057C 8088571C 54400003 */ bnel $v0, $zero, .L8088572C -/* 00580 80885720 90820150 */ lbu $v0, 0x0150($a0) ## 00000150 -/* 00584 80885724 AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C -/* 00588 80885728 90820150 */ lbu $v0, 0x0150($a0) ## 00000150 -.L8088572C: -/* 0058C 8088572C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00590 80885730 10410003 */ beq $v0, $at, .L80885740 -/* 00594 80885734 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00598 80885738 54410004 */ bnel $v0, $at, .L8088574C -/* 0059C 8088573C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80885740: -/* 005A0 80885740 0C00BE65 */ jal func_8002F994 -/* 005A4 80885744 84850154 */ lh $a1, 0x0154($a0) ## 00000154 -/* 005A8 80885748 8FBF0014 */ lw $ra, 0x0014($sp) -.L8088574C: -/* 005AC 8088574C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 005B0 80885750 03E00008 */ jr $ra -/* 005B4 80885754 00000000 */ nop diff --git a/data/overlays/actors/z_bg_hidan_curtain.data.s b/data/overlays/actors/z_bg_hidan_curtain.data.s deleted file mode 100644 index dfbc64dd14..0000000000 --- a/data/overlays/actors/z_bg_hidan_curtain.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 purpose registers - -.section .data - -.balign 16 - -glabel D_80885B70 - .word 0x0A110009, 0x20010000, 0x00000000, 0x20000000, 0x01040000, 0xFFCFFFFF, 0x00000000, 0x19000100, 0x00510090, 0x00000000, 0x00000000 -glabel D_80885B9C - .word 0x01000050, 0x0064FF00 -glabel D_80885BA4 - .word 0x00510090, 0x3DB851EC, 0x43100000 -glabel D_80885BB0 - .word 0x40A00000, 0x002E0058, 0x3D6147AE, 0x42B00000, 0x40400000 -glabel Bg_Hidan_Curtain_InitVars - .word 0x00490600, 0x00000010, 0x00010000, 0x000001A4 -.word BgHidanCurtain_Init -.word BgHidanCurtain_Destroy -.word BgHidanCurtain_Update -.word BgHidanCurtain_Draw -.word 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_bg_hidan_curtain.reloc.s b/data/overlays/actors/z_bg_hidan_curtain.reloc.s deleted file mode 100644 index 1d334e0b9d..0000000000 --- a/data/overlays/actors/z_bg_hidan_curtain.reloc.s +++ /dev/null @@ -1,13 +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 purpose registers - -.section .rodata - -.balign 16 - -glabel D_80885D20 - .incbin "baserom/ovl_Bg_Hidan_Curtain", 0xB80, 0x00000100 diff --git a/spec b/spec index 5d83a398e3..fc9405d6c4 100644 --- a/spec +++ b/spec @@ -824,8 +824,7 @@ endseg beginseg name "ovl_Bg_Hidan_Curtain" include "build/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.o" - include "build/data/overlays/actors/z_bg_hidan_curtain.data.o" - include "build/data/overlays/actors/z_bg_hidan_curtain.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Hidan_Curtain/ovl_Bg_Hidan_Curtain_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c b/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c index 5f225262bd..385f555138 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c @@ -1,3 +1,9 @@ +/* + * File: z_bg_hidan_curtain.c + * Overlay: ovl_Bg_Hidan_Curtain + * Description: Flame circle + */ + #include "z_bg_hidan_curtain.h" #define FLAGS 0x00000010 @@ -9,7 +15,33 @@ void BgHidanCurtain_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgHidanCurtain_Update(Actor* thisx, GlobalContext* globalCtx); void BgHidanCurtain_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void BgHidanCurtain_WaitForSwitchOn(BgHidanCurtain* this, GlobalContext* globalCtx); +void BgHidanCurtain_WaitForCutscene(BgHidanCurtain* this, GlobalContext* globalCtx); +void BgHidanCurtain_WaitForClear(BgHidanCurtain* this, GlobalContext* globalCtx); +void BgHidanCurtain_TurnOn(BgHidanCurtain* this, GlobalContext* globalCtx); +void BgHidanCurtain_TurnOff(BgHidanCurtain* this, GlobalContext* globalCtx); +void BgHidanCurtain_WaitForTimer(BgHidanCurtain* this, GlobalContext* globalCtx); + +extern Gfx D_040184B0[]; + +typedef struct { + /* 0x00 */ s16 radius; + /* 0x02 */ s16 height; + /* 0x04 */ f32 scale; + /* 0x08 */ f32 riseDist; + /* 0x0C */ f32 riseSpeed; +} BgHidanCurtainParams; // size = 0x10 + +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK10, 0x11, 0x00, 0x09, 0x20, COLSHAPE_CYLINDER }, + { 0x00, { 0x20000000, 0x01, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x19, 0x00, 0x01 }, + { 81, 144, 0, { 0, 0, 0 } }, +}; + +static CollisionCheckInfoInit sCcInfoInit = { 1, 0x50, 0x64, 0xFF }; + +static BgHidanCurtainParams sHCParams[] = { { 81, 144, 0.090f, 144.0f, 5.0f }, { 46, 88, 0.055f, 88.0f, 3.0f } }; + const ActorInit Bg_Hidan_Curtain_InitVars = { ACTOR_BG_HIDAN_CURTAIN, ACTORTYPE_PROP, @@ -21,25 +53,201 @@ const ActorInit Bg_Hidan_Curtain_InitVars = { (ActorFunc)BgHidanCurtain_Update, (ActorFunc)BgHidanCurtain_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Destroy.s") +void BgHidanCurtain_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgHidanCurtain* this = THIS; + BgHidanCurtainParams* hcParams; + + osSyncPrintf("Curtain (arg_data 0x%04x)\n", this->actor.params); + Actor_SetHeight(&this->actor, 20.0f); + this->type = (thisx->params >> 0xC) & 0xF; + if (this->type > 6) { + // Type is not set + osSyncPrintf("Error : object のタイプが設定されていない(%s %d)(arg_data 0x%04x)\n", "../z_bg_hidan_curtain.c", + 352, this->actor.params); + Actor_Kill(&this->actor); + return; + } + + this->size = ((this->type == 2) || (this->type == 4)) ? 1 : 0; + hcParams = &sHCParams[this->size]; + this->treasureFlag = (thisx->params >> 6) & 0x3F; + thisx->params &= 0x3F; + + if ((this->actor.params < 0) || (this->actor.params > 0x3F)) { + // Save bit is not set + osSyncPrintf("Warning : object のセーブビットが設定されていない(%s %d)(arg_data 0x%04x)\n", + "../z_bg_hidan_curtain.c", 373, this->actor.params); + } + Actor_SetScale(&this->actor, hcParams->scale); + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + this->collider.dim.pos.x = this->actor.posRot.pos.x; + this->collider.dim.pos.y = this->actor.posRot.pos.y; + this->collider.dim.pos.z = this->actor.posRot.pos.z; + this->collider.dim.radius = hcParams->radius; + this->collider.dim.height = hcParams->height; + Collider_CylinderUpdate(&this->actor, &this->collider); + func_80061ED4(&thisx->colChkInfo, NULL, &sCcInfoInit); + if (this->type == 0) { + this->actionFunc = BgHidanCurtain_WaitForClear; + } else { + this->actionFunc = BgHidanCurtain_WaitForSwitchOn; + if ((this->type == 4) || (this->type == 5)) { + this->actor.posRot.pos.y = this->actor.initPosRot.pos.y - hcParams->riseDist; + } + } + if (((this->type == 1) && Flags_GetTreasure(globalCtx, this->treasureFlag)) || + (((this->type == 0) || (this->type == 6)) && Flags_GetClear(globalCtx, this->actor.room))) { + Actor_Kill(&this->actor); + } + this->texScroll = Math_Rand_ZeroOne() * 15.0f; +} + +void BgHidanCurtain_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgHidanCurtain* this = THIS; + + Collider_DestroyCylinder(globalCtx, &this->collider); +} + +void BgHidanCurtain_WaitForSwitchOn(BgHidanCurtain* this, GlobalContext* globalCtx) { + if (Flags_GetSwitch(globalCtx, this->actor.params)) { + if (this->type == 1) { + this->actionFunc = BgHidanCurtain_WaitForCutscene; + func_800800F8(globalCtx, 3350, -99, &this->actor, 0); + this->timer = 50; + } else if (this->type == 3) { + this->actionFunc = BgHidanCurtain_WaitForCutscene; + func_800800F8(globalCtx, 3360, 60, &this->actor, 0); + this->timer = 30; + } else { + this->actionFunc = BgHidanCurtain_TurnOff; + } + } +} + +void BgHidanCurtain_WaitForCutscene(BgHidanCurtain* this, GlobalContext* globalCtx) { + if (this->timer-- == 0) { + this->actionFunc = BgHidanCurtain_TurnOff; + } +} + +void BgHidanCurtain_WaitForClear(BgHidanCurtain* this, GlobalContext* globalCtx) { + if (Flags_GetClear(globalCtx, this->actor.room)) { + this->actionFunc = BgHidanCurtain_TurnOff; + } +} + +void BgHidanCurtain_WaitForSwitchOff(BgHidanCurtain* this, GlobalContext* globalCtx) { + if (!Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actionFunc = BgHidanCurtain_TurnOn; + } +} + +void BgHidanCurtain_TurnOn(BgHidanCurtain* this, GlobalContext* globalCtx) { + f32 riseSpeed = sHCParams[this->size].riseSpeed; + + if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, riseSpeed)) { + Flags_UnsetSwitch(globalCtx, this->actor.params); + this->actionFunc = BgHidanCurtain_WaitForSwitchOn; + } +} + +void BgHidanCurtain_TurnOff(BgHidanCurtain* this, GlobalContext* globalCtx) { + BgHidanCurtainParams* hcParams = &sHCParams[this->size]; + + if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y - hcParams->riseDist, + hcParams->riseSpeed)) { + if ((this->type == 0) || (this->type == 6)) { + Actor_Kill(&this->actor); + } else if (this->type == 5) { + this->actionFunc = BgHidanCurtain_WaitForSwitchOff; + } else { + if (this->type == 2) { + this->timer = 400; + } else if (this->type == 4) { + this->timer = 200; + } else if (this->type == 3) { + this->timer = 160; + } else { // this->type == 1 + this->timer = 300; + } + this->actionFunc = BgHidanCurtain_WaitForTimer; + } + } +} + +void BgHidanCurtain_WaitForTimer(BgHidanCurtain* this, GlobalContext* globalCtx) { + DECR(this->timer); + if (this->timer == 0) { + this->actionFunc = BgHidanCurtain_TurnOn; + } + if ((this->type == 1) || (this->type == 3)) { + func_8002F994(&this->actor, this->timer); + } +} + +void BgHidanCurtain_Update(Actor* thisx, GlobalContext* globalCtx2) { + GlobalContext* globalCtx = globalCtx2; + BgHidanCurtain* this = THIS; + BgHidanCurtainParams* hcParams = &sHCParams[this->size]; + f32 riseProgress; + + if ((globalCtx->cameraPtrs[0]->setting == 0x28) || (globalCtx->cameraPtrs[0]->setting == 0x38)) { + this->collider.base.atFlags &= ~2; + } else { + if (this->collider.base.atFlags & 2) { + this->collider.base.atFlags &= ~2; + func_8002F71C(globalCtx, &this->actor, 5.0f, this->actor.yawTowardsLink, 1.0f); + } + if ((this->type == 4) || (this->type == 5)) { + this->actor.posRot.pos.y = + (2.0f * this->actor.initPosRot.pos.y) - hcParams->riseDist - this->actor.posRot.pos.y; + } + + this->actionFunc(this, globalCtx); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885434.s") + if ((this->type == 4) || (this->type == 5)) { + this->actor.posRot.pos.y = + (2.0f * this->actor.initPosRot.pos.y) - hcParams->riseDist - this->actor.posRot.pos.y; + } + riseProgress = + (hcParams->riseDist - (this->actor.initPosRot.pos.y - this->actor.posRot.pos.y)) / hcParams->riseDist; + this->alpha = 255.0f * riseProgress; + if (this->alpha > 50) { + this->collider.dim.height = hcParams->height * riseProgress; + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + if (gSaveContext.sceneSetupIndex <= 3) { + func_8002F974(&this->actor, NA_SE_EV_FIRE_PILLAR_S - SFX_FLAG); + } + } else if ((this->type == 1) && Flags_GetTreasure(globalCtx, this->treasureFlag)) { + Actor_Kill(&this->actor); + } + this->texScroll++; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_808854E8.s") +void BgHidanCurtain_Draw(Actor* thisx, GlobalContext* globalCtx) { + BgHidanCurtain* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885514.s") + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_curtain.c", 685); + func_80093D84(globalCtx->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885554.s") + gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 255, 220, 0, this->alpha); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885594.s") + gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 0); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_80885604.s") + gSPSegment(oGfxCtx->polyXlu.p++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, this->texScroll & 0x7F, 0, 0x20, 0x40, 1, 0, + (this->texScroll * -0xF) & 0xFF, 0x20, 0x40)); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/func_808856F4.s") + gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_curtain.c", 698), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Update.s") + gSPDisplayList(oGfxCtx->polyXlu.p++, D_040184B0); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Curtain/BgHidanCurtain_Draw.s") + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_curtain.c", 702); +} diff --git a/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.h b/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.h index e985223292..610898622a 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.h +++ b/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.h @@ -6,9 +6,18 @@ struct BgHidanCurtain; +typedef void (*BgHidanCurtainActionFunc)(struct BgHidanCurtain*, GlobalContext*); + typedef struct BgHidanCurtain { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x58]; + /* 0x014C */ BgHidanCurtainActionFunc actionFunc; + /* 0x0150 */ u8 type; + /* 0x0151 */ u8 treasureFlag; + /* 0x0152 */ u8 size; + /* 0x0153 */ u8 alpha; + /* 0x0154 */ s16 timer; + /* 0x0156 */ s16 texScroll; + /* 0x0158 */ ColliderCylinder collider; } BgHidanCurtain; // size = 0x01A4 extern const ActorInit Bg_Hidan_Curtain_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index dc0140434f..dd0ad699d1 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1219,6 +1219,9 @@ D_06000304 = 0x06000304; D_06005B98 = 0x06005B98; D_060055A8 = 0x060055A8; +// z_bg_hidan_curtain +D_040184B0 = 0x040184B0; + // z_en_dy_extra D_0601BFB0 = 0x0601BFB0; D_0601C160 = 0x0601C160;