1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-29 03:34:07 +00:00

Decompiled ovl_Bg_Bdan_Objects (#66)

* Decompiled ovl_Bg_Bdan_Objects

* Update src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c

Co-Authored-By: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c

Co-Authored-By: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c

Co-Authored-By: Roman971 <32455037+Roman971@users.noreply.github.com>

* Header update

* formatting

* Update include/z64.h

Co-Authored-By: Roman971 <32455037+Roman971@users.noreply.github.com>

* Fixing structs

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
Ethan Roseman 2020-04-12 12:04:14 -04:00 committed by GitHub
parent d263b9dabd
commit f3c945cc82
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 443 additions and 1383 deletions

View file

@ -1,26 +0,0 @@
glabel BgBdanObjects_Destroy
/* 00364 8086C004 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00368 8086C008 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0036C 8086C00C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00370 8086C010 AFA5001C */ sw $a1, 0x001C($sp)
/* 00374 8086C014 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
/* 00378 8086C018 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0037C 8086C01C 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 00380 8086C020 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 00384 8086C024 AFA70018 */ sw $a3, 0x0018($sp)
/* 00388 8086C028 8FA70018 */ lw $a3, 0x0018($sp)
/* 0038C 8086C02C 8FA4001C */ lw $a0, 0x001C($sp)
/* 00390 8086C030 84EF001C */ lh $t7, 0x001C($a3) ## 0000001C
/* 00394 8086C034 55E00004 */ bnel $t7, $zero, .L8086C048
/* 00398 8086C038 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0039C 8086C03C 0C0170EB */ jal ActorCollider_FreeCylinder
/* 003A0 8086C040 24E5016C */ addiu $a1, $a3, 0x016C ## $a1 = 0000016C
/* 003A4 8086C044 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086C048:
/* 003A8 8086C048 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 003AC 8086C04C 03E00008 */ jr $ra
/* 003B0 8086C050 00000000 */ nop

View file

@ -1,59 +0,0 @@
glabel BgBdanObjects_Draw
/* 00FE4 8086CC84 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00FE8 8086CC88 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00FEC 8086CC8C AFA5001C */ sw $a1, 0x001C($sp)
/* 00FF0 8086CC90 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00FF4 8086CC94 5440001B */ bnel $v0, $zero, .L8086CD04
/* 00FF8 8086CC98 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00FFC 8086CC9C 8C8F0164 */ lw $t7, 0x0164($a0) ## 00000164
/* 01000 8086CCA0 3C0E8087 */ lui $t6, %hi(func_8086C054) ## $t6 = 80870000
/* 01004 8086CCA4 25CEC054 */ addiu $t6, $t6, %lo(func_8086C054) ## $t6 = 8086C054
/* 01008 8086CCA8 15CF0015 */ bne $t6, $t7, .L8086CD00
/* 0100C 8086CCAC 3C01C29E */ lui $at, 0xC29E ## $at = C29E0000
/* 01010 8086CCB0 C484000C */ lwc1 $f4, 0x000C($a0) ## 0000000C
/* 01014 8086CCB4 44813000 */ mtc1 $at, $f6 ## $f6 = -79.00
/* 01018 8086CCB8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0101C 8086CCBC 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
/* 01020 8086CCC0 46062200 */ add.s $f8, $f4, $f6
/* 01024 8086CCC4 C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 01028 8086CCC8 3C01C248 */ lui $at, 0xC248 ## $at = C2480000
/* 0102C 8086CCCC 460A4401 */ sub.s $f16, $f8, $f10
/* 01030 8086CCD0 4612803C */ c.lt.s $f16, $f18
/* 01034 8086CCD4 00000000 */ nop
/* 01038 8086CCD8 4502000A */ bc1fl .L8086CD04
/* 0103C 8086CCDC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01040 8086CCE0 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 01044 8086CCE4 44817000 */ mtc1 $at, $f14 ## $f14 = 0.00
/* 01048 8086CCE8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 0104C 8086CCEC 44066000 */ mfc1 $a2, $f12
/* 01050 8086CCF0 0C034261 */ jal Matrix_Translate
/* 01054 8086CCF4 AFA40018 */ sw $a0, 0x0018($sp)
/* 01058 8086CCF8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0105C 8086CCFC 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
.L8086CD00:
/* 01060 8086CD00 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
.L8086CD04:
/* 01064 8086CD04 14410007 */ bne $v0, $at, .L8086CD24
/* 01068 8086CD08 8FA4001C */ lw $a0, 0x001C($sp)
/* 0106C 8086CD0C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 01070 8086CD10 24A538E8 */ addiu $a1, $a1, 0x38E8 ## $a1 = 060038E8
/* 01074 8086CD14 0C00D4C9 */ jal Gfx_DrawDListXlu
/* 01078 8086CD18 8FA4001C */ lw $a0, 0x001C($sp)
/* 0107C 8086CD1C 10000007 */ beq $zero, $zero, .L8086CD3C
/* 01080 8086CD20 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086CD24:
/* 01084 8086CD24 0002C080 */ sll $t8, $v0, 2
/* 01088 8086CD28 3C058087 */ lui $a1, %hi(D_8086CDA0) ## $a1 = 80870000
/* 0108C 8086CD2C 00B82821 */ addu $a1, $a1, $t8
/* 01090 8086CD30 0C00D498 */ jal Gfx_DrawDListOpa
/* 01094 8086CD34 8CA5CDA0 */ lw $a1, %lo(D_8086CDA0)($a1)
/* 01098 8086CD38 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086CD3C:
/* 0109C 8086CD3C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 010A0 8086CD40 03E00008 */ jr $ra
/* 010A4 8086CD44 00000000 */ nop
/* 010A8 8086CD48 00000000 */ nop
/* 010AC 8086CD4C 00000000 */ nop

View file

@ -1,185 +0,0 @@
glabel BgBdanObjects_Init
/* 000E4 8086BD84 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 000E8 8086BD88 AFB10038 */ sw $s1, 0x0038($sp)
/* 000EC 8086BD8C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 000F0 8086BD90 AFBF003C */ sw $ra, 0x003C($sp)
/* 000F4 8086BD94 AFB00034 */ sw $s0, 0x0034($sp)
/* 000F8 8086BD98 3C058087 */ lui $a1, %hi(D_8086CD9C) ## $a1 = 80870000
/* 000FC 8086BD9C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00100 8086BDA0 AFA00044 */ sw $zero, 0x0044($sp)
/* 00104 8086BDA4 0C01E037 */ jal Actor_ProcessInitChain
/* 00108 8086BDA8 24A5CD9C */ addiu $a1, $a1, %lo(D_8086CD9C) ## $a1 = 8086CD9C
/* 0010C 8086BDAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00110 8086BDB0 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 00114 8086BDB4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00118 8086BDB8 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 0011C 8086BDBC 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 00120 8086BDC0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00124 8086BDC4 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000
/* 00128 8086BDC8 A608001C */ sh $t0, 0x001C($s0) ## 0000001C
/* 0012C 8086BDCC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00130 8086BDD0 000E7A03 */ sra $t7, $t6, 8
/* 00134 8086BDD4 31F8003F */ andi $t8, $t7, 0x003F ## $t8 = 00000000
/* 00138 8086BDD8 1441000E */ bne $v0, $at, .L8086BE14
/* 0013C 8086BDDC A2180168 */ sb $t8, 0x0168($s0) ## 00000168
/* 00140 8086BDE0 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
/* 00144 8086BDE4 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 00148 8086BDE8 3C0F8087 */ lui $t7, %hi(func_8086C9A8) ## $t7 = 80870000
/* 0014C 8086BDEC 352A0030 */ ori $t2, $t1, 0x0030 ## $t2 = 00000030
/* 00150 8086BDF0 4600218D */ trunc.w.s $f6, $f4
/* 00154 8086BDF4 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004
/* 00158 8086BDF8 8E2D07C0 */ lw $t5, 0x07C0($s1) ## 000007C0
/* 0015C 8086BDFC 25EFC9A8 */ addiu $t7, $t7, %lo(func_8086C9A8) ## $t7 = 8086C9A8
/* 00160 8086BE00 440C3000 */ mfc1 $t4, $f6
/* 00164 8086BE04 8DAE0028 */ lw $t6, 0x0028($t5) ## 00000028
/* 00168 8086BE08 A5CC0072 */ sh $t4, 0x0072($t6) ## 00000072
/* 0016C 8086BE0C 10000078 */ beq $zero, $zero, .L8086BFF0
/* 00170 8086BE10 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
.L8086BE14:
/* 00174 8086BE14 14400050 */ bne $v0, $zero, .L8086BF58
/* 00178 8086BE18 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0017C 8086BE1C 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 00180 8086BE20 24848CE0 */ addiu $a0, $a0, 0x8CE0 ## $a0 = 06008CE0
/* 00184 8086BE24 0C010620 */ jal DynaPolyInfo_Alloc
/* 00188 8086BE28 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFF4
/* 0018C 8086BE2C 2605016C */ addiu $a1, $s0, 0x016C ## $a1 = 0000016C
/* 00190 8086BE30 AFA50040 */ sw $a1, 0x0040($sp)
/* 00194 8086BE34 0C0170D9 */ jal ActorCollider_AllocCylinder
/* 00198 8086BE38 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0019C 8086BE3C 3C078087 */ lui $a3, %hi(D_8086CD70) ## $a3 = 80870000
/* 001A0 8086BE40 8FA50040 */ lw $a1, 0x0040($sp)
/* 001A4 8086BE44 24E7CD70 */ addiu $a3, $a3, %lo(D_8086CD70) ## $a3 = 8086CD70
/* 001A8 8086BE48 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 001AC 8086BE4C 0C01712B */ jal ActorCollider_InitCylinder
/* 001B0 8086BE50 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 001B4 8086BE54 3C01C29E */ lui $at, 0xC29E ## $at = C29E0000
/* 001B8 8086BE58 44815000 */ mtc1 $at, $f10 ## $f10 = -79.00
/* 001BC 8086BE5C C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 001C0 8086BE60 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 001C4 8086BE64 82050003 */ lb $a1, 0x0003($s0) ## 00000003
/* 001C8 8086BE68 460A4400 */ add.s $f16, $f8, $f10
/* 001CC 8086BE6C 0C00B337 */ jal Flags_GetClear
/* 001D0 8086BE70 E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028
/* 001D4 8086BE74 10400008 */ beq $v0, $zero, .L8086BE98
/* 001D8 8086BE78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001DC 8086BE7C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 001E0 8086BE80 0C00B2DD */ jal Flags_SetSwitch
/* 001E4 8086BE84 92050168 */ lbu $a1, 0x0168($s0) ## 00000168
/* 001E8 8086BE88 3C188087 */ lui $t8, %hi(func_8086C6EC) ## $t8 = 80870000
/* 001EC 8086BE8C 2718C6EC */ addiu $t8, $t8, %lo(func_8086C6EC) ## $t8 = 8086C6EC
/* 001F0 8086BE90 10000051 */ beq $zero, $zero, .L8086BFD8
/* 001F4 8086BE94 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
.L8086BE98:
/* 001F8 8086BE98 0C21AF28 */ jal func_8086BCA0
/* 001FC 8086BE9C 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 00200 8086BEA0 10400026 */ beq $v0, $zero, .L8086BF3C
/* 00204 8086BEA4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00208 8086BEA8 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
/* 0020C 8086BEAC 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00210 8086BEB0 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003
/* 00214 8086BEB4 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00218 8086BEB8 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 0021C 8086BEBC 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
/* 00220 8086BEC0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00224 8086BEC4 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 00228 8086BEC8 C6060010 */ lwc1 $f6, 0x0010($s0) ## 00000010
/* 0022C 8086BECC AFA0001C */ sw $zero, 0x001C($sp)
/* 00230 8086BED0 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 00234 8086BED4 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00238 8086BED8 861900B6 */ lh $t9, 0x00B6($s0) ## 000000B6
/* 0023C 8086BEDC AFA90028 */ sw $t1, 0x0028($sp)
/* 00240 8086BEE0 AFA00024 */ sw $zero, 0x0024($sp)
/* 00244 8086BEE4 03214021 */ addu $t0, $t9, $at
/* 00248 8086BEE8 AFA80020 */ sw $t0, 0x0020($sp)
/* 0024C 8086BEEC 0C00C916 */ jal Actor_SpawnAttached
/* 00250 8086BEF0 240700C6 */ addiu $a3, $zero, 0x00C6 ## $a3 = 000000C6
/* 00254 8086BEF4 50400008 */ beql $v0, $zero, .L8086BF18
/* 00258 8086BEF8 3C01C28C */ lui $at, 0xC28C ## $at = C28C0000
/* 0025C 8086BEFC 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
/* 00260 8086BF00 3C018087 */ lui $at, %hi(D_8086CE38) ## $at = 80870000
/* 00264 8086BF04 C42ACE38 */ lwc1 $f10, %lo(D_8086CE38)($at)
/* 00268 8086BF08 C4480010 */ lwc1 $f8, 0x0010($v0) ## 00000010
/* 0026C 8086BF0C 460A4400 */ add.s $f16, $f8, $f10
/* 00270 8086BF10 E450002C */ swc1 $f16, 0x002C($v0) ## 0000002C
/* 00274 8086BF14 3C01C28C */ lui $at, 0xC28C ## $at = C28C0000
.L8086BF18:
/* 00278 8086BF18 44812000 */ mtc1 $at, $f4 ## $f4 = -70.00
/* 0027C 8086BF1C C612000C */ lwc1 $f18, 0x000C($s0) ## 0000000C
/* 00280 8086BF20 3C0A8087 */ lui $t2, %hi(func_8086C618) ## $t2 = 80870000
/* 00284 8086BF24 254AC618 */ addiu $t2, $t2, %lo(func_8086C618) ## $t2 = 8086C618
/* 00288 8086BF28 46049180 */ add.s $f6, $f18, $f4
/* 0028C 8086BF2C A6000032 */ sh $zero, 0x0032($s0) ## 00000032
/* 00290 8086BF30 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
/* 00294 8086BF34 10000028 */ beq $zero, $zero, .L8086BFD8
/* 00298 8086BF38 E6060028 */ swc1 $f6, 0x0028($s0) ## 00000028
.L8086BF3C:
/* 0029C 8086BF3C 0C00B2DD */ jal Flags_SetSwitch
/* 002A0 8086BF40 92050168 */ lbu $a1, 0x0168($s0) ## 00000168
/* 002A4 8086BF44 3C0B8087 */ lui $t3, %hi(func_8086C054) ## $t3 = 80870000
/* 002A8 8086BF48 256BC054 */ addiu $t3, $t3, %lo(func_8086C054) ## $t3 = 8086C054
/* 002AC 8086BF4C A600016A */ sh $zero, 0x016A($s0) ## 0000016A
/* 002B0 8086BF50 10000021 */ beq $zero, $zero, .L8086BFD8
/* 002B4 8086BF54 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
.L8086BF58:
/* 002B8 8086BF58 1441000C */ bne $v0, $at, .L8086BF8C
/* 002BC 8086BF5C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 002C0 8086BF60 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 002C4 8086BF64 24845048 */ addiu $a0, $a0, 0x5048 ## $a0 = 06005048
/* 002C8 8086BF68 0C010620 */ jal DynaPolyInfo_Alloc
/* 002CC 8086BF6C 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFF4
/* 002D0 8086BF70 3C0C8087 */ lui $t4, %hi(func_8086C874) ## $t4 = 80870000
/* 002D4 8086BF74 240D0200 */ addiu $t5, $zero, 0x0200 ## $t5 = 00000200
/* 002D8 8086BF78 258CC874 */ addiu $t4, $t4, %lo(func_8086C874) ## $t4 = 8086C874
/* 002DC 8086BF7C A60D016A */ sh $t5, 0x016A($s0) ## 0000016A
/* 002E0 8086BF80 A2000168 */ sb $zero, 0x0168($s0) ## 00000168
/* 002E4 8086BF84 10000014 */ beq $zero, $zero, .L8086BFD8
/* 002E8 8086BF88 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164
.L8086BF8C:
/* 002EC 8086BF8C 24845580 */ addiu $a0, $a0, 0x5580 ## $a0 = 00005580
/* 002F0 8086BF90 0C010620 */ jal DynaPolyInfo_Alloc
/* 002F4 8086BF94 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFF4
/* 002F8 8086BF98 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 002FC 8086BF9C 0C00B2D0 */ jal Flags_GetSwitch
/* 00300 8086BFA0 92050168 */ lbu $a1, 0x0168($s0) ## 00000168
/* 00304 8086BFA4 1040000A */ beq $v0, $zero, .L8086BFD0
/* 00308 8086BFA8 3C0F8087 */ lui $t7, %hi(func_8086CB10) ## $t7 = 80870000
/* 0030C 8086BFAC 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 00310 8086BFB0 44815000 */ mtc1 $at, $f10 ## $f10 = 400.00
/* 00314 8086BFB4 C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C
/* 00318 8086BFB8 3C0E8087 */ lui $t6, %hi(func_8086C868) ## $t6 = 80870000
/* 0031C 8086BFBC 25CEC868 */ addiu $t6, $t6, %lo(func_8086C868) ## $t6 = 8086C868
/* 00320 8086BFC0 460A4401 */ sub.s $f16, $f8, $f10
/* 00324 8086BFC4 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
/* 00328 8086BFC8 10000003 */ beq $zero, $zero, .L8086BFD8
/* 0032C 8086BFCC E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028
.L8086BFD0:
/* 00330 8086BFD0 25EFCB10 */ addiu $t7, $t7, %lo(func_8086CB10) ## $t7 = 8086CB10
/* 00334 8086BFD4 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
.L8086BFD8:
/* 00338 8086BFD8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0033C 8086BFDC 26250810 */ addiu $a1, $s1, 0x0810 ## $a1 = 00000810
/* 00340 8086BFE0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00344 8086BFE4 0C00FA9D */ jal DynaPolyInfo_RegisterActor
## DynaPolyInfo_setActor
/* 00348 8086BFE8 8FA70044 */ lw $a3, 0x0044($sp)
/* 0034C 8086BFEC AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
.L8086BFF0:
/* 00350 8086BFF0 8FBF003C */ lw $ra, 0x003C($sp)
/* 00354 8086BFF4 8FB00034 */ lw $s0, 0x0034($sp)
/* 00358 8086BFF8 8FB10038 */ lw $s1, 0x0038($sp)
/* 0035C 8086BFFC 03E00008 */ jr $ra
/* 00360 8086C000 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View file

@ -1,19 +0,0 @@
glabel BgBdanObjects_Update
/* 00FA8 8086CC48 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00FAC 8086CC4C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00FB0 8086CC50 AFA5001C */ sw $a1, 0x001C($sp)
/* 00FB4 8086CC54 3C054248 */ lui $a1, 0x4248 ## $a1 = 42480000
/* 00FB8 8086CC58 0C00B56E */ jal Actor_SetHeight
/* 00FBC 8086CC5C AFA40018 */ sw $a0, 0x0018($sp)
/* 00FC0 8086CC60 8FA40018 */ lw $a0, 0x0018($sp)
/* 00FC4 8086CC64 8FA5001C */ lw $a1, 0x001C($sp)
/* 00FC8 8086CC68 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 00FCC 8086CC6C 0320F809 */ jalr $ra, $t9
/* 00FD0 8086CC70 00000000 */ nop
/* 00FD4 8086CC74 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00FD8 8086CC78 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00FDC 8086CC7C 03E00008 */ jr $ra
/* 00FE0 8086CC80 00000000 */ nop

View file

@ -1,37 +0,0 @@
glabel func_8086BCA0
/* 00000 8086BCA0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00004 8086BCA4 10A00008 */ beq $a1, $zero, .L8086BCC8
/* 00008 8086BCA8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0000C 8086BCAC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00010 8086BCB0 10A1000C */ beq $a1, $at, .L8086BCE4
/* 00014 8086BCB4 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00018 8086BCB8 10A10007 */ beq $a1, $at, .L8086BCD8
/* 0001C 8086BCBC 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000
/* 00020 8086BCC0 1000000C */ beq $zero, $zero, .L8086BCF4
/* 00024 8086BCC4 3C048087 */ lui $a0, %hi(D_8086CDB0) ## $a0 = 80870000
.L8086BCC8:
/* 00028 8086BCC8 8C8201B8 */ lw $v0, 0x01B8($a0) ## 808701B8
/* 0002C 8086BCCC 38420001 */ xori $v0, $v0, 0x0001 ## $v0 = 80160001
/* 00030 8086BCD0 1000000B */ beq $zero, $zero, .L8086BD00
/* 00034 8086BCD4 2C420001 */ sltiu $v0, $v0, 0x0001
.L8086BCD8:
/* 00038 8086BCD8 9442F580 */ lhu $v0, -0x0A80($v0) ## 8015F581
/* 0003C 8086BCDC 10000008 */ beq $zero, $zero, .L8086BD00
/* 00040 8086BCE0 30420040 */ andi $v0, $v0, 0x0040 ## $v0 = 00000000
.L8086BCE4:
/* 00044 8086BCE4 8C8201B8 */ lw $v0, 0x01B8($a0) ## 808701B8
/* 00048 8086BCE8 38420004 */ xori $v0, $v0, 0x0004 ## $v0 = 00000004
/* 0004C 8086BCEC 10000004 */ beq $zero, $zero, .L8086BD00
/* 00050 8086BCF0 2C420001 */ sltiu $v0, $v0, 0x0001
.L8086BCF4:
/* 00054 8086BCF4 0C00084C */ jal osSyncPrintf
/* 00058 8086BCF8 2484CDB0 */ addiu $a0, $a0, %lo(D_8086CDB0) ## $a0 = 8086CDB0
/* 0005C 8086BCFC 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
.L8086BD00:
/* 00060 8086BD00 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00064 8086BD04 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00068 8086BD08 03E00008 */ jr $ra
/* 0006C 8086BD0C 00000000 */ nop

View file

@ -1,38 +0,0 @@
glabel func_8086BD10
/* 00070 8086BD10 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00074 8086BD14 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00078 8086BD18 10A10009 */ beq $a1, $at, .L8086BD40
/* 0007C 8086BD1C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00080 8086BD20 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00084 8086BD24 10A10009 */ beq $a1, $at, .L8086BD4C
/* 00088 8086BD28 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
/* 0008C 8086BD2C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00090 8086BD30 10A10008 */ beq $a1, $at, .L8086BD54
/* 00094 8086BD34 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000
/* 00098 8086BD38 1000000B */ beq $zero, $zero, .L8086BD68
/* 0009C 8086BD3C 00000000 */ nop
.L8086BD40:
/* 000A0 8086BD40 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 000A4 8086BD44 1000000B */ beq $zero, $zero, .L8086BD74
/* 000A8 8086BD48 AC8E01B8 */ sw $t6, 0x01B8($a0) ## 000001B8
.L8086BD4C:
/* 000AC 8086BD4C 10000009 */ beq $zero, $zero, .L8086BD74
/* 000B0 8086BD50 AC8F01B8 */ sw $t7, 0x01B8($a0) ## 000001B8
.L8086BD54:
/* 000B4 8086BD54 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015E660
/* 000B8 8086BD58 94580F20 */ lhu $t8, 0x0F20($v0) ## 8015F580
/* 000BC 8086BD5C 37190040 */ ori $t9, $t8, 0x0040 ## $t9 = 00000040
/* 000C0 8086BD60 10000004 */ beq $zero, $zero, .L8086BD74
/* 000C4 8086BD64 A4590F20 */ sh $t9, 0x0F20($v0) ## 8015F580
.L8086BD68:
/* 000C8 8086BD68 3C048087 */ lui $a0, %hi(D_8086CDF4) ## $a0 = 80870000
/* 000CC 8086BD6C 0C00084C */ jal osSyncPrintf
/* 000D0 8086BD70 2484CDF4 */ addiu $a0, $a0, %lo(D_8086CDF4) ## $a0 = 8086CDF4
.L8086BD74:
/* 000D4 8086BD74 8FBF0014 */ lw $ra, 0x0014($sp)
/* 000D8 8086BD78 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 000DC 8086BD7C 03E00008 */ jr $ra
/* 000E0 8086BD80 00000000 */ nop

View file

@ -1,91 +0,0 @@
glabel func_8086C054
/* 003B4 8086C054 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 003B8 8086C058 AFBF0024 */ sw $ra, 0x0024($sp)
/* 003BC 8086C05C AFB00020 */ sw $s0, 0x0020($sp)
/* 003C0 8086C060 AFA50034 */ sw $a1, 0x0034($sp)
/* 003C4 8086C064 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 003C8 8086C068 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003CC 8086C06C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 003D0 8086C070 0C21AF28 */ jal func_8086BCA0
/* 003D4 8086C074 AFAF002C */ sw $t7, 0x002C($sp)
/* 003D8 8086C078 10400023 */ beq $v0, $zero, .L8086C108
/* 003DC 8086C07C 3C01437A */ lui $at, 0x437A ## $at = 437A0000
/* 003E0 8086C080 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
/* 003E4 8086C084 44813000 */ mtc1 $at, $f6 ## $f6 = 250.00
/* 003E8 8086C088 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 003EC 8086C08C 4606203C */ c.lt.s $f4, $f6
/* 003F0 8086C090 00000000 */ nop
/* 003F4 8086C094 45000027 */ bc1f .L8086C134
/* 003F8 8086C098 00000000 */ nop
/* 003FC 8086C09C 0C21AF44 */ jal func_8086BD10
/* 00400 8086C0A0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00404 8086C0A4 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
/* 00408 8086C0A8 A618016A */ sh $t8, 0x016A($s0) ## 0000016A
/* 0040C 8086C0AC AFA00010 */ sw $zero, 0x0010($sp)
/* 00410 8086C0B0 8FA40034 */ lw $a0, 0x0034($sp)
/* 00414 8086C0B4 24050BFE */ addiu $a1, $zero, 0x0BFE ## $a1 = 00000BFE
/* 00418 8086C0B8 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D
/* 0041C 8086C0BC 0C02003E */ jal func_800800F8
/* 00420 8086C0C0 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
/* 00424 8086C0C4 3C018087 */ lui $at, %hi(D_8086CE3C) ## $at = 80870000
/* 00428 8086C0C8 8FA3002C */ lw $v1, 0x002C($sp)
/* 0042C 8086C0CC C428CE3C */ lwc1 $f8, %lo(D_8086CE3C)($at)
/* 00430 8086C0D0 3C018087 */ lui $at, %hi(D_8086CE40) ## $at = 80870000
/* 00434 8086C0D4 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 00438 8086C0D8 E4680024 */ swc1 $f8, 0x0024($v1) ## 00000024
/* 0043C 8086C0DC C42ACE40 */ lwc1 $f10, %lo(D_8086CE40)($at)
/* 00440 8086C0E0 3C018087 */ lui $at, %hi(D_8086CE44) ## $at = 80870000
/* 00444 8086C0E4 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00448 8086C0E8 E46A0028 */ swc1 $f10, 0x0028($v1) ## 00000028
/* 0044C 8086C0EC C430CE44 */ lwc1 $f16, %lo(D_8086CE44)($at)
/* 00450 8086C0F0 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00454 8086C0F4 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 00458 8086C0F8 0C02A800 */ jal func_800AA000
/* 0045C 8086C0FC E470002C */ swc1 $f16, 0x002C($v1) ## 0000002C
/* 00460 8086C100 1000000C */ beq $zero, $zero, .L8086C134
/* 00464 8086C104 00000000 */ nop
.L8086C108:
/* 00468 8086C108 8602016A */ lh $v0, 0x016A($s0) ## 0000016A
/* 0046C 8086C10C 10400009 */ beq $v0, $zero, .L8086C134
/* 00470 8086C110 00000000 */ nop
/* 00474 8086C114 10400003 */ beq $v0, $zero, .L8086C124
/* 00478 8086C118 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
/* 0047C 8086C11C A619016A */ sh $t9, 0x016A($s0) ## 0000016A
/* 00480 8086C120 8602016A */ lh $v0, 0x016A($s0) ## 0000016A
.L8086C124:
/* 00484 8086C124 14400003 */ bne $v0, $zero, .L8086C134
/* 00488 8086C128 3C088087 */ lui $t0, %hi(func_8086C1A0) ## $t0 = 80870000
/* 0048C 8086C12C 2508C1A0 */ addiu $t0, $t0, %lo(func_8086C1A0) ## $t0 = 8086C1A0
/* 00490 8086C130 AE080164 */ sw $t0, 0x0164($s0) ## 00000164
.L8086C134:
/* 00494 8086C134 0C02FF21 */ jal func_800BFC84
/* 00498 8086C138 8FA40034 */ lw $a0, 0x0034($sp)
/* 0049C 8086C13C 1440000B */ bne $v0, $zero, .L8086C16C
/* 004A0 8086C140 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004A4 8086C144 0C21AF28 */ jal func_8086BCA0
/* 004A8 8086C148 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 004AC 8086C14C 14400007 */ bne $v0, $zero, .L8086C16C
/* 004B0 8086C150 3C01C29E */ lui $at, 0xC29E ## $at = C29E0000
/* 004B4 8086C154 C612000C */ lwc1 $f18, 0x000C($s0) ## 0000000C
/* 004B8 8086C158 44812000 */ mtc1 $at, $f4 ## $f4 = -79.00
/* 004BC 8086C15C 00000000 */ nop
/* 004C0 8086C160 46049180 */ add.s $f6, $f18, $f4
/* 004C4 8086C164 10000009 */ beq $zero, $zero, .L8086C18C
/* 004C8 8086C168 E6060028 */ swc1 $f6, 0x0028($s0) ## 00000028
.L8086C16C:
/* 004CC 8086C16C 3C01C29E */ lui $at, 0xC29E ## $at = C29E0000
/* 004D0 8086C170 44815000 */ mtc1 $at, $f10 ## $f10 = -79.00
/* 004D4 8086C174 C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C
/* 004D8 8086C178 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 004DC 8086C17C 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00
/* 004E0 8086C180 460A4400 */ add.s $f16, $f8, $f10
/* 004E4 8086C184 46128101 */ sub.s $f4, $f16, $f18
/* 004E8 8086C188 E6040028 */ swc1 $f4, 0x0028($s0) ## 00000028
.L8086C18C:
/* 004EC 8086C18C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 004F0 8086C190 8FB00020 */ lw $s0, 0x0020($sp)
/* 004F4 8086C194 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 004F8 8086C198 03E00008 */ jr $ra
/* 004FC 8086C19C 00000000 */ nop

View file

@ -1,72 +0,0 @@
glabel func_8086C1A0
/* 00500 8086C1A0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00504 8086C1A4 AFB00020 */ sw $s0, 0x0020($sp)
/* 00508 8086C1A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0050C 8086C1AC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00510 8086C1B0 AFA5002C */ sw $a1, 0x002C($sp)
/* 00514 8086C1B4 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
/* 00518 8086C1B8 44813000 */ mtc1 $at, $f6 ## $f6 = 500.00
/* 0051C 8086C1BC C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 00520 8086C1C0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00524 8086C1C4 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 00528 8086C1C8 46062200 */ add.s $f8, $f4, $f6
/* 0052C 8086C1CC 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
/* 00530 8086C1D0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00534 8086C1D4 3C0740F0 */ lui $a3, 0x40F0 ## $a3 = 40F00000
/* 00538 8086C1D8 44054000 */ mfc1 $a1, $f8
/* 0053C 8086C1DC 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00540 8086C1E0 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00544 8086C1E4 3C018087 */ lui $at, %hi(D_8086CE48) ## $at = 80870000
/* 00548 8086C1E8 C430CE48 */ lwc1 $f16, %lo(D_8086CE48)($at)
/* 0054C 8086C1EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00550 8086C1F0 4610003C */ c.lt.s $f0, $f16
/* 00554 8086C1F4 00000000 */ nop
/* 00558 8086C1F8 45020013 */ bc1fl .L8086C248
/* 0055C 8086C1FC 8602016A */ lh $v0, 0x016A($s0) ## 0000016A
/* 00560 8086C200 0C00BE0A */ jal Audio_PlayActorSound2
/* 00564 8086C204 2405289E */ addiu $a1, $zero, 0x289E ## $a1 = 0000289E
/* 00568 8086C208 3C0E8087 */ lui $t6, %hi(func_8086C29C) ## $t6 = 80870000
/* 0056C 8086C20C 25CEC29C */ addiu $t6, $t6, %lo(func_8086C29C) ## $t6 = 8086C29C
/* 00570 8086C210 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
/* 00574 8086C214 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
/* 00578 8086C218 A60F016A */ sh $t7, 0x016A($s0) ## 0000016A
/* 0057C 8086C21C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00580 8086C220 0C21AF44 */ jal func_8086BD10
/* 00584 8086C224 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 00588 8086C228 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 0058C 8086C22C 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00590 8086C230 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00594 8086C234 0C02A800 */ jal func_800AA000
/* 00598 8086C238 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 0059C 8086C23C 10000013 */ beq $zero, $zero, .L8086C28C
/* 005A0 8086C240 8FBF0024 */ lw $ra, 0x0024($sp)
/* 005A4 8086C244 8602016A */ lh $v0, 0x016A($s0) ## 0000016A
.L8086C248:
/* 005A8 8086C248 24050078 */ addiu $a1, $zero, 0x0078 ## $a1 = 00000078
/* 005AC 8086C24C 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 005B0 8086C250 10400003 */ beq $v0, $zero, .L8086C260
/* 005B4 8086C254 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 005B8 8086C258 A618016A */ sh $t8, 0x016A($s0) ## 0000016A
/* 005BC 8086C25C 8602016A */ lh $v0, 0x016A($s0) ## 0000016A
.L8086C260:
/* 005C0 8086C260 54400007 */ bnel $v0, $zero, .L8086C280
/* 005C4 8086C264 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005C8 8086C268 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 005CC 8086C26C 0C02A800 */ jal func_800AA000
/* 005D0 8086C270 2407000A */ addiu $a3, $zero, 0x000A ## $a3 = 0000000A
/* 005D4 8086C274 2419000B */ addiu $t9, $zero, 0x000B ## $t9 = 0000000B
/* 005D8 8086C278 A619016A */ sh $t9, 0x016A($s0) ## 0000016A
/* 005DC 8086C27C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L8086C280:
/* 005E0 8086C280 0C00BE5D */ jal func_8002F974
/* 005E4 8086C284 2405208F */ addiu $a1, $zero, 0x208F ## $a1 = 0000208F
/* 005E8 8086C288 8FBF0024 */ lw $ra, 0x0024($sp)
.L8086C28C:
/* 005EC 8086C28C 8FB00020 */ lw $s0, 0x0020($sp)
/* 005F0 8086C290 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 005F4 8086C294 03E00008 */ jr $ra
/* 005F8 8086C298 00000000 */ nop

View file

@ -1,86 +0,0 @@
glabel func_8086C29C
/* 005FC 8086C29C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00600 8086C2A0 AFBF003C */ sw $ra, 0x003C($sp)
/* 00604 8086C2A4 AFB10038 */ sw $s1, 0x0038($sp)
/* 00608 8086C2A8 AFB00034 */ sw $s0, 0x0034($sp)
/* 0060C 8086C2AC 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
/* 00610 8086C2B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00614 8086C2B4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00618 8086C2B8 1040001B */ beq $v0, $zero, .L8086C328
/* 0061C 8086C2BC 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00620 8086C2C0 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
/* 00624 8086C2C4 848F016A */ lh $t7, 0x016A($a0) ## 0000016A
/* 00628 8086C2C8 55E00018 */ bnel $t7, $zero, .L8086C32C
/* 0062C 8086C2CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00630 8086C2D0 84B807A0 */ lh $t8, 0x07A0($a1) ## 000007A0
/* 00634 8086C2D4 0018C880 */ sll $t9, $t8, 2
/* 00638 8086C2D8 00B94021 */ addu $t0, $a1, $t9
/* 0063C 8086C2DC 8D040790 */ lw $a0, 0x0790($t0) ## 00000790
/* 00640 8086C2E0 0C024BE2 */ jal Quake_Add
/* 00644 8086C2E4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00648 8086C2E8 00022400 */ sll $a0, $v0, 16
/* 0064C 8086C2EC AFA20044 */ sw $v0, 0x0044($sp)
/* 00650 8086C2F0 00042403 */ sra $a0, $a0, 16
/* 00654 8086C2F4 0C024B6B */ jal Quake_SetSpeed
/* 00658 8086C2F8 24053A98 */ addiu $a1, $zero, 0x3A98 ## $a1 = 00003A98
/* 0065C 8086C2FC 87A40046 */ lh $a0, 0x0046($sp)
/* 00660 8086C300 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 00664 8086C304 AFA90010 */ sw $t1, 0x0010($sp)
/* 00668 8086C308 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0066C 8086C30C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00670 8086C310 240700FA */ addiu $a3, $zero, 0x00FA ## $a3 = 000000FA
/* 00674 8086C314 0C024B9C */ jal Quake_SetQuakeValues
/* 00678 8086C318 AFA40040 */ sw $a0, 0x0040($sp)
/* 0067C 8086C31C 8FA40040 */ lw $a0, 0x0040($sp)
/* 00680 8086C320 0C024B7C */ jal Quake_SetCountdown
/* 00684 8086C324 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
.L8086C328:
/* 00688 8086C328 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L8086C32C:
/* 0068C 8086C32C 0C21AF28 */ jal func_8086BCA0
/* 00690 8086C330 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 00694 8086C334 50400024 */ beql $v0, $zero, .L8086C3C8
/* 00698 8086C338 8FBF003C */ lw $ra, 0x003C($sp)
/* 0069C 8086C33C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 006A0 8086C340 3C01430C */ lui $at, 0x430C ## $at = 430C0000
/* 006A4 8086C344 44814000 */ mtc1 $at, $f8 ## $f8 = 140.00
/* 006A8 8086C348 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 006AC 8086C34C C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 006B0 8086C350 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 006B4 8086C354 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
/* 006B8 8086C358 46083280 */ add.s $f10, $f6, $f8
/* 006BC 8086C35C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 006C0 8086C360 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 006C4 8086C364 240700C6 */ addiu $a3, $zero, 0x00C6 ## $a3 = 000000C6
/* 006C8 8086C368 E7AA0014 */ swc1 $f10, 0x0014($sp)
/* 006CC 8086C36C C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 006D0 8086C370 AFA0001C */ sw $zero, 0x001C($sp)
/* 006D4 8086C374 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 006D8 8086C378 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6
/* 006DC 8086C37C AFA00028 */ sw $zero, 0x0028($sp)
/* 006E0 8086C380 AFA00024 */ sw $zero, 0x0024($sp)
/* 006E4 8086C384 01415821 */ addu $t3, $t2, $at
/* 006E8 8086C388 0C00C916 */ jal Actor_SpawnAttached
/* 006EC 8086C38C AFAB0020 */ sw $t3, 0x0020($sp)
/* 006F0 8086C390 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006F4 8086C394 0C21AF44 */ jal func_8086BD10
/* 006F8 8086C398 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 006FC 8086C39C 3C0D8087 */ lui $t5, %hi(func_8086C55C) ## $t5 = 80870000
/* 00700 8086C3A0 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A
/* 00704 8086C3A4 25ADC55C */ addiu $t5, $t5, %lo(func_8086C55C) ## $t5 = 8086C55C
/* 00708 8086C3A8 A60C016A */ sh $t4, 0x016A($s0) ## 0000016A
/* 0070C 8086C3AC AE0D0164 */ sw $t5, 0x0164($s0) ## 00000164
/* 00710 8086C3B0 862E07A0 */ lh $t6, 0x07A0($s1) ## 000007A0
/* 00714 8086C3B4 000E7880 */ sll $t7, $t6, 2
/* 00718 8086C3B8 022FC021 */ addu $t8, $s1, $t7
/* 0071C 8086C3BC 0C016C69 */ jal func_8005B1A4
/* 00720 8086C3C0 8F040790 */ lw $a0, 0x0790($t8) ## 00000790
/* 00724 8086C3C4 8FBF003C */ lw $ra, 0x003C($sp)
.L8086C3C8:
/* 00728 8086C3C8 8FB00034 */ lw $s0, 0x0034($sp)
/* 0072C 8086C3CC 8FB10038 */ lw $s1, 0x0038($sp)
/* 00730 8086C3D0 03E00008 */ jr $ra
/* 00734 8086C3D4 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000

View file

@ -1,106 +0,0 @@
glabel func_8086C3D8
/* 00738 8086C3D8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 0073C 8086C3DC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00740 8086C3E0 AFB00020 */ sw $s0, 0x0020($sp)
/* 00744 8086C3E4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00748 8086C3E8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 0074C 8086C3EC 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 00750 8086C3F0 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060
/* 00754 8086C3F4 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
/* 00758 8086C3F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0075C 8086C3FC 46062200 */ add.s $f8, $f4, $f6
/* 00760 8086C400 3C01C28C */ lui $at, 0xC28C ## $at = C28C0000
/* 00764 8086C404 44818000 */ mtc1 $at, $f16 ## $f16 = -70.00
/* 00768 8086C408 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
/* 0076C 8086C40C E4880038 */ swc1 $f8, 0x0038($a0) ## 00000060
/* 00770 8086C410 C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
/* 00774 8086C414 8E060060 */ lw $a2, 0x0060($s0) ## 00000060
/* 00778 8086C418 AFA3002C */ sw $v1, 0x002C($sp)
/* 0077C 8086C41C 46105480 */ add.s $f18, $f10, $f16
/* 00780 8086C420 44059000 */ mfc1 $a1, $f18
/* 00784 8086C424 0C01DE80 */ jal Math_ApproxF
/* 00788 8086C428 00000000 */ nop
/* 0078C 8086C42C 1040002C */ beq $v0, $zero, .L8086C4E0
/* 00790 8086C430 8FA3002C */ lw $v1, 0x002C($sp)
/* 00794 8086C434 240F003C */ addiu $t7, $zero, 0x003C ## $t7 = 0000003C
/* 00798 8086C438 A6000032 */ sh $zero, 0x0032($s0) ## 00000032
/* 0079C 8086C43C A60F016A */ sh $t7, 0x016A($s0) ## 0000016A
/* 007A0 8086C440 AFA3002C */ sw $v1, 0x002C($sp)
/* 007A4 8086C444 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007A8 8086C448 0C00BE0A */ jal Audio_PlayActorSound2
/* 007AC 8086C44C 2405289F */ addiu $a1, $zero, 0x289F ## $a1 = 0000289F
/* 007B0 8086C450 3C01430C */ lui $at, 0x430C ## $at = 430C0000
/* 007B4 8086C454 44813000 */ mtc1 $at, $f6 ## $f6 = 140.00
/* 007B8 8086C458 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 007BC 8086C45C 8E18011C */ lw $t8, 0x011C($s0) ## 0000011C
/* 007C0 8086C460 3C198087 */ lui $t9, %hi(func_8086C5BC) ## $t9 = 80870000
/* 007C4 8086C464 46062200 */ add.s $f8, $f4, $f6
/* 007C8 8086C468 2739C5BC */ addiu $t9, $t9, %lo(func_8086C5BC) ## $t9 = 8086C5BC
/* 007CC 8086C46C 24050C08 */ addiu $a1, $zero, 0x0C08 ## $a1 = 00000C08
/* 007D0 8086C470 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D
/* 007D4 8086C474 E7080028 */ swc1 $f8, 0x0028($t8) ## 00000028
/* 007D8 8086C478 AE190164 */ sw $t9, 0x0164($s0) ## 00000164
/* 007DC 8086C47C 8E07011C */ lw $a3, 0x011C($s0) ## 0000011C
/* 007E0 8086C480 AFA00010 */ sw $zero, 0x0010($sp)
/* 007E4 8086C484 0C02003E */ jal func_800800F8
/* 007E8 8086C488 8FA40034 */ lw $a0, 0x0034($sp)
/* 007EC 8086C48C 3C018087 */ lui $at, %hi(D_8086CE4C) ## $at = 80870000
/* 007F0 8086C490 8FA3002C */ lw $v1, 0x002C($sp)
/* 007F4 8086C494 C42ACE4C */ lwc1 $f10, %lo(D_8086CE4C)($at)
/* 007F8 8086C498 3C018087 */ lui $at, %hi(D_8086CE50) ## $at = 80870000
/* 007FC 8086C49C 24087530 */ addiu $t0, $zero, 0x7530 ## $t0 = 00007530
/* 00800 8086C4A0 E46A0024 */ swc1 $f10, 0x0024($v1) ## 00000024
/* 00804 8086C4A4 C430CE50 */ lwc1 $f16, %lo(D_8086CE50)($at)
/* 00808 8086C4A8 3C018087 */ lui $at, %hi(D_8086CE54) ## $at = 80870000
/* 0080C 8086C4AC 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 00810 8086C4B0 E4700028 */ swc1 $f16, 0x0028($v1) ## 00000028
/* 00814 8086C4B4 C432CE54 */ lwc1 $f18, %lo(D_8086CE54)($at)
/* 00818 8086C4B8 A46800B6 */ sh $t0, 0x00B6($v1) ## 000000B6
/* 0081C 8086C4BC 846900B6 */ lh $t1, 0x00B6($v1) ## 000000B6
/* 00820 8086C4C0 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00824 8086C4C4 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E
/* 00828 8086C4C8 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 0082C 8086C4CC E472002C */ swc1 $f18, 0x002C($v1) ## 0000002C
/* 00830 8086C4D0 0C02A800 */ jal func_800AA000
/* 00834 8086C4D4 A4690032 */ sh $t1, 0x0032($v1) ## 00000032
/* 00838 8086C4D8 1000001C */ beq $zero, $zero, .L8086C54C
/* 0083C 8086C4DC 8FBF0024 */ lw $ra, 0x0024($sp)
.L8086C4E0:
/* 00840 8086C4E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00844 8086C4E4 0C00BE5D */ jal func_8002F974
/* 00848 8086C4E8 24052090 */ addiu $a1, $zero, 0x2090 ## $a1 = 00002090
/* 0084C 8086C4EC 8602016A */ lh $v0, 0x016A($s0) ## 0000016A
/* 00850 8086C4F0 24050078 */ addiu $a1, $zero, 0x0078 ## $a1 = 00000078
/* 00854 8086C4F4 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00858 8086C4F8 10400003 */ beq $v0, $zero, .L8086C508
/* 0085C 8086C4FC 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = FFFFFFFF
/* 00860 8086C500 A60A016A */ sh $t2, 0x016A($s0) ## 0000016A
/* 00864 8086C504 8602016A */ lh $v0, 0x016A($s0) ## 0000016A
.L8086C508:
/* 00868 8086C508 54400007 */ bnel $v0, $zero, .L8086C528
/* 0086C 8086C50C 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
/* 00870 8086C510 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 00874 8086C514 0C02A800 */ jal func_800AA000
/* 00878 8086C518 2407000A */ addiu $a3, $zero, 0x000A ## $a3 = 0000000A
/* 0087C 8086C51C 240B000B */ addiu $t3, $zero, 0x000B ## $t3 = 0000000B
/* 00880 8086C520 A60B016A */ sh $t3, 0x016A($s0) ## 0000016A
/* 00884 8086C524 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
.L8086C528:
/* 00888 8086C528 3C01430C */ lui $at, 0x430C ## $at = 430C0000
/* 0088C 8086C52C 50400007 */ beql $v0, $zero, .L8086C54C
/* 00890 8086C530 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00894 8086C534 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 00898 8086C538 44813000 */ mtc1 $at, $f6 ## $f6 = 140.00
/* 0089C 8086C53C 00000000 */ nop
/* 008A0 8086C540 46062200 */ add.s $f8, $f4, $f6
/* 008A4 8086C544 E4480028 */ swc1 $f8, 0x0028($v0) ## 00000028
/* 008A8 8086C548 8FBF0024 */ lw $ra, 0x0024($sp)
.L8086C54C:
/* 008AC 8086C54C 8FB00020 */ lw $s0, 0x0020($sp)
/* 008B0 8086C550 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 008B4 8086C554 03E00008 */ jr $ra
/* 008B8 8086C558 00000000 */ nop

View file

@ -1,31 +0,0 @@
glabel func_8086C55C
/* 008BC 8086C55C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 008C0 8086C560 AFBF0014 */ sw $ra, 0x0014($sp)
/* 008C4 8086C564 848E016A */ lh $t6, 0x016A($a0) ## 0000016A
/* 008C8 8086C568 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 008CC 8086C56C 2401FFD8 */ addiu $at, $zero, 0xFFD8 ## $at = FFFFFFD8
/* 008D0 8086C570 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
/* 008D4 8086C574 A48F016A */ sh $t7, 0x016A($a0) ## 0000016A
/* 008D8 8086C578 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
/* 008DC 8086C57C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 008E0 8086C580 14400005 */ bne $v0, $zero, .L8086C598
/* 008E4 8086C584 00000000 */ nop
/* 008E8 8086C588 0C00B2ED */ jal Flags_UnsetSwitch
/* 008EC 8086C58C 90C50168 */ lbu $a1, 0x0168($a2) ## 00000168
/* 008F0 8086C590 10000007 */ beq $zero, $zero, .L8086C5B0
/* 008F4 8086C594 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086C598:
/* 008F8 8086C598 14410004 */ bne $v0, $at, .L8086C5AC
/* 008FC 8086C59C 3C188087 */ lui $t8, %hi(func_8086C3D8) ## $t8 = 80870000
/* 00900 8086C5A0 2718C3D8 */ addiu $t8, $t8, %lo(func_8086C3D8) ## $t8 = 8086C3D8
/* 00904 8086C5A4 A4C0016A */ sh $zero, 0x016A($a2) ## 0000016A
/* 00908 8086C5A8 ACD80164 */ sw $t8, 0x0164($a2) ## 00000164
.L8086C5AC:
/* 0090C 8086C5AC 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086C5B0:
/* 00910 8086C5B0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00914 8086C5B4 03E00008 */ jr $ra
/* 00918 8086C5B8 00000000 */ nop

View file

@ -1,29 +0,0 @@
glabel func_8086C5BC
/* 0091C 8086C5BC AFA50004 */ sw $a1, 0x0004($sp)
/* 00920 8086C5C0 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
/* 00924 8086C5C4 10400003 */ beq $v0, $zero, .L8086C5D4
/* 00928 8086C5C8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 0092C 8086C5CC A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
/* 00930 8086C5D0 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
.L8086C5D4:
/* 00934 8086C5D4 1440000E */ bne $v0, $zero, .L8086C610
/* 00938 8086C5D8 00000000 */ nop
/* 0093C 8086C5DC 8C82011C */ lw $v0, 0x011C($a0) ## 0000011C
/* 00940 8086C5E0 1040000B */ beq $v0, $zero, .L8086C610
/* 00944 8086C5E4 00000000 */ nop
/* 00948 8086C5E8 8443001C */ lh $v1, 0x001C($v0) ## 0000001C
/* 0094C 8086C5EC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00950 8086C5F0 3C0F8087 */ lui $t7, %hi(func_8086C618) ## $t7 = 80870000
/* 00954 8086C5F4 14610003 */ bne $v1, $at, .L8086C604
/* 00958 8086C5F8 25EFC618 */ addiu $t7, $t7, %lo(func_8086C618) ## $t7 = 8086C618
/* 0095C 8086C5FC 03E00008 */ jr $ra
/* 00960 8086C600 AC8F0164 */ sw $t7, 0x0164($a0) ## 00000164
.L8086C604:
/* 00964 8086C604 14600002 */ bne $v1, $zero, .L8086C610
/* 00968 8086C608 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 0096C 8086C60C A458001C */ sh $t8, 0x001C($v0) ## 0000001C
.L8086C610:
/* 00970 8086C610 03E00008 */ jr $ra
/* 00974 8086C614 00000000 */ nop

View file

@ -1,63 +0,0 @@
glabel func_8086C618
/* 00978 8086C618 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0097C 8086C61C AFB00018 */ sw $s0, 0x0018($sp)
/* 00980 8086C620 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00984 8086C624 AFBF001C */ sw $ra, 0x001C($sp)
/* 00988 8086C628 AFA5002C */ sw $a1, 0x002C($sp)
/* 0098C 8086C62C 2606016C */ addiu $a2, $s0, 0x016C ## $a2 = 0000016C
/* 00990 8086C630 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000016C
/* 00994 8086C634 0C0189B7 */ jal ActorCollider_Cylinder_Update
/* 00998 8086C638 AFA60020 */ sw $a2, 0x0020($sp)
/* 0099C 8086C63C 8FA4002C */ lw $a0, 0x002C($sp)
/* 009A0 8086C640 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 009A4 8086C644 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 009A8 8086C648 8FA60020 */ lw $a2, 0x0020($sp)
/* 009AC 8086C64C 0C0175E7 */ jal Actor_CollisionCheck_SetAT
## CollisionCheck_setAT
/* 009B0 8086C650 00812821 */ addu $a1, $a0, $at
/* 009B4 8086C654 8FA4002C */ lw $a0, 0x002C($sp)
/* 009B8 8086C658 0C00B337 */ jal Flags_GetClear
/* 009BC 8086C65C 82050003 */ lb $a1, 0x0003($s0) ## 00000003
/* 009C0 8086C660 1040000B */ beq $v0, $zero, .L8086C690
/* 009C4 8086C664 8FA4002C */ lw $a0, 0x002C($sp)
/* 009C8 8086C668 0C00B2DD */ jal Flags_SetSwitch
/* 009CC 8086C66C 92050168 */ lbu $a1, 0x0168($s0) ## 00000168
/* 009D0 8086C670 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 009D4 8086C674 3C098087 */ lui $t1, %hi(func_8086C6EC) ## $t1 = 80870000
/* 009D8 8086C678 2529C6EC */ addiu $t1, $t1, %lo(func_8086C6EC) ## $t1 = 8086C6EC
/* 009DC 8086C67C 25D92000 */ addiu $t9, $t6, 0x2000 ## $t9 = 00002000
/* 009E0 8086C680 3328C000 */ andi $t0, $t9, 0xC000 ## $t0 = 00000000
/* 009E4 8086C684 A6080016 */ sh $t0, 0x0016($s0) ## 00000016
/* 009E8 8086C688 10000013 */ beq $zero, $zero, .L8086C6D8
/* 009EC 8086C68C AE090164 */ sw $t1, 0x0164($s0) ## 00000164
.L8086C690:
/* 009F0 8086C690 86020032 */ lh $v0, 0x0032($s0) ## 00000032
/* 009F4 8086C694 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6
/* 009F8 8086C698 00021823 */ subu $v1, $zero, $v0
/* 009FC 8086C69C 01425821 */ addu $t3, $t2, $v0
/* 00A00 8086C6A0 04400003 */ bltz $v0, .L8086C6B0
/* 00A04 8086C6A4 A60B00B6 */ sh $t3, 0x00B6($s0) ## 000000B6
/* 00A08 8086C6A8 10000001 */ beq $zero, $zero, .L8086C6B0
/* 00A0C 8086C6AC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L8086C6B0:
/* 00A10 8086C6B0 44832000 */ mtc1 $v1, $f4 ## $f4 = 0.00
/* 00A14 8086C6B4 3C013B00 */ lui $at, 0x3B00 ## $at = 3B000000
/* 00A18 8086C6B8 44814000 */ mtc1 $at, $f8 ## $f8 = 0.00
/* 00A1C 8086C6BC 468021A0 */ cvt.s.w $f6, $f4
/* 00A20 8086C6C0 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4
/* 00A24 8086C6C4 24052063 */ addiu $a1, $zero, 0x2063 ## $a1 = 00002063
/* 00A28 8086C6C8 46083282 */ mul.s $f10, $f6, $f8
/* 00A2C 8086C6CC 44065000 */ mfc1 $a2, $f10
/* 00A30 8086C6D0 0C03D0DB */ jal func_800F436C
/* 00A34 8086C6D4 00000000 */ nop
.L8086C6D8:
/* 00A38 8086C6D8 8FBF001C */ lw $ra, 0x001C($sp)
/* 00A3C 8086C6DC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00A40 8086C6E0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00A44 8086C6E4 03E00008 */ jr $ra
/* 00A48 8086C6E8 00000000 */ nop

View file

@ -1,39 +0,0 @@
glabel func_8086C6EC
/* 00A4C 8086C6EC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00A50 8086C6F0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00A54 8086C6F4 AFA50024 */ sw $a1, 0x0024($sp)
/* 00A58 8086C6F8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00A5C 8086C6FC 84E50016 */ lh $a1, 0x0016($a3) ## 00000016
/* 00A60 8086C700 AFA70020 */ sw $a3, 0x0020($sp)
/* 00A64 8086C704 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6
/* 00A68 8086C708 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00A6C 8086C70C 24060200 */ addiu $a2, $zero, 0x0200 ## $a2 = 00000200
/* 00A70 8086C710 8FA70020 */ lw $a3, 0x0020($sp)
/* 00A74 8086C714 AFA2001C */ sw $v0, 0x001C($sp)
/* 00A78 8086C718 3C01C2FA */ lui $at, 0xC2FA ## $at = C2FA0000
/* 00A7C 8086C71C 44813000 */ mtc1 $at, $f6 ## $f6 = -125.00
/* 00A80 8086C720 C4E4000C */ lwc1 $f4, 0x000C($a3) ## 0000000C
/* 00A84 8086C724 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 00A88 8086C728 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
/* 00A8C 8086C72C 46062200 */ add.s $f8, $f4, $f6
/* 00A90 8086C730 44054000 */ mfc1 $a1, $f8
/* 00A94 8086C734 0C01DE80 */ jal Math_ApproxF
/* 00A98 8086C738 00000000 */ nop
/* 00A9C 8086C73C 10400007 */ beq $v0, $zero, .L8086C75C
/* 00AA0 8086C740 8FA70020 */ lw $a3, 0x0020($sp)
/* 00AA4 8086C744 8FAE001C */ lw $t6, 0x001C($sp)
/* 00AA8 8086C748 3C0F8087 */ lui $t7, %hi(func_8086C76C) ## $t7 = 80870000
/* 00AAC 8086C74C 25EFC76C */ addiu $t7, $t7, %lo(func_8086C76C) ## $t7 = 8086C76C
/* 00AB0 8086C750 51C00003 */ beql $t6, $zero, .L8086C760
/* 00AB4 8086C754 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00AB8 8086C758 ACEF0164 */ sw $t7, 0x0164($a3) ## 00000164
.L8086C75C:
/* 00ABC 8086C75C 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086C760:
/* 00AC0 8086C760 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00AC4 8086C764 03E00008 */ jr $ra
/* 00AC8 8086C768 00000000 */ nop

View file

@ -1,30 +0,0 @@
glabel func_8086C76C
/* 00ACC 8086C76C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00AD0 8086C770 AFBF001C */ sw $ra, 0x001C($sp)
/* 00AD4 8086C774 AFA50024 */ sw $a1, 0x0024($sp)
/* 00AD8 8086C778 0C010D5B */ jal func_8004356C
/* 00ADC 8086C77C AFA40020 */ sw $a0, 0x0020($sp)
/* 00AE0 8086C780 1040000F */ beq $v0, $zero, .L8086C7C0
/* 00AE4 8086C784 8FA70020 */ lw $a3, 0x0020($sp)
/* 00AE8 8086C788 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 00AEC 8086C78C 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00
/* 00AF0 8086C790 C4E40090 */ lwc1 $f4, 0x0090($a3) ## 00000090
/* 00AF4 8086C794 3C0E8087 */ lui $t6, %hi(func_8086C7D0) ## $t6 = 80870000
/* 00AF8 8086C798 25CEC7D0 */ addiu $t6, $t6, %lo(func_8086C7D0) ## $t6 = 8086C7D0
/* 00AFC 8086C79C 4606203C */ c.lt.s $f4, $f6
/* 00B00 8086C7A0 24050C12 */ addiu $a1, $zero, 0x0C12 ## $a1 = 00000C12
/* 00B04 8086C7A4 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D
/* 00B08 8086C7A8 45020006 */ bc1fl .L8086C7C4
/* 00B0C 8086C7AC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00B10 8086C7B0 ACEE0164 */ sw $t6, 0x0164($a3) ## 00000164
/* 00B14 8086C7B4 AFA00010 */ sw $zero, 0x0010($sp)
/* 00B18 8086C7B8 0C02003E */ jal func_800800F8
/* 00B1C 8086C7BC 8FA40024 */ lw $a0, 0x0024($sp)
.L8086C7C0:
/* 00B20 8086C7C0 8FBF001C */ lw $ra, 0x001C($sp)
.L8086C7C4:
/* 00B24 8086C7C4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00B28 8086C7C8 03E00008 */ jr $ra
/* 00B2C 8086C7CC 00000000 */ nop

View file

@ -1,45 +0,0 @@
glabel func_8086C7D0
/* 00B30 8086C7D0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00B34 8086C7D4 AFB00020 */ sw $s0, 0x0020($sp)
/* 00B38 8086C7D8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B3C 8086C7DC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B40 8086C7E0 AFA5002C */ sw $a1, 0x002C($sp)
/* 00B44 8086C7E4 3C018087 */ lui $at, %hi(D_8086CE58) ## $at = 80870000
/* 00B48 8086C7E8 C426CE58 */ lwc1 $f6, %lo(D_8086CE58)($at)
/* 00B4C 8086C7EC C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 00B50 8086C7F0 3C018087 */ lui $at, %hi(D_8086CE5C) ## $at = 80870000
/* 00B54 8086C7F4 C42ACE5C */ lwc1 $f10, %lo(D_8086CE5C)($at)
/* 00B58 8086C7F8 46062200 */ add.s $f8, $f4, $f6
/* 00B5C 8086C7FC 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
/* 00B60 8086C800 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00B64 8086C804 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
/* 00B68 8086C808 44054000 */ mfc1 $a1, $f8
/* 00B6C 8086C80C 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00B70 8086C810 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00B74 8086C814 3C018087 */ lui $at, %hi(D_8086CE60) ## $at = 80870000
/* 00B78 8086C818 C430CE60 */ lwc1 $f16, %lo(D_8086CE60)($at)
/* 00B7C 8086C81C 2405289E */ addiu $a1, $zero, 0x289E ## $a1 = 0000289E
/* 00B80 8086C820 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B84 8086C824 4610003C */ c.lt.s $f0, $f16
/* 00B88 8086C828 00000000 */ nop
/* 00B8C 8086C82C 45000007 */ bc1f .L8086C84C
/* 00B90 8086C830 00000000 */ nop
/* 00B94 8086C834 0C00BE0A */ jal Audio_PlayActorSound2
/* 00B98 8086C838 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B9C 8086C83C 3C0E8087 */ lui $t6, %hi(func_8086C868) ## $t6 = 80870000
/* 00BA0 8086C840 25CEC868 */ addiu $t6, $t6, %lo(func_8086C868) ## $t6 = 8086C868
/* 00BA4 8086C844 10000003 */ beq $zero, $zero, .L8086C854
/* 00BA8 8086C848 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
.L8086C84C:
/* 00BAC 8086C84C 0C00BE5D */ jal func_8002F974
/* 00BB0 8086C850 2405208F */ addiu $a1, $zero, 0x208F ## $a1 = 0000208F
.L8086C854:
/* 00BB4 8086C854 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00BB8 8086C858 8FB00020 */ lw $s0, 0x0020($sp)
/* 00BBC 8086C85C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00BC0 8086C860 03E00008 */ jr $ra
/* 00BC4 8086C864 00000000 */ nop

View file

@ -1,6 +0,0 @@
glabel func_8086C868
/* 00BC8 8086C868 AFA40000 */ sw $a0, 0x0000($sp)
/* 00BCC 8086C86C 03E00008 */ jr $ra
/* 00BD0 8086C870 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,88 +0,0 @@
glabel func_8086C874
/* 00BD4 8086C874 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00BD8 8086C878 AFBF001C */ sw $ra, 0x001C($sp)
/* 00BDC 8086C87C AFB00018 */ sw $s0, 0x0018($sp)
/* 00BE0 8086C880 AFA50024 */ sw $a1, 0x0024($sp)
/* 00BE4 8086C884 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
/* 00BE8 8086C888 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00BEC 8086C88C 10400002 */ beq $v0, $zero, .L8086C898
/* 00BF0 8086C890 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00BF4 8086C894 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
.L8086C898:
/* 00BF8 8086C898 920F0168 */ lbu $t7, 0x0168($s0) ## 00000168
/* 00BFC 8086C89C 8FAA0024 */ lw $t2, 0x0024($sp)
/* 00C00 8086C8A0 2405003A */ addiu $a1, $zero, 0x003A ## $a1 = 0000003A
/* 00C04 8086C8A4 15E00013 */ bne $t7, $zero, .L8086C8F4
/* 00C08 8086C8A8 00000000 */ nop
/* 00C0C 8086C8AC 0C010D5B */ jal func_8004356C
/* 00C10 8086C8B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C14 8086C8B4 50400025 */ beql $v0, $zero, .L8086C94C
/* 00C18 8086C8B8 860F016A */ lh $t7, 0x016A($s0) ## 0000016A
/* 00C1C 8086C8BC 8FA20024 */ lw $v0, 0x0024($sp)
/* 00C20 8086C8C0 2405003A */ addiu $a1, $zero, 0x003A ## $a1 = 0000003A
/* 00C24 8086C8C4 8C580790 */ lw $t8, 0x0790($v0) ## 00000790
/* 00C28 8086C8C8 87190142 */ lh $t9, 0x0142($t8) ## 00000142
/* 00C2C 8086C8CC AE1901B8 */ sw $t9, 0x01B8($s0) ## 000001B8
/* 00C30 8086C8D0 0C0169DF */ jal func_8005A77C
/* 00C34 8086C8D4 8C440790 */ lw $a0, 0x0790($v0) ## 00000790
/* 00C38 8086C8D8 8FA80024 */ lw $t0, 0x0024($sp)
/* 00C3C 8086C8DC 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 00C40 8086C8E0 0C016B47 */ jal func_8005AD1C
/* 00C44 8086C8E4 8D040790 */ lw $a0, 0x0790($t0) ## 00000790
/* 00C48 8086C8E8 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
/* 00C4C 8086C8EC 10000016 */ beq $zero, $zero, .L8086C948
/* 00C50 8086C8F0 A2090168 */ sb $t1, 0x0168($s0) ## 00000168
.L8086C8F4:
/* 00C54 8086C8F4 0C0169DF */ jal func_8005A77C
/* 00C58 8086C8F8 8D440790 */ lw $a0, 0x0790($t2) ## 00000790
/* 00C5C 8086C8FC 0C010D5B */ jal func_8004356C
/* 00C60 8086C900 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C64 8086C904 54400006 */ bnel $v0, $zero, .L8086C920
/* 00C68 8086C908 920C0168 */ lbu $t4, 0x0168($s0) ## 00000168
/* 00C6C 8086C90C 92020168 */ lbu $v0, 0x0168($s0) ## 00000168
/* 00C70 8086C910 10400002 */ beq $v0, $zero, .L8086C91C
/* 00C74 8086C914 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF
/* 00C78 8086C918 A20B0168 */ sb $t3, 0x0168($s0) ## 00000168
.L8086C91C:
/* 00C7C 8086C91C 920C0168 */ lbu $t4, 0x0168($s0) ## 00000168
.L8086C920:
/* 00C80 8086C920 8FAD0024 */ lw $t5, 0x0024($sp)
/* 00C84 8086C924 55800009 */ bnel $t4, $zero, .L8086C94C
/* 00C88 8086C928 860F016A */ lh $t7, 0x016A($s0) ## 0000016A
/* 00C8C 8086C92C 8DA40790 */ lw $a0, 0x0790($t5) ## 00000790
/* 00C90 8086C930 0C0169DF */ jal func_8005A77C
/* 00C94 8086C934 860501BA */ lh $a1, 0x01BA($s0) ## 000001BA
/* 00C98 8086C938 8FAE0024 */ lw $t6, 0x0024($sp)
/* 00C9C 8086C93C 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 00CA0 8086C940 0C016B3F */ jal func_8005ACFC
/* 00CA4 8086C944 8DC40790 */ lw $a0, 0x0790($t6) ## 00000790
.L8086C948:
/* 00CA8 8086C948 860F016A */ lh $t7, 0x016A($s0) ## 0000016A
.L8086C94C:
/* 00CAC 8086C94C 3C018087 */ lui $at, %hi(D_8086CE64) ## $at = 80870000
/* 00CB0 8086C950 C428CE64 */ lwc1 $f8, %lo(D_8086CE64)($at)
/* 00CB4 8086C954 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 00CB8 8086C958 00000000 */ nop
/* 00CBC 8086C95C 468021A0 */ cvt.s.w $f6, $f4
/* 00CC0 8086C960 46083302 */ mul.s $f12, $f6, $f8
/* 00CC4 8086C964 0C0400A4 */ jal sinf
/* 00CC8 8086C968 00000000 */ nop
/* 00CCC 8086C96C 3C018087 */ lui $at, %hi(D_8086CE68) ## $at = 80870000
/* 00CD0 8086C970 C430CE68 */ lwc1 $f16, %lo(D_8086CE68)($at)
/* 00CD4 8086C974 C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
/* 00CD8 8086C978 8618016A */ lh $t8, 0x016A($s0) ## 0000016A
/* 00CDC 8086C97C 46100482 */ mul.s $f18, $f0, $f16
/* 00CE0 8086C980 24190200 */ addiu $t9, $zero, 0x0200 ## $t9 = 00000200
/* 00CE4 8086C984 46125101 */ sub.s $f4, $f10, $f18
/* 00CE8 8086C988 17000002 */ bne $t8, $zero, .L8086C994
/* 00CEC 8086C98C E6040028 */ swc1 $f4, 0x0028($s0) ## 00000028
/* 00CF0 8086C990 A619016A */ sh $t9, 0x016A($s0) ## 0000016A
.L8086C994:
/* 00CF4 8086C994 8FBF001C */ lw $ra, 0x001C($sp)
/* 00CF8 8086C998 8FB00018 */ lw $s0, 0x0018($sp)
/* 00CFC 8086C99C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00D00 8086C9A0 03E00008 */ jr $ra
/* 00D04 8086C9A4 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_8086C9A8
/* 00D08 8086C9A8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00D0C 8086C9AC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00D10 8086C9B0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D14 8086C9B4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00D18 8086C9B8 90C50168 */ lbu $a1, 0x0168($a2) ## 00000168
/* 00D1C 8086C9BC 0C00B2D0 */ jal Flags_GetSwitch
/* 00D20 8086C9C0 AFA60018 */ sw $a2, 0x0018($sp)
/* 00D24 8086C9C4 10400006 */ beq $v0, $zero, .L8086C9E0
/* 00D28 8086C9C8 8FA60018 */ lw $a2, 0x0018($sp)
/* 00D2C 8086C9CC 3C0F8087 */ lui $t7, %hi(func_8086C9F0) ## $t7 = 80870000
/* 00D30 8086C9D0 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 00D34 8086C9D4 25EFC9F0 */ addiu $t7, $t7, %lo(func_8086C9F0) ## $t7 = 8086C9F0
/* 00D38 8086C9D8 A4CE016A */ sh $t6, 0x016A($a2) ## 0000016A
/* 00D3C 8086C9DC ACCF0164 */ sw $t7, 0x0164($a2) ## 00000164
.L8086C9E0:
/* 00D40 8086C9E0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00D44 8086C9E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00D48 8086C9E8 03E00008 */ jr $ra
/* 00D4C 8086C9EC 00000000 */ nop

View file

@ -1,61 +0,0 @@
glabel func_8086C9F0
/* 00D50 8086C9F0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00D54 8086C9F4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00D58 8086C9F8 AFB00018 */ sw $s0, 0x0018($sp)
/* 00D5C 8086C9FC AFA50024 */ sw $a1, 0x0024($sp)
/* 00D60 8086CA00 848E016A */ lh $t6, 0x016A($a0) ## 0000016A
/* 00D64 8086CA04 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D68 8086CA08 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
/* 00D6C 8086CA0C 15C00010 */ bne $t6, $zero, .L8086CA50
/* 00D70 8086CA10 3C014296 */ lui $at, 0x4296 ## $at = 42960000
/* 00D74 8086CA14 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C
/* 00D78 8086CA18 0C01DE80 */ jal Math_ApproxF
/* 00D7C 8086CA1C 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00D80 8086CA20 10400006 */ beq $v0, $zero, .L8086CA3C
/* 00D84 8086CA24 8FA40024 */ lw $a0, 0x0024($sp)
/* 00D88 8086CA28 0C00B2ED */ jal Flags_UnsetSwitch
/* 00D8C 8086CA2C 92050168 */ lbu $a1, 0x0168($s0) ## 00000168
/* 00D90 8086CA30 3C0F8087 */ lui $t7, %hi(func_8086C9A8) ## $t7 = 80870000
/* 00D94 8086CA34 25EFC9A8 */ addiu $t7, $t7, %lo(func_8086C9A8) ## $t7 = 8086C9A8
/* 00D98 8086CA38 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
.L8086CA3C:
/* 00D9C 8086CA3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DA0 8086CA40 0C00BE52 */ jal func_8002F948
/* 00DA4 8086CA44 2405205E */ addiu $a1, $zero, 0x205E ## $a1 = 0000205E
/* 00DA8 8086CA48 10000011 */ beq $zero, $zero, .L8086CA90
/* 00DAC 8086CA4C C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
.L8086CA50:
/* 00DB0 8086CA50 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 00DB4 8086CA54 44813000 */ mtc1 $at, $f6 ## $f6 = 0.00
/* 00DB8 8086CA58 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00DBC 8086CA5C 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00DC0 8086CA60 46062200 */ add.s $f8, $f4, $f6
/* 00DC4 8086CA64 44054000 */ mfc1 $a1, $f8
/* 00DC8 8086CA68 0C01DE80 */ jal Math_ApproxF
/* 00DCC 8086CA6C 00000000 */ nop
/* 00DD0 8086CA70 10400004 */ beq $v0, $zero, .L8086CA84
/* 00DD4 8086CA74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DD8 8086CA78 3C188087 */ lui $t8, %hi(func_8086CABC) ## $t8 = 80870000
/* 00DDC 8086CA7C 2718CABC */ addiu $t8, $t8, %lo(func_8086CABC) ## $t8 = 8086CABC
/* 00DE0 8086CA80 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
.L8086CA84:
/* 00DE4 8086CA84 0C00BE52 */ jal func_8002F948
/* 00DE8 8086CA88 2405205E */ addiu $a1, $zero, 0x205E ## $a1 = 0000205E
/* 00DEC 8086CA8C C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
.L8086CA90:
/* 00DF0 8086CA90 8FA90024 */ lw $t1, 0x0024($sp)
/* 00DF4 8086CA94 4600540D */ trunc.w.s $f16, $f10
/* 00DF8 8086CA98 8D2A07C0 */ lw $t2, 0x07C0($t1) ## 000007C0
/* 00DFC 8086CA9C 44088000 */ mfc1 $t0, $f16
/* 00E00 8086CAA0 8D4B0028 */ lw $t3, 0x0028($t2) ## 00000028
/* 00E04 8086CAA4 A5680072 */ sh $t0, 0x0072($t3) ## 00000072
/* 00E08 8086CAA8 8FBF001C */ lw $ra, 0x001C($sp)
/* 00E0C 8086CAAC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00E10 8086CAB0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00E14 8086CAB4 03E00008 */ jr $ra
/* 00E18 8086CAB8 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_8086CABC
/* 00E1C 8086CABC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00E20 8086CAC0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00E24 8086CAC4 AFA5001C */ sw $a1, 0x001C($sp)
/* 00E28 8086CAC8 8485016A */ lh $a1, 0x016A($a0) ## 0000016A
/* 00E2C 8086CACC 10A00003 */ beq $a1, $zero, .L8086CADC
/* 00E30 8086CAD0 24AEFFFF */ addiu $t6, $a1, 0xFFFF ## $t6 = FFFFFFFF
/* 00E34 8086CAD4 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
/* 00E38 8086CAD8 8485016A */ lh $a1, 0x016A($a0) ## 0000016A
.L8086CADC:
/* 00E3C 8086CADC 0C00BE65 */ jal func_8002F994
/* 00E40 8086CAE0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00E44 8086CAE4 8FA40018 */ lw $a0, 0x0018($sp)
/* 00E48 8086CAE8 3C188087 */ lui $t8, %hi(func_8086C9F0) ## $t8 = 80870000
/* 00E4C 8086CAEC 2718C9F0 */ addiu $t8, $t8, %lo(func_8086C9F0) ## $t8 = 8086C9F0
/* 00E50 8086CAF0 848F016A */ lh $t7, 0x016A($a0) ## 0000016A
/* 00E54 8086CAF4 55E00003 */ bnel $t7, $zero, .L8086CB04
/* 00E58 8086CAF8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00E5C 8086CAFC AC980164 */ sw $t8, 0x0164($a0) ## 00000164
/* 00E60 8086CB00 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086CB04:
/* 00E64 8086CB04 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00E68 8086CB08 03E00008 */ jr $ra
/* 00E6C 8086CB0C 00000000 */ nop

View file

@ -1,36 +0,0 @@
glabel func_8086CB10
/* 00E70 8086CB10 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00E74 8086CB14 AFBF001C */ sw $ra, 0x001C($sp)
/* 00E78 8086CB18 AFA50024 */ sw $a1, 0x0024($sp)
/* 00E7C 8086CB1C 0C010D5B */ jal func_8004356C
/* 00E80 8086CB20 AFA40020 */ sw $a0, 0x0020($sp)
/* 00E84 8086CB24 10400015 */ beq $v0, $zero, .L8086CB7C
/* 00E88 8086CB28 8FA70020 */ lw $a3, 0x0020($sp)
/* 00E8C 8086CB2C 90E50168 */ lbu $a1, 0x0168($a3) ## 00000168
/* 00E90 8086CB30 AFA70020 */ sw $a3, 0x0020($sp)
/* 00E94 8086CB34 0C00B2DD */ jal Flags_SetSwitch
/* 00E98 8086CB38 8FA40024 */ lw $a0, 0x0024($sp)
/* 00E9C 8086CB3C 8FA70020 */ lw $a3, 0x0020($sp)
/* 00EA0 8086CB40 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00EA4 8086CB44 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 00EA8 8086CB48 C4E4000C */ lwc1 $f4, 0x000C($a3) ## 0000000C
/* 00EAC 8086CB4C 3C0F8087 */ lui $t7, %hi(func_8086CB8C) ## $t7 = 80870000
/* 00EB0 8086CB50 240E0032 */ addiu $t6, $zero, 0x0032 ## $t6 = 00000032
/* 00EB4 8086CB54 46062201 */ sub.s $f8, $f4, $f6
/* 00EB8 8086CB58 25EFCB8C */ addiu $t7, $t7, %lo(func_8086CB8C) ## $t7 = 8086CB8C
/* 00EBC 8086CB5C A4EE016A */ sh $t6, 0x016A($a3) ## 0000016A
/* 00EC0 8086CB60 ACEF0164 */ sw $t7, 0x0164($a3) ## 00000164
/* 00EC4 8086CB64 E4E8000C */ swc1 $f8, 0x000C($a3) ## 0000000C
/* 00EC8 8086CB68 AFA00010 */ sw $zero, 0x0010($sp)
/* 00ECC 8086CB6C 8FA40024 */ lw $a0, 0x0024($sp)
/* 00ED0 8086CB70 24050C1C */ addiu $a1, $zero, 0x0C1C ## $a1 = 00000C1C
/* 00ED4 8086CB74 0C02003E */ jal func_800800F8
/* 00ED8 8086CB78 24060033 */ addiu $a2, $zero, 0x0033 ## $a2 = 00000033
.L8086CB7C:
/* 00EDC 8086CB7C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00EE0 8086CB80 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00EE4 8086CB84 03E00008 */ jr $ra
/* 00EE8 8086CB88 00000000 */ nop

View file

@ -1,55 +0,0 @@
glabel func_8086CB8C
/* 00EEC 8086CB8C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00EF0 8086CB90 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00EF4 8086CB94 AFA5001C */ sw $a1, 0x001C($sp)
/* 00EF8 8086CB98 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
/* 00EFC 8086CB9C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00F00 8086CBA0 10400003 */ beq $v0, $zero, .L8086CBB0
/* 00F04 8086CBA4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00F08 8086CBA8 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
/* 00F0C 8086CBAC 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
.L8086CBB0:
/* 00F10 8086CBB0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00F14 8086CBB4 3C018087 */ lui $at, %hi(D_8086CE6C) ## $at = 80870000
/* 00F18 8086CBB8 C428CE6C */ lwc1 $f8, %lo(D_8086CE6C)($at)
/* 00F1C 8086CBBC 468021A0 */ cvt.s.w $f6, $f4
/* 00F20 8086CBC0 AFA70018 */ sw $a3, 0x0018($sp)
/* 00F24 8086CBC4 46083302 */ mul.s $f12, $f6, $f8
/* 00F28 8086CBC8 0C041184 */ jal cosf
/* 00F2C 8086CBCC 00000000 */ nop
/* 00F30 8086CBD0 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00F34 8086CBD4 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00
/* 00F38 8086CBD8 8FA70018 */ lw $a3, 0x0018($sp)
/* 00F3C 8086CBDC 2405289F */ addiu $a1, $zero, 0x289F ## $a1 = 0000289F
/* 00F40 8086CBE0 46100482 */ mul.s $f18, $f0, $f16
/* 00F44 8086CBE4 C4EA000C */ lwc1 $f10, 0x000C($a3) ## 0000000C
/* 00F48 8086CBE8 84EF016A */ lh $t7, 0x016A($a3) ## 0000016A
/* 00F4C 8086CBEC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00F50 8086CBF0 46125101 */ sub.s $f4, $f10, $f18
/* 00F54 8086CBF4 15E0000E */ bne $t7, $zero, .L8086CC30
/* 00F58 8086CBF8 E4E40028 */ swc1 $f4, 0x0028($a3) ## 00000028
/* 00F5C 8086CBFC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00F60 8086CC00 0C00BE0A */ jal Audio_PlayActorSound2
/* 00F64 8086CC04 AFA70018 */ sw $a3, 0x0018($sp)
/* 00F68 8086CC08 8FA70018 */ lw $a3, 0x0018($sp)
/* 00F6C 8086CC0C 3C188087 */ lui $t8, %hi(func_8086C868) ## $t8 = 80870000
/* 00F70 8086CC10 2718C868 */ addiu $t8, $t8, %lo(func_8086C868) ## $t8 = 8086C868
/* 00F74 8086CC14 ACF80164 */ sw $t8, 0x0164($a3) ## 00000164
/* 00F78 8086CC18 8FA4001C */ lw $a0, 0x001C($sp)
/* 00F7C 8086CC1C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00F80 8086CC20 0C0301E3 */ jal func_800C078C
/* 00F84 8086CC24 2406FFFF */ addiu $a2, $zero, 0xFFFF ## $a2 = FFFFFFFF
/* 00F88 8086CC28 10000004 */ beq $zero, $zero, .L8086CC3C
/* 00F8C 8086CC2C 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086CC30:
/* 00F90 8086CC30 0C00BE5D */ jal func_8002F974
/* 00F94 8086CC34 24052090 */ addiu $a1, $zero, 0x2090 ## $a1 = 00002090
/* 00F98 8086CC38 8FBF0014 */ lw $ra, 0x0014($sp)
.L8086CC3C:
/* 00F9C 8086CC3C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00FA0 8086CC40 03E00008 */ jr $ra
/* 00FA4 8086CC44 00000000 */ nop

View file

@ -1,22 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .data
glabel Bg_Bdan_Objects_InitVars
.word 0x00C80100, 0x00000010, 0x00960000, 0x000001BC
.word BgBdanObjects_Init
.word BgBdanObjects_Destroy
.word BgBdanObjects_Update
.word BgBdanObjects_Draw
glabel D_8086CD70
.word 0x0A110000, 0x20010000, 0x00000000, 0xFFCFFFFF, 0x00040000, 0x00000000, 0x00000000, 0x09000000, 0x00BB0050, 0x00000000, 0x00000000
glabel D_8086CD9C
.word 0x48500064
glabel D_8086CDA0
.word 0x06008618, 0x06004BE8, 0x060038E8, 0x06005200

View file

@ -1,11 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_8086CE70
.incbin "baserom/ovl_Bg_Bdan_Objects", 0x11D0, 0x000001A0

View file

@ -1,49 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_8086CDB0
.asciz "Bg_Bdan_Objects_Get_Contact_Ru1\n%d!!!!!!!!\n"
.balign 4
glabel D_8086CDF4
.asciz "Bg_Bdan_Objects_Set_Contact_Ru1\n%d!!!!!!!!\n"
.balign 4
glabel D_8086CE38
.word 0x43838000
glabel D_8086CE3C
.word 0xC48D4000
glabel D_8086CE40
.word 0xC4802000
glabel D_8086CE44
.word 0xC54E4000
glabel D_8086CE48
.word 0x3DCCCCCD
glabel D_8086CE4C
.word 0xC48D4000
glabel D_8086CE50
.word 0xC4802000
glabel D_8086CE54
.word 0xC55AC000
glabel D_8086CE58
.word 0x44714000
glabel D_8086CE5C
.word 0x3E4CCCCD
glabel D_8086CE60
.word 0x3C23D70A
glabel D_8086CE64
.word 0x3C490FDB
glabel D_8086CE68
.word 0x43EB9EB8
glabel D_8086CE6C
.word 0x3D80ADFD

View file

@ -441,7 +441,27 @@ typedef struct {
} SoundContext; // size = 0x4
typedef struct {
/* 0x00 */ char unk_00[0x50];
/* 0x00 */ char unk_00[0x2];
/* 0x02 */ s16 unk_02;
/* 0x04 */ char unk_04[0xC];
} WaterBox; // size = 0x10
typedef struct {
/* 0x00 */ Vec3s colAbsMin;
/* 0x06 */ Vec3s colAbsMax;
/* 0x0C */ s16 nbVertices;
/* 0x10 */ void* vertexArray;
/* 0x14 */ s16 nbPolygons;
/* 0x18 */ void* polygonArray;
/* 0x1C */ void* polygonTypes;
/* 0x20 */ void* cameraData;
/* 0x24 */ s16 nbWaterBoxes;
/* 0x28 */ WaterBox* waterBoxes;
} CollisionHeader;
typedef struct {
/* 0x00 */ CollisionHeader* colHeader;
/* 0x04 */ char unk_04[0x4C];
} StaticCollisionContext; // size = 0x50
typedef struct {
@ -1117,19 +1137,6 @@ typedef struct DebugDispObject {
/* 0x28 */ struct DebugDispObject* next;
} DebugDispObject; // size = 0x2C
typedef struct {
/* 0x00 */ Vec3s colAbsMin;
/* 0x06 */ Vec3s colAbsMax;
/* 0x0C */ s16 nbVertices;
/* 0x10 */ void* vertexArray;
/* 0x14 */ s16 nbPolygons;
/* 0x18 */ void* polygonArray;
/* 0x1C */ void* polygonTypes;
/* 0x20 */ void* cameraData;
/* 0x24 */ s16 nbWaterBoxes;
/* 0x28 */ void* waterBoxes;
} CollisionHeader;
typedef enum {
MTXMODE_NEW, // generates a new matrix
MTXMODE_APPLY // applies transformation to the current matrix

4
spec
View file

@ -687,9 +687,7 @@ endseg
beginseg
name "ovl_Bg_Bdan_Objects"
include "build/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.o"
include "build/data/overlays/actors/z_bg_bdan_objects.data.o"
include "build/data/overlays/actors/z_bg_bdan_objects.rodata.o"
include "build/data/overlays/actors/z_bg_bdan_objects.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects_reloc.o"
endseg
beginseg

View file

@ -1,14 +1,36 @@
/*
* File: z_bg_bdan_objects.c
* Overlay: ovl_Bg_Bdan_Objects
* Description:
*/
#include "z_bg_bdan_objects.h"
#define ROOM 0x00
#define FLAGS 0x00000010
void BgBdanObjects_Init(BgBdanObjects* this, GlobalContext* globalCtx);
void BgBdanObjects_Destroy(BgBdanObjects* this, GlobalContext* globalCtx);
void BgBdanObjects_Update(BgBdanObjects* this, GlobalContext* globalCtx);
void BgBdanObjects_Draw(BgBdanObjects* this, GlobalContext* globalCtx);
static void BgBdanObjects_Init(BgBdanObjects* this, GlobalContext* globalCtx);
static void BgBdanObjects_Destroy(BgBdanObjects* this, GlobalContext* globalCtx);
static void BgBdanObjects_Update(BgBdanObjects* this, GlobalContext* globalCtx);
static void BgBdanObjects_Draw(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C054(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C1A0(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C29C(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C55C(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C5BC(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C618(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C6EC(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C76C(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C7D0(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C868(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C9A8(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086C9F0(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086CABC(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086CB10(BgBdanObjects* this, GlobalContext* globalCtx);
static void func_8086CB8C(BgBdanObjects* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Bdan_Objects_InitVars = {
ACTOR_BG_BDAN_OBJECTS,
ACTORTYPE_BG,
@ -21,49 +43,410 @@ const ActorInit Bg_Bdan_Objects_InitVars = {
(ActorFunc)BgBdanObjects_Update,
(ActorFunc)BgBdanObjects_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086BCA0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086BD10.s")
static ColliderCylinderInit D_8086CD70 = {
0x0A, 0x11, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFFCFFFFF, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00000000,
0x09, 0x00, 0x00, 0x00, 0x00BB, 0x0050, 0x0000, 0x0000, 0x0000, 0x0000,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/BgBdanObjects_Init.s")
static InitChainEntry initChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 0x64, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/BgBdanObjects_Destroy.s")
static u32 D_8086CDA0[] = {
0x06008618,
0x06004BE8,
0x060038E8,
0x06005200,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C054.s")
extern UNK_TYPE D_060038E8;
extern UNK_TYPE D_06005048;
extern UNK_TYPE D_06005580;
extern UNK_TYPE D_06008CE0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C1A0.s")
s32 BgBdanObjects_GetContactRu1(BgBdanObjects* this, s32 arg1) {
switch (arg1) {
case 0:
return this->unk_1B8 == 1;
case 4:
return gSaveContext.inf_table[20] & 0x40;
case 3:
return this->unk_1B8 == 4;
default:
osSyncPrintf("Bg_Bdan_Objects_Get_Contact_Ru1\nそんな受信モードは無い%d!!!!!!!!\n");
return -1;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C29C.s")
static void BgBdanObjects_SetContactRu1(BgBdanObjects* this, s32 arg1) {
switch (arg1) {
case 1:
this->unk_1B8 = 2;
break;
case 2:
this->unk_1B8 = 3;
break;
case 4:
gSaveContext.inf_table[20] |= 0x40;
break;
default:
osSyncPrintf("Bg_Bdan_Objects_Set_Contact_Ru1\nそんな送信モードは無い%d!!!!!!!!\n");
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C3D8.s")
static void BgBdanObjects_Init(BgBdanObjects* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
s16 pad;
s32 localC = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C55C.s")
Actor_ProcessInitChain(this, initChain);
DynaPolyInfo_SetActorMove(this, 1);
this->unk_168 = (thisx->params >> 8) & 0x3F;
thisx->params &= 0xFF;
if (thisx->params == 2) {
thisx->flags |= 0x30;
globalCtx->colCtx.stat.colHeader->waterBoxes[7].unk_02 = thisx->posRot.pos.y;
this->actionFunc = (ActorFunc)func_8086C9A8;
return;
}
if (thisx->params == 0) {
DynaPolyInfo_Alloc(&D_06008CE0, &localC);
ActorCollider_AllocCylinder(globalCtx, &this->collider);
ActorCollider_InitCylinder(globalCtx, &this->collider, this, &D_8086CD70);
thisx->posRot.pos.y = (f32)(thisx->posRot.pos.y + -79.0f);
if (Flags_GetClear(globalCtx, thisx->room)) {
Flags_SetSwitch(globalCtx, this->unk_168);
this->actionFunc = (ActorFunc)func_8086C6EC;
} else {
if (BgBdanObjects_GetContactRu1(this, 4)) {
if (Actor_SpawnAttached(&globalCtx->actorCtx, this, globalCtx, ACTOR_EN_BIGOKUTA,
thisx->initPosRot.pos.x, thisx->initPosRot.pos.y, thisx->initPosRot.pos.z, 0,
thisx->shape.rot.y + 0x8000, 0, 3) != NULL) {
thisx->attachedB->posRot.pos.z = thisx->attachedB->initPosRot.pos.z + 263.0f;
}
thisx->posRot.rot.y = 0;
this->actionFunc = (ActorFunc)func_8086C618;
thisx->posRot.pos.y = thisx->initPosRot.pos.y + -70.0f;
} else {
Flags_SetSwitch(globalCtx, this->unk_168);
this->unk_16A = 0;
this->actionFunc = (ActorFunc)func_8086C054;
}
}
} else {
if (thisx->params == 1) {
DynaPolyInfo_Alloc(&D_06005048, &localC);
this->unk_16A = 0x200;
this->unk_168 = 0;
this->actionFunc = (ActorFunc)func_8086C874;
} else {
DynaPolyInfo_Alloc(&D_06005580, &localC);
if (Flags_GetSwitch(globalCtx, this->unk_168)) {
this->actionFunc = (ActorFunc)func_8086C868;
thisx->posRot.pos.y = thisx->initPosRot.pos.y - 400.0f;
} else {
this->actionFunc = (ActorFunc)func_8086CB10;
}
}
}
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, this, localC);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C5BC.s")
static void BgBdanObjects_Destroy(BgBdanObjects* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C618.s")
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
if (thisx->params == 0) {
ActorCollider_FreeCylinder(globalCtx, &this->collider);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C6EC.s")
static void func_8086C054(BgBdanObjects* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C76C.s")
if (BgBdanObjects_GetContactRu1(this, 0)) {
if (this->dyna.actor.xzDistanceFromLink < 250.0f) {
BgBdanObjects_SetContactRu1(this, 1);
this->unk_16A = 0x14;
func_800800F8(globalCtx, 0xBFE, -0x63, &this->dyna.actor, 0);
player->actor.posRot.pos.x = -1130.0f;
player->actor.posRot.pos.y = -1025.0f;
player->actor.posRot.pos.z = -3300.0f;
func_800AA000(0.0f, 0xFF, 0x14, 0x96);
}
} else {
if (this->unk_16A != 0) {
if (this->unk_16A != 0) {
this->unk_16A -= 1;
}
if (this->unk_16A == 0) {
this->actionFunc = (ActorFunc)func_8086C1A0;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C7D0.s")
if ((!func_800BFC84(globalCtx)) && (!BgBdanObjects_GetContactRu1(this, 0))) {
this->dyna.actor.posRot.pos.y = this->dyna.actor.initPosRot.pos.y + -79.0f;
} else {
this->dyna.actor.posRot.pos.y = (this->dyna.actor.initPosRot.pos.y + -79.0f) - 5.0f;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C868.s")
static void func_8086C1A0(BgBdanObjects* this, GlobalContext* globalCtx) {
if (Math_SmoothScaleMaxMinF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + 500.0f, 0.5f, 7.5f,
1.0f) < 0.1f) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_A);
this->actionFunc = (ActorFunc)func_8086C29C;
this->unk_16A = 0x1E;
BgBdanObjects_SetContactRu1(this, 2);
func_800AA000(0.0f, 0xFF, 0x14, 0x96);
} else {
if (this->unk_16A != 0) {
this->unk_16A -= 1;
}
if (this->unk_16A == 0) {
func_800AA000(0.0f, 0x78, 0x14, 0xA);
this->unk_16A = 0xB;
}
func_8002F974(&this->dyna.actor, 0x208F);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C874.s")
static void func_8086C29C(BgBdanObjects* this, GlobalContext* globalCtx) {
s32 temp;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C9A8.s")
if (this->unk_16A != 0) {
this->unk_16A -= 1;
if (this->unk_16A == 0) {
temp = Quake_Add(globalCtx->cameraCtx.activeCameraPtrs[globalCtx->cameraCtx.unk_5C0], 1);
Quake_SetSpeed(temp, 0x3A98);
Quake_SetQuakeValues(temp, 0, 1, 0xFA, 1);
Quake_SetCountdown(temp, 0xA);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086C9F0.s")
if (BgBdanObjects_GetContactRu1(this, 3)) {
Actor_SpawnAttached(&globalCtx->actorCtx, &this->dyna.actor, globalCtx, ACTOR_EN_BIGOKUTA,
this->dyna.actor.posRot.pos.x, this->dyna.actor.posRot.pos.y + 140.0f,
this->dyna.actor.posRot.pos.z, 0, this->dyna.actor.shape.rot.y + 0x8000, 0, 0);
BgBdanObjects_SetContactRu1(this, 4);
this->unk_16A = 0xA;
this->actionFunc = (ActorFunc)func_8086C55C;
func_8005B1A4(globalCtx->cameraCtx.activeCameraPtrs[globalCtx->cameraCtx.unk_5C0]);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086CABC.s")
static void func_8086C3D8(BgBdanObjects* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086CB10.s")
this->dyna.actor.velocity.y += 0.5f;
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + -70.0f,
this->dyna.actor.velocity.y)) {
this->dyna.actor.posRot.rot.y = 0;
this->unk_16A = 0x3C;
Audio_PlayActorSound2(&this->dyna.actor, 0x289F);
this->dyna.actor.attachedB->posRot.pos.y = this->dyna.actor.posRot.pos.y + 140.0f;
this->actionFunc = (ActorFunc)func_8086C5BC;
func_800800F8(globalCtx, 0xC08, -0x63, this->dyna.actor.attachedB, 0);
player->actor.posRot.pos.x = -1130.0f;
player->actor.posRot.pos.y = -1025.0f;
player->actor.posRot.pos.z = -3500.0f;
player->actor.shape.rot.y = 0x7530;
player->actor.posRot.rot.y = player->actor.shape.rot.y;
func_800AA000(0.0f, 0xFF, 0x1E, 0x96);
} else {
func_8002F974(&this->dyna.actor, 0x2090);
if (this->unk_16A != 0) {
this->unk_16A -= 1;
}
if (this->unk_16A == 0) {
func_800AA000(0.0f, 0x78, 0x14, 0xA);
this->unk_16A = 0xB;
}
if (this->dyna.actor.attachedB != NULL) {
this->dyna.actor.attachedB->posRot.pos.y = this->dyna.actor.posRot.pos.y + 140.0f;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/func_8086CB8C.s")
static void func_8086C55C(BgBdanObjects* this, GlobalContext* globalCtx) {
this->unk_16A -= 1;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/BgBdanObjects_Update.s")
if (this->unk_16A == 0) {
Flags_UnsetSwitch(globalCtx, this->unk_168);
} else if (this->unk_16A == -0x28) {
this->unk_16A = 0;
this->actionFunc = (ActorFunc)func_8086C3D8;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Bdan_Objects/BgBdanObjects_Draw.s")
static void func_8086C5BC(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->unk_16A != 0) {
this->unk_16A -= 1;
}
if (this->unk_16A == 0) {
if (this->dyna.actor.attachedB != NULL) {
if (this->dyna.actor.attachedB->params == 2) {
this->actionFunc = (ActorFunc)func_8086C618;
} else if (this->dyna.actor.attachedB->params == 0) {
this->dyna.actor.attachedB->params = 1;
}
}
}
}
static void func_8086C618(BgBdanObjects* this, GlobalContext* globalCtx) {
ActorCollider_Cylinder_Update(&this->dyna.actor, &this->collider);
Actor_CollisionCheck_SetAT(globalCtx, &globalCtx->sub_11E60, &this->collider);
if (Flags_GetClear(globalCtx, this->dyna.actor.room)) {
Flags_SetSwitch(globalCtx, this->unk_168);
this->dyna.actor.initPosRot.rot.y = (s16)(this->dyna.actor.shape.rot.y + 0x2000) & 0xC000;
this->actionFunc = (ActorFunc)func_8086C6EC;
} else {
this->dyna.actor.shape.rot.y += this->dyna.actor.posRot.rot.y;
func_800F436C(&this->dyna.actor.unk_E4, 0x2063, ABS(this->dyna.actor.posRot.rot.y) / 512.0f);
}
}
static void func_8086C6EC(BgBdanObjects* this, GlobalContext* globalCtx) {
s32 cond = Math_ApproxUpdateScaledS(&this->dyna.actor.shape.rot.y, this->dyna.actor.initPosRot.rot.y, 0x200);
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + -125.0f, 3.0f)) {
if (cond) {
this->actionFunc = (ActorFunc)func_8086C76C;
}
}
}
static void func_8086C76C(BgBdanObjects* this, GlobalContext* globalCtx) {
if (func_8004356C(&this->dyna.actor)) {
if (this->dyna.actor.xzDistanceFromLink < 120.0f) {
this->actionFunc = (ActorFunc)func_8086C7D0;
func_800800F8(globalCtx, 0xC12, -0x63, &this->dyna.actor, 0);
}
}
}
static void func_8086C7D0(BgBdanObjects* this, GlobalContext* globalCtx) {
if (Math_SmoothScaleMaxMinF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + 965.0f, 0.5f, 15.0f,
0.2f) < 0.01f) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_A);
this->actionFunc = (ActorFunc)func_8086C868;
} else {
func_8002F974(&this->dyna.actor, 0x208F);
}
}
static void func_8086C868(BgBdanObjects* this, GlobalContext* globalCtx) {
}
static void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->unk_16A != 0) {
this->unk_16A -= 1;
}
if (this->unk_168 == 0) {
if (func_8004356C(&this->dyna.actor)) {
this->unk_1B8 = globalCtx->cameraCtx.activeCameraPtrs[0]->unk_142;
func_8005A77C(globalCtx->cameraCtx.activeCameraPtrs[0], 0x3A);
func_8005AD1C(globalCtx->cameraCtx.activeCameraPtrs[0], 4);
this->unk_168 = 0xAU;
}
} else {
func_8005A77C(globalCtx->cameraCtx.activeCameraPtrs[0], 0x3A);
if (!func_8004356C(&this->dyna.actor)) {
if (this->unk_168 != 0) {
this->unk_168 -= 1;
}
}
if (this->unk_168 == 0) {
do {
} while (0);
func_8005A77C(globalCtx->cameraCtx.activeCameraPtrs[0], (s16)this->unk_1B8);
func_8005ACFC(globalCtx->cameraCtx.activeCameraPtrs[0], 4);
}
}
this->dyna.actor.posRot.pos.y = this->dyna.actor.initPosRot.pos.y -
(sinf((f32)this->unk_16A * (M_PI / 256.0f)) * 471.239990234375f); // pi * 150
if (this->unk_16A == 0) {
this->unk_16A = 0x200;
}
}
static void func_8086C9A8(BgBdanObjects* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->unk_168)) {
this->unk_16A = 0x64;
this->actionFunc = (ActorFunc)func_8086C9F0;
}
}
static void func_8086C9F0(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->unk_16A == 0) {
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y, 0.5f)) {
Flags_UnsetSwitch(globalCtx, this->unk_168);
this->actionFunc = (ActorFunc)func_8086C9A8;
}
func_8002F948(this, 0x205E);
} else {
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + 75.0f, 0.5f)) {
this->actionFunc = (ActorFunc)func_8086CABC;
}
func_8002F948(this, 0x205E);
}
globalCtx->colCtx.stat.colHeader->waterBoxes[7].unk_02 = this->dyna.actor.posRot.pos.y;
}
static void func_8086CABC(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->unk_16A != 0) {
this->unk_16A -= 1;
}
func_8002F994(&this->dyna.actor, this->unk_16A);
if (this->unk_16A == 0) {
this->actionFunc = (ActorFunc)func_8086C9F0;
}
}
static void func_8086CB10(BgBdanObjects* this, GlobalContext* globalCtx) {
if (func_8004356C(&this->dyna.actor)) {
Flags_SetSwitch(globalCtx, this->unk_168);
this->unk_16A = 0x32;
this->actionFunc = (ActorFunc)func_8086CB8C;
this->dyna.actor.initPosRot.pos.y -= 200.0f;
func_800800F8(globalCtx, 0xC1C, 0x33, &this->dyna.actor, 0);
}
}
static void func_8086CB8C(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->unk_16A != 0) {
this->unk_16A -= 1;
}
this->dyna.actor.posRot.pos.y = this->dyna.actor.initPosRot.pos.y - (cosf(this->unk_16A * (M_PI / 50.0f)) * 200.0f);
if (this->unk_16A == 0) {
Audio_PlayActorSound2(this, NA_SE_EV_BUYOSTAND_STOP_U);
this->actionFunc = (ActorFunc)func_8086C868;
func_800C078C(globalCtx, 0, -1);
} else {
func_8002F974(&this->dyna.actor, 0x2090);
}
}
static void BgBdanObjects_Update(BgBdanObjects* this, GlobalContext* globalCtx) {
Actor_SetHeight(&this->dyna.actor, 50.0f);
this->actionFunc(this, globalCtx);
}
static void BgBdanObjects_Draw(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->dyna.actor.params == 0) {
if (this->actionFunc == (ActorFunc)func_8086C054) {
if (((this->dyna.actor.initPosRot.pos.y + -79.0f) - 5.0f) < this->dyna.actor.posRot.pos.y) {
Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY);
}
}
}
if (this->dyna.actor.params == 2) {
Gfx_DrawDListXlu(globalCtx, &D_060038E8);
} else {
Gfx_DrawDListOpa(globalCtx, D_8086CDA0[this->dyna.actor.params]);
}
}

View file

@ -5,8 +5,12 @@
#include <global.h>
typedef struct {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x70];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ ActorFunc actionFunc;
/* 0x0168 */ u8 unk_168;
/* 0x016A */ s16 unk_16A;
/* 0x016C */ ColliderCylinderMain collider;
/* 0x01B8 */ s32 unk_1B8;
} BgBdanObjects; // size = 0x01BC
extern const ActorInit Bg_Bdan_Objects_InitVars;

View file

@ -356,9 +356,10 @@ D_0602B288 = 0x0602B288;
D_0602AFF0 = 0x0602AFF0;
// z_bg_bdan_objects
D_06008CE0 = 0x06008CE0;
D_06005048 = 0x06005048;
D_060038E8 = 0x060038E8;
D_06005048 = 0x06005048;
D_06005580 = 0x06005580;
D_06008CE0 = 0x06008CE0;
// z_bg_bombwall
D_050041B0 = 0x050041B0;