From 11e5be77d5708cd262db8557b14c974a95b3809e Mon Sep 17 00:00:00 2001 From: fig02 Date: Sun, 28 Mar 2021 18:53:28 -0400 Subject: [PATCH] bg_ice_shelter OK (#736) * ok * OK * asm --- .../ovl_Bg_Ice_Shelter/BgIceShelter_Destroy.s | 51 --- .../ovl_Bg_Ice_Shelter/BgIceShelter_Draw.s | 227 ---------- .../ovl_Bg_Ice_Shelter/BgIceShelter_Init.s | 118 ------ .../ovl_Bg_Ice_Shelter/BgIceShelter_Update.s | 10 - .../actors/ovl_Bg_Ice_Shelter/func_80890740.s | 87 ---- .../actors/ovl_Bg_Ice_Shelter/func_80890874.s | 50 --- .../actors/ovl_Bg_Ice_Shelter/func_808908FC.s | 36 -- .../actors/ovl_Bg_Ice_Shelter/func_80890B8C.s | 173 -------- .../actors/ovl_Bg_Ice_Shelter/func_80890E00.s | 177 -------- .../actors/ovl_Bg_Ice_Shelter/func_80891064.s | 7 - .../actors/ovl_Bg_Ice_Shelter/func_8089107C.s | 91 ---- .../actors/ovl_Bg_Ice_Shelter/func_808911BC.s | 7 - .../actors/ovl_Bg_Ice_Shelter/func_808911D4.s | 135 ------ data/overlays/actors/z_bg_ice_shelter.data.s | 54 --- data/overlays/actors/z_bg_ice_shelter.reloc.s | 13 - spec | 3 +- src/code/PreRender.c | 2 +- .../ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c | 390 +++++++++++++++++- .../ovl_Bg_Ice_Shelter/z_bg_ice_shelter.h | 9 +- src/overlays/actors/ovl_En_Arrow/z_en_arrow.c | 4 +- .../actors/ovl_En_Dodongo/z_en_dodongo.c | 3 +- .../actors/ovl_En_Firefly/z_en_firefly.c | 3 +- .../actors/ovl_En_Floormas/z_en_floormas.c | 14 +- src/overlays/actors/ovl_En_Okuta/z_en_okuta.c | 3 +- src/overlays/actors/ovl_En_Skb/z_en_skb.c | 3 +- .../actors/ovl_En_Wallmas/z_en_wallmas.c | 7 +- 26 files changed, 400 insertions(+), 1277 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890740.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890874.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808908FC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890B8C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890E00.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80891064.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_8089107C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911BC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911D4.s delete mode 100644 data/overlays/actors/z_bg_ice_shelter.data.s delete mode 100644 data/overlays/actors/z_bg_ice_shelter.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Destroy.s deleted file mode 100644 index 393c8c9aa7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Destroy.s +++ /dev/null @@ -1,51 +0,0 @@ -.late_rodata -glabel jtbl_808918C0 -.word L80890B5C -.word L80890B5C -.word L80890B40 -.word L80890B40 -.word L80890B5C - -.text -glabel BgIceShelter_Destroy -/* 003C4 80890B04 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003C8 80890B08 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003CC 80890B0C AFA40018 */ sw $a0, 0x0018($sp) -/* 003D0 80890B10 AFA5001C */ sw $a1, 0x001C($sp) -/* 003D4 80890B14 848F001C */ lh $t7, 0x001C($a0) ## 0000001C -/* 003D8 80890B18 000FC203 */ sra $t8, $t7, 8 -/* 003DC 80890B1C 33190007 */ andi $t9, $t8, 0x0007 ## $t9 = 00000000 -/* 003E0 80890B20 2F210005 */ sltiu $at, $t9, 0x0005 -/* 003E4 80890B24 10200011 */ beq $at, $zero, .L80890B6C -/* 003E8 80890B28 0019C880 */ sll $t9, $t9, 2 -/* 003EC 80890B2C 3C018089 */ lui $at, %hi(jtbl_808918C0) ## $at = 80890000 -/* 003F0 80890B30 00390821 */ addu $at, $at, $t9 -/* 003F4 80890B34 8C3918C0 */ lw $t9, %lo(jtbl_808918C0)($at) -/* 003F8 80890B38 03200008 */ jr $t9 -/* 003FC 80890B3C 00000000 */ nop -glabel L80890B40 -/* 00400 80890B40 8FA4001C */ lw $a0, 0x001C($sp) -/* 00404 80890B44 8FA90018 */ lw $t1, 0x0018($sp) -/* 00408 80890B48 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 0040C 80890B4C 0C00FB56 */ jal DynaPoly_DeleteBgActor - ## DynaPoly_DeleteBgActor -/* 00410 80890B50 8D26014C */ lw $a2, 0x014C($t1) ## 0000014C -/* 00414 80890B54 10000006 */ beq $zero, $zero, .L80890B70 -/* 00418 80890B58 8FA50018 */ lw $a1, 0x0018($sp) -glabel L80890B5C -/* 0041C 80890B5C 8FA50018 */ lw $a1, 0x0018($sp) -/* 00420 80890B60 8FA4001C */ lw $a0, 0x001C($sp) -/* 00424 80890B64 0C0170EB */ jal Collider_DestroyCylinder - -/* 00428 80890B68 24A501B4 */ addiu $a1, $a1, 0x01B4 ## $a1 = 000001B4 -.L80890B6C: -/* 0042C 80890B6C 8FA50018 */ lw $a1, 0x0018($sp) -.L80890B70: -/* 00430 80890B70 8FA4001C */ lw $a0, 0x001C($sp) -/* 00434 80890B74 0C0170EB */ jal Collider_DestroyCylinder - -/* 00438 80890B78 24A50168 */ addiu $a1, $a1, 0x0168 ## $a1 = 00000168 -/* 0043C 80890B7C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00440 80890B80 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00444 80890B84 03E00008 */ jr $ra -/* 00448 80890B88 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Draw.s deleted file mode 100644 index 713e5ca07e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Draw.s +++ /dev/null @@ -1,227 +0,0 @@ -.rdata -glabel D_80891878 - .asciz "../z_bg_ice_shelter.c" - .balign 4 - -glabel D_80891890 - .asciz "../z_bg_ice_shelter.c" - .balign 4 - -glabel D_808918A8 - .asciz "../z_bg_ice_shelter.c" - .balign 4 - -.late_rodata -glabel jtbl_808918F0 -.word L808914C8 -.word L808914C8 -.word L80891568 -.word L80891680 -.word L808914C8 -.word 0x00000000, 0x00000000, 0x00000000 - -.text -glabel BgIceShelter_Draw -/* 00C7C 808913BC 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78 -/* 00C80 808913C0 AFB10038 */ sw $s1, 0x0038($sp) -/* 00C84 808913C4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00C88 808913C8 AFBF003C */ sw $ra, 0x003C($sp) -/* 00C8C 808913CC AFB00034 */ sw $s0, 0x0034($sp) -/* 00C90 808913D0 AFA40088 */ sw $a0, 0x0088($sp) -/* 00C94 808913D4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00C98 808913D8 3C068089 */ lui $a2, %hi(D_80891878) ## $a2 = 80890000 -/* 00C9C 808913DC 24C61878 */ addiu $a2, $a2, %lo(D_80891878) ## $a2 = 80891878 -/* 00CA0 808913E0 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFFE4 -/* 00CA4 808913E4 240702EC */ addiu $a3, $zero, 0x02EC ## $a3 = 000002EC -/* 00CA8 808913E8 0C031AB1 */ jal Graph_OpenDisps -/* 00CAC 808913EC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00CB0 808913F0 0C024F61 */ jal func_80093D84 -/* 00CB4 808913F4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00CB8 808913F8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00CBC 808913FC 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 00CC0 80891400 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 00CC4 80891404 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00CC8 80891408 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 00CCC 8089140C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00CD0 80891410 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00CD4 80891414 3C058089 */ lui $a1, %hi(D_80891890) ## $a1 = 80890000 -/* 00CD8 80891418 24A51890 */ addiu $a1, $a1, %lo(D_80891890) ## $a1 = 80891890 -/* 00CDC 8089141C 240602EF */ addiu $a2, $zero, 0x02EF ## $a2 = 000002EF -/* 00CE0 80891420 0C0346A2 */ jal Matrix_NewMtx -/* 00CE4 80891424 AFA20068 */ sw $v0, 0x0068($sp) -/* 00CE8 80891428 8FA30068 */ lw $v1, 0x0068($sp) -/* 00CEC 8089142C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00CF0 80891430 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00CF4 80891434 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00CF8 80891438 8FA40088 */ lw $a0, 0x0088($sp) -/* 00CFC 8089143C 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 00D00 80891440 00021203 */ sra $v0, $v0, 8 -/* 00D04 80891444 30420007 */ andi $v0, $v0, 0x0007 ## $v0 = 00000000 -/* 00D08 80891448 10400007 */ beq $v0, $zero, .L80891468 -/* 00D0C 8089144C 00000000 */ nop -/* 00D10 80891450 10410005 */ beq $v0, $at, .L80891468 -/* 00D14 80891454 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00D18 80891458 10410003 */ beq $v0, $at, .L80891468 -/* 00D1C 8089145C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00D20 80891460 54410005 */ bnel $v0, $at, .L80891478 -/* 00D24 80891464 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -.L80891468: -/* 00D28 80891468 0C00BB60 */ jal func_8002ED80 -/* 00D2C 8089146C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00D30 80891470 8FA40088 */ lw $a0, 0x0088($sp) -/* 00D34 80891474 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -.L80891478: -/* 00D38 80891478 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000 -/* 00D3C 8089147C 3C01FF00 */ lui $at, 0xFF00 ## $at = FF000000 -/* 00D40 80891480 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00D44 80891484 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00D48 80891488 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00D4C 8089148C 848A0200 */ lh $t2, 0x0200($a0) ## 00000200 -/* 00D50 80891490 314B00FF */ andi $t3, $t2, 0x00FF ## $t3 = 00000000 -/* 00D54 80891494 01616025 */ or $t4, $t3, $at ## $t4 = FF000000 -/* 00D58 80891498 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00D5C 8089149C 848D001C */ lh $t5, 0x001C($a0) ## 0000001C -/* 00D60 808914A0 000D7203 */ sra $t6, $t5, 8 -/* 00D64 808914A4 31CF0007 */ andi $t7, $t6, 0x0007 ## $t7 = 00000000 -/* 00D68 808914A8 2DE10005 */ sltiu $at, $t7, 0x0005 -/* 00D6C 808914AC 1020007C */ beq $at, $zero, .L808916A0 -/* 00D70 808914B0 000F7880 */ sll $t7, $t7, 2 -/* 00D74 808914B4 3C018089 */ lui $at, %hi(jtbl_808918F0) ## $at = 80890000 -/* 00D78 808914B8 002F0821 */ addu $at, $at, $t7 -/* 00D7C 808914BC 8C2F18F0 */ lw $t7, %lo(jtbl_808918F0)($at) -/* 00D80 808914C0 01E00008 */ jr $t7 -/* 00D84 808914C4 00000000 */ nop -glabel L808914C8 -/* 00D88 808914C8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00D8C 808914CC 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 00D90 808914D0 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020 -/* 00D94 808914D4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00D98 808914D8 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00D9C 808914DC 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000 -/* 00DA0 808914E0 00711821 */ addu $v1, $v1, $s1 -/* 00DA4 808914E4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00DA8 808914E8 8C631DE4 */ lw $v1, 0x1DE4($v1) ## 00011DE4 -/* 00DAC 808914EC 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00DB0 808914F0 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020 -/* 00DB4 808914F4 00033023 */ subu $a2, $zero, $v1 -/* 00DB8 808914F8 30C6007F */ andi $a2, $a2, 0x007F ## $a2 = 00000000 -/* 00DBC 808914FC 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 00DC0 80891500 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 00DC4 80891504 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020 -/* 00DC8 80891508 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020 -/* 00DCC 8089150C 306D007F */ andi $t5, $v1, 0x007F ## $t5 = 00000000 -/* 00DD0 80891510 AFAD0020 */ sw $t5, 0x0020($sp) -/* 00DD4 80891514 AFAF0028 */ sw $t7, 0x0028($sp) -/* 00DD8 80891518 AFAE0024 */ sw $t6, 0x0024($sp) -/* 00DDC 8089151C AFAC0018 */ sw $t4, 0x0018($sp) -/* 00DE0 80891520 AFAB0014 */ sw $t3, 0x0014($sp) -/* 00DE4 80891524 00C03825 */ or $a3, $a2, $zero ## $a3 = 00000000 -/* 00DE8 80891528 AFA6001C */ sw $a2, 0x001C($sp) -/* 00DEC 8089152C AFAA0010 */ sw $t2, 0x0010($sp) -/* 00DF0 80891530 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00DF4 80891534 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00DF8 80891538 AFA20060 */ sw $v0, 0x0060($sp) -/* 00DFC 8089153C 8FA80060 */ lw $t0, 0x0060($sp) -/* 00E00 80891540 3C0A0600 */ lui $t2, %hi(D_060006F0) ## $t2 = 06000000 -/* 00E04 80891544 254A06F0 */ addiu $t2, $t2, %lo(D_060006F0) ## $t2 = 060006F0 -/* 00E08 80891548 AD020004 */ sw $v0, 0x0004($t0) ## 00000004 -/* 00E0C 8089154C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00E10 80891550 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000 -/* 00E14 80891554 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00E18 80891558 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00E1C 8089155C AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 00E20 80891560 1000004F */ beq $zero, $zero, .L808916A0 -/* 00E24 80891564 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -glabel L80891568 -/* 00E28 80891568 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00E2C 8089156C 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000 -/* 00E30 80891570 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020 -/* 00E34 80891574 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00E38 80891578 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00E3C 8089157C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00E40 80891580 02214821 */ addu $t1, $s1, $at -/* 00E44 80891584 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00E48 80891588 8D231DE4 */ lw $v1, 0x1DE4($t1) ## 00001DE4 -/* 00E4C 8089158C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00E50 80891590 240B0040 */ addiu $t3, $zero, 0x0040 ## $t3 = 00000040 -/* 00E54 80891594 0003C023 */ subu $t8, $zero, $v1 -/* 00E58 80891598 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000008 -/* 00E5C 8089159C 240D0040 */ addiu $t5, $zero, 0x0040 ## $t5 = 00000040 -/* 00E60 808915A0 240E0040 */ addiu $t6, $zero, 0x0040 ## $t6 = 00000040 -/* 00E64 808915A4 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00E68 808915A8 240A0040 */ addiu $t2, $zero, 0x0040 ## $t2 = 00000040 -/* 00E6C 808915AC AFAA0024 */ sw $t2, 0x0024($sp) -/* 00E70 808915B0 AFAF0018 */ sw $t7, 0x0018($sp) -/* 00E74 808915B4 AFAE0014 */ sw $t6, 0x0014($sp) -/* 00E78 808915B8 AFAD0010 */ sw $t5, 0x0010($sp) -/* 00E7C 808915BC AFB90020 */ sw $t9, 0x0020($sp) -/* 00E80 808915C0 AFAB0028 */ sw $t3, 0x0028($sp) -/* 00E84 808915C4 AFA90044 */ sw $t1, 0x0044($sp) -/* 00E88 808915C8 AFA0001C */ sw $zero, 0x001C($sp) -/* 00E8C 808915CC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00E90 808915D0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00E94 808915D4 AFA20058 */ sw $v0, 0x0058($sp) -/* 00E98 808915D8 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00E9C 808915DC 306700FF */ andi $a3, $v1, 0x00FF ## $a3 = 00000000 -/* 00EA0 808915E0 8FA80058 */ lw $t0, 0x0058($sp) -/* 00EA4 808915E4 8FA90044 */ lw $t1, 0x0044($sp) -/* 00EA8 808915E8 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000 -/* 00EAC 808915EC AD020004 */ sw $v0, 0x0004($t0) ## 00000004 -/* 00EB0 808915F0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00EB4 808915F4 35AD0024 */ ori $t5, $t5, 0x0024 ## $t5 = DB060024 -/* 00EB8 808915F8 240E0040 */ addiu $t6, $zero, 0x0040 ## $t6 = 00000040 -/* 00EBC 808915FC 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00EC0 80891600 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 00EC4 80891604 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 00EC8 80891608 8D231DE4 */ lw $v1, 0x1DE4($t1) ## 00001DE4 -/* 00ECC 8089160C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00ED0 80891610 240F0040 */ addiu $t7, $zero, 0x0040 ## $t7 = 00000040 -/* 00ED4 80891614 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00ED8 80891618 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040 -/* 00EDC 8089161C 240A0040 */ addiu $t2, $zero, 0x0040 ## $t2 = 00000040 -/* 00EE0 80891620 00033023 */ subu $a2, $zero, $v1 -/* 00EE4 80891624 306700FF */ andi $a3, $v1, 0x00FF ## $a3 = 00000000 -/* 00EE8 80891628 AFA7001C */ sw $a3, 0x001C($sp) -/* 00EEC 8089162C AFA70020 */ sw $a3, 0x0020($sp) -/* 00EF0 80891630 30C600FF */ andi $a2, $a2, 0x00FF ## $a2 = 00000000 -/* 00EF4 80891634 AFAA0028 */ sw $t2, 0x0028($sp) -/* 00EF8 80891638 AFB90024 */ sw $t9, 0x0024($sp) -/* 00EFC 8089163C AFB80018 */ sw $t8, 0x0018($sp) -/* 00F00 80891640 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00F04 80891644 AFAE0010 */ sw $t6, 0x0010($sp) -/* 00F08 80891648 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00F0C 8089164C 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00F10 80891650 AFA20054 */ sw $v0, 0x0054($sp) -/* 00F14 80891654 8FA80054 */ lw $t0, 0x0054($sp) -/* 00F18 80891658 3C0D0600 */ lui $t5, %hi(D_060012A0) ## $t5 = 06000000 -/* 00F1C 8089165C 25AD12A0 */ addiu $t5, $t5, %lo(D_060012A0) ## $t5 = 060012A0 -/* 00F20 80891660 AD020004 */ sw $v0, 0x0004($t0) ## 00000004 -/* 00F24 80891664 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00F28 80891668 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000 -/* 00F2C 8089166C 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00F30 80891670 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00F34 80891674 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 00F38 80891678 10000009 */ beq $zero, $zero, .L808916A0 -/* 00F3C 8089167C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -glabel L80891680 -/* 00F40 80891680 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00F44 80891684 3C180600 */ lui $t8, %hi(D_06002640) ## $t8 = 06000000 -/* 00F48 80891688 27182640 */ addiu $t8, $t8, %lo(D_06002640) ## $t8 = 06002640 -/* 00F4C 8089168C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00F50 80891690 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 00F54 80891694 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000 -/* 00F58 80891698 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00F5C 8089169C AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -.L808916A0: -/* 00F60 808916A0 3C068089 */ lui $a2, %hi(D_808918A8) ## $a2 = 80890000 -/* 00F64 808916A4 24C618A8 */ addiu $a2, $a2, %lo(D_808918A8) ## $a2 = 808918A8 -/* 00F68 808916A8 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFFE4 -/* 00F6C 808916AC 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 00F70 808916B0 0C031AD5 */ jal Graph_CloseDisps -/* 00F74 808916B4 2407032F */ addiu $a3, $zero, 0x032F ## $a3 = 0000032F -/* 00F78 808916B8 8FBF003C */ lw $ra, 0x003C($sp) -/* 00F7C 808916BC 8FB00034 */ lw $s0, 0x0034($sp) -/* 00F80 808916C0 8FB10038 */ lw $s1, 0x0038($sp) -/* 00F84 808916C4 03E00008 */ jr $ra -/* 00F88 808916C8 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000 -/* 00F8C 808916CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Init.s deleted file mode 100644 index 6f4daa3a5d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Init.s +++ /dev/null @@ -1,118 +0,0 @@ -.rdata -glabel D_80891858 - .asciz "(ice shelter)(arg_data 0x%04x)\n" - .balign 4 - -.text -glabel BgIceShelter_Init -/* 00240 80890980 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00244 80890984 AFBF001C */ sw $ra, 0x001C($sp) -/* 00248 80890988 AFB00018 */ sw $s0, 0x0018($sp) -/* 0024C 8089098C AFA5002C */ sw $a1, 0x002C($sp) -/* 00250 80890990 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 00254 80890994 3C058089 */ lui $a1, %hi(D_8089177C) ## $a1 = 80890000 -/* 00258 80890998 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0025C 8089099C 00021203 */ sra $v0, $v0, 8 -/* 00260 808909A0 30420007 */ andi $v0, $v0, 0x0007 ## $v0 = 00000000 -/* 00264 808909A4 00021400 */ sll $v0, $v0, 16 -/* 00268 808909A8 00021403 */ sra $v0, $v0, 16 -/* 0026C 808909AC A7A20022 */ sh $v0, 0x0022($sp) -/* 00270 808909B0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00274 808909B4 24A5177C */ addiu $a1, $a1, %lo(D_8089177C) ## $a1 = 8089177C -/* 00278 808909B8 87A20022 */ lh $v0, 0x0022($sp) -/* 0027C 808909BC 24030004 */ addiu $v1, $zero, 0x0004 ## $v1 = 00000004 -/* 00280 808909C0 3C014234 */ lui $at, 0x4234 ## $at = 42340000 -/* 00284 808909C4 1443000F */ bne $v0, $v1, .L80890A04 -/* 00288 808909C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0028C 808909CC 44813000 */ mtc1 $at, $f6 ## $f6 = 45.00 -/* 00290 808909D0 860E0030 */ lh $t6, 0x0030($s0) ## 00000030 -/* 00294 808909D4 3C014218 */ lui $at, 0x4218 ## $at = 42180000 -/* 00298 808909D8 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 0029C 808909DC 44818000 */ mtc1 $at, $f16 ## $f16 = 38.00 -/* 002A0 808909E0 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 002A4 808909E4 25CF0BB8 */ addiu $t7, $t6, 0x0BB8 ## $t7 = 00000BB8 -/* 002A8 808909E8 46062201 */ sub.s $f8, $f4, $f6 -/* 002AC 808909EC A60F0030 */ sh $t7, 0x0030($s0) ## 00000030 -/* 002B0 808909F0 86180030 */ lh $t8, 0x0030($s0) ## 00000030 -/* 002B4 808909F4 46105481 */ sub.s $f18, $f10, $f16 -/* 002B8 808909F8 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028 -/* 002BC 808909FC A61800B4 */ sh $t8, 0x00B4($s0) ## 000000B4 -/* 002C0 80890A00 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C -.L80890A04: -/* 002C4 80890A04 14430008 */ bne $v0, $v1, .L80890A28 -/* 002C8 80890A08 0002C880 */ sll $t9, $v0, 2 -/* 002CC 80890A0C 3C058089 */ lui $a1, %hi(D_80891788) ## $a1 = 80890000 -/* 002D0 80890A10 24A51788 */ addiu $a1, $a1, %lo(D_80891788) ## $a1 = 80891788 -/* 002D4 80890A14 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050 -/* 002D8 80890A18 0C01DF90 */ jal Math_Vec3f_Copy - ## Vec3f_Copy -/* 002DC 80890A1C A7A20022 */ sh $v0, 0x0022($sp) -/* 002E0 80890A20 10000007 */ beq $zero, $zero, .L80890A40 -/* 002E4 80890A24 87A20022 */ lh $v0, 0x0022($sp) -.L80890A28: -/* 002E8 80890A28 3C058089 */ lui $a1, %hi(D_808916F0) ## $a1 = 80890000 -/* 002EC 80890A2C 00B92821 */ addu $a1, $a1, $t9 -/* 002F0 80890A30 8CA516F0 */ lw $a1, %lo(D_808916F0)($a1) -/* 002F4 80890A34 0C00B58B */ jal Actor_SetScale - -/* 002F8 80890A38 A7A20022 */ sh $v0, 0x0022($sp) -/* 002FC 80890A3C 87A20022 */ lh $v0, 0x0022($sp) -.L80890A40: -/* 00300 80890A40 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00304 80890A44 10410006 */ beq $v0, $at, .L80890A60 -/* 00308 80890A48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0030C 80890A4C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00310 80890A50 1041000A */ beq $v0, $at, .L80890A7C -/* 00314 80890A54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00318 80890A58 1000000E */ beq $zero, $zero, .L80890A94 -/* 0031C 80890A5C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80890A60: -/* 00320 80890A60 3C060600 */ lui $a2, %hi(D_06001C1C) ## $a2 = 06000000 -/* 00324 80890A64 24C61C1C */ addiu $a2, $a2, %lo(D_06001C1C) ## $a2 = 06001C1C -/* 00328 80890A68 8FA5002C */ lw $a1, 0x002C($sp) -/* 0032C 80890A6C 0C22421D */ jal func_80890874 -/* 00330 80890A70 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00334 80890A74 10000007 */ beq $zero, $zero, .L80890A94 -/* 00338 80890A78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80890A7C: -/* 0033C 80890A7C 3C060600 */ lui $a2, %hi(D_06002920) ## $a2 = 06000000 -/* 00340 80890A80 24C62920 */ addiu $a2, $a2, %lo(D_06002920) ## $a2 = 06002920 -/* 00344 80890A84 8FA5002C */ lw $a1, 0x002C($sp) -/* 00348 80890A88 0C22421D */ jal func_80890874 -/* 0034C 80890A8C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00350 80890A90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80890A94: -/* 00354 80890A94 0C2241D0 */ jal func_80890740 -/* 00358 80890A98 8FA5002C */ lw $a1, 0x002C($sp) -/* 0035C 80890A9C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00360 80890AA0 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF -/* 00364 80890AA4 A20800AE */ sb $t0, 0x00AE($s0) ## 000000AE -/* 00368 80890AA8 00024983 */ sra $t1, $v0, 6 -/* 0036C 80890AAC 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 00370 80890AB0 15400009 */ bne $t2, $zero, .L80890AD8 -/* 00374 80890AB4 8FA4002C */ lw $a0, 0x002C($sp) -/* 00378 80890AB8 0C00B2D0 */ jal Flags_GetSwitch - -/* 0037C 80890ABC 3045003F */ andi $a1, $v0, 0x003F ## $a1 = 00000000 -/* 00380 80890AC0 10400005 */ beq $v0, $zero, .L80890AD8 -/* 00384 80890AC4 00000000 */ nop -/* 00388 80890AC8 0C00B55C */ jal Actor_Kill - -/* 0038C 80890ACC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00390 80890AD0 10000008 */ beq $zero, $zero, .L80890AF4 -/* 00394 80890AD4 8FBF001C */ lw $ra, 0x001C($sp) -.L80890AD8: -/* 00398 80890AD8 0C224419 */ jal func_80891064 -/* 0039C 80890ADC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 003A0 80890AE0 3C048089 */ lui $a0, %hi(D_80891858) ## $a0 = 80890000 -/* 003A4 80890AE4 24841858 */ addiu $a0, $a0, %lo(D_80891858) ## $a0 = 80891858 -/* 003A8 80890AE8 0C00084C */ jal osSyncPrintf - -/* 003AC 80890AEC 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 003B0 80890AF0 8FBF001C */ lw $ra, 0x001C($sp) -.L80890AF4: -/* 003B4 80890AF4 8FB00018 */ lw $s0, 0x0018($sp) -/* 003B8 80890AF8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 003BC 80890AFC 03E00008 */ jr $ra -/* 003C0 80890B00 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Update.s deleted file mode 100644 index 245203e5fb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Update.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel BgIceShelter_Update -/* 00C58 80891398 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00C5C 8089139C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00C60 808913A0 8C990164 */ lw $t9, 0x0164($a0) ## 00000164 -/* 00C64 808913A4 0320F809 */ jalr $ra, $t9 -/* 00C68 808913A8 00000000 */ nop -/* 00C6C 808913AC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00C70 808913B0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00C74 808913B4 03E00008 */ jr $ra -/* 00C78 808913B8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890740.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890740.s deleted file mode 100644 index dc52557477..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890740.s +++ /dev/null @@ -1,87 +0,0 @@ -glabel func_80890740 -/* 00000 80890740 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 80890744 AFBF001C */ sw $ra, 0x001C($sp) -/* 00008 80890748 AFB00018 */ sw $s0, 0x0018($sp) -/* 0000C 8089074C AFA5003C */ sw $a1, 0x003C($sp) -/* 00010 80890750 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 00014 80890754 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00018 80890758 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0001C 8089075C 000E7A03 */ sra $t7, $t6, 8 -/* 00020 80890760 31F80007 */ andi $t8, $t7, 0x0007 ## $t8 = 00000000 -/* 00024 80890764 26050168 */ addiu $a1, $s0, 0x0168 ## $a1 = 00000168 -/* 00028 80890768 AFB80030 */ sw $t8, 0x0030($sp) -/* 0002C 8089076C 0C0170D9 */ jal Collider_InitCylinder - -/* 00030 80890770 AFA5002C */ sw $a1, 0x002C($sp) -/* 00034 80890774 3C078089 */ lui $a3, %hi(D_8089170C) ## $a3 = 80890000 -/* 00038 80890778 24E7170C */ addiu $a3, $a3, %lo(D_8089170C) ## $a3 = 8089170C -/* 0003C 8089077C 8FA4003C */ lw $a0, 0x003C($sp) -/* 00040 80890780 8FA5002C */ lw $a1, 0x002C($sp) -/* 00044 80890784 0C01712B */ jal Collider_SetCylinder - -/* 00048 80890788 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0004C 8089078C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00050 80890790 0C0189B7 */ jal Collider_UpdateCylinder - -/* 00054 80890794 8FA5002C */ lw $a1, 0x002C($sp) -/* 00058 80890798 8FA40030 */ lw $a0, 0x0030($sp) -/* 0005C 8089079C 3C198089 */ lui $t9, %hi(D_80891764) ## $t9 = 80890000 -/* 00060 808907A0 27391764 */ addiu $t9, $t9, %lo(D_80891764) ## $t9 = 80891764 -/* 00064 808907A4 00041040 */ sll $v0, $a0, 1 -/* 00068 808907A8 00593021 */ addu $a2, $v0, $t9 -/* 0006C 808907AC 84C80000 */ lh $t0, 0x0000($a2) ## 00000000 -/* 00070 808907B0 3C098089 */ lui $t1, %hi(D_80891770) ## $t1 = 80890000 -/* 00074 808907B4 25291770 */ addiu $t1, $t1, %lo(D_80891770) ## $t1 = 80891770 -/* 00078 808907B8 00491821 */ addu $v1, $v0, $t1 -/* 0007C 808907BC A60801A8 */ sh $t0, 0x01A8($s0) ## 000001A8 -/* 00080 808907C0 846A0000 */ lh $t2, 0x0000($v1) ## 00000000 -/* 00084 808907C4 3C0B8089 */ lui $t3, %hi(D_80891770+2) ## $t3 = 80890000 -/* 00088 808907C8 10800006 */ beq $a0, $zero, .L808907E4 -/* 0008C 808907CC A60A01AA */ sh $t2, 0x01AA($s0) ## 000001AA -/* 00090 808907D0 256B1772 */ addiu $t3, $t3, %lo(D_80891770+2) ## $t3 = 80891772 -/* 00094 808907D4 106B0003 */ beq $v1, $t3, .L808907E4 -/* 00098 808907D8 3C0C8089 */ lui $t4, %hi(D_80891770+8) ## $t4 = 80890000 -/* 0009C 808907DC 258C1778 */ addiu $t4, $t4, %lo(D_80891770+8) ## $t4 = 80891778 -/* 000A0 808907E0 146C0015 */ bne $v1, $t4, .L80890838 -.L808907E4: -/* 000A4 808907E4 260501B4 */ addiu $a1, $s0, 0x01B4 ## $a1 = 000001B4 -/* 000A8 808907E8 AFA50024 */ sw $a1, 0x0024($sp) -/* 000AC 808907EC 8FA4003C */ lw $a0, 0x003C($sp) -/* 000B0 808907F0 AFA30028 */ sw $v1, 0x0028($sp) -/* 000B4 808907F4 0C0170D9 */ jal Collider_InitCylinder - -/* 000B8 808907F8 AFA6002C */ sw $a2, 0x002C($sp) -/* 000BC 808907FC 3C078089 */ lui $a3, %hi(D_80891738) ## $a3 = 80890000 -/* 000C0 80890800 24E71738 */ addiu $a3, $a3, %lo(D_80891738) ## $a3 = 80891738 -/* 000C4 80890804 8FA4003C */ lw $a0, 0x003C($sp) -/* 000C8 80890808 8FA50024 */ lw $a1, 0x0024($sp) -/* 000CC 8089080C 0C01712B */ jal Collider_SetCylinder - -/* 000D0 80890810 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 000D4 80890814 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000D8 80890818 0C0189B7 */ jal Collider_UpdateCylinder - -/* 000DC 8089081C 8FA50024 */ lw $a1, 0x0024($sp) -/* 000E0 80890820 8FAD002C */ lw $t5, 0x002C($sp) -/* 000E4 80890824 8FA30028 */ lw $v1, 0x0028($sp) -/* 000E8 80890828 85AE0000 */ lh $t6, 0x0000($t5) ## 00000000 -/* 000EC 8089082C A60E01F4 */ sh $t6, 0x01F4($s0) ## 000001F4 -/* 000F0 80890830 846F0000 */ lh $t7, 0x0000($v1) ## 00000000 -/* 000F4 80890834 A60F01F6 */ sh $t7, 0x01F6($s0) ## 000001F6 -.L80890838: -/* 000F8 80890838 3C188089 */ lui $t8, %hi(D_80891770+8) ## $t8 = 80890000 -/* 000FC 8089083C 27181778 */ addiu $t8, $t8, %lo(D_80891770+8) ## $t8 = 80891778 -/* 00100 80890840 54780008 */ bnel $v1, $t8, .L80890864 -/* 00104 80890844 8FBF001C */ lw $ra, 0x001C($sp) -/* 00108 80890848 861901B2 */ lh $t9, 0x01B2($s0) ## 000001B2 -/* 0010C 8089084C 860901FE */ lh $t1, 0x01FE($s0) ## 000001FE -/* 00110 80890850 2728001E */ addiu $t0, $t9, 0x001E ## $t0 = 0000001E -/* 00114 80890854 252A001E */ addiu $t2, $t1, 0x001E ## $t2 = 0000001E -/* 00118 80890858 A60801B2 */ sh $t0, 0x01B2($s0) ## 000001B2 -/* 0011C 8089085C A60A01FE */ sh $t2, 0x01FE($s0) ## 000001FE -/* 00120 80890860 8FBF001C */ lw $ra, 0x001C($sp) -.L80890864: -/* 00124 80890864 8FB00018 */ lw $s0, 0x0018($sp) -/* 00128 80890868 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 0012C 8089086C 03E00008 */ jr $ra -/* 00130 80890870 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890874.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890874.s deleted file mode 100644 index 5ee6e7f7ac..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890874.s +++ /dev/null @@ -1,50 +0,0 @@ -.rdata -glabel D_80891800 - .asciz "Warning : move BG 登録失敗(%s %d)(name %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80891840 - .asciz "../z_bg_ice_shelter.c" - .balign 4 - -.text -glabel func_80890874 -/* 00134 80890874 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00138 80890878 AFBF0024 */ sw $ra, 0x0024($sp) -/* 0013C 8089087C AFB00020 */ sw $s0, 0x0020($sp) -/* 00140 80890880 AFA5003C */ sw $a1, 0x003C($sp) -/* 00144 80890884 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00148 80890888 AFA60040 */ sw $a2, 0x0040($sp) -/* 0014C 8089088C AFA00030 */ sw $zero, 0x0030($sp) -/* 00150 80890890 0C010D20 */ jal DynaPolyActor_Init - -/* 00154 80890894 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000 -/* 00158 80890898 8FA40040 */ lw $a0, 0x0040($sp) -/* 0015C 8089089C 0C010620 */ jal CollisionHeader_GetVirtual - -/* 00160 808908A0 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF8 -/* 00164 808908A4 8FA4003C */ lw $a0, 0x003C($sp) -/* 00168 808908A8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0016C 808908AC 8FA70030 */ lw $a3, 0x0030($sp) -/* 00170 808908B0 0C00FA9D */ jal DynaPoly_SetBgActor - ## DynaPoly_SetBgActor -/* 00174 808908B4 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00178 808908B8 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032 -/* 0017C 808908BC 1441000A */ bne $v0, $at, .L808908E8 -/* 00180 808908C0 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 00184 808908C4 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 00188 808908C8 3C048089 */ lui $a0, %hi(D_80891800) ## $a0 = 80890000 -/* 0018C 808908CC 3C058089 */ lui $a1, %hi(D_80891840) ## $a1 = 80890000 -/* 00190 808908D0 86070000 */ lh $a3, 0x0000($s0) ## 00000000 -/* 00194 808908D4 24A51840 */ addiu $a1, $a1, %lo(D_80891840) ## $a1 = 80891840 -/* 00198 808908D8 24841800 */ addiu $a0, $a0, %lo(D_80891800) ## $a0 = 80891800 -/* 0019C 808908DC 2406016A */ addiu $a2, $zero, 0x016A ## $a2 = 0000016A -/* 001A0 808908E0 0C00084C */ jal osSyncPrintf - -/* 001A4 808908E4 AFAE0010 */ sw $t6, 0x0010($sp) -.L808908E8: -/* 001A8 808908E8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 001AC 808908EC 8FB00020 */ lw $s0, 0x0020($sp) -/* 001B0 808908F0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 001B4 808908F4 03E00008 */ jr $ra -/* 001B8 808908F8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808908FC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808908FC.s deleted file mode 100644 index 158889af9f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808908FC.s +++ /dev/null @@ -1,36 +0,0 @@ -glabel func_808908FC -/* 001BC 808908FC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 001C0 80890900 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001C4 80890904 AFA40020 */ sw $a0, 0x0020($sp) -/* 001C8 80890908 AFA60028 */ sw $a2, 0x0028($sp) -/* 001CC 8089090C 87A4002A */ lh $a0, 0x002A($sp) -/* 001D0 80890910 0C01DE1C */ jal Math_SinS - ## sins? -/* 001D4 80890914 AFA50024 */ sw $a1, 0x0024($sp) -/* 001D8 80890918 87A4002A */ lh $a0, 0x002A($sp) -/* 001DC 8089091C 0C01DE0D */ jal Math_CosS - ## coss? -/* 001E0 80890920 E7A0001C */ swc1 $f0, 0x001C($sp) -/* 001E4 80890924 8FA50024 */ lw $a1, 0x0024($sp) -/* 001E8 80890928 C7A2001C */ lwc1 $f2, 0x001C($sp) -/* 001EC 8089092C 8FA20020 */ lw $v0, 0x0020($sp) -/* 001F0 80890930 C4A40008 */ lwc1 $f4, 0x0008($a1) ## 00000008 -/* 001F4 80890934 C4A80000 */ lwc1 $f8, 0x0000($a1) ## 00000000 -/* 001F8 80890938 46022182 */ mul.s $f6, $f4, $f2 -/* 001FC 8089093C 00000000 */ nop -/* 00200 80890940 46004282 */ mul.s $f10, $f8, $f0 -/* 00204 80890944 460A3400 */ add.s $f16, $f6, $f10 -/* 00208 80890948 E4500000 */ swc1 $f16, 0x0000($v0) ## 00000000 -/* 0020C 8089094C C4B20004 */ lwc1 $f18, 0x0004($a1) ## 00000004 -/* 00210 80890950 E4520004 */ swc1 $f18, 0x0004($v0) ## 00000004 -/* 00214 80890954 C4A40008 */ lwc1 $f4, 0x0008($a1) ## 00000008 -/* 00218 80890958 C4A60000 */ lwc1 $f6, 0x0000($a1) ## 00000000 -/* 0021C 8089095C 46002202 */ mul.s $f8, $f4, $f0 -/* 00220 80890960 00000000 */ nop -/* 00224 80890964 46023282 */ mul.s $f10, $f6, $f2 -/* 00228 80890968 460A4401 */ sub.s $f16, $f8, $f10 -/* 0022C 8089096C E4500008 */ swc1 $f16, 0x0008($v0) ## 00000008 -/* 00230 80890970 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00234 80890974 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00238 80890978 03E00008 */ jr $ra -/* 0023C 8089097C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890B8C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890B8C.s deleted file mode 100644 index 440fcee923..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890B8C.s +++ /dev/null @@ -1,173 +0,0 @@ -.late_rodata -glabel D_808918D4 - .word 0x3D8F5C29 -glabel D_808918D8 - .float 0.8 - -.text -glabel func_80890B8C -/* 0044C 80890B8C 27BDFF28 */ addiu $sp, $sp, 0xFF28 ## $sp = FFFFFF28 -/* 00450 80890B90 AFBF007C */ sw $ra, 0x007C($sp) -/* 00454 80890B94 AFBE0078 */ sw $s8, 0x0078($sp) -/* 00458 80890B98 AFB70074 */ sw $s7, 0x0074($sp) -/* 0045C 80890B9C AFB60070 */ sw $s6, 0x0070($sp) -/* 00460 80890BA0 AFB5006C */ sw $s5, 0x006C($sp) -/* 00464 80890BA4 AFB40068 */ sw $s4, 0x0068($sp) -/* 00468 80890BA8 AFB30064 */ sw $s3, 0x0064($sp) -/* 0046C 80890BAC AFB20060 */ sw $s2, 0x0060($sp) -/* 00470 80890BB0 AFB1005C */ sw $s1, 0x005C($sp) -/* 00474 80890BB4 AFB00058 */ sw $s0, 0x0058($sp) -/* 00478 80890BB8 F7BE0050 */ sdc1 $f30, 0x0050($sp) -/* 0047C 80890BBC F7BC0048 */ sdc1 $f28, 0x0048($sp) -/* 00480 80890BC0 F7BA0040 */ sdc1 $f26, 0x0040($sp) -/* 00484 80890BC4 F7B80038 */ sdc1 $f24, 0x0038($sp) -/* 00488 80890BC8 F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 0048C 80890BCC F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 00490 80890BD0 AFA600E0 */ sw $a2, 0x00E0($sp) -/* 00494 80890BD4 84B4009E */ lh $s4, 0x009E($a1) ## 0000009E -/* 00498 80890BD8 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 0049C 80890BDC 3C1E8089 */ lui $s8, %hi(D_80891794) ## $s8 = 80890000 -/* 004A0 80890BE0 32940007 */ andi $s4, $s4, 0x0007 ## $s4 = 00000000 -/* 004A4 80890BE4 0014A400 */ sll $s4, $s4, 16 -/* 004A8 80890BE8 4487D000 */ mtc1 $a3, $f26 ## $f26 = 0.00 -/* 004AC 80890BEC 4481F000 */ mtc1 $at, $f30 ## $f30 = 3.00 -/* 004B0 80890BF0 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000 -/* 004B4 80890BF4 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000 -/* 004B8 80890BF8 0014A403 */ sra $s4, $s4, 16 -/* 004BC 80890BFC 27DE1794 */ addiu $s8, $s8, %lo(D_80891794) ## $s8 = 80891794 -/* 004C0 80890C00 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 004C4 80890C04 24170002 */ addiu $s7, $zero, 0x0002 ## $s7 = 00000002 -.L80890C08: -/* 004C8 80890C08 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 004CC 80890C0C 00000000 */ nop -/* 004D0 80890C10 C7A400E0 */ lwc1 $f4, 0x00E0($sp) -/* 004D4 80890C14 3C014228 */ lui $at, 0x4228 ## $at = 42280000 -/* 004D8 80890C18 4600203C */ c.lt.s $f4, $f0 -/* 004DC 80890C1C 00000000 */ nop -/* 004E0 80890C20 45030063 */ bc1tl .L80890DB0 -/* 004E4 80890C24 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 004E8 80890C28 44813000 */ mtc1 $at, $f6 ## $f6 = 42.00 -/* 004EC 80890C2C 3C014180 */ lui $at, 0x4180 ## $at = 41800000 -/* 004F0 80890C30 44814000 */ mtc1 $at, $f8 ## $f8 = 16.00 -/* 004F4 80890C34 461A3582 */ mul.s $f22, $f6, $f26 -/* 004F8 80890C38 3C0143E1 */ lui $at, 0x43E1 ## $at = 43E10000 -/* 004FC 80890C3C 44815000 */ mtc1 $at, $f10 ## $f10 = 450.00 -/* 00500 80890C40 461A4702 */ mul.s $f28, $f8, $f26 -/* 00504 80890C44 00147040 */ sll $t6, $s4, 1 -/* 00508 80890C48 03CE7821 */ addu $t7, $s8, $t6 -/* 0050C 80890C4C 461A5402 */ mul.s $f16, $f10, $f26 -/* 00510 80890C50 85F80000 */ lh $t8, 0x0000($t7) ## 00000000 -/* 00514 80890C54 0012CBC0 */ sll $t9, $s2, 15 -/* 00518 80890C58 26D00024 */ addiu $s0, $s6, 0x0024 ## $s0 = 00000024 -/* 0051C 80890C5C 03198821 */ addu $s1, $t8, $t9 -/* 00520 80890C60 00118C00 */ sll $s1, $s1, 16 -/* 00524 80890C64 00118C03 */ sra $s1, $s1, 16 -/* 00528 80890C68 4600848D */ trunc.w.s $f18, $f16 -/* 0052C 80890C6C 00112400 */ sll $a0, $s1, 16 -/* 00530 80890C70 00042403 */ sra $a0, $a0, 16 -/* 00534 80890C74 44139000 */ mfc1 $s3, $f18 -/* 00538 80890C78 00000000 */ nop -/* 0053C 80890C7C 00139C00 */ sll $s3, $s3, 16 -/* 00540 80890C80 0C01DE1C */ jal Math_SinS - ## sins? -/* 00544 80890C84 00139C03 */ sra $s3, $s3, 16 -/* 00548 80890C88 00112400 */ sll $a0, $s1, 16 -/* 0054C 80890C8C 46000506 */ mov.s $f20, $f0 -/* 00550 80890C90 0C01DE0D */ jal Math_CosS - ## coss? -/* 00554 80890C94 00042403 */ sra $a0, $a0, 16 -/* 00558 80890C98 4614B102 */ mul.s $f4, $f22, $f20 -/* 0055C 80890C9C C6060000 */ lwc1 $f6, 0x0000($s0) ## 00000024 -/* 00560 80890CA0 46000606 */ mov.s $f24, $f0 -/* 00564 80890CA4 4600B482 */ mul.s $f18, $f22, $f0 -/* 00568 80890CA8 46062200 */ add.s $f8, $f4, $f6 -/* 0056C 80890CAC E7A800AC */ swc1 $f8, 0x00AC($sp) -/* 00570 80890CB0 C60A0004 */ lwc1 $f10, 0x0004($s0) ## 00000028 -/* 00574 80890CB4 460AE400 */ add.s $f16, $f28, $f10 -/* 00578 80890CB8 E7B000B0 */ swc1 $f16, 0x00B0($sp) -/* 0057C 80890CBC C6040008 */ lwc1 $f4, 0x0008($s0) ## 0000002C -/* 00580 80890CC0 46049180 */ add.s $f6, $f18, $f4 -/* 00584 80890CC4 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00588 80890CC8 E7A600B4 */ swc1 $f6, 0x00B4($sp) -/* 0058C 80890CCC 461E0202 */ mul.s $f8, $f0, $f30 -/* 00590 80890CD0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00594 80890CD4 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00 -/* 00598 80890CD8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 0059C 80890CDC 00000000 */ nop -/* 005A0 80890CE0 E7A400A4 */ swc1 $f4, 0x00A4($sp) -/* 005A4 80890CE4 460A4401 */ sub.s $f16, $f8, $f10 -/* 005A8 80890CE8 46148482 */ mul.s $f18, $f16, $f20 -/* 005AC 80890CEC 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 005B0 80890CF0 E7B200A0 */ swc1 $f18, 0x00A0($sp) -/* 005B4 80890CF4 461E0182 */ mul.s $f6, $f0, $f30 -/* 005B8 80890CF8 3C018089 */ lui $at, %hi(D_808918D4) ## $at = 80890000 -/* 005BC 80890CFC C42218D4 */ lwc1 $f2, %lo(D_808918D4)($at) -/* 005C0 80890D00 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 005C4 80890D04 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 005C8 80890D08 3C018089 */ lui $at, %hi(D_808918D8) ## $at = 80890000 -/* 005CC 80890D0C C42418D8 */ lwc1 $f4, %lo(D_808918D8)($at) -/* 005D0 80890D10 46083281 */ sub.s $f10, $f6, $f8 -/* 005D4 80890D14 E7A40098 */ swc1 $f4, 0x0098($sp) -/* 005D8 80890D18 46185402 */ mul.s $f16, $f10, $f24 -/* 005DC 80890D1C 00000000 */ nop -/* 005E0 80890D20 46141482 */ mul.s $f18, $f2, $f20 -/* 005E4 80890D24 00000000 */ nop -/* 005E8 80890D28 46181182 */ mul.s $f6, $f2, $f24 -/* 005EC 80890D2C E7B000A8 */ swc1 $f16, 0x00A8($sp) -/* 005F0 80890D30 E7B20094 */ swc1 $f18, 0x0094($sp) -/* 005F4 80890D34 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 005F8 80890D38 E7A6009C */ swc1 $f6, 0x009C($sp) -/* 005FC 80890D3C 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00600 80890D40 44811000 */ mtc1 $at, $f2 ## $f2 = 40.00 -/* 00604 80890D44 3C098089 */ lui $t1, %hi(D_80891704) ## $t1 = 80890000 -/* 00608 80890D48 3C0A8089 */ lui $t2, %hi(D_80891708) ## $t2 = 80890000 -/* 0060C 80890D4C 46020202 */ mul.s $f8, $f0, $f2 -/* 00610 80890D50 254A1708 */ addiu $t2, $t2, %lo(D_80891708) ## $t2 = 80891708 -/* 00614 80890D54 25291704 */ addiu $t1, $t1, %lo(D_80891704) ## $t1 = 80891704 -/* 00618 80890D58 AFA90010 */ sw $t1, 0x0010($sp) -/* 0061C 80890D5C AFAA0014 */ sw $t2, 0x0014($sp) -/* 00620 80890D60 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 -/* 00624 80890D64 27A500AC */ addiu $a1, $sp, 0x00AC ## $a1 = FFFFFFD4 -/* 00628 80890D68 46024280 */ add.s $f10, $f8, $f2 -/* 0062C 80890D6C 27A600A0 */ addiu $a2, $sp, 0x00A0 ## $a2 = FFFFFFC8 -/* 00630 80890D70 27A70094 */ addiu $a3, $sp, 0x0094 ## $a3 = FFFFFFBC -/* 00634 80890D74 AFB30018 */ sw $s3, 0x0018($sp) -/* 00638 80890D78 4600540D */ trunc.w.s $f16, $f10 -/* 0063C 80890D7C 440C8000 */ mfc1 $t4, $f16 -/* 00640 80890D80 00000000 */ nop -/* 00644 80890D84 000C6C00 */ sll $t5, $t4, 16 -/* 00648 80890D88 000D7403 */ sra $t6, $t5, 16 -/* 0064C 80890D8C 448E9000 */ mtc1 $t6, $f18 ## $f18 = 0.00 -/* 00650 80890D90 00000000 */ nop -/* 00654 80890D94 46809120 */ cvt.s.w $f4, $f18 -/* 00658 80890D98 461A2182 */ mul.s $f6, $f4, $f26 -/* 0065C 80890D9C 4600320D */ trunc.w.s $f8, $f6 -/* 00660 80890DA0 44184000 */ mfc1 $t8, $f8 -/* 00664 80890DA4 0C00A0A7 */ jal func_8002829C -/* 00668 80890DA8 AFB8001C */ sw $t8, 0x001C($sp) -/* 0066C 80890DAC 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000002 -.L80890DB0: -/* 00670 80890DB0 1657FF95 */ bne $s2, $s7, .L80890C08 -/* 00674 80890DB4 00000000 */ nop -/* 00678 80890DB8 8FBF007C */ lw $ra, 0x007C($sp) -/* 0067C 80890DBC D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 00680 80890DC0 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 00684 80890DC4 D7B80038 */ ldc1 $f24, 0x0038($sp) -/* 00688 80890DC8 D7BA0040 */ ldc1 $f26, 0x0040($sp) -/* 0068C 80890DCC D7BC0048 */ ldc1 $f28, 0x0048($sp) -/* 00690 80890DD0 D7BE0050 */ ldc1 $f30, 0x0050($sp) -/* 00694 80890DD4 8FB00058 */ lw $s0, 0x0058($sp) -/* 00698 80890DD8 8FB1005C */ lw $s1, 0x005C($sp) -/* 0069C 80890DDC 8FB20060 */ lw $s2, 0x0060($sp) -/* 006A0 80890DE0 8FB30064 */ lw $s3, 0x0064($sp) -/* 006A4 80890DE4 8FB40068 */ lw $s4, 0x0068($sp) -/* 006A8 80890DE8 8FB5006C */ lw $s5, 0x006C($sp) -/* 006AC 80890DEC 8FB60070 */ lw $s6, 0x0070($sp) -/* 006B0 80890DF0 8FB70074 */ lw $s7, 0x0074($sp) -/* 006B4 80890DF4 8FBE0078 */ lw $s8, 0x0078($sp) -/* 006B8 80890DF8 03E00008 */ jr $ra -/* 006BC 80890DFC 27BD00D8 */ addiu $sp, $sp, 0x00D8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890E00.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890E00.s deleted file mode 100644 index ea93c0ebb5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890E00.s +++ /dev/null @@ -1,177 +0,0 @@ -.late_rodata -glabel D_808918DC - .word 0x3D8F5C29 -glabel D_808918E0 - .word 0x3E0F5C29 -glabel D_808918E4 - .float 0.2 - -glabel D_808918E8 - .float 0.8 - -.text -glabel func_80890E00 -/* 006C0 80890E00 27BDFF28 */ addiu $sp, $sp, 0xFF28 ## $sp = FFFFFF28 -/* 006C4 80890E04 F7BC0048 */ sdc1 $f28, 0x0048($sp) -/* 006C8 80890E08 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 006CC 80890E0C 4481E000 */ mtc1 $at, $f28 ## $f28 = 40.00 -/* 006D0 80890E10 F7BA0040 */ sdc1 $f26, 0x0040($sp) -/* 006D4 80890E14 3C018089 */ lui $at, %hi(D_808918DC) ## $at = 80890000 -/* 006D8 80890E18 F7B80038 */ sdc1 $f24, 0x0038($sp) -/* 006DC 80890E1C C43A18DC */ lwc1 $f26, %lo(D_808918DC)($at) -/* 006E0 80890E20 AFBF007C */ sw $ra, 0x007C($sp) -/* 006E4 80890E24 AFBE0078 */ sw $s8, 0x0078($sp) -/* 006E8 80890E28 AFB70074 */ sw $s7, 0x0074($sp) -/* 006EC 80890E2C AFB60070 */ sw $s6, 0x0070($sp) -/* 006F0 80890E30 AFB5006C */ sw $s5, 0x006C($sp) -/* 006F4 80890E34 AFB40068 */ sw $s4, 0x0068($sp) -/* 006F8 80890E38 AFB30064 */ sw $s3, 0x0064($sp) -/* 006FC 80890E3C AFB20060 */ sw $s2, 0x0060($sp) -/* 00700 80890E40 AFB1005C */ sw $s1, 0x005C($sp) -/* 00704 80890E44 AFB00058 */ sw $s0, 0x0058($sp) -/* 00708 80890E48 F7BE0050 */ sdc1 $f30, 0x0050($sp) -/* 0070C 80890E4C F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 00710 80890E50 F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 00714 80890E54 AFA700E4 */ sw $a3, 0x00E4($sp) -/* 00718 80890E58 3C018089 */ lui $at, %hi(D_808918E0) ## $at = 80890000 -/* 0071C 80890E5C 84B6009E */ lh $s6, 0x009E($a1) ## 0000009E -/* 00720 80890E60 C43818E0 */ lwc1 $f24, %lo(D_808918E0)($at) -/* 00724 80890E64 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 00728 80890E68 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.50 -/* 0072C 80890E6C 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 00730 80890E70 32D60007 */ andi $s6, $s6, 0x0007 ## $s6 = 00000000 -/* 00734 80890E74 0016B400 */ sll $s6, $s6, 16 -/* 00738 80890E78 4486F000 */ mtc1 $a2, $f30 ## $f30 = 0.00 -/* 0073C 80890E7C 4481A000 */ mtc1 $at, $f20 ## $f20 = 3.00 -/* 00740 80890E80 0080A825 */ or $s5, $a0, $zero ## $s5 = 00000000 -/* 00744 80890E84 00A0B825 */ or $s7, $a1, $zero ## $s7 = 00000000 -/* 00748 80890E88 0016B403 */ sra $s6, $s6, 16 -/* 0074C 80890E8C 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 00750 80890E90 27B400BC */ addiu $s4, $sp, 0x00BC ## $s4 = FFFFFFE4 -/* 00754 80890E94 241E0002 */ addiu $s8, $zero, 0x0002 ## $s8 = 00000002 -.L80890E98: -/* 00758 80890E98 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 0075C 80890E9C 00000000 */ nop -/* 00760 80890EA0 4600F03C */ c.lt.s $f30, $f0 -/* 00764 80890EA4 3C0F8089 */ lui $t7, %hi(D_808917B4) ## $t7 = 80890000 -/* 00768 80890EA8 25EF17B4 */ addiu $t7, $t7, %lo(D_808917B4) ## $t7 = 808917B4 -/* 0076C 80890EAC 26B00024 */ addiu $s0, $s5, 0x0024 ## $s0 = 00000024 -/* 00770 80890EB0 45010057 */ bc1t .L80891010 -/* 00774 80890EB4 00137080 */ sll $t6, $s3, 2 -/* 00778 80890EB8 3C198089 */ lui $t9, %hi(D_808917A4) ## $t9 = 80890000 -/* 0077C 80890EBC 273917A4 */ addiu $t9, $t9, %lo(D_808917A4) ## $t9 = 808917A4 -/* 00780 80890EC0 0016C040 */ sll $t8, $s6, 1 -/* 00784 80890EC4 03199021 */ addu $s2, $t8, $t9 -/* 00788 80890EC8 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 0078C 80890ECC 01CF8821 */ addu $s1, $t6, $t7 -/* 00790 80890ED0 3C014140 */ lui $at, 0x4140 ## $at = 41400000 -/* 00794 80890ED4 44812000 */ mtc1 $at, $f4 ## $f4 = 12.00 -/* 00798 80890ED8 86480000 */ lh $t0, 0x0000($s2) ## 00000000 -/* 0079C 80890EDC 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 007A0 80890EE0 46040182 */ mul.s $f6, $f0, $f4 -/* 007A4 80890EE4 44888000 */ mtc1 $t0, $f16 ## $f16 = 0.00 -/* 007A8 80890EE8 44814000 */ mtc1 $at, $f8 ## $f8 = 6.00 -/* 007AC 80890EEC 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 007B0 80890EF0 468084A0 */ cvt.s.w $f18, $f16 -/* 007B4 80890EF4 44818000 */ mtc1 $at, $f16 ## $f16 = 15.00 -/* 007B8 80890EF8 00000000 */ nop -/* 007BC 80890EFC E7B0009C */ swc1 $f16, 0x009C($sp) -/* 007C0 80890F00 46083281 */ sub.s $f10, $f6, $f8 -/* 007C4 80890F04 C6260000 */ lwc1 $f6, 0x0000($s1) ## 00000000 -/* 007C8 80890F08 460A9100 */ add.s $f4, $f18, $f10 -/* 007CC 80890F0C 46043202 */ mul.s $f8, $f6, $f4 -/* 007D0 80890F10 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 007D4 80890F14 E7A80098 */ swc1 $f8, 0x0098($sp) -/* 007D8 80890F18 3C0142A8 */ lui $at, 0x42A8 ## $at = 42A80000 -/* 007DC 80890F1C 44819000 */ mtc1 $at, $f18 ## $f18 = 84.00 -/* 007E0 80890F20 C7AA0098 */ lwc1 $f10, 0x0098($sp) -/* 007E4 80890F24 3C018089 */ lui $at, %hi(D_808918E4) ## $at = 80890000 -/* 007E8 80890F28 C42418E4 */ lwc1 $f4, %lo(D_808918E4)($at) -/* 007EC 80890F2C 460A9181 */ sub.s $f6, $f18, $f10 -/* 007F0 80890F30 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 007F4 80890F34 44818000 */ mtc1 $at, $f16 ## $f16 = 20.00 -/* 007F8 80890F38 02802025 */ or $a0, $s4, $zero ## $a0 = FFFFFFE4 -/* 007FC 80890F3C 46043202 */ mul.s $f8, $f6, $f4 -/* 00800 80890F40 27A50098 */ addiu $a1, $sp, 0x0098 ## $a1 = FFFFFFC0 -/* 00804 80890F44 46100482 */ mul.s $f18, $f0, $f16 -/* 00808 80890F48 46089280 */ add.s $f10, $f18, $f8 -/* 0080C 80890F4C E7AA00A0 */ swc1 $f10, 0x00A0($sp) -/* 00810 80890F50 0C22423F */ jal func_808908FC -/* 00814 80890F54 86A60032 */ lh $a2, 0x0032($s5) ## 00000032 -/* 00818 80890F58 02802025 */ or $a0, $s4, $zero ## $a0 = FFFFFFE4 -/* 0081C 80890F5C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000024 -/* 00820 80890F60 0C01DFA7 */ jal Math_Vec3f_Sum - ## Vec3f_Add -/* 00824 80890F64 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFE4 -/* 00828 80890F68 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 0082C 80890F6C 00000000 */ nop -/* 00830 80890F70 46140182 */ mul.s $f6, $f0, $f20 -/* 00834 80890F74 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00838 80890F78 00000000 */ nop -/* 0083C 80890F7C E7B000B4 */ swc1 $f16, 0x00B4($sp) -/* 00840 80890F80 46163101 */ sub.s $f4, $f6, $f22 -/* 00844 80890F84 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00848 80890F88 E7A400B0 */ swc1 $f4, 0x00B0($sp) -/* 0084C 80890F8C 46140482 */ mul.s $f18, $f0, $f20 -/* 00850 80890F90 46169201 */ sub.s $f8, $f18, $f22 -/* 00854 80890F94 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00858 80890F98 E7A800B8 */ swc1 $f8, 0x00B8($sp) -/* 0085C 80890F9C 46180282 */ mul.s $f10, $f0, $f24 -/* 00860 80890FA0 3C018089 */ lui $at, %hi(D_808918E8) ## $at = 80890000 -/* 00864 80890FA4 C42418E8 */ lwc1 $f4, %lo(D_808918E8)($at) -/* 00868 80890FA8 E7A400A8 */ swc1 $f4, 0x00A8($sp) -/* 0086C 80890FAC 461A5181 */ sub.s $f6, $f10, $f26 -/* 00870 80890FB0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00874 80890FB4 E7A600A4 */ swc1 $f6, 0x00A4($sp) -/* 00878 80890FB8 46180402 */ mul.s $f16, $f0, $f24 -/* 0087C 80890FBC 461A8481 */ sub.s $f18, $f16, $f26 -/* 00880 80890FC0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00884 80890FC4 E7B200AC */ swc1 $f18, 0x00AC($sp) -/* 00888 80890FC8 461C0202 */ mul.s $f8, $f0, $f28 -/* 0088C 80890FCC 3C098089 */ lui $t1, %hi(D_80891704) ## $t1 = 80890000 -/* 00890 80890FD0 3C0A8089 */ lui $t2, %hi(D_80891708) ## $t2 = 80890000 -/* 00894 80890FD4 254A1708 */ addiu $t2, $t2, %lo(D_80891708) ## $t2 = 80891708 -/* 00898 80890FD8 25291704 */ addiu $t1, $t1, %lo(D_80891704) ## $t1 = 80891704 -/* 0089C 80890FDC 240B01C2 */ addiu $t3, $zero, 0x01C2 ## $t3 = 000001C2 -/* 008A0 80890FE0 AFAB0018 */ sw $t3, 0x0018($sp) -/* 008A4 80890FE4 461C4280 */ add.s $f10, $f8, $f28 -/* 008A8 80890FE8 AFA90010 */ sw $t1, 0x0010($sp) -/* 008AC 80890FEC AFAA0014 */ sw $t2, 0x0014($sp) -/* 008B0 80890FF0 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000 -/* 008B4 80890FF4 4600518D */ trunc.w.s $f6, $f10 -/* 008B8 80890FF8 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE4 -/* 008BC 80890FFC 27A600B0 */ addiu $a2, $sp, 0x00B0 ## $a2 = FFFFFFD8 -/* 008C0 80891000 27A700A4 */ addiu $a3, $sp, 0x00A4 ## $a3 = FFFFFFCC -/* 008C4 80891004 440D3000 */ mfc1 $t5, $f6 -/* 008C8 80891008 0C00A0A7 */ jal func_8002829C -/* 008CC 8089100C AFAD001C */ sw $t5, 0x001C($sp) -.L80891010: -/* 008D0 80891010 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 008D4 80891014 167EFFA0 */ bne $s3, $s8, .L80890E98 -/* 008D8 80891018 00000000 */ nop -/* 008DC 8089101C 8FBF007C */ lw $ra, 0x007C($sp) -/* 008E0 80891020 D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 008E4 80891024 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 008E8 80891028 D7B80038 */ ldc1 $f24, 0x0038($sp) -/* 008EC 8089102C D7BA0040 */ ldc1 $f26, 0x0040($sp) -/* 008F0 80891030 D7BC0048 */ ldc1 $f28, 0x0048($sp) -/* 008F4 80891034 D7BE0050 */ ldc1 $f30, 0x0050($sp) -/* 008F8 80891038 8FB00058 */ lw $s0, 0x0058($sp) -/* 008FC 8089103C 8FB1005C */ lw $s1, 0x005C($sp) -/* 00900 80891040 8FB20060 */ lw $s2, 0x0060($sp) -/* 00904 80891044 8FB30064 */ lw $s3, 0x0064($sp) -/* 00908 80891048 8FB40068 */ lw $s4, 0x0068($sp) -/* 0090C 8089104C 8FB5006C */ lw $s5, 0x006C($sp) -/* 00910 80891050 8FB60070 */ lw $s6, 0x0070($sp) -/* 00914 80891054 8FB70074 */ lw $s7, 0x0074($sp) -/* 00918 80891058 8FBE0078 */ lw $s8, 0x0078($sp) -/* 0091C 8089105C 03E00008 */ jr $ra -/* 00920 80891060 27BD00D8 */ addiu $sp, $sp, 0x00D8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80891064.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80891064.s deleted file mode 100644 index 6e4629b441..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80891064.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel func_80891064 -/* 00924 80891064 3C0E8089 */ lui $t6, %hi(func_8089107C) ## $t6 = 80890000 -/* 00928 80891068 25CE107C */ addiu $t6, $t6, %lo(func_8089107C) ## $t6 = 8089107C -/* 0092C 8089106C 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF -/* 00930 80891070 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164 -/* 00934 80891074 03E00008 */ jr $ra -/* 00938 80891078 A48F0200 */ sh $t7, 0x0200($a0) ## 00000200 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_8089107C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_8089107C.s deleted file mode 100644 index d83ba6e43d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_8089107C.s +++ /dev/null @@ -1,91 +0,0 @@ -glabel func_8089107C -/* 0093C 8089107C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00940 80891080 AFBF001C */ sw $ra, 0x001C($sp) -/* 00944 80891084 AFB00018 */ sw $s0, 0x0018($sp) -/* 00948 80891088 AFA5003C */ sw $a1, 0x003C($sp) -/* 0094C 8089108C 8486001C */ lh $a2, 0x001C($a0) ## 0000001C -/* 00950 80891090 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004 -/* 00954 80891094 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00958 80891098 00063203 */ sra $a2, $a2, 8 -/* 0095C 8089109C 30C60007 */ andi $a2, $a2, 0x0007 ## $a2 = 00000000 -/* 00960 808910A0 00063400 */ sll $a2, $a2, 16 -/* 00964 808910A4 00063403 */ sra $a2, $a2, 16 -/* 00968 808910A8 54C70007 */ bnel $a2, $a3, .L808910C8 -/* 0096C 808910AC 92020179 */ lbu $v0, 0x0179($s0) ## 00000179 -/* 00970 808910B0 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 00974 808910B4 240E2710 */ addiu $t6, $zero, 0x2710 ## $t6 = 00002710 -/* 00978 808910B8 50400003 */ beql $v0, $zero, .L808910C8 -/* 0097C 808910BC 92020179 */ lbu $v0, 0x0179($s0) ## 00000179 -/* 00980 808910C0 A44E0110 */ sh $t6, 0x0110($v0) ## 00000110 -/* 00984 808910C4 92020179 */ lbu $v0, 0x0179($s0) ## 00000179 -.L808910C8: -/* 00988 808910C8 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000 -/* 0098C 808910CC 11E00019 */ beq $t7, $zero, .L80891134 -/* 00990 808910D0 00000000 */ nop -/* 00994 808910D4 8E030170 */ lw $v1, 0x0170($s0) ## 00000170 -/* 00998 808910D8 3058FFFD */ andi $t8, $v0, 0xFFFD ## $t8 = 00000000 -/* 0099C 808910DC A2180179 */ sb $t8, 0x0179($s0) ## 00000179 -/* 009A0 808910E0 10600014 */ beq $v1, $zero, .L80891134 -/* 009A4 808910E4 00000000 */ nop -/* 009A8 808910E8 84790000 */ lh $t9, 0x0000($v1) ## 00000000 -/* 009AC 808910EC 240100F0 */ addiu $at, $zero, 0x00F0 ## $at = 000000F0 -/* 009B0 808910F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009B4 808910F4 1721000F */ bne $t9, $at, .L80891134 -/* 009B8 808910F8 00000000 */ nop -/* 009BC 808910FC 14C70006 */ bne $a2, $a3, .L80891118 -/* 009C0 80891100 00000000 */ nop -/* 009C4 80891104 8E020118 */ lw $v0, 0x0118($s0) ## 00000118 -/* 009C8 80891108 24080032 */ addiu $t0, $zero, 0x0032 ## $t0 = 00000032 -/* 009CC 8089110C 10400002 */ beq $v0, $zero, .L80891118 -/* 009D0 80891110 00000000 */ nop -/* 009D4 80891114 A4480110 */ sh $t0, 0x0110($v0) ## 00000110 -.L80891118: -/* 009D8 80891118 0C22446F */ jal func_808911BC -/* 009DC 8089111C A7A60032 */ sh $a2, 0x0032($sp) -/* 009E0 80891120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009E4 80891124 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 009E8 80891128 240528A2 */ addiu $a1, $zero, 0x28A2 ## $a1 = 000028A2 -/* 009EC 8089112C 87A60032 */ lh $a2, 0x0032($sp) -/* 009F0 80891130 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004 -.L80891134: -/* 009F4 80891134 10C0000A */ beq $a2, $zero, .L80891160 -/* 009F8 80891138 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 009FC 8089113C 50C10009 */ beql $a2, $at, .L80891164 -/* 00A00 80891140 8FA4003C */ lw $a0, 0x003C($sp) -/* 00A04 80891144 10C70006 */ beq $a2, $a3, .L80891160 -/* 00A08 80891148 8FA5003C */ lw $a1, 0x003C($sp) -/* 00A0C 8089114C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00A10 80891150 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00A14 80891154 00A12821 */ addu $a1, $a1, $at -/* 00A18 80891158 10000010 */ beq $zero, $zero, .L8089119C -/* 00A1C 8089115C 26070168 */ addiu $a3, $s0, 0x0168 ## $a3 = 00000168 -.L80891160: -/* 00A20 80891160 8FA4003C */ lw $a0, 0x003C($sp) -.L80891164: -/* 00A24 80891164 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00A28 80891168 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00A2C 8089116C 26070168 */ addiu $a3, $s0, 0x0168 ## $a3 = 00000168 -/* 00A30 80891170 00812821 */ addu $a1, $a0, $at -/* 00A34 80891174 AFA50028 */ sw $a1, 0x0028($sp) -/* 00A38 80891178 00E03025 */ or $a2, $a3, $zero ## $a2 = 00000168 -/* 00A3C 8089117C 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 00A40 80891180 AFA70024 */ sw $a3, 0x0024($sp) -/* 00A44 80891184 8FA50028 */ lw $a1, 0x0028($sp) -/* 00A48 80891188 8FA4003C */ lw $a0, 0x003C($sp) -/* 00A4C 8089118C 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00A50 80891190 260601B4 */ addiu $a2, $s0, 0x01B4 ## $a2 = 000001B4 -/* 00A54 80891194 8FA50028 */ lw $a1, 0x0028($sp) -/* 00A58 80891198 8FA70024 */ lw $a3, 0x0024($sp) -.L8089119C: -/* 00A5C 8089119C 8FA4003C */ lw $a0, 0x003C($sp) -/* 00A60 808911A0 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00A64 808911A4 00E03025 */ or $a2, $a3, $zero ## $a2 = 00000000 -/* 00A68 808911A8 8FBF001C */ lw $ra, 0x001C($sp) -/* 00A6C 808911AC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00A70 808911B0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00A74 808911B4 03E00008 */ jr $ra -/* 00A78 808911B8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911BC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911BC.s deleted file mode 100644 index 7acaad8380..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911BC.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel func_808911BC -/* 00A7C 808911BC 3C0E8089 */ lui $t6, %hi(func_808911D4) ## $t6 = 80890000 -/* 00A80 808911C0 25CE11D4 */ addiu $t6, $t6, %lo(func_808911D4) ## $t6 = 808911D4 -/* 00A84 808911C4 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF -/* 00A88 808911C8 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164 -/* 00A8C 808911CC 03E00008 */ jr $ra -/* 00A90 808911D0 A48F0200 */ sh $t7, 0x0200($a0) ## 00000200 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911D4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911D4.s deleted file mode 100644 index 37769d2413..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911D4.s +++ /dev/null @@ -1,135 +0,0 @@ -.late_rodata -glabel D_808918EC - .word 0x38D1B717 - -.text -glabel func_808911D4 -/* 00A94 808911D4 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00A98 808911D8 AFBF001C */ sw $ra, 0x001C($sp) -/* 00A9C 808911DC AFB00018 */ sw $s0, 0x0018($sp) -/* 00AA0 808911E0 AFA50044 */ sw $a1, 0x0044($sp) -/* 00AA4 808911E4 848E0200 */ lh $t6, 0x0200($a0) ## 00000200 -/* 00AA8 808911E8 8486001C */ lh $a2, 0x001C($a0) ## 0000001C -/* 00AAC 808911EC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00AB0 808911F0 25CFFFFB */ addiu $t7, $t6, 0xFFFB ## $t7 = FFFFFFFB -/* 00AB4 808911F4 A48F0200 */ sh $t7, 0x0200($a0) ## 00000200 -/* 00AB8 808911F8 84820200 */ lh $v0, 0x0200($a0) ## 00000200 -/* 00ABC 808911FC 00063203 */ sra $a2, $a2, 8 -/* 00AC0 80891200 30C60007 */ andi $a2, $a2, 0x0007 ## $a2 = 00000000 -/* 00AC4 80891204 04410003 */ bgez $v0, .L80891214 -/* 00AC8 80891208 28410100 */ slti $at, $v0, 0x0100 -/* 00ACC 8089120C 10000006 */ beq $zero, $zero, .L80891228 -/* 00AD0 80891210 A4800200 */ sh $zero, 0x0200($a0) ## 00000200 -.L80891214: -/* 00AD4 80891214 14200003 */ bne $at, $zero, .L80891224 -/* 00AD8 80891218 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -/* 00ADC 8089121C 10000001 */ beq $zero, $zero, .L80891224 -/* 00AE0 80891220 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF -.L80891224: -/* 00AE4 80891224 A6030200 */ sh $v1, 0x0200($s0) ## 00000200 -.L80891228: -/* 00AE8 80891228 3C018089 */ lui $at, %hi(D_808918EC) ## $at = 80890000 -/* 00AEC 8089122C C42218EC */ lwc1 $f2, %lo(D_808918EC)($at) -/* 00AF0 80891230 3C018089 */ lui $at, %hi(D_808917BC) ## $at = 80890000 -/* 00AF4 80891234 00061880 */ sll $v1, $a2, 2 -/* 00AF8 80891238 00230821 */ addu $at, $at, $v1 -/* 00AFC 8089123C C42617BC */ lwc1 $f6, %lo(D_808917BC)($at) -/* 00B00 80891240 C6040054 */ lwc1 $f4, 0x0054($s0) ## 00000054 -/* 00B04 80891244 46062200 */ add.s $f8, $f4, $f6 -/* 00B08 80891248 E6080054 */ swc1 $f8, 0x0054($s0) ## 00000054 -/* 00B0C 8089124C C6000054 */ lwc1 $f0, 0x0054($s0) ## 00000054 -/* 00B10 80891250 4602003C */ c.lt.s $f0, $f2 -/* 00B14 80891254 00000000 */ nop -/* 00B18 80891258 45020004 */ bc1fl .L8089126C -/* 00B1C 8089125C E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054 -/* 00B20 80891260 10000002 */ beq $zero, $zero, .L8089126C -/* 00B24 80891264 E6020054 */ swc1 $f2, 0x0054($s0) ## 00000054 -/* 00B28 80891268 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054 -.L8089126C: -/* 00B2C 8089126C 86020200 */ lh $v0, 0x0200($s0) ## 00000200 -/* 00B30 80891270 28410051 */ slti $at, $v0, 0x0051 -/* 00B34 80891274 54200016 */ bnel $at, $zero, .L808912D0 -/* 00B38 80891278 284100B5 */ slti $at, $v0, 0x00B5 -/* 00B3C 8089127C 10C00005 */ beq $a2, $zero, .L80891294 -/* 00B40 80891280 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00B44 80891284 10C10003 */ beq $a2, $at, .L80891294 -/* 00B48 80891288 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00B4C 8089128C 54C10010 */ bnel $a2, $at, .L808912D0 -/* 00B50 80891290 284100B5 */ slti $at, $v0, 0x00B5 -.L80891294: -/* 00B54 80891294 8FA40044 */ lw $a0, 0x0044($sp) -/* 00B58 80891298 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00B5C 8089129C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00B60 808912A0 00812821 */ addu $a1, $a0, $at -/* 00B64 808912A4 AFA5002C */ sw $a1, 0x002C($sp) -/* 00B68 808912A8 26060168 */ addiu $a2, $s0, 0x0168 ## $a2 = 00000168 -/* 00B6C 808912AC 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 00B70 808912B0 AFA30028 */ sw $v1, 0x0028($sp) -/* 00B74 808912B4 8FA5002C */ lw $a1, 0x002C($sp) -/* 00B78 808912B8 8FA40044 */ lw $a0, 0x0044($sp) -/* 00B7C 808912BC 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00B80 808912C0 260601B4 */ addiu $a2, $s0, 0x01B4 ## $a2 = 000001B4 -/* 00B84 808912C4 8FA30028 */ lw $v1, 0x0028($sp) -/* 00B88 808912C8 86020200 */ lh $v0, 0x0200($s0) ## 00000200 -/* 00B8C 808912CC 284100B5 */ slti $at, $v0, 0x00B5 -.L808912D0: -/* 00B90 808912D0 14200005 */ bne $at, $zero, .L808912E8 -/* 00B94 808912D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B98 808912D8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00B9C 808912DC 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 00BA0 808912E0 10000009 */ beq $zero, $zero, .L80891308 -/* 00BA4 808912E4 00000000 */ nop -.L808912E8: -/* 00BA8 808912E8 2841003D */ slti $at, $v0, 0x003D -/* 00BAC 808912EC 14200004 */ bne $at, $zero, .L80891300 -/* 00BB0 808912F0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00BB4 808912F4 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50 -/* 00BB8 808912F8 10000003 */ beq $zero, $zero, .L80891308 -/* 00BBC 808912FC 00000000 */ nop -.L80891300: -/* 00BC0 80891300 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00BC4 80891304 00000000 */ nop -.L80891308: -/* 00BC8 80891308 3C198089 */ lui $t9, %hi(D_808917E4) ## $t9 = 80890000 -/* 00BCC 8089130C 273917E4 */ addiu $t9, $t9, %lo(D_808917E4) ## $t9 = 808917E4 -/* 00BD0 80891310 00791021 */ addu $v0, $v1, $t9 -/* 00BD4 80891314 8C590000 */ lw $t9, 0x0000($v0) ## 00000000 -/* 00BD8 80891318 3C078089 */ lui $a3, %hi(D_808917D0) ## $a3 = 80890000 -/* 00BDC 8089131C 00E33821 */ addu $a3, $a3, $v1 -/* 00BE0 80891320 44060000 */ mfc1 $a2, $f0 -/* 00BE4 80891324 8CE717D0 */ lw $a3, %lo(D_808917D0)($a3) -/* 00BE8 80891328 AFA20024 */ sw $v0, 0x0024($sp) -/* 00BEC 8089132C 0320F809 */ jalr $ra, $t9 -/* 00BF0 80891330 8FA50044 */ lw $a1, 0x0044($sp) -/* 00BF4 80891334 86080200 */ lh $t0, 0x0200($s0) ## 00000200 -/* 00BF8 80891338 5D000013 */ bgtzl $t0, .L80891388 -/* 00BFC 8089133C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00C00 80891340 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00C04 80891344 8FA40044 */ lw $a0, 0x0044($sp) -/* 00C08 80891348 00024983 */ sra $t1, $v0, 6 -/* 00C0C 8089134C 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 00C10 80891350 55400004 */ bnel $t2, $zero, .L80891364 -/* 00C14 80891354 8FAB0024 */ lw $t3, 0x0024($sp) -/* 00C18 80891358 0C00B2DD */ jal Flags_SetSwitch - -/* 00C1C 8089135C 3045003F */ andi $a1, $v0, 0x003F ## $a1 = 00000000 -/* 00C20 80891360 8FAB0024 */ lw $t3, 0x0024($sp) -.L80891364: -/* 00C24 80891364 3C0C8089 */ lui $t4, %hi(D_808917F4) ## $t4 = 80890000 -/* 00C28 80891368 258C17F4 */ addiu $t4, $t4, %lo(D_808917F4) ## $t4 = 808917F4 -/* 00C2C 8089136C 156C0003 */ bne $t3, $t4, .L8089137C -/* 00C30 80891370 00000000 */ nop -/* 00C34 80891374 0C01E221 */ jal func_80078884 -/* 00C38 80891378 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -.L8089137C: -/* 00C3C 8089137C 0C00B55C */ jal Actor_Kill - -/* 00C40 80891380 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C44 80891384 8FBF001C */ lw $ra, 0x001C($sp) -.L80891388: -/* 00C48 80891388 8FB00018 */ lw $s0, 0x0018($sp) -/* 00C4C 8089138C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00C50 80891390 03E00008 */ jr $ra -/* 00C54 80891394 00000000 */ nop diff --git a/data/overlays/actors/z_bg_ice_shelter.data.s b/data/overlays/actors/z_bg_ice_shelter.data.s deleted file mode 100644 index e1bb106e76..0000000000 --- a/data/overlays/actors/z_bg_ice_shelter.data.s +++ /dev/null @@ -1,54 +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 Bg_Ice_Shelter_InitVars - .word 0x00EF0100, 0x00000000, 0x006B0000, 0x00000204 -.word BgIceShelter_Init -.word BgIceShelter_Destroy -.word BgIceShelter_Update -.word BgIceShelter_Draw -glabel D_808916F0 - .word 0x3DCCCCCD, 0x3D75C28F, 0x3DCCCCCD, 0x3DCCCCCD, 0x3E800000 -glabel D_80891704 - .word 0xFAFAFAFF -glabel D_80891708 - .word 0xB4B4B4FF -glabel D_8089170C - .word 0x0A002139, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x00000000, 0x00000000, 0x00000000 -glabel D_80891738 - .word 0x0C000D00, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x4FC1FFF6, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000 -glabel D_80891764 - .word 0x002F0021, 0x002C0029, 0x00640000 -glabel D_80891770 - .byte 0x00, 0x50, 0x00, 0x36, 0x00, 0x5A, 0x00, 0x3C, 0x00, 0xC8, 0x00, 0x00 -glabel D_8089177C - .word 0xB0F404B0, 0xB0F801F4, 0x30FC03E8 -glabel D_80891788 - .word 0x3E3851EC, 0x3E8A3D71, 0x3E75C28F -glabel D_80891794 - .word 0x00004000, 0x20006000, 0x10005000, 0x30007000 -glabel D_808917A4 - .word 0x0000003C, 0x00180054, 0x0030000C, 0x00480024 -glabel D_808917B4 - .word 0xBF800000, 0x3F800000 -glabel D_808917BC - .word 0xBAC49BA6, 0xBA6BEDFA, 0xBAD1B717, 0xBAD1B717, 0xBB75C28F -glabel D_808917D0 - .word 0x3F800000, 0x3F19999A, 0x3F99999A, 0x3F800000, 0x3FE66666 -glabel D_808917E4 - .word func_80890B8C -.word func_80890B8C -.word func_80890B8C -.word func_80890E00 -glabel D_808917F4 - .word func_80890B8C -.word 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_bg_ice_shelter.reloc.s b/data/overlays/actors/z_bg_ice_shelter.reloc.s deleted file mode 100644 index 11d55fdf86..0000000000 --- a/data/overlays/actors/z_bg_ice_shelter.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_80891910 - .incbin "baserom/ovl_Bg_Ice_Shelter", 0x11D0, 0x000001B0 diff --git a/spec b/spec index 62fbaa7060..f1447af706 100644 --- a/spec +++ b/spec @@ -892,8 +892,7 @@ endseg beginseg name "ovl_Bg_Ice_Shelter" include "build/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.o" - include "build/data/overlays/actors/z_bg_ice_shelter.data.o" - include "build/data/overlays/actors/z_bg_ice_shelter.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Ice_Shelter/ovl_Bg_Ice_Shelter_reloc.o" endseg beginseg diff --git a/src/code/PreRender.c b/src/code/PreRender.c index f27b13a781..8da7582533 100644 --- a/src/code/PreRender.c +++ b/src/code/PreRender.c @@ -509,7 +509,7 @@ void func_800C2FE4(PreRenderContext* this) { // There's a redundant branch in the ASM that taken literally looks like this // phi_v0 = ((HREG(80) == 0xF) ? 0 : 0); // if (((HREG(80) == 0xF) ? HREG(81) : phi_v0) == 5) { - + if (((HREG(80) == 0xF) ? HREG(81) : 0) == 5) { pxR = 31; pxG = 0; diff --git a/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c b/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c index f86a2d5bb4..002d35af56 100644 --- a/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c +++ b/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c @@ -9,13 +9,18 @@ void BgIceShelter_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgIceShelter_Update(Actor* thisx, GlobalContext* globalCtx); void BgIceShelter_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_060006F0; -extern UNK_TYPE D_060012A0; -extern UNK_TYPE D_06001C1C; -extern UNK_TYPE D_06002640; -extern UNK_TYPE D_06002920; +void func_80891064(BgIceShelter* this); +void func_808911BC(BgIceShelter* this); + +void func_8089107C(BgIceShelter* this, GlobalContext* globalCtx); +void func_808911D4(BgIceShelter* this, GlobalContext* globalCtx); + +extern Gfx D_060006F0[]; +extern Gfx D_060012A0[]; +extern CollisionHeader D_06001C1C; +extern Gfx D_06002640[]; +extern CollisionHeader D_06002920; -/* const ActorInit Bg_Ice_Shelter_InitVars = { ACTOR_BG_ICE_SHELTER, ACTORCAT_BG, @@ -28,6 +33,11 @@ const ActorInit Bg_Ice_Shelter_InitVars = { (ActorFunc)BgIceShelter_Draw, }; +static f32 sScales[] = { 0.1f, 0.06f, 0.1f, 0.1f, 0.25f }; + +static Color_RGBA8 sDustPrimColor = { 250, 250, 250, 255 }; +static Color_RGBA8 sDustEnvColor = { 180, 180, 180, 255 }; + static ColliderCylinderInit D_8089170C = { { COLTYPE_NONE, @@ -67,29 +77,369 @@ static ColliderCylinderInit D_80891738 = { }, { 0, 0, 0, { 0, 0, 0 } }, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890740.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890874.s") +void func_80890740(BgIceShelter* this, GlobalContext* globalCtx) { + static s16 cylinderRadii[] = { 47, 33, 44, 41, 100 }; + static s16 cylinderHeights[] = { 80, 54, 90, 60, 200 }; + s32 pad; + s32 type = (this->dyna.actor.params >> 8) & 7; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808908FC.s") + Collider_InitCylinder(globalCtx, &this->cylinder1); + Collider_SetCylinder(globalCtx, &this->cylinder1, &this->dyna.actor, &D_8089170C); + Collider_UpdateCylinder(&this->dyna.actor, &this->cylinder1); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Init.s") + this->cylinder1.dim.radius = cylinderRadii[type]; + this->cylinder1.dim.height = cylinderHeights[type]; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Destroy.s") + if (type == 0 || type == 1 || type == 4) { + Collider_InitCylinder(globalCtx, &this->cylinder2); + Collider_SetCylinder(globalCtx, &this->cylinder2, &this->dyna.actor, &D_80891738); + Collider_UpdateCylinder(&this->dyna.actor, &this->cylinder2); + this->cylinder2.dim.radius = cylinderRadii[type]; + this->cylinder2.dim.height = cylinderHeights[type]; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890B8C.s") + if (type == 4) { + this->cylinder1.dim.pos.z += 30; + this->cylinder2.dim.pos.z += 30; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80890E00.s") +void func_80890874(BgIceShelter* this, GlobalContext* globalCtx, CollisionHeader* collision, s32 moveFlag) { + s32 pad; + CollisionHeader* colHeader = NULL; + s32 pad2; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_80891064.s") + DynaPolyActor_Init(&this->dyna, moveFlag); + CollisionHeader_GetVirtual(collision, &colHeader); + this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_8089107C.s") + if (this->dyna.bgId == BG_ACTOR_MAX) { + // Warning : move BG registration failed + osSyncPrintf("Warning : move BG 登録失敗(%s %d)(name %d)(arg_data 0x%04x)\n", "../z_bg_ice_shelter.c", 362, + this->dyna.actor.id, this->dyna.actor.params); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911BC.s") +void func_808908FC(Vec3f* dest, Vec3f* src, s16 angle) { + f32 sin = Math_SinS(angle); + f32 cos = Math_CosS(angle); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/func_808911D4.s") + dest->x = (src->z * sin) + (src->x * cos); + dest->y = src->y; + dest->z = (src->z * cos) - (src->x * sin); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Update.s") +static InitChainEntry sInitChain[] = { + ICHAIN_F32(uncullZoneForward, 1200, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 500, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Shelter/BgIceShelter_Draw.s") +void BgIceShelter_Init(Actor* thisx, GlobalContext* globalCtx) { + static Vec3f kzIceScale = { 0.18f, 0.27f, 0.24f }; + BgIceShelter* this = THIS; + s16 type = (this->dyna.actor.params >> 8) & 7; + + Actor_ProcessInitChain(&this->dyna.actor, sInitChain); + + if (type == 4) { + this->dyna.actor.world.rot.x += 0xBB8; + this->dyna.actor.world.pos.y -= 45.0f; + this->dyna.actor.shape.rot.x = this->dyna.actor.world.rot.x; + this->dyna.actor.world.pos.z -= 38.0f; + } + + if (type == 4) { + Math_Vec3f_Copy(&this->dyna.actor.scale, &kzIceScale); + } else { + Actor_SetScale(&this->dyna.actor, sScales[type]); + } + + switch (type) { + case 2: + func_80890874(this, globalCtx, &D_06001C1C, 0); + break; + case 3: + func_80890874(this, globalCtx, &D_06002920, 0); + break; + } + + func_80890740(this, globalCtx); + + this->dyna.actor.colChkInfo.mass = MASS_IMMOVABLE; + + if (!((this->dyna.actor.params >> 6) & 1) && (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F))) { + Actor_Kill(&this->dyna.actor); + return; + } + + func_80891064(this); + + osSyncPrintf("(ice shelter)(arg_data 0x%04x)\n", this->dyna.actor.params); +} + +void BgIceShelter_Destroy(Actor* thisx, GlobalContext* globalCtx) { + BgIceShelter* this = THIS; + + switch ((this->dyna.actor.params >> 8) & 7) { + case 2: + case 3: + DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); + break; + + case 0: + case 1: + case 4: + Collider_DestroyCylinder(globalCtx, &this->cylinder2); + break; + } + + Collider_DestroyCylinder(globalCtx, &this->cylinder1); +} + +s16 D_80891794[] = { 0x0000, 0x4000, 0x2000, 0x6000, 0x1000, 0x5000, 0x3000, 0x7000 }; +s16 D_808917A4[] = { 0x0000, 0x003C, 0x0018, 0x0054, 0x0030, 0x000C, 0x0048, 0x0024 }; + +void func_80890B8C(BgIceShelter* this, GlobalContext* globalCtx, f32 chance, f32 scale) { + f32 cos; + f32 sin; + f32 xzOffset; + Vec3f* icePos; + s16 angle; + s16 frames; + s32 i; + s32 pad[2]; + Vec3f dustPos; + Vec3f dustVel; + Vec3f dustAccel; + + frames = (s16)globalCtx->state.frames & 7; + + for (i = 0; i < 2; i++) { + if (chance < Rand_ZeroOne()) { + continue; + } + + xzOffset = 42.0f * scale; + icePos = &this->dyna.actor.world.pos; + angle = D_80891794[frames] + (i * 0x8000); + sin = Math_SinS(angle); + cos = Math_CosS(angle); + + dustPos.x = (xzOffset * sin) + icePos->x; + dustPos.y = (16.0f * scale) + icePos->y; + dustPos.z = (xzOffset * cos) + icePos->z; + + dustVel.x = ((Rand_ZeroOne() * 3.0f) - 1.0f) * sin; + dustVel.y = 0.0f; + dustVel.z = ((Rand_ZeroOne() * 3.0f) - 1.0f) * cos; + + dustAccel.x = 0.07f * sin; + dustAccel.y = 0.8f; + dustAccel.z = 0.07f * cos; + + func_8002829C(globalCtx, &dustPos, &dustVel, &dustAccel, &sDustPrimColor, &sDustEnvColor, 450.0f * scale, + (s16)((Rand_ZeroOne() * 40.0f) + 40.0f) * scale); + } +} + +void func_80890E00(BgIceShelter* this, GlobalContext* globalCtx, f32 chance, f32 arg3) { + static f32 D_808917B4[] = { -1.0f, 1.0f }; + Vec3f* icePos; + s16 frames; + s32 pad[2]; + Vec3f dustPos; + Vec3f dustVel; + Vec3f dustAccel; + Vec3f posOffset; + s32 i; + + frames = (s16)globalCtx->state.frames & 7; + + for (i = 0; i < 2; i++) { + icePos = &this->dyna.actor.world.pos; + + if (chance < Rand_ZeroOne()) { + continue; + } + + posOffset.x = (D_808917A4[frames] + ((Rand_ZeroOne() * 12.0f) - 6.0f)) * D_808917B4[i]; + posOffset.y = 15.0f; + posOffset.z = ((84.0f - posOffset.x) * 0.2f) + (Rand_ZeroOne() * 20.0f); + + func_808908FC(&dustPos, &posOffset, this->dyna.actor.world.rot.y); + Math_Vec3f_Sum(&dustPos, icePos, &dustPos); + + dustVel.x = (Rand_ZeroOne() * 3.0f) - 1.5f; + dustVel.y = 0.0f; + dustVel.z = (Rand_ZeroOne() * 3.0f) - 1.5f; + + dustAccel.x = (Rand_ZeroOne() * 0.14f) - 0.07f; + dustAccel.y = 0.8f; + dustAccel.z = (Rand_ZeroOne() * 0.14f) - 0.07f; + + func_8002829C(globalCtx, &dustPos, &dustVel, &dustAccel, &sDustPrimColor, &sDustEnvColor, 450, + (Rand_ZeroOne() * 40.0f) + 40.0f); + } +} + +void func_80891064(BgIceShelter* this) { + this->actionFunc = func_8089107C; + this->alpha = 255; +} + +void func_8089107C(BgIceShelter* this, GlobalContext* globalCtx) { + s32 pad; + s16 type = (this->dyna.actor.params >> 8) & 7; + + if (type == 4) { + if (this->dyna.actor.parent != NULL) { + this->dyna.actor.parent->freezeTimer = 10000; + } + } + + if (this->cylinder1.base.acFlags & AC_HIT) { + this->cylinder1.base.acFlags &= ~AC_HIT; + + if ((this->cylinder1.base.ac != NULL) && (this->cylinder1.base.ac->id == ACTOR_EN_ICE_HONO)) { + if (type == 4) { + if (this->dyna.actor.parent != NULL) { + this->dyna.actor.parent->freezeTimer = 50; + } + } + + func_808911BC(this); + Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_ICE_MELT); + } + } + + switch (type) { + case 0: + case 1: + case 4: + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->cylinder1.base); + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->cylinder2.base); + break; + } + + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->cylinder1.base); +} + +void func_808911BC(BgIceShelter* this) { + this->actionFunc = func_808911D4; + this->alpha = 255; +} + +static f32 D_808917BC[] = { -0.0015f, -0.0009f, -0.0016f, -0.0016f, -0.00375f }; +static f32 D_808917D0[] = { 1.0f, 0.6f, 1.2f, 1.0f, 1.8f }; + +static void (*sEffSpawnFuncs[])(BgIceShelter* this, GlobalContext* globalCtx, f32 chance, f32 scale) = { + func_80890B8C, func_80890B8C, func_80890B8C, func_80890E00, func_80890B8C, +}; + +void func_808911D4(BgIceShelter* this, GlobalContext* globalCtx) { + + s32 pad; + s32 type = (this->dyna.actor.params >> 8) & 7; + f32 phi_f0; + + this->alpha -= 5; + this->alpha = CLAMP(this->alpha, 0, 255); + + this->dyna.actor.scale.y += D_808917BC[type]; + this->dyna.actor.scale.y = CLAMP_MIN(this->dyna.actor.scale.y, 0.0001f); + + if (this->alpha > 80) { + switch (type) { + case 0: + case 1: + case 4: + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->cylinder1.base); + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->cylinder2.base); + break; + } + } + + if (this->alpha > 180) { + phi_f0 = 1.0f; + } else if (this->alpha > 60) { + phi_f0 = 0.5f; + } else { + phi_f0 = 0.0f; + } + + sEffSpawnFuncs[type](this, globalCtx, phi_f0, D_808917D0[type]); + + if (this->alpha <= 0) { + if (!((this->dyna.actor.params >> 6) & 1)) { + Flags_SetSwitch(globalCtx, this->dyna.actor.params & 0x3F); + } + + if (type == 4) { + func_80078884(NA_SE_SY_CORRECT_CHIME); + } + + Actor_Kill(&this->dyna.actor); + } +} + +void BgIceShelter_Update(Actor* thisx, GlobalContext* globalCtx) { + BgIceShelter* this = THIS; + + this->actionFunc(this, globalCtx); +} + +void BgIceShelter_Draw(Actor* thisx, GlobalContext* globalCtx2) { + GlobalContext* globalCtx = globalCtx2; + BgIceShelter* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_ice_shelter.c", 748); + + func_80093D84(globalCtx->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ice_shelter.c", 751), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + switch ((this->dyna.actor.params >> 8) & 7) { + case 0: + case 1: + case 2: + case 4: + func_8002ED80(&this->dyna.actor, globalCtx, 0); + break; + } + + gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, this->alpha); + + switch ((this->dyna.actor.params >> 8) & 7) { + case 0: + case 1: + case 4: + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -globalCtx->gameplayFrames & 0x7F, + -globalCtx->gameplayFrames & 0x7F, 0x20, 0x20, 1, + -globalCtx->gameplayFrames & 0x7F, globalCtx->gameplayFrames & 0x7F, 0x20, + 0x20)); + gSPDisplayList(POLY_XLU_DISP++, D_060006F0); + break; + + case 2: + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, globalCtx->gameplayFrames & 0xFF, 0x40, 0x40, 1, + 0, -globalCtx->gameplayFrames & 0xFF, 0x40, 0x40)); + gSPSegment(POLY_XLU_DISP++, 0x09, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -globalCtx->gameplayFrames & 0xFF, + globalCtx->gameplayFrames & 0xFF, 0x40, 0x40, 1, + globalCtx->gameplayFrames & 0xFF, globalCtx->gameplayFrames & 0xFF, 0x40, + 0x40)); + gSPDisplayList(POLY_XLU_DISP++, D_060012A0); + break; + + case 3: + gSPDisplayList(POLY_XLU_DISP++, D_06002640); + break; + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_ice_shelter.c", 815); +} diff --git a/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.h b/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.h index 10b9692557..dcb327677d 100644 --- a/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.h +++ b/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.h @@ -6,9 +6,14 @@ struct BgIceShelter; +typedef void (*BgIceShelterActionFunc)(struct BgIceShelter*, GlobalContext*); + typedef struct BgIceShelter { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0xB8]; + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0164 */ BgIceShelterActionFunc actionFunc; + /* 0x0168 */ ColliderCylinder cylinder1; + /* 0x01B4 */ ColliderCylinder cylinder2; + /* 0x0200 */ s16 alpha; } BgIceShelter; // size = 0x0204 extern const ActorInit Bg_Ice_Shelter_InitVars; diff --git a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c index e4b575a900..66f2488307 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c @@ -330,8 +330,8 @@ void EnArrow_Fly(EnArrow* this, GlobalContext* globalCtx) { Actor_MoveForward(&this->actor); if ((this->touchedPoly = - BgCheck_ProjectileLineTest(&globalCtx->colCtx, &this->actor.prevPos, &this->actor.world.pos, &hitPoint, - &this->actor.wallPoly, true, true, true, true, &bgId))) { + BgCheck_ProjectileLineTest(&globalCtx->colCtx, &this->actor.prevPos, &this->actor.world.pos, &hitPoint, + &this->actor.wallPoly, true, true, true, true, &bgId))) { func_8002F9EC(globalCtx, &this->actor, this->actor.wallPoly, bgId, &hitPoint); Math_Vec3f_Copy(&posCopy, &this->actor.world.pos); Math_Vec3f_Copy(&this->actor.world.pos, &hitPoint); diff --git a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c index 8205739ffa..d9cb63f6b0 100644 --- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c +++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c @@ -318,7 +318,8 @@ void EnDodongo_Init(Actor* thisx, GlobalContext* globalCtx) { this->bodyScale.x = this->bodyScale.y = this->bodyScale.z = 1.0f; ActorShape_Init(&this->actor.shape, 0.0f, &ActorShadow_DrawCircle, 48.0f); Actor_SetScale(&this->actor, 0.01875f); - SkelAnime_Init(globalCtx, &this->skelAnime, &gDodongoSkel, &gDodongoWaitAnim, this->jointTable, this->morphTable, 31); + SkelAnime_Init(globalCtx, &this->skelAnime, &gDodongoSkel, &gDodongoWaitAnim, this->jointTable, this->morphTable, + 31); this->actor.colChkInfo.health = 4; this->actor.colChkInfo.mass = MASS_HEAVY; this->actor.colChkInfo.damageTable = &sDamageTable; diff --git a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c index 5930645332..a9620bc1bf 100644 --- a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c +++ b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c @@ -143,7 +143,8 @@ void EnFirefly_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->actor, sInitChain); ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f); - SkelAnime_Init(globalCtx, &this->skelAnime, &gKeeseSkeleton, &gKeeseFlyAnim, this->jointTable, this->morphTable, 28); + SkelAnime_Init(globalCtx, &this->skelAnime, &gKeeseSkeleton, &gKeeseFlyAnim, this->jointTable, this->morphTable, + 28); Collider_InitJntSph(globalCtx, &this->collider); Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colliderItems); CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); diff --git a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c index a4b247d1e4..a0be7b7c6f 100644 --- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c +++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c @@ -129,7 +129,8 @@ void EnFloormas_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->actor, sInitChain); ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 50.0f); - SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gWallmasterSkel, &gWallmasterWaitAnim, this->jointTable, this->morphTable, 25); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gWallmasterSkel, &gWallmasterWaitAnim, this->jointTable, + this->morphTable, 25); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); @@ -235,8 +236,8 @@ void EnFloormas_SetupTurn(EnFloormas* this) { if (rotDelta > 0) { Animation_MorphToPlayOnce(&this->skelAnime, &gFloormasterTurnAnim, -3.0f); } else { - Animation_Change(&this->skelAnime, &gFloormasterTurnAnim, -1.0f, Animation_GetLastFrame(&gFloormasterTurnAnim), 0.0f, ANIMMODE_ONCE, - -3.0f); + Animation_Change(&this->skelAnime, &gFloormasterTurnAnim, -1.0f, Animation_GetLastFrame(&gFloormasterTurnAnim), + 0.0f, ANIMMODE_ONCE, -3.0f); } if (this->actor.scale.x > 0.004f) { @@ -249,7 +250,8 @@ void EnFloormas_SetupTurn(EnFloormas* this) { } void EnFloormas_SetupHover(EnFloormas* this, GlobalContext* globalCtx) { - Animation_Change(&this->skelAnime, &gWallmasterHoverAnim, 3.0f, 0, Animation_GetLastFrame(&gWallmasterHoverAnim), ANIMMODE_ONCE, -3.0f); + Animation_Change(&this->skelAnime, &gWallmasterHoverAnim, 3.0f, 0, Animation_GetLastFrame(&gWallmasterHoverAnim), + ANIMMODE_ONCE, -3.0f); this->actor.speedXZ = 0.0f; this->actor.gravity = 0.0f; EnFloormas_MakeInvulnerable(this); @@ -288,8 +290,8 @@ void EnFloormas_SetupSplit(EnFloormas* this) { this->actor.shape.rot.y = this->actor.parent->shape.rot.y + 0x5555; this->actor.world.pos = this->actor.parent->world.pos; this->actor.params = 0x10; - Animation_Change(&this->skelAnime, &gWallmasterJumpAnim, 1.0f, 41.0f, Animation_GetLastFrame(&gWallmasterJumpAnim), ANIMMODE_ONCE, - 0.0f); + Animation_Change(&this->skelAnime, &gWallmasterJumpAnim, 1.0f, 41.0f, Animation_GetLastFrame(&gWallmasterJumpAnim), + ANIMMODE_ONCE, 0.0f); this->collider.dim.radius = sCylinderInit.dim.radius * 0.6f; this->collider.dim.height = sCylinderInit.dim.height * 0.6f; this->collider.info.bumperFlags &= ~BUMP_HOOKABLE; diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c index 566a87a8fa..67f083bbb9 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c @@ -126,7 +126,8 @@ void EnOkuta_Init(Actor* thisx, GlobalContext* globalCtx) { this->numShots = (thisx->params >> 8) & 0xFF; thisx->params &= 0xFF; if (thisx->params == 0) { - SkelAnime_Init(globalCtx, &this->skelAnime, &gOctorokSkel, &gOctorokAppearAnim, this->jointTable, this->morphTable, 38); + SkelAnime_Init(globalCtx, &this->skelAnime, &gOctorokSkel, &gOctorokAppearAnim, this->jointTable, + this->morphTable, 38); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, thisx, &sOctorockColliderInit); CollisionCheck_SetInfo(&thisx->colChkInfo, &sDamageTable, &sColChkInfoInit); diff --git a/src/overlays/actors/ovl_En_Skb/z_en_skb.c b/src/overlays/actors/ovl_En_Skb/z_en_skb.c index c95039ed6e..146c7c302c 100644 --- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c +++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c @@ -160,8 +160,7 @@ void EnSkb_Init(Actor* thisx, GlobalContext* globalCtx) { this->actor.colChkInfo.mass = 0xFE; this->actor.colChkInfo.health = 2; this->actor.shape.yOffset = -8000.0f; - SkelAnime_Init(globalCtx, &this->skelAnime, &D_060041F8, &D_06001854, this->jointTable, - this->morphTable, 20); + SkelAnime_Init(globalCtx, &this->skelAnime, &D_060041F8, &D_06001854, this->jointTable, this->morphTable, 20); this->actor.naviEnemyId = 0x55; Collider_InitJntSph(globalCtx, &this->collider); 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 4713a8d968..879c9fa2ed 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -122,7 +122,8 @@ void EnWallmas_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(thisx, sInitChain); ActorShape_Init(&thisx->shape, 0, NULL, 0.5f); - SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gWallmasterSkel, &gWallmasterWaitAnim, this->jointTable, this->morphTable, 25); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gWallmasterSkel, &gWallmasterWaitAnim, this->jointTable, + this->morphTable, 25); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, thisx, &sCylinderInit); @@ -167,8 +168,8 @@ void EnWallmas_SetupDrop(EnWallmas* this, GlobalContext* globalCtx) { Player* player = PLAYER; AnimationHeader* objSegChangee = &gWallmasterLungeAnim; - Animation_Change(&this->skelAnime, objSegChangee, 0.0f, 20.0f, Animation_GetLastFrame(&gWallmasterLungeAnim), ANIMMODE_ONCE, - 0.0f); + Animation_Change(&this->skelAnime, objSegChangee, 0.0f, 20.0f, Animation_GetLastFrame(&gWallmasterLungeAnim), + ANIMMODE_ONCE, 0.0f); this->yTarget = player->actor.world.pos.y; this->actor.world.pos.y = player->actor.world.pos.y + 300.0f;