Bg_Breakwall OK and documented (#684)

* cleanup breakwall

* fix mistake in header

* make some data static

* reloc stuffs

* ready for pr

* Remove asm

* Update src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c

Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com>

* fix petrie's stuff

* fixed all feedback

* Update src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
Zelllll
2021-02-12 19:51:59 -06:00
committed by GitHub
parent 6d01247f34
commit 4d30626033
14 changed files with 275 additions and 910 deletions
@@ -1,14 +0,0 @@
glabel BgBreakwall_Destroy
/* 001B0 8086FD90 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001B4 8086FD94 AFA40018 */ sw $a0, 0x0018($sp)
/* 001B8 8086FD98 8FAE0018 */ lw $t6, 0x0018($sp)
/* 001BC 8086FD9C AFBF0014 */ sw $ra, 0x0014($sp)
/* 001C0 8086FDA0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 001C4 8086FDA4 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 001C8 8086FDA8 0C00FB56 */ jal DynaPoly_DeleteBgActor
## DynaPoly_DeleteBgActor
/* 001CC 8086FDAC 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 001D0 8086FDB0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001D4 8086FDB4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001D8 8086FDB8 03E00008 */ jr $ra
/* 001DC 8086FDBC 00000000 */ nop
@@ -1,123 +0,0 @@
glabel BgBreakwall_Init
/* 00008 8086FBE8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 0000C 8086FBEC AFBF001C */ sw $ra, 0x001C($sp)
/* 00010 8086FBF0 AFB00018 */ sw $s0, 0x0018($sp)
/* 00014 8086FBF4 AFA5003C */ sw $a1, 0x003C($sp)
/* 00018 8086FBF8 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 0001C 8086FBFC 3C058087 */ lui $a1, %hi(D_808707E0) ## $a1 = 80870000
/* 00020 8086FC00 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00024 8086FC04 000EC343 */ sra $t8, $t6, 13
/* 00028 8086FC08 33190003 */ andi $t9, $t8, 0x0003 ## $t9 = 00000000
/* 0002C 8086FC0C AFB9002C */ sw $t9, 0x002C($sp)
/* 00030 8086FC10 0C01E037 */ jal Actor_ProcessInitChain
/* 00034 8086FC14 24A507E0 */ addiu $a1, $a1, %lo(D_808707E0) ## $a1 = 808707E0
/* 00038 8086FC18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0003C 8086FC1C 0C010D20 */ jal DynaPolyActor_Init
/* 00040 8086FC20 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00044 8086FC24 8FA8002C */ lw $t0, 0x002C($sp)
/* 00048 8086FC28 3C0A8087 */ lui $t2, %hi(D_808707B0) ## $t2 = 80870000
/* 0004C 8086FC2C 254A07B0 */ addiu $t2, $t2, %lo(D_808707B0) ## $t2 = 808707B0
/* 00050 8086FC30 00084880 */ sll $t1, $t0, 2
/* 00054 8086FC34 01284823 */ subu $t1, $t1, $t0
/* 00058 8086FC38 00094880 */ sll $t1, $t1, 2
/* 0005C 8086FC3C 012A1021 */ addu $v0, $t1, $t2
/* 00060 8086FC40 8C4B0004 */ lw $t3, 0x0004($v0) ## 00000004
/* 00064 8086FC44 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00068 8086FC48 240E4000 */ addiu $t6, $zero, 0x4000 ## $t6 = 00004000
/* 0006C 8086FC4C AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
/* 00070 8086FC50 804C0008 */ lb $t4, 0x0008($v0) ## 00000008
/* 00074 8086FC54 A20C0168 */ sb $t4, 0x0168($s0) ## 00000168
/* 00078 8086FC58 820D0168 */ lb $t5, 0x0168($s0) ## 00000168
/* 0007C 8086FC5C 55A10003 */ bnel $t5, $at, .L8086FC6C
/* 00080 8086FC60 8E0F0164 */ lw $t7, 0x0164($s0) ## 00000164
/* 00084 8086FC64 A60E0030 */ sh $t6, 0x0030($s0) ## 00000030
/* 00088 8086FC68 8E0F0164 */ lw $t7, 0x0164($s0) ## 00000164
.L8086FC6C:
/* 0008C 8086FC6C 8FA4003C */ lw $a0, 0x003C($sp)
/* 00090 8086FC70 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00094 8086FC74 51E0001F */ beql $t7, $zero, .L8086FCF4
/* 00098 8086FC78 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 0009C 8086FC7C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 000A0 8086FC80 AFA20028 */ sw $v0, 0x0028($sp)
/* 000A4 8086FC84 0C00B2D0 */ jal Flags_GetSwitch
/* 000A8 8086FC88 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 000AC 8086FC8C 50400006 */ beql $v0, $zero, .L8086FCA8
/* 000B0 8086FC90 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 000B4 8086FC94 0C00B55C */ jal Actor_Kill
/* 000B8 8086FC98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000BC 8086FC9C 10000038 */ beq $zero, $zero, .L8086FD80
/* 000C0 8086FCA0 8FBF001C */ lw $ra, 0x001C($sp)
/* 000C4 8086FCA4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
.L8086FCA8:
/* 000C8 8086FCA8 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 000CC 8086FCAC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 000D0 8086FCB0 44050000 */ mfc1 $a1, $f0
/* 000D4 8086FCB4 44070000 */ mfc1 $a3, $f0
/* 000D8 8086FCB8 0C00AC78 */ jal ActorShape_Init
/* 000DC 8086FCBC 00000000 */ nop
/* 000E0 8086FCC0 2605016C */ addiu $a1, $s0, 0x016C ## $a1 = 0000016C
/* 000E4 8086FCC4 AFA50024 */ sw $a1, 0x0024($sp)
/* 000E8 8086FCC8 0C017406 */ jal Collider_InitQuad
/* 000EC 8086FCCC 8FA4003C */ lw $a0, 0x003C($sp)
/* 000F0 8086FCD0 3C078087 */ lui $a3, %hi(D_80870760) ## $a3 = 80870000
/* 000F4 8086FCD4 8FA50024 */ lw $a1, 0x0024($sp)
/* 000F8 8086FCD8 24E70760 */ addiu $a3, $a3, %lo(D_80870760) ## $a3 = 80870760
/* 000FC 8086FCDC 8FA4003C */ lw $a0, 0x003C($sp)
/* 00100 8086FCE0 0C017441 */ jal Collider_SetQuad
/* 00104 8086FCE4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00108 8086FCE8 10000006 */ beq $zero, $zero, .L8086FD04
/* 0010C 8086FCEC 8FA20028 */ lw $v0, 0x0028($sp)
/* 00110 8086FCF0 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
.L8086FCF4:
/* 00114 8086FCF4 44813000 */ mtc1 $at, $f6 ## $f6 = 0.00
/* 00118 8086FCF8 00000000 */ nop
/* 0011C 8086FCFC 46062201 */ sub.s $f8, $f4, $f6
/* 00120 8086FD00 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
.L8086FD04:
/* 00124 8086FD04 3C188087 */ lui $t8, %hi(D_808707C8) ## $t8 = 80870000
/* 00128 8086FD08 271807C8 */ addiu $t8, $t8, %lo(D_808707C8) ## $t8 = 808707C8
/* 0012C 8086FD0C 0058082B */ sltu $at, $v0, $t8
/* 00130 8086FD10 14200009 */ bne $at, $zero, .L8086FD38
/* 00134 8086FD14 8FA4003C */ lw $a0, 0x003C($sp)
/* 00138 8086FD18 8FA4003C */ lw $a0, 0x003C($sp)
/* 0013C 8086FD1C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00140 8086FD20 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 00144 8086FD24 24050019 */ addiu $a1, $zero, 0x0019 ## $a1 = 00000019
/* 00148 8086FD28 0C02604B */ jal Object_GetIndex
## ObjectIndex
/* 0014C 8086FD2C 00812021 */ addu $a0, $a0, $at
/* 00150 8086FD30 10000007 */ beq $zero, $zero, .L8086FD50
/* 00154 8086FD34 A2020169 */ sb $v0, 0x0169($s0) ## 00000169
.L8086FD38:
/* 00158 8086FD38 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0015C 8086FD3C 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 00160 8086FD40 00812021 */ addu $a0, $a0, $at
/* 00164 8086FD44 0C02604B */ jal Object_GetIndex
## ObjectIndex
/* 00168 8086FD48 2405018A */ addiu $a1, $zero, 0x018A ## $a1 = 0000018A
/* 0016C 8086FD4C A2020169 */ sb $v0, 0x0169($s0) ## 00000169
.L8086FD50:
/* 00170 8086FD50 82190169 */ lb $t9, 0x0169($s0) ## 00000169
/* 00174 8086FD54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00178 8086FD58 3C058087 */ lui $a1, %hi(func_80870290) ## $a1 = 80870000
/* 0017C 8086FD5C 07210005 */ bgez $t9, .L8086FD74
/* 00180 8086FD60 00000000 */ nop
/* 00184 8086FD64 0C00B55C */ jal Actor_Kill
/* 00188 8086FD68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0018C 8086FD6C 10000004 */ beq $zero, $zero, .L8086FD80
/* 00190 8086FD70 8FBF001C */ lw $ra, 0x001C($sp)
.L8086FD74:
/* 00194 8086FD74 0C21BEF8 */ jal BgBreakwall_SetupAction
/* 00198 8086FD78 24A50290 */ addiu $a1, $a1, %lo(func_80870290) ## $a1 = 00000290
/* 0019C 8086FD7C 8FBF001C */ lw $ra, 0x001C($sp)
.L8086FD80:
/* 001A0 8086FD80 8FB00018 */ lw $s0, 0x0018($sp)
/* 001A4 8086FD84 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 001A8 8086FD88 03E00008 */ jr $ra
/* 001AC 8086FD8C 00000000 */ nop
@@ -1,3 +0,0 @@
glabel BgBreakwall_SetupAction
/* 00000 8086FBE0 03E00008 */ jr $ra
/* 00004 8086FBE4 AC8501EC */ sw $a1, 0x01EC($a0) ## 000001EC
@@ -1,10 +0,0 @@
glabel BgBreakwall_Update
/* 009D4 808705B4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 009D8 808705B8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 009DC 808705BC 8C9901EC */ lw $t9, 0x01EC($a0) ## 000001EC
/* 009E0 808705C0 0320F809 */ jalr $ra, $t9
/* 009E4 808705C4 00000000 */ nop
/* 009E8 808705C8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 009EC 808705CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 009F0 808705D0 03E00008 */ jr $ra
/* 009F4 808705D4 00000000 */ nop
@@ -1,348 +0,0 @@
.late_rodata
glabel D_808709AC
.float 3500.0
glabel D_808709B0
.float 0.001
glabel D_808709B4
.float 0.6
glabel D_808709B8
.float 3000.0
.text
glabel func_8086FDC0
/* 001E0 8086FDC0 27BDFE08 */ addiu $sp, $sp, 0xFE08 ## $sp = FFFFFE08
/* 001E4 8086FDC4 3C0F8087 */ lui $t7, %hi(D_808707F0) ## $t7 = 80870000
/* 001E8 8086FDC8 AFBF0084 */ sw $ra, 0x0084($sp)
/* 001EC 8086FDCC AFBE0080 */ sw $s8, 0x0080($sp)
/* 001F0 8086FDD0 AFB7007C */ sw $s7, 0x007C($sp)
/* 001F4 8086FDD4 AFB60078 */ sw $s6, 0x0078($sp)
/* 001F8 8086FDD8 AFB50074 */ sw $s5, 0x0074($sp)
/* 001FC 8086FDDC AFB40070 */ sw $s4, 0x0070($sp)
/* 00200 8086FDE0 AFB3006C */ sw $s3, 0x006C($sp)
/* 00204 8086FDE4 AFB20068 */ sw $s2, 0x0068($sp)
/* 00208 8086FDE8 AFB10064 */ sw $s1, 0x0064($sp)
/* 0020C 8086FDEC AFB00060 */ sw $s0, 0x0060($sp)
/* 00210 8086FDF0 F7BE0058 */ sdc1 $f30, 0x0058($sp)
/* 00214 8086FDF4 F7BC0050 */ sdc1 $f28, 0x0050($sp)
/* 00218 8086FDF8 F7BA0048 */ sdc1 $f26, 0x0048($sp)
/* 0021C 8086FDFC F7B80040 */ sdc1 $f24, 0x0040($sp)
/* 00220 8086FE00 F7B60038 */ sdc1 $f22, 0x0038($sp)
/* 00224 8086FE04 F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 00228 8086FE08 AFA60200 */ sw $a2, 0x0200($sp)
/* 0022C 8086FE0C AFA70204 */ sw $a3, 0x0204($sp)
/* 00230 8086FE10 A7A001D8 */ sh $zero, 0x01D8($sp)
/* 00234 8086FE14 25EF07F0 */ addiu $t7, $t7, %lo(D_808707F0) ## $t7 = 808707F0
/* 00238 8086FE18 8DF90000 */ lw $t9, 0x0000($t7) ## 808707F0
/* 0023C 8086FE1C 27AE01CC */ addiu $t6, $sp, 0x01CC ## $t6 = FFFFFFD4
/* 00240 8086FE20 8DF80004 */ lw $t8, 0x0004($t7) ## 808707F4
/* 00244 8086FE24 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFD4
/* 00248 8086FE28 8DF90008 */ lw $t9, 0x0008($t7) ## 808707F8
/* 0024C 8086FE2C 3C098087 */ lui $t1, %hi(D_808707FC) ## $t1 = 80870000
/* 00250 8086FE30 252907FC */ addiu $t1, $t1, %lo(D_808707FC) ## $t1 = 808707FC
/* 00254 8086FE34 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFD8
/* 00258 8086FE38 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFDC
/* 0025C 8086FE3C 8D2A0004 */ lw $t2, 0x0004($t1) ## 80870800
/* 00260 8086FE40 8D2B0000 */ lw $t3, 0x0000($t1) ## 808707FC
/* 00264 8086FE44 27A801B4 */ addiu $t0, $sp, 0x01B4 ## $t0 = FFFFFFBC
/* 00268 8086FE48 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFC0
/* 0026C 8086FE4C AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFBC
/* 00270 8086FE50 8D2B0008 */ lw $t3, 0x0008($t1) ## 80870804
/* 00274 8086FE54 8D2A000C */ lw $t2, 0x000C($t1) ## 80870808
/* 00278 8086FE58 3C0D8087 */ lui $t5, %hi(D_80870814) ## $t5 = 80870000
/* 0027C 8086FE5C AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFC4
/* 00280 8086FE60 AD0A000C */ sw $t2, 0x000C($t0) ## FFFFFFC8
/* 00284 8086FE64 8D2A0014 */ lw $t2, 0x0014($t1) ## 80870810
/* 00288 8086FE68 8D2B0010 */ lw $t3, 0x0010($t1) ## 8087080C
/* 0028C 8086FE6C 25AD0814 */ addiu $t5, $t5, %lo(D_80870814) ## $t5 = 80870814
/* 00290 8086FE70 0080B825 */ or $s7, $a0, $zero ## $s7 = 00000000
/* 00294 8086FE74 25B80030 */ addiu $t8, $t5, 0x0030 ## $t8 = 80870844
/* 00298 8086FE78 27AC0184 */ addiu $t4, $sp, 0x0184 ## $t4 = FFFFFF8C
/* 0029C 8086FE7C AD0A0014 */ sw $t2, 0x0014($t0) ## FFFFFFD0
/* 002A0 8086FE80 AD0B0010 */ sw $t3, 0x0010($t0) ## FFFFFFCC
.L8086FE84:
/* 002A4 8086FE84 8DAF0000 */ lw $t7, 0x0000($t5) ## 80870814
/* 002A8 8086FE88 25AD000C */ addiu $t5, $t5, 0x000C ## $t5 = 80870820
/* 002AC 8086FE8C 258C000C */ addiu $t4, $t4, 0x000C ## $t4 = FFFFFF98
/* 002B0 8086FE90 AD8FFFF4 */ sw $t7, -0x000C($t4) ## FFFFFF8C
/* 002B4 8086FE94 8DAEFFF8 */ lw $t6, -0x0008($t5) ## 80870818
/* 002B8 8086FE98 AD8EFFF8 */ sw $t6, -0x0008($t4) ## FFFFFF90
/* 002BC 8086FE9C 8DAFFFFC */ lw $t7, -0x0004($t5) ## 8087081C
/* 002C0 8086FEA0 15B8FFF8 */ bne $t5, $t8, .L8086FE84
/* 002C4 8086FEA4 AD8FFFFC */ sw $t7, -0x0004($t4) ## FFFFFF94
/* 002C8 8086FEA8 3C088087 */ lui $t0, %hi(D_80870844) ## $t0 = 80870000
/* 002CC 8086FEAC 25080844 */ addiu $t0, $t0, %lo(D_80870844) ## $t0 = 80870844
/* 002D0 8086FEB0 250B00C0 */ addiu $t3, $t0, 0x00C0 ## $t3 = 80870904
/* 002D4 8086FEB4 27B900C4 */ addiu $t9, $sp, 0x00C4 ## $t9 = FFFFFECC
.L8086FEB8:
/* 002D8 8086FEB8 8D0A0000 */ lw $t2, 0x0000($t0) ## 80870844
/* 002DC 8086FEBC 2508000C */ addiu $t0, $t0, 0x000C ## $t0 = 80870850
/* 002E0 8086FEC0 2739000C */ addiu $t9, $t9, 0x000C ## $t9 = FFFFFED8
/* 002E4 8086FEC4 AF2AFFF4 */ sw $t2, -0x000C($t9) ## FFFFFECC
/* 002E8 8086FEC8 8D09FFF8 */ lw $t1, -0x0008($t0) ## 80870848
/* 002EC 8086FECC AF29FFF8 */ sw $t1, -0x0008($t9) ## FFFFFED0
/* 002F0 8086FED0 8D0AFFFC */ lw $t2, -0x0004($t0) ## 8087084C
/* 002F4 8086FED4 150BFFF8 */ bne $t0, $t3, .L8086FEB8
/* 002F8 8086FED8 AF2AFFFC */ sw $t2, -0x0004($t9) ## FFFFFED4
/* 002FC 8086FEDC 27A20184 */ addiu $v0, $sp, 0x0184 ## $v0 = FFFFFF8C
/* 00300 8086FEE0 00402025 */ or $a0, $v0, $zero ## $a0 = FFFFFF8C
/* 00304 8086FEE4 27B201A8 */ addiu $s2, $sp, 0x01A8 ## $s2 = FFFFFFB0
/* 00308 8086FEE8 C7A20208 */ lwc1 $f2, 0x0208($sp)
/* 0030C 8086FEEC C7A0020C */ lwc1 $f0, 0x020C($sp)
/* 00310 8086FEF0 27A301A8 */ addiu $v1, $sp, 0x01A8 ## $v1 = FFFFFFB0
.L8086FEF4:
/* 00314 8086FEF4 52420004 */ beql $s2, $v0, .L8086FF08
/* 00318 8086FEF8 C6440000 */ lwc1 $f4, 0x0000($s2) ## FFFFFFB0
/* 0031C 8086FEFC 5643000E */ bnel $s2, $v1, .L8086FF38
/* 00320 8086FF00 C6440000 */ lwc1 $f4, 0x0000($s2) ## FFFFFFB0
/* 00324 8086FF04 C6440000 */ lwc1 $f4, 0x0000($s2) ## FFFFFFB0
.L8086FF08:
/* 00328 8086FF08 C6480004 */ lwc1 $f8, 0x0004($s2) ## FFFFFFB4
/* 0032C 8086FF0C C6500008 */ lwc1 $f16, 0x0008($s2) ## FFFFFFB8
/* 00330 8086FF10 46002182 */ mul.s $f6, $f4, $f0
/* 00334 8086FF14 00000000 */ nop
/* 00338 8086FF18 46024282 */ mul.s $f10, $f8, $f2
/* 0033C 8086FF1C 00000000 */ nop
/* 00340 8086FF20 46028482 */ mul.s $f18, $f16, $f2
/* 00344 8086FF24 E6460000 */ swc1 $f6, 0x0000($s2) ## FFFFFFB0
/* 00348 8086FF28 E64A0004 */ swc1 $f10, 0x0004($s2) ## FFFFFFB4
/* 0034C 8086FF2C 1000000C */ beq $zero, $zero, .L8086FF60
/* 00350 8086FF30 E6520008 */ swc1 $f18, 0x0008($s2) ## FFFFFFB8
/* 00354 8086FF34 C6440000 */ lwc1 $f4, 0x0000($s2) ## FFFFFFB0
.L8086FF38:
/* 00358 8086FF38 C6480004 */ lwc1 $f8, 0x0004($s2) ## FFFFFFB4
/* 0035C 8086FF3C C6500008 */ lwc1 $f16, 0x0008($s2) ## FFFFFFB8
/* 00360 8086FF40 46022182 */ mul.s $f6, $f4, $f2
/* 00364 8086FF44 00000000 */ nop
/* 00368 8086FF48 46004282 */ mul.s $f10, $f8, $f0
/* 0036C 8086FF4C 00000000 */ nop
/* 00370 8086FF50 46008482 */ mul.s $f18, $f16, $f0
/* 00374 8086FF54 E6460000 */ swc1 $f6, 0x0000($s2) ## FFFFFFB0
/* 00378 8086FF58 E64A0004 */ swc1 $f10, 0x0004($s2) ## FFFFFFB4
/* 0037C 8086FF5C E6520008 */ swc1 $f18, 0x0008($s2) ## FFFFFFB8
.L8086FF60:
/* 00380 8086FF60 2652FFF4 */ addiu $s2, $s2, 0xFFF4 ## $s2 = FFFFFFA4
/* 00384 8086FF64 0244082B */ sltu $at, $s2, $a0
/* 00388 8086FF68 1020FFE2 */ beq $at, $zero, .L8086FEF4
/* 0038C 8086FF6C 00000000 */ nop
/* 00390 8086FF70 8FAD0210 */ lw $t5, 0x0210($sp)
/* 00394 8086FF74 AFA001DC */ sw $zero, 0x01DC($sp)
/* 00398 8086FF78 26EC1C24 */ addiu $t4, $s7, 0x1C24 ## $t4 = 00001C24
/* 0039C 8086FF7C 19A000B1 */ blez $t5, .L80870244
/* 003A0 8086FF80 3C018087 */ lui $at, %hi(D_808709AC) ## $at = 80870000
/* 003A4 8086FF84 C43C09AC */ lwc1 $f28, %lo(D_808709AC)($at)
/* 003A8 8086FF88 3C018087 */ lui $at, %hi(D_808709B0) ## $at = 80870000
/* 003AC 8086FF8C C43A09B0 */ lwc1 $f26, %lo(D_808709B0)($at)
/* 003B0 8086FF90 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 003B4 8086FF94 4481C000 */ mtc1 $at, $f24 ## $f24 = 20.00
/* 003B8 8086FF98 AFAC009C */ sw $t4, 0x009C($sp)
/* 003BC 8086FF9C AFA501FC */ sw $a1, 0x01FC($sp)
/* 003C0 8086FFA0 C7BE0214 */ lwc1 $f30, 0x0214($sp)
/* 003C4 8086FFA4 27B501E8 */ addiu $s5, $sp, 0x01E8 ## $s5 = FFFFFFF0
.L8086FFA8:
/* 003C8 8086FFA8 8FA501FC */ lw $a1, 0x01FC($sp)
/* 003CC 8086FFAC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 003D0 8086FFB0 84A20032 */ lh $v0, 0x0032($a1) ## 00000032
/* 003D4 8086FFB4 04400003 */ bltz $v0, .L8086FFC4
/* 003D8 8086FFB8 00028023 */ subu $s0, $zero, $v0
/* 003DC 8086FFBC 10000001 */ beq $zero, $zero, .L8086FFC4
/* 003E0 8086FFC0 00408025 */ or $s0, $v0, $zero ## $s0 = FFFFFF8C
.L8086FFC4:
/* 003E4 8086FFC4 C4AC0024 */ lwc1 $f12, 0x0024($a1) ## 00000024
/* 003E8 8086FFC8 C4AE0028 */ lwc1 $f14, 0x0028($a1) ## 00000028
/* 003EC 8086FFCC 8CA6002C */ lw $a2, 0x002C($a1) ## 0000002C
/* 003F0 8086FFD0 0C034261 */ jal Matrix_Translate
/* 003F4 8086FFD4 AFA501FC */ sw $a1, 0x01FC($sp)
/* 003F8 8086FFD8 8FA201FC */ lw $v0, 0x01FC($sp)
/* 003FC 8086FFDC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00400 8086FFE0 84440030 */ lh $a0, 0x0030($v0) ## 00000030
/* 00404 8086FFE4 84450032 */ lh $a1, 0x0032($v0) ## 00000032
/* 00408 8086FFE8 0C034421 */ jal Matrix_RotateRPY
/* 0040C 8086FFEC 84460034 */ lh $a2, 0x0034($v0) ## 00000034
/* 00410 8086FFF0 8FA20200 */ lw $v0, 0x0200($sp)
/* 00414 8086FFF4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00418 8086FFF8 C44C0000 */ lwc1 $f12, 0x0000($v0) ## 00000000
/* 0041C 8086FFFC C44E0004 */ lwc1 $f14, 0x0004($v0) ## 00000004
/* 00420 80870000 0C034261 */ jal Matrix_Translate
/* 00424 80870004 8C460008 */ lw $a2, 0x0008($v0) ## 00000008
/* 00428 80870008 87AE01D8 */ lh $t6, 0x01D8($sp)
/* 0042C 8087000C 24030003 */ addiu $v1, $zero, 0x0003 ## $v1 = 00000003
/* 00430 80870010 27A60154 */ addiu $a2, $sp, 0x0154 ## $a2 = FFFFFF5C
/* 00434 80870014 020EF021 */ addu $s8, $s0, $t6
/* 00438 80870018 001EF400 */ sll $s8, $s8, 16
/* 0043C 8087001C 001EF403 */ sra $s8, $s8, 16
/* 00440 80870020 AFA600A4 */ sw $a2, 0x00A4($sp)
/* 00444 80870024 AFA301E0 */ sw $v1, 0x01E0($sp)
.L80870028:
/* 00448 80870028 8FA301E0 */ lw $v1, 0x01E0($sp)
/* 0044C 8087002C 8FA600A4 */ lw $a2, 0x00A4($sp)
/* 00450 80870030 24130024 */ addiu $s3, $zero, 0x0024 ## $s3 = 00000024
/* 00454 80870034 27B101C6 */ addiu $s1, $sp, 0x01C6 ## $s1 = FFFFFFCE
/* 00458 80870038 30760001 */ andi $s6, $v1, 0x0001 ## $s6 = 00000001
/* 0045C 8087003C 24D40024 */ addiu $s4, $a2, 0x0024 ## $s4 = FFFFFF80
.L80870040:
/* 00460 80870040 02802025 */ or $a0, $s4, $zero ## $a0 = FFFFFF80
/* 00464 80870044 0C0346BD */ jal Matrix_MultVec3f
/* 00468 80870048 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFF0
/* 0046C 8087004C 0C00CFC8 */ jal Rand_CenteredFloat
/* 00470 80870050 4600C306 */ mov.s $f12, $f24
/* 00474 80870054 46000506 */ mov.s $f20, $f0
/* 00478 80870058 0C00CFC8 */ jal Rand_CenteredFloat
/* 0047C 8087005C 4600C306 */ mov.s $f12, $f24
/* 00480 80870060 46000586 */ mov.s $f22, $f0
/* 00484 80870064 0C00CFC8 */ jal Rand_CenteredFloat
/* 00488 80870068 4600C306 */ mov.s $f12, $f24
/* 0048C 8087006C C7A801EC */ lwc1 $f8, 0x01EC($sp)
/* 00490 80870070 C7B001F0 */ lwc1 $f16, 0x01F0($sp)
/* 00494 80870074 C7A401E8 */ lwc1 $f4, 0x01E8($sp)
/* 00498 80870078 4608B280 */ add.s $f10, $f22, $f8
/* 0049C 8087007C 2409000B */ addiu $t1, $zero, 0x000B ## $t1 = 0000000B
/* 004A0 80870080 8FA4009C */ lw $a0, 0x009C($sp)
/* 004A4 80870084 46100480 */ add.s $f18, $f0, $f16
/* 004A8 80870088 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 004AC 8087008C 02E02825 */ or $a1, $s7, $zero ## $a1 = 00000000
/* 004B0 80870090 4604A180 */ add.s $f6, $f20, $f4
/* 004B4 80870094 E7B20014 */ swc1 $f18, 0x0014($sp)
/* 004B8 80870098 862F0000 */ lh $t7, 0x0000($s1) ## FFFFFFCE
/* 004BC 8087009C 24060039 */ addiu $a2, $zero, 0x0039 ## $a2 = 00000039
/* 004C0 808700A0 44073000 */ mfc1 $a3, $f6
/* 004C4 808700A4 AFAF0018 */ sw $t7, 0x0018($sp)
/* 004C8 808700A8 862B0002 */ lh $t3, 0x0002($s1) ## FFFFFFD0
/* 004CC 808700AC 017E4021 */ addu $t0, $t3, $s8
/* 004D0 808700B0 AFA8001C */ sw $t0, 0x001C($sp)
/* 004D4 808700B4 86390004 */ lh $t9, 0x0004($s1) ## FFFFFFD2
/* 004D8 808700B8 AFA90024 */ sw $t1, 0x0024($sp)
/* 004DC 808700BC 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 004E0 808700C0 AFB90020 */ sw $t9, 0x0020($sp)
/* 004E4 808700C4 16C00010 */ bne $s6, $zero, .L80870108
/* 004E8 808700C8 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 004EC 808700CC 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 004F0 808700D0 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 004F4 808700D4 C7A40204 */ lwc1 $f4, 0x0204($sp)
/* 004F8 808700D8 240A028A */ addiu $t2, $zero, 0x028A ## $t2 = 0000028A
/* 004FC 808700DC 24180096 */ addiu $t8, $zero, 0x0096 ## $t8 = 00000096
/* 00500 808700E0 46062202 */ mul.s $f8, $f4, $f6
/* 00504 808700E4 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 00508 808700E8 AFAD0018 */ sw $t5, 0x0018($sp)
/* 0050C 808700EC AFB80014 */ sw $t8, 0x0014($sp)
/* 00510 808700F0 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00514 808700F4 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
/* 00518 808700F8 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFF0
/* 0051C 808700FC 44064000 */ mfc1 $a2, $f8
/* 00520 80870100 0C00CD20 */ jal func_80033480
/* 00524 80870104 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
.L80870108:
/* 00528 80870108 12000038 */ beq $s0, $zero, .L808701EC
/* 0052C 8087010C 3C018087 */ lui $at, %hi(D_808709B4) ## $at = 80870000
/* 00530 80870110 C42A09B4 */ lwc1 $f10, %lo(D_808709B4)($at)
/* 00534 80870114 27AC0184 */ addiu $t4, $sp, 0x0184 ## $t4 = FFFFFF8C
/* 00538 80870118 026C9021 */ addu $s2, $s3, $t4
/* 0053C 8087011C 460AF502 */ mul.s $f20, $f30, $f10
/* 00540 80870120 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00544 80870124 00000000 */ nop
/* 00548 80870128 46140400 */ add.s $f16, $f0, $f20
/* 0054C 8087012C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00550 80870130 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
/* 00554 80870134 46140480 */ add.s $f18, $f0, $f20
/* 00558 80870138 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 0055C 8087013C E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
/* 00560 80870140 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00564 80870144 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 00568 80870148 3C018087 */ lui $at, %hi(D_808709B8) ## $at = 80870000
/* 0056C 8087014C C42809B8 */ lwc1 $f8, %lo(D_808709B8)($at)
/* 00570 80870150 46040181 */ sub.s $f6, $f0, $f4
/* 00574 80870154 86190032 */ lh $t9, 0x0032($s0) ## 00000032
/* 00578 80870158 46083282 */ mul.s $f10, $f6, $f8
/* 0057C 8087015C 4600540D */ trunc.w.s $f16, $f10
/* 00580 80870160 44088000 */ mfc1 $t0, $f16
/* 00584 80870164 00000000 */ nop
/* 00588 80870168 03284821 */ addu $t1, $t9, $t0
/* 0058C 8087016C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00590 80870170 A6090032 */ sh $t1, 0x0032($s0) ## 00000032
/* 00594 80870174 461C0482 */ mul.s $f18, $f0, $f28
/* 00598 80870178 4600910D */ trunc.w.s $f4, $f18
/* 0059C 8087017C 440C2000 */ mfc1 $t4, $f4
/* 005A0 80870180 00000000 */ nop
/* 005A4 80870184 258E07D0 */ addiu $t6, $t4, 0x07D0 ## $t6 = 000007D0
/* 005A8 80870188 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 005AC 8087018C A60E0030 */ sh $t6, 0x0030($s0) ## 00000030
/* 005B0 80870190 461C0182 */ mul.s $f6, $f0, $f28
/* 005B4 80870194 4600D306 */ mov.s $f12, $f26
/* 005B8 80870198 4600320D */ trunc.w.s $f8, $f6
/* 005BC 8087019C 44084000 */ mfc1 $t0, $f8
/* 005C0 808701A0 00000000 */ nop
/* 005C4 808701A4 250907D0 */ addiu $t1, $t0, 0x07D0 ## $t1 = 000007D0
/* 005C8 808701A8 A6090034 */ sh $t1, 0x0034($s0) ## 00000034
/* 005CC 808701AC 8FAA01FC */ lw $t2, 0x01FC($sp)
/* 005D0 808701B0 0C00CFC8 */ jal Rand_CenteredFloat
/* 005D4 808701B4 AE0A0118 */ sw $t2, 0x0118($s0) ## 00000118
/* 005D8 808701B8 C64A0000 */ lwc1 $f10, 0x0000($s2) ## FFFFFFA4
/* 005DC 808701BC 4600D306 */ mov.s $f12, $f26
/* 005E0 808701C0 460A0400 */ add.s $f16, $f0, $f10
/* 005E4 808701C4 0C00CFC8 */ jal Rand_CenteredFloat
/* 005E8 808701C8 E6100050 */ swc1 $f16, 0x0050($s0) ## 00000050
/* 005EC 808701CC C6520004 */ lwc1 $f18, 0x0004($s2) ## FFFFFFA8
/* 005F0 808701D0 4600D306 */ mov.s $f12, $f26
/* 005F4 808701D4 46120100 */ add.s $f4, $f0, $f18
/* 005F8 808701D8 0C00CFC8 */ jal Rand_CenteredFloat
/* 005FC 808701DC E6040054 */ swc1 $f4, 0x0054($s0) ## 00000054
/* 00600 808701E0 C6460008 */ lwc1 $f6, 0x0008($s2) ## FFFFFFAC
/* 00604 808701E4 46060200 */ add.s $f8, $f0, $f6
/* 00608 808701E8 E6080058 */ swc1 $f8, 0x0058($s0) ## 00000058
.L808701EC:
/* 0060C 808701EC 2631FFFA */ addiu $s1, $s1, 0xFFFA ## $s1 = FFFFFFC8
/* 00610 808701F0 27B801B4 */ addiu $t8, $sp, 0x01B4 ## $t8 = FFFFFFBC
/* 00614 808701F4 0238082B */ sltu $at, $s1, $t8
/* 00618 808701F8 2673FFF4 */ addiu $s3, $s3, 0xFFF4 ## $s3 = 00000018
/* 0061C 808701FC 1020FF90 */ beq $at, $zero, .L80870040
/* 00620 80870200 2694FFF4 */ addiu $s4, $s4, 0xFFF4 ## $s4 = FFFFFF74
/* 00624 80870204 8FAD01E0 */ lw $t5, 0x01E0($sp)
/* 00628 80870208 8FAE00A4 */ lw $t6, 0x00A4($sp)
/* 0062C 8087020C 25ACFFFF */ addiu $t4, $t5, 0xFFFF ## $t4 = FFFFFFFF
/* 00630 80870210 25CFFFD0 */ addiu $t7, $t6, 0xFFD0 ## $t7 = FFFFFFD0
/* 00634 80870214 AFAF00A4 */ sw $t7, 0x00A4($sp)
/* 00638 80870218 0581FF83 */ bgez $t4, .L80870028
/* 0063C 8087021C AFAC01E0 */ sw $t4, 0x01E0($sp)
/* 00640 80870220 87AB01D8 */ lh $t3, 0x01D8($sp)
/* 00644 80870224 8FA201DC */ lw $v0, 0x01DC($sp)
/* 00648 80870228 8FA80210 */ lw $t0, 0x0210($sp)
/* 0064C 8087022C 25794000 */ addiu $t9, $t3, 0x4000 ## $t9 = 00004000
/* 00650 80870230 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 00654 80870234 AFA201DC */ sw $v0, 0x01DC($sp)
/* 00658 80870238 1448FF5B */ bne $v0, $t0, .L8086FFA8
/* 0065C 8087023C A7B901D8 */ sh $t9, 0x01D8($sp)
/* 00660 80870240 AFB001F4 */ sw $s0, 0x01F4($sp)
.L80870244:
/* 00664 80870244 8FBF0084 */ lw $ra, 0x0084($sp)
/* 00668 80870248 8FA201F4 */ lw $v0, 0x01F4($sp)
/* 0066C 8087024C D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 00670 80870250 D7B60038 */ ldc1 $f22, 0x0038($sp)
/* 00674 80870254 D7B80040 */ ldc1 $f24, 0x0040($sp)
/* 00678 80870258 D7BA0048 */ ldc1 $f26, 0x0048($sp)
/* 0067C 8087025C D7BC0050 */ ldc1 $f28, 0x0050($sp)
/* 00680 80870260 D7BE0058 */ ldc1 $f30, 0x0058($sp)
/* 00684 80870264 8FB00060 */ lw $s0, 0x0060($sp)
/* 00688 80870268 8FB10064 */ lw $s1, 0x0064($sp)
/* 0068C 8087026C 8FB20068 */ lw $s2, 0x0068($sp)
/* 00690 80870270 8FB3006C */ lw $s3, 0x006C($sp)
/* 00694 80870274 8FB40070 */ lw $s4, 0x0070($sp)
/* 00698 80870278 8FB50074 */ lw $s5, 0x0074($sp)
/* 0069C 8087027C 8FB60078 */ lw $s6, 0x0078($sp)
/* 006A0 80870280 8FB7007C */ lw $s7, 0x007C($sp)
/* 006A4 80870284 8FBE0080 */ lw $s8, 0x0080($sp)
/* 006A8 80870288 03E00008 */ jr $ra
/* 006AC 8087028C 27BD01F8 */ addiu $sp, $sp, 0x01F8 ## $sp = 00000000
@@ -1,72 +0,0 @@
glabel func_80870290
/* 006B0 80870290 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 006B4 80870294 AFB00018 */ sw $s0, 0x0018($sp)
/* 006B8 80870298 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 006BC 8087029C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006C0 808702A0 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 006C4 808702A4 AFBF001C */ sw $ra, 0x001C($sp)
/* 006C8 808702A8 AFA50034 */ sw $a1, 0x0034($sp)
/* 006CC 808702AC 00A12021 */ addu $a0, $a1, $at
/* 006D0 808702B0 0C026062 */ jal Object_IsLoaded
/* 006D4 808702B4 82050169 */ lb $a1, 0x0169($s0) ## 00000169
/* 006D8 808702B8 50400032 */ beql $v0, $zero, .L80870384
/* 006DC 808702BC 8FBF001C */ lw $ra, 0x001C($sp)
/* 006E0 808702C0 AFA0002C */ sw $zero, 0x002C($sp)
/* 006E4 808702C4 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 006E8 808702C8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 006EC 808702CC 000EC343 */ sra $t8, $t6, 13
/* 006F0 808702D0 33190003 */ andi $t9, $t8, 0x0003 ## $t9 = 00000000
/* 006F4 808702D4 AFB90028 */ sw $t9, 0x0028($sp)
/* 006F8 808702D8 82080169 */ lb $t0, 0x0169($s0) ## 00000169
/* 006FC 808702DC A208001E */ sb $t0, 0x001E($s0) ## 0000001E
/* 00700 808702E0 0C00B591 */ jal Actor_SetObjectDependency
/* 00704 808702E4 8FA40034 */ lw $a0, 0x0034($sp)
/* 00708 808702E8 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
/* 0070C 808702EC 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 00710 808702F0 3C0B8087 */ lui $t3, %hi(func_808705D8) ## $t3 = 80870000
/* 00714 808702F4 256B05D8 */ addiu $t3, $t3, %lo(func_808705D8) ## $t3 = 808705D8
/* 00718 808702F8 01215024 */ and $t2, $t1, $at
/* 0071C 808702FC AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004
/* 00720 80870300 AE0B0134 */ sw $t3, 0x0134($s0) ## 00000134
/* 00724 80870304 8FAC0028 */ lw $t4, 0x0028($sp)
/* 00728 80870308 3C0E8087 */ lui $t6, %hi(D_808707B0) ## $t6 = 80870000
/* 0072C 8087030C 25CE07B0 */ addiu $t6, $t6, %lo(D_808707B0) ## $t6 = 808707B0
/* 00730 80870310 000C6880 */ sll $t5, $t4, 2
/* 00734 80870314 01AC6823 */ subu $t5, $t5, $t4
/* 00738 80870318 000D6880 */ sll $t5, $t5, 2
/* 0073C 8087031C 01AE1021 */ addu $v0, $t5, $t6
/* 00740 80870320 8C440000 */ lw $a0, 0x0000($v0) ## 00000000
/* 00744 80870324 AFA20024 */ sw $v0, 0x0024($sp)
/* 00748 80870328 0C010620 */ jal CollisionHeader_GetVirtual
/* 0074C 8087032C 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC
/* 00750 80870330 8FA40034 */ lw $a0, 0x0034($sp)
/* 00754 80870334 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00758 80870338 8FA7002C */ lw $a3, 0x002C($sp)
/* 0075C 8087033C 0C00FA9D */ jal DynaPoly_SetBgActor
## DynaPoly_SetBgActor
/* 00760 80870340 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00764 80870344 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 00768 80870348 8FB80024 */ lw $t8, 0x0024($sp)
/* 0076C 8087034C 3C198087 */ lui $t9, %hi(D_808707D4) ## $t9 = 80870000
/* 00770 80870350 273907D4 */ addiu $t9, $t9, %lo(D_808707D4) ## $t9 = 808707D4
/* 00774 80870354 17190007 */ bne $t8, $t9, .L80870374
/* 00778 80870358 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0077C 8087035C 3C058087 */ lui $a1, %hi(func_80870564) ## $a1 = 80870000
/* 00780 80870360 24A50564 */ addiu $a1, $a1, %lo(func_80870564) ## $a1 = 80870564
/* 00784 80870364 0C21BEF8 */ jal BgBreakwall_SetupAction
/* 00788 80870368 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0078C 8087036C 10000005 */ beq $zero, $zero, .L80870384
/* 00790 80870370 8FBF001C */ lw $ra, 0x001C($sp)
.L80870374:
/* 00794 80870374 3C058087 */ lui $a1, %hi(func_80870394) ## $a1 = 80870000
/* 00798 80870378 0C21BEF8 */ jal BgBreakwall_SetupAction
/* 0079C 8087037C 24A50394 */ addiu $a1, $a1, %lo(func_80870394) ## $a1 = 80870394
/* 007A0 80870380 8FBF001C */ lw $ra, 0x001C($sp)
.L80870384:
/* 007A4 80870384 8FB00018 */ lw $s0, 0x0018($sp)
/* 007A8 80870388 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 007AC 8087038C 03E00008 */ jr $ra
/* 007B0 80870390 00000000 */ nop
@@ -1,139 +0,0 @@
.late_rodata
glabel D_808709BC
.float 6.400000095367432
.text
glabel func_80870394
/* 007B4 80870394 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 007B8 80870398 AFBF002C */ sw $ra, 0x002C($sp)
/* 007BC 8087039C AFB00028 */ sw $s0, 0x0028($sp)
/* 007C0 808703A0 908E017D */ lbu $t6, 0x017D($a0) ## 0000017D
/* 007C4 808703A4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 007C8 808703A8 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
/* 007CC 808703AC 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
/* 007D0 808703B0 51E00068 */ beql $t7, $zero, .L80870554
/* 007D4 808703B4 8FBF002C */ lw $ra, 0x002C($sp)
/* 007D8 808703B8 8498001C */ lh $t8, 0x001C($a0) ## 0000001C
/* 007DC 808703BC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 007E0 808703C0 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 007E4 808703C4 00184343 */ sra $t0, $t8, 13
/* 007E8 808703C8 31090003 */ andi $t1, $t0, 0x0003 ## $t1 = 00000000
/* 007EC 808703CC AFA90030 */ sw $t1, 0x0030($sp)
/* 007F0 808703D0 8E06014C */ lw $a2, 0x014C($s0) ## 0000014C
/* 007F4 808703D4 0C00FB56 */ jal DynaPoly_DeleteBgActor
## DynaPoly_DeleteBgActor
/* 007F8 808703D8 AFA70044 */ sw $a3, 0x0044($sp)
/* 007FC 808703DC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00800 808703E0 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 00804 808703E4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00808 808703E8 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 0080C 808703EC E7A0003C */ swc1 $f0, 0x003C($sp)
/* 00810 808703F0 E7A00038 */ swc1 $f0, 0x0038($sp)
/* 00814 808703F4 860A0030 */ lh $t2, 0x0030($s0) ## 00000030
/* 00818 808703F8 44070000 */ mfc1 $a3, $f0
/* 0081C 808703FC 27A60034 */ addiu $a2, $sp, 0x0034 ## $a2 = FFFFFFF4
/* 00820 80870400 15400005 */ bne $t2, $zero, .L80870418
/* 00824 80870404 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00828 80870408 3C01425C */ lui $at, 0x425C ## $at = 425C0000
/* 0082C 8087040C 44812000 */ mtc1 $at, $f4 ## $f4 = 55.00
/* 00830 80870410 10000006 */ beq $zero, $zero, .L8087042C
/* 00834 80870414 E7A40038 */ swc1 $f4, 0x0038($sp)
.L80870418:
/* 00838 80870418 44813000 */ mtc1 $at, $f6 ## $f6 = 55.00
/* 0083C 8087041C 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 00840 80870420 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
/* 00844 80870424 E7A6003C */ swc1 $f6, 0x003C($sp)
/* 00848 80870428 E7A80038 */ swc1 $f8, 0x0038($sp)
.L8087042C:
/* 0084C 8087042C 3C018087 */ lui $at, %hi(D_808709BC) ## $at = 80870000
/* 00850 80870430 C42A09BC */ lwc1 $f10, %lo(D_808709BC)($at)
/* 00854 80870434 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00858 80870438 44818000 */ mtc1 $at, $f16 ## $f16 = 5.00
/* 0085C 8087043C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00860 80870440 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00
/* 00864 80870444 8FA40044 */ lw $a0, 0x0044($sp)
/* 00868 80870448 AFAB0018 */ sw $t3, 0x0018($sp)
/* 0086C 8087044C E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00870 80870450 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 00874 80870454 0C21BF70 */ jal func_8086FDC0
/* 00878 80870458 E7B2001C */ swc1 $f18, 0x001C($sp)
/* 0087C 8087045C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 00880 80870460 8FA40044 */ lw $a0, 0x0044($sp)
/* 00884 80870464 0C00B2DD */ jal Flags_SetSwitch
/* 00888 80870468 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 0088C 8087046C 8FAC0030 */ lw $t4, 0x0030($sp)
/* 00890 80870470 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00894 80870474 24052802 */ addiu $a1, $zero, 0x2802 ## $a1 = 00002802
/* 00898 80870478 15810005 */ bne $t4, $at, .L80870490
/* 0089C 8087047C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008A0 80870480 0C00BE0A */ jal Audio_PlayActorSound2
/* 008A4 80870484 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008A8 80870488 10000004 */ beq $zero, $zero, .L8087049C
/* 008AC 8087048C 8FAD0030 */ lw $t5, 0x0030($sp)
.L80870490:
/* 008B0 80870490 0C00BE0A */ jal Audio_PlayActorSound2
/* 008B4 80870494 24052810 */ addiu $a1, $zero, 0x2810 ## $a1 = 00002810
/* 008B8 80870498 8FAD0030 */ lw $t5, 0x0030($sp)
.L8087049C:
/* 008BC 8087049C 55A0001E */ bnel $t5, $zero, .L80870518
/* 008C0 808704A0 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
/* 008C4 808704A4 0C00D6D3 */ jal Flags_GetEventChkInf
/* 008C8 808704A8 240400B0 */ addiu $a0, $zero, 0x00B0 ## $a0 = 000000B0
/* 008CC 808704AC 5440001A */ bnel $v0, $zero, .L80870518
/* 008D0 808704B0 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
/* 008D4 808704B4 0C00D6DD */ jal Flags_SetEventChkInf
/* 008D8 808704B8 240400B0 */ addiu $a0, $zero, 0x00B0 ## $a0 = 000000B0
/* 008DC 808704BC 3C050201 */ lui $a1, %hi(D_02014F80) ## $a1 = 02010000
/* 008E0 808704C0 24A54F80 */ addiu $a1, $a1, %lo(D_02014F80) ## $a1 = 02014F80
/* 008E4 808704C4 0C01A4F6 */ jal Cutscene_SetSegment
/* 008E8 808704C8 8FA40044 */ lw $a0, 0x0044($sp)
/* 008EC 808704CC 3C078013 */ lui $a3, %hi(D_801333E0)
/* 008F0 808704D0 3C0F8013 */ lui $t7, %hi(D_801333E8)
/* 008F4 808704D4 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 008F8 808704D8 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 008FC 808704DC 3C018016 */ lui $at, %hi(gSaveContext+0x1414)
/* 00900 808704E0 25EF33E8 */ addiu $t7, %lo(D_801333E8)
/* 00904 808704E4 3C058013 */ lui $a1, %hi(D_801333D4)
/* 00908 808704E8 A02EFA74 */ sb $t6, %lo(gSaveContext+0x1414)($at)
/* 0090C 808704EC 24A533D4 */ addiu $a1, %lo(D_801333D4)
/* 00910 808704F0 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00914 808704F4 AFA70010 */ sw $a3, 0x0010($sp)
/* 00918 808704F8 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
/* 0091C 808704FC 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00920 80870500 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00924 80870504 8FA40044 */ lw $a0, 0x0044($sp)
/* 00928 80870508 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0092C 8087050C 0C00B7D5 */ jal func_8002DF54
/* 00930 80870510 24060031 */ addiu $a2, $zero, 0x0031 ## $a2 = 00000031
/* 00934 80870514 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
.L80870518:
/* 00938 80870518 3C058013 */ lui $a1, %hi(D_801333D4)
/* 0093C 8087051C 24A533D4 */ addiu $a1, %lo(D_801333D4)
/* 00940 80870520 07010009 */ bgez $t8, .L80870548
/* 00944 80870524 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
/* 00948 80870528 3C198013 */ lui $t9, %hi(D_801333E0)
/* 0094C 8087052C 3C088013 */ lui $t0, %hi(D_801333E8)
/* 00950 80870530 250833E8 */ addiu $t0, %lo(D_801333E8)
/* 00954 80870534 272733E0 */ addiu $a3, $t9, %lo(D_801333E0)
/* 00958 80870538 AFA70010 */ sw $a3, 0x0010($sp)
/* 0095C 8087053C AFA80014 */ sw $t0, 0x0014($sp)
/* 00960 80870540 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00964 80870544 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
.L80870548:
/* 00968 80870548 0C00B55C */ jal Actor_Kill
/* 0096C 8087054C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00970 80870550 8FBF002C */ lw $ra, 0x002C($sp)
.L80870554:
/* 00974 80870554 8FB00028 */ lw $s0, 0x0028($sp)
/* 00978 80870558 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 0097C 8087055C 03E00008 */ jr $ra
/* 00980 80870560 00000000 */ nop
@@ -1,22 +0,0 @@
glabel func_80870564
/* 00984 80870564 3C0E8016 */ lui $t6, %hi(gGameInfo)
/* 00988 80870568 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* 0098C 8087056C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00990 80870570 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00994 80870574 AFA5001C */ sw $a1, 0x001C($sp)
/* 00998 80870578 85CF0A74 */ lh $t7, 0x0A74($t6) ## 80160A74
/* 0099C 8087057C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 009A0 80870580 C4E8000C */ lwc1 $f8, 0x000C($a3) ## 0000000C
/* 009A4 80870584 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 009A8 80870588 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
/* 009AC 8087058C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 009B0 80870590 468021A0 */ cvt.s.w $f6, $f4
/* 009B4 80870594 46083280 */ add.s $f10, $f6, $f8
/* 009B8 80870598 44055000 */ mfc1 $a1, $f10
/* 009BC 8087059C 0C01DE80 */ jal Math_StepToF
/* 009C0 808705A0 00000000 */ nop
/* 009C4 808705A4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 009C8 808705A8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 009CC 808705AC 03E00008 */ jr $ra
/* 009D0 808705B0 00000000 */ nop
@@ -1,109 +0,0 @@
.rdata
glabel D_80870970
.asciz "../z_bg_breakwall.c"
.balign 4
glabel D_80870984
.asciz "../z_bg_breakwall.c"
.balign 4
glabel D_80870998
.asciz "../z_bg_breakwall.c"
.balign 4
.text
glabel func_808705D8
/* 009F8 808705D8 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
/* 009FC 808705DC AFBF0034 */ sw $ra, 0x0034($sp)
/* 00A00 808705E0 AFB50030 */ sw $s5, 0x0030($sp)
/* 00A04 808705E4 AFB4002C */ sw $s4, 0x002C($sp)
/* 00A08 808705E8 AFB30028 */ sw $s3, 0x0028($sp)
/* 00A0C 808705EC AFB20024 */ sw $s2, 0x0024($sp)
/* 00A10 808705F0 AFB10020 */ sw $s1, 0x0020($sp)
/* 00A14 808705F4 AFB0001C */ sw $s0, 0x001C($sp)
/* 00A18 808705F8 8C8E0164 */ lw $t6, 0x0164($a0) ## 00000164
/* 00A1C 808705FC 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
/* 00A20 80870600 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
/* 00A24 80870604 11C00044 */ beq $t6, $zero, .L80870718
/* 00A28 80870608 27A40084 */ addiu $a0, $sp, 0x0084 ## $a0 = FFFFFFE4
/* 00A2C 8087060C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00A30 80870610 3C068087 */ lui $a2, %hi(D_80870970) ## $a2 = 80870000
/* 00A34 80870614 24C60970 */ addiu $a2, $a2, %lo(D_80870970) ## $a2 = 80870970
/* 00A38 80870618 240702FF */ addiu $a3, $zero, 0x02FF ## $a3 = 000002FF
/* 00A3C 8087061C 0C031AB1 */ jal Graph_OpenDisps
/* 00A40 80870620 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00A44 80870624 0C024F46 */ jal func_80093D18
/* 00A48 80870628 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000
/* 00A4C 8087062C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00A50 80870630 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
/* 00A54 80870634 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
/* 00A58 80870638 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00A5C 8087063C AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
/* 00A60 80870640 3C058087 */ lui $a1, %hi(D_80870984) ## $a1 = 80870000
/* 00A64 80870644 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 00A68 80870648 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000
/* 00A6C 8087064C 24A50984 */ addiu $a1, $a1, %lo(D_80870984) ## $a1 = 80870984
/* 00A70 80870650 24060303 */ addiu $a2, $zero, 0x0303 ## $a2 = 00000303
/* 00A74 80870654 0C0346A2 */ jal Matrix_NewMtx
/* 00A78 80870658 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
/* 00A7C 8087065C AE220004 */ sw $v0, 0x0004($s1) ## 00000004
/* 00A80 80870660 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 00A84 80870664 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
/* 00A88 80870668 3C0B8087 */ lui $t3, %hi(D_80870904) ## $t3 = 80870000
/* 00A8C 8087066C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00A90 80870670 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 00A94 80870674 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 00A98 80870678 8E890164 */ lw $t1, 0x0164($s4) ## 00000164
/* 00A9C 8087067C 256B0904 */ addiu $t3, $t3, %lo(D_80870904) ## $t3 = 80870904
/* 00AA0 80870680 27B1004C */ addiu $s1, $sp, 0x004C ## $s1 = FFFFFFAC
/* 00AA4 80870684 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
/* 00AA8 80870688 82820168 */ lb $v0, 0x0168($s4) ## 00000168
/* 00AAC 8087068C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 00AB0 80870690 24130004 */ addiu $s3, $zero, 0x0004 ## $s3 = 00000004
/* 00AB4 80870694 0440001A */ bltz $v0, .L80870700
/* 00AB8 80870698 00025080 */ sll $t2, $v0, 2
/* 00ABC 8087069C 01425023 */ subu $t2, $t2, $v0
/* 00AC0 808706A0 000A5100 */ sll $t2, $t2, 4
/* 00AC4 808706A4 014B8021 */ addu $s0, $t2, $t3
/* 00AC8 808706A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L808706AC:
/* 00ACC 808706AC 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFAC
/* 00AD0 808706B0 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = FFFFFFB8
/* 00AD4 808706B4 0C0346BD */ jal Matrix_MultVec3f
/* 00AD8 808706B8 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = 0000000C
/* 00ADC 808706BC 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
/* 00AE0 808706C0 5653FFFA */ bnel $s2, $s3, .L808706AC
/* 00AE4 808706C4 02002025 */ or $a0, $s0, $zero ## $a0 = 0000000C
/* 00AE8 808706C8 2690016C */ addiu $s0, $s4, 0x016C ## $s0 = 0000016C
/* 00AEC 808706CC 27AC0070 */ addiu $t4, $sp, 0x0070 ## $t4 = FFFFFFD0
/* 00AF0 808706D0 AFAC0010 */ sw $t4, 0x0010($sp)
/* 00AF4 808706D4 02002025 */ or $a0, $s0, $zero ## $a0 = 0000016C
/* 00AF8 808706D8 27A5004C */ addiu $a1, $sp, 0x004C ## $a1 = FFFFFFAC
/* 00AFC 808706DC 27A60058 */ addiu $a2, $sp, 0x0058 ## $a2 = FFFFFFB8
/* 00B00 808706E0 0C0189CD */ jal Collider_SetQuadVertices
/* 00B04 808706E4 27A70064 */ addiu $a3, $sp, 0x0064 ## $a3 = FFFFFFC4
/* 00B08 808706E8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00B0C 808706EC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00B10 808706F0 02A12821 */ addu $a1, $s5, $at
/* 00B14 808706F4 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
/* 00B18 808706F8 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 00B1C 808706FC 02003025 */ or $a2, $s0, $zero ## $a2 = 0000016C
.L80870700:
/* 00B20 80870700 3C068087 */ lui $a2, %hi(D_80870998) ## $a2 = 80870000
/* 00B24 80870704 24C60998 */ addiu $a2, $a2, %lo(D_80870998) ## $a2 = 80870998
/* 00B28 80870708 27A40084 */ addiu $a0, $sp, 0x0084 ## $a0 = FFFFFFE4
/* 00B2C 8087070C 8EA50000 */ lw $a1, 0x0000($s5) ## 00000000
/* 00B30 80870710 0C031AD5 */ jal Graph_CloseDisps
/* 00B34 80870714 24070336 */ addiu $a3, $zero, 0x0336 ## $a3 = 00000336
.L80870718:
/* 00B38 80870718 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00B3C 8087071C 8FB0001C */ lw $s0, 0x001C($sp)
/* 00B40 80870720 8FB10020 */ lw $s1, 0x0020($sp)
/* 00B44 80870724 8FB20024 */ lw $s2, 0x0024($sp)
/* 00B48 80870728 8FB30028 */ lw $s3, 0x0028($sp)
/* 00B4C 8087072C 8FB4002C */ lw $s4, 0x002C($sp)
/* 00B50 80870730 8FB50030 */ lw $s5, 0x0030($sp)
/* 00B54 80870734 03E00008 */ jr $ra
/* 00B58 80870738 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000
/* 00B5C 8087073C 00000000 */ nop