* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* and now for poe sister stuff

* more matches

* awful control flow still needed

* complex control is comples

* matched and documented

* also remove .s

* ZAP

* .s files never die

* more cleaning

* a little more cleanup

* data cleanup

* merge and fix

* removing globalCtx2

* dlists

* forgot this

* now with ColHeader

* a little more

* one last name change
This commit is contained in:
petrie911 2020-10-04 07:45:23 -05:00 committed by GitHub
parent 2cea0d8b82
commit 3576f4c169
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 599 additions and 2039 deletions

View File

@ -1,38 +0,0 @@
glabel BgPoEvent_Destroy
/* 00638 808A6848 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0063C 808A684C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00640 808A6850 AFA5001C */ sw $a1, 0x001C($sp)
/* 00644 808A6854 908E0168 */ lbu $t6, 0x0168($a0) ## 00000168
/* 00648 808A6858 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0064C 808A685C 8FA4001C */ lw $a0, 0x001C($sp)
/* 00650 808A6860 29C10002 */ slti $at, $t6, 0x0002
/* 00654 808A6864 54200007 */ bnel $at, $zero, .L808A6884
/* 00658 808A6868 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
/* 0065C 808A686C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00660 808A6870 0C017232 */ jal Collider_DestroyTris
/* 00664 808A6874 24E50170 */ addiu $a1, $a3, 0x0170 ## $a1 = 00000170
/* 00668 808A6878 10000012 */ beq $zero, $zero, .L808A68C4
/* 0066C 808A687C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00670 808A6880 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
.L808A6884:
/* 00674 808A6884 AFA70018 */ sw $a3, 0x0018($sp)
/* 00678 808A6888 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 0067C 808A688C 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00680 808A6890 8FA70018 */ lw $a3, 0x0018($sp)
/* 00684 808A6894 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00688 808A6898 3C028016 */ lui $v0, %hi(gSaveContext)
/* 0068C 808A689C 90F80168 */ lbu $t8, 0x0168($a3) ## 00000168
/* 00690 808A68A0 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00694 808A68A4 57010007 */ bnel $t8, $at, .L808A68C4
/* 00698 808A68A8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0069C 808A68AC 845913D0 */ lh $t9, 0x13D0($v0) ## 8015FA30
/* 006A0 808A68B0 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
/* 006A4 808A68B4 5B200003 */ blezl $t9, .L808A68C4
/* 006A8 808A68B8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006AC 808A68BC A44813CE */ sh $t0, 0x13CE($v0) ## 8015FA2E
/* 006B0 808A68C0 8FBF0014 */ lw $ra, 0x0014($sp)
.L808A68C4:
/* 006B4 808A68C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006B8 808A68C8 03E00008 */ jr $ra
/* 006BC 808A68CC 00000000 */ nop

View File

@ -1,202 +0,0 @@
.rdata
glabel D_808A7DB0
.asciz "../z_bg_po_event.c"
.balign 4
glabel D_808A7DC4
.asciz "../z_bg_po_event.c"
.balign 4
glabel D_808A7DD8
.asciz "../z_bg_po_event.c"
.balign 4
.late_rodata
glabel D_808A7E00
.word 0x44504000
glabel D_808A7E04
.float 0.0025
glabel D_808A7E08
.float 0.3
glabel D_808A7E0C
.float 0.4
.text
glabel BgPoEvent_Draw
/* 0180C 808A7A1C 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
/* 01810 808A7A20 AFBF001C */ sw $ra, 0x001C($sp)
/* 01814 808A7A24 AFB00018 */ sw $s0, 0x0018($sp)
/* 01818 808A7A28 AFA50074 */ sw $a1, 0x0074($sp)
/* 0181C 808A7A2C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01820 808A7A30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01824 808A7A34 3C06808A */ lui $a2, %hi(D_808A7DB0) ## $a2 = 808A0000
/* 01828 808A7A38 24C67DB0 */ addiu $a2, $a2, %lo(D_808A7DB0) ## $a2 = 808A7DB0
/* 0182C 808A7A3C 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFC0
/* 01830 808A7A40 240705C9 */ addiu $a3, $zero, 0x05C9 ## $a3 = 000005C9
/* 01834 808A7A44 0C031AB1 */ jal Graph_OpenDisps
/* 01838 808A7A48 AFA50040 */ sw $a1, 0x0040($sp)
/* 0183C 808A7A4C 8FAF0074 */ lw $t7, 0x0074($sp)
/* 01840 808A7A50 0C024F46 */ jal func_80093D18
/* 01844 808A7A54 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 01848 808A7A58 92020168 */ lbu $v0, 0x0168($s0) ## 00000168
/* 0184C 808A7A5C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01850 808A7A60 8FA80040 */ lw $t0, 0x0040($sp)
/* 01854 808A7A64 10410004 */ beq $v0, $at, .L808A7A78
/* 01858 808A7A68 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
/* 0185C 808A7A6C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01860 808A7A70 54410018 */ bnel $v0, $at, .L808A7AD4
/* 01864 808A7A74 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
.L808A7A78:
/* 01868 808A7A78 8E020164 */ lw $v0, 0x0164($s0) ## 00000164
/* 0186C 808A7A7C 3C18808A */ lui $t8, %hi(func_808A7500) ## $t8 = 808A0000
/* 01870 808A7A80 27187500 */ addiu $t8, $t8, %lo(func_808A7500) ## $t8 = 808A7500
/* 01874 808A7A84 17020003 */ bne $t8, $v0, .L808A7A94
/* 01878 808A7A88 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000
/* 0187C 808A7A8C 10000008 */ beq $zero, $zero, .L808A7AB0
/* 01880 808A7A90 240400FF */ addiu $a0, $zero, 0x00FF ## $a0 = 000000FF
.L808A7A94:
/* 01884 808A7A94 3C19808A */ lui $t9, %hi(func_808A75B8) ## $t9 = 808A0000
/* 01888 808A7A98 273975B8 */ addiu $t9, $t9, %lo(func_808A75B8) ## $t9 = 808A75B8
/* 0188C 808A7A9C 57220004 */ bnel $t9, $v0, .L808A7AB0
/* 01890 808A7AA0 9204016D */ lbu $a0, 0x016D($s0) ## 0000016D
/* 01894 808A7AA4 10000002 */ beq $zero, $zero, .L808A7AB0
/* 01898 808A7AA8 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
/* 0189C 808A7AAC 9204016D */ lbu $a0, 0x016D($s0) ## 0000016D
.L808A7AB0:
/* 018A0 808A7AB0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 018A4 808A7AB4 308B00FF */ andi $t3, $a0, 0x00FF ## $t3 = 00000000
/* 018A8 808A7AB8 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00
/* 018AC 808A7ABC 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 018B0 808A7AC0 AD0902C0 */ sw $t1, 0x02C0($t0) ## 000002C0
/* 018B4 808A7AC4 01616025 */ or $t4, $t3, $at ## $t4 = FFFFFF00
/* 018B8 808A7AC8 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 018BC 808A7ACC AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 018C0 808A7AD0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
.L808A7AD4:
/* 018C4 808A7AD4 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
/* 018C8 808A7AD8 3C05808A */ lui $a1, %hi(D_808A7DC4) ## $a1 = 808A0000
/* 018CC 808A7ADC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 018D0 808A7AE0 AD0D02C0 */ sw $t5, 0x02C0($t0) ## 000002C0
/* 018D4 808A7AE4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 018D8 808A7AE8 8FAF0074 */ lw $t7, 0x0074($sp)
/* 018DC 808A7AEC 24A57DC4 */ addiu $a1, $a1, %lo(D_808A7DC4) ## $a1 = 808A7DC4
/* 018E0 808A7AF0 240605DD */ addiu $a2, $zero, 0x05DD ## $a2 = 000005DD
/* 018E4 808A7AF4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 018E8 808A7AF8 AFA80040 */ sw $t0, 0x0040($sp)
/* 018EC 808A7AFC 0C0346A2 */ jal Matrix_NewMtx
/* 018F0 808A7B00 AFA20028 */ sw $v0, 0x0028($sp)
/* 018F4 808A7B04 8FA30028 */ lw $v1, 0x0028($sp)
/* 018F8 808A7B08 8FA80040 */ lw $t0, 0x0040($sp)
/* 018FC 808A7B0C 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000
/* 01900 808A7B10 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01904 808A7B14 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0
/* 01908 808A7B18 3C0B808A */ lui $t3, %hi(D_808A7D94) ## $t3 = 808A0000
/* 0190C 808A7B1C 3C06808A */ lui $a2, %hi(D_808A7DD8) ## $a2 = 808A0000
/* 01910 808A7B20 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 01914 808A7B24 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 01918 808A7B28 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 0191C 808A7B2C 92090168 */ lbu $t1, 0x0168($s0) ## 00000168
/* 01920 808A7B30 24C67DD8 */ addiu $a2, $a2, %lo(D_808A7DD8) ## $a2 = 808A7DD8
/* 01924 808A7B34 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFC0
/* 01928 808A7B38 00095080 */ sll $t2, $t1, 2
/* 0192C 808A7B3C 016A5821 */ addu $t3, $t3, $t2
/* 01930 808A7B40 8D6B7D94 */ lw $t3, %lo(D_808A7D94)($t3)
/* 01934 808A7B44 240705E4 */ addiu $a3, $zero, 0x05E4 ## $a3 = 000005E4
/* 01938 808A7B48 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
/* 0193C 808A7B4C 8FAC0074 */ lw $t4, 0x0074($sp)
/* 01940 808A7B50 0C031AD5 */ jal Graph_CloseDisps
/* 01944 808A7B54 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
/* 01948 808A7B58 92020168 */ lbu $v0, 0x0168($s0) ## 00000168
/* 0194C 808A7B5C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01950 808A7B60 50400003 */ beql $v0, $zero, .L808A7B70
/* 01954 808A7B64 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01958 808A7B68 1441004A */ bne $v0, $at, .L808A7C94
/* 0195C 808A7B6C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L808A7B70:
/* 01960 808A7B70 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 01964 808A7B74 3C01808A */ lui $at, %hi(D_808A7E00) ## $at = 808A0000
/* 01968 808A7B78 C4247E00 */ lwc1 $f4, %lo(D_808A7E00)($at)
/* 0196C 808A7B7C C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 01970 808A7B80 3C01808A */ lui $at, %hi(D_808A7E04) ## $at = 808A0000
/* 01974 808A7B84 C42A7E04 */ lwc1 $f10, %lo(D_808A7E04)($at)
/* 01978 808A7B88 46062201 */ sub.s $f8, $f4, $f6
/* 0197C 808A7B8C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 01980 808A7B90 460A4002 */ mul.s $f0, $f8, $f10
/* 01984 808A7B94 4600103C */ c.lt.s $f2, $f0
/* 01988 808A7B98 00000000 */ nop
/* 0198C 808A7B9C 4503003E */ bc1tl .L808A7C98
/* 01990 808A7BA0 8FBF001C */ lw $ra, 0x001C($sp)
/* 01994 808A7BA4 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 01998 808A7BA8 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 0199C 808A7BAC 3C01808A */ lui $at, %hi(D_808A7E08) ## $at = 808A0000
/* 019A0 808A7BB0 E7B00058 */ swc1 $f16, 0x0058($sp)
/* 019A4 808A7BB4 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 019A8 808A7BB8 C42A7E08 */ lwc1 $f10, %lo(D_808A7E08)($at)
/* 019AC 808A7BBC 3C01808A */ lui $at, %hi(D_808A7E0C) ## $at = 808A0000
/* 019B0 808A7BC0 46049181 */ sub.s $f6, $f18, $f4
/* 019B4 808A7BC4 C4327E0C */ lwc1 $f18, %lo(D_808A7E0C)($at)
/* 019B8 808A7BC8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 019BC 808A7BCC 460A0402 */ mul.s $f16, $f0, $f10
/* 019C0 808A7BD0 E7A6005C */ swc1 $f6, 0x005C($sp)
/* 019C4 808A7BD4 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 019C8 808A7BD8 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 019CC 808A7BDC 3C01431B */ lui $at, 0x431B ## $at = 431B0000
/* 019D0 808A7BE0 E7A80060 */ swc1 $f8, 0x0060($sp)
/* 019D4 808A7BE4 46060202 */ mul.s $f8, $f0, $f6
/* 019D8 808A7BE8 44815000 */ mtc1 $at, $f10 ## $f10 = 155.00
/* 019DC 808A7BEC 46128100 */ add.s $f4, $f16, $f18
/* 019E0 808A7BF0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 019E4 808A7BF4 E7A20050 */ swc1 $f2, 0x0050($sp)
/* 019E8 808A7BF8 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 019EC 808A7BFC E7A40054 */ swc1 $f4, 0x0054($sp)
/* 019F0 808A7C00 460A4400 */ add.s $f16, $f8, $f10
/* 019F4 808A7C04 E7A4004C */ swc1 $f4, 0x004C($sp)
/* 019F8 808A7C08 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8
/* 019FC 808A7C0C 27A5004C */ addiu $a1, $sp, 0x004C ## $a1 = FFFFFFDC
/* 01A00 808A7C10 444DF800 */ cfc1 $t5, $31
/* 01A04 808A7C14 44C6F800 */ ctc1 $a2, $31
/* 01A08 808A7C18 8FA70074 */ lw $a3, 0x0074($sp)
/* 01A0C 808A7C1C 460084A4 */ cvt.w.s $f18, $f16
/* 01A10 808A7C20 4446F800 */ cfc1 $a2, $31
/* 01A14 808A7C24 00000000 */ nop
/* 01A18 808A7C28 30C60078 */ andi $a2, $a2, 0x0078 ## $a2 = 00000000
/* 01A1C 808A7C2C 50C00013 */ beql $a2, $zero, .L808A7C7C
/* 01A20 808A7C30 44069000 */ mfc1 $a2, $f18
/* 01A24 808A7C34 44819000 */ mtc1 $at, $f18 ## $f18 = 2147483648.00
/* 01A28 808A7C38 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 01A2C 808A7C3C 46128481 */ sub.s $f18, $f16, $f18
/* 01A30 808A7C40 44C6F800 */ ctc1 $a2, $31
/* 01A34 808A7C44 00000000 */ nop
/* 01A38 808A7C48 460094A4 */ cvt.w.s $f18, $f18
/* 01A3C 808A7C4C 4446F800 */ cfc1 $a2, $31
/* 01A40 808A7C50 00000000 */ nop
/* 01A44 808A7C54 30C60078 */ andi $a2, $a2, 0x0078 ## $a2 = 00000000
/* 01A48 808A7C58 14C00005 */ bne $a2, $zero, .L808A7C70
/* 01A4C 808A7C5C 00000000 */ nop
/* 01A50 808A7C60 44069000 */ mfc1 $a2, $f18
/* 01A54 808A7C64 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 01A58 808A7C68 10000007 */ beq $zero, $zero, .L808A7C88
/* 01A5C 808A7C6C 00C13025 */ or $a2, $a2, $at ## $a2 = 80000000
.L808A7C70:
/* 01A60 808A7C70 10000005 */ beq $zero, $zero, .L808A7C88
/* 01A64 808A7C74 2406FFFF */ addiu $a2, $zero, 0xFFFF ## $a2 = FFFFFFFF
/* 01A68 808A7C78 44069000 */ mfc1 $a2, $f18
.L808A7C7C:
/* 01A6C 808A7C7C 00000000 */ nop
/* 01A70 808A7C80 04C0FFFB */ bltz $a2, .L808A7C70
/* 01A74 808A7C84 00000000 */ nop
.L808A7C88:
/* 01A78 808A7C88 44CDF800 */ ctc1 $t5, $31
/* 01A7C 808A7C8C 0C00CF0C */ jal func_80033C30
/* 01A80 808A7C90 30C600FF */ andi $a2, $a2, 0x00FF ## $a2 = 000000FF
.L808A7C94:
/* 01A84 808A7C94 8FBF001C */ lw $ra, 0x001C($sp)
.L808A7C98:
/* 01A88 808A7C98 8FB00018 */ lw $s0, 0x0018($sp)
/* 01A8C 808A7C9C 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000
/* 01A90 808A7CA0 03E00008 */ jr $ra
/* 01A94 808A7CA4 00000000 */ nop
/* 01A98 808A7CA8 00000000 */ nop
/* 01A9C 808A7CAC 00000000 */ nop

View File

@ -1,78 +0,0 @@
glabel BgPoEvent_Init
/* 0052C 808A673C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00530 808A6740 AFB10020 */ sw $s1, 0x0020($sp)
/* 00534 808A6744 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00538 808A6748 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0053C 808A674C AFB0001C */ sw $s0, 0x001C($sp)
/* 00540 808A6750 3C05808A */ lui $a1, %hi(D_808A7D88) ## $a1 = 808A0000
/* 00544 808A6754 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00548 808A6758 0C01E037 */ jal Actor_ProcessInitChain
/* 0054C 808A675C 24A57D88 */ addiu $a1, $a1, %lo(D_808A7D88) ## $a1 = 808A7D88
/* 00550 808A6760 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 00554 808A6764 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 00558 808A6768 860A001C */ lh $t2, 0x001C($s0) ## 0000001C
/* 0055C 808A676C 000E7A03 */ sra $t7, $t6, 8
/* 00560 808A6770 31F8000F */ andi $t8, $t7, 0x000F ## $t8 = 00000000
/* 00564 808A6774 330C00FF */ andi $t4, $t8, 0x00FF ## $t4 = 00000000
/* 00568 808A6778 00194303 */ sra $t0, $t9, 12
/* 0056C 808A677C 3109000F */ andi $t1, $t0, 0x000F ## $t1 = 00000000
/* 00570 808A6780 29810002 */ slti $at, $t4, 0x0002
/* 00574 808A6784 314B003F */ andi $t3, $t2, 0x003F ## $t3 = 00000000
/* 00578 808A6788 A2180168 */ sb $t8, 0x0168($s0) ## 00000168
/* 0057C 808A678C A2090169 */ sb $t1, 0x0169($s0) ## 00000169
/* 00580 808A6790 1420001A */ bne $at, $zero, .L808A67FC
/* 00584 808A6794 A60B001C */ sh $t3, 0x001C($s0) ## 0000001C
/* 00588 808A6798 26050170 */ addiu $a1, $s0, 0x0170 ## $a1 = 00000170
/* 0058C 808A679C AFA5002C */ sw $a1, 0x002C($sp)
/* 00590 808A67A0 0C0171F8 */ jal Collider_InitTris
/* 00594 808A67A4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00598 808A67A8 3C07808A */ lui $a3, %hi(D_808A7D48) ## $a3 = 808A0000
/* 0059C 808A67AC 260D0190 */ addiu $t5, $s0, 0x0190 ## $t5 = 00000190
/* 005A0 808A67B0 8FA5002C */ lw $a1, 0x002C($sp)
/* 005A4 808A67B4 AFAD0010 */ sw $t5, 0x0010($sp)
/* 005A8 808A67B8 24E77D48 */ addiu $a3, $a3, %lo(D_808A7D48) ## $a3 = 808A7D48
/* 005AC 808A67BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005B0 808A67C0 0C0172EB */ jal Collider_SetTris
/* 005B4 808A67C4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 005B8 808A67C8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005BC 808A67CC 0C00B2D0 */ jal Flags_GetSwitch
/* 005C0 808A67D0 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 005C4 808A67D4 10400005 */ beq $v0, $zero, .L808A67EC
/* 005C8 808A67D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005CC 808A67DC 0C00B55C */ jal Actor_Kill
/* 005D0 808A67E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005D4 808A67E4 10000014 */ beq $zero, $zero, .L808A6838
/* 005D8 808A67E8 8FBF0024 */ lw $ra, 0x0024($sp)
.L808A67EC:
/* 005DC 808A67EC 0C229884 */ jal func_808A6210
/* 005E0 808A67F0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 005E4 808A67F4 10000010 */ beq $zero, $zero, .L808A6838
/* 005E8 808A67F8 8FBF0024 */ lw $ra, 0x0024($sp)
.L808A67FC:
/* 005EC 808A67FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005F0 808A6800 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 005F4 808A6804 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 005F8 808A6808 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005FC 808A680C 0C00B2D0 */ jal Flags_GetSwitch
/* 00600 808A6810 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 00604 808A6814 10400005 */ beq $v0, $zero, .L808A682C
/* 00608 808A6818 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0060C 808A681C 0C00B55C */ jal Actor_Kill
/* 00610 808A6820 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00614 808A6824 10000004 */ beq $zero, $zero, .L808A6838
/* 00618 808A6828 8FBF0024 */ lw $ra, 0x0024($sp)
.L808A682C:
/* 0061C 808A682C 0C229963 */ jal func_808A658C
/* 00620 808A6830 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00624 808A6834 8FBF0024 */ lw $ra, 0x0024($sp)
.L808A6838:
/* 00628 808A6838 8FB0001C */ lw $s0, 0x001C($sp)
/* 0062C 808A683C 8FB10020 */ lw $s1, 0x0020($sp)
/* 00630 808A6840 03E00008 */ jr $ra
/* 00634 808A6844 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View File

@ -1,29 +0,0 @@
glabel BgPoEvent_Update
/* 017A8 808A79B8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 017AC 808A79BC AFBF0014 */ sw $ra, 0x0014($sp)
/* 017B0 808A79C0 AFA5001C */ sw $a1, 0x001C($sp)
/* 017B4 808A79C4 AFA40018 */ sw $a0, 0x0018($sp)
/* 017B8 808A79C8 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 017BC 808A79CC 0320F809 */ jalr $ra, $t9
/* 017C0 808A79D0 00000000 */ nop
/* 017C4 808A79D4 8FA70018 */ lw $a3, 0x0018($sp)
/* 017C8 808A79D8 3C0E808A */ lui $t6, %hi(func_808A72AC) ## $t6 = 808A0000
/* 017CC 808A79DC 25CE72AC */ addiu $t6, $t6, %lo(func_808A72AC) ## $t6 = 808A72AC
/* 017D0 808A79E0 8CE20164 */ lw $v0, 0x0164($a3) ## 00000164
/* 017D4 808A79E4 3C0F808A */ lui $t7, %hi(func_808A75B8) ## $t7 = 808A0000
/* 017D8 808A79E8 8FA4001C */ lw $a0, 0x001C($sp)
/* 017DC 808A79EC 11C20002 */ beq $t6, $v0, .L808A79F8
/* 017E0 808A79F0 25EF75B8 */ addiu $t7, $t7, %lo(func_808A75B8) ## $t7 = 808A75B8
/* 017E4 808A79F4 15E20005 */ bne $t7, $v0, .L808A7A0C
.L808A79F8:
/* 017E8 808A79F8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 017EC 808A79FC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 017F0 808A7A00 00812821 */ addu $a1, $a0, $at
/* 017F4 808A7A04 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 017F8 808A7A08 24E60170 */ addiu $a2, $a3, 0x0170 ## $a2 = 00000170
.L808A7A0C:
/* 017FC 808A7A0C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01800 808A7A10 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01804 808A7A14 03E00008 */ jr $ra
/* 01808 808A7A18 00000000 */ nop

View File

@ -1,252 +0,0 @@
.late_rodata
glabel D_808A7DEC
.word 0x4019999A
glabel D_808A7DF0
.word 0x3FE8B439
.text
glabel func_808A6210
/* 00000 808A6210 27BDFF30 */ addiu $sp, $sp, 0xFF30 ## $sp = FFFFFF30
/* 00004 808A6214 AFB00050 */ sw $s0, 0x0050($sp)
/* 00008 808A6218 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0000C 808A621C AFBF0074 */ sw $ra, 0x0074($sp)
/* 00010 808A6220 AFBE0070 */ sw $s8, 0x0070($sp)
/* 00014 808A6224 AFB7006C */ sw $s7, 0x006C($sp)
/* 00018 808A6228 AFB60068 */ sw $s6, 0x0068($sp)
/* 0001C 808A622C AFB50064 */ sw $s5, 0x0064($sp)
/* 00020 808A6230 AFB40060 */ sw $s4, 0x0060($sp)
/* 00024 808A6234 AFB3005C */ sw $s3, 0x005C($sp)
/* 00028 808A6238 AFB20058 */ sw $s2, 0x0058($sp)
/* 0002C 808A623C AFB10054 */ sw $s1, 0x0054($sp)
/* 00030 808A6240 F7B80048 */ sdc1 $f24, 0x0048($sp)
/* 00034 808A6244 F7B60040 */ sdc1 $f22, 0x0040($sp)
/* 00038 808A6248 F7B40038 */ sdc1 $f20, 0x0038($sp)
/* 0003C 808A624C AFA500D4 */ sw $a1, 0x00D4($sp)
/* 00040 808A6250 0C01DE1C */ jal Math_Sins
## sins?
/* 00044 808A6254 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
/* 00048 808A6258 46000506 */ mov.s $f20, $f0
/* 0004C 808A625C 0C01DE0D */ jal Math_Coss
## coss?
/* 00050 808A6260 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00054 808A6264 92080168 */ lbu $t0, 0x0168($s0) ## 00000168
/* 00058 808A6268 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 0005C 808A626C 46000586 */ mov.s $f22, $f0
/* 00060 808A6270 1501000A */ bne $t0, $at, .L808A629C
/* 00064 808A6274 3C14808A */ lui $s4, %hi(D_808A7D48) ## $s4 = 808A0000
/* 00068 808A6278 3C01808A */ lui $at, %hi(D_808A7DEC) ## $at = 808A0000
/* 0006C 808A627C C4227DEC */ lwc1 $f2, %lo(D_808A7DEC)($at)
/* 00070 808A6280 3C01808A */ lui $at, %hi(D_808A7DF0) ## $at = 808A0000
/* 00074 808A6284 C4387DF0 */ lwc1 $f24, %lo(D_808A7DF0)($at)
/* 00078 808A6288 4602A502 */ mul.s $f20, $f20, $f2
/* 0007C 808A628C 00000000 */ nop
/* 00080 808A6290 46020582 */ mul.s $f22, $f0, $f2
/* 00084 808A6294 10000004 */ beq $zero, $zero, .L808A62A8
/* 00088 808A6298 00000000 */ nop
.L808A629C:
/* 0008C 808A629C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00090 808A62A0 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00
/* 00094 808A62A4 00000000 */ nop
.L808A62A8:
/* 00098 808A62A8 26947D48 */ addiu $s4, $s4, %lo(D_808A7D48) ## $s4 = 808A7D48
/* 0009C 808A62AC 8E8E0008 */ lw $t6, 0x0008($s4) ## 808A7D50
/* 000A0 808A62B0 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 000A4 808A62B4 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 000A8 808A62B8 19C00046 */ blez $t6, .L808A63D4
/* 000AC 808A62BC 26150170 */ addiu $s5, $s0, 0x0170 ## $s5 = 00000170
/* 000B0 808A62C0 27BE00B4 */ addiu $s8, $sp, 0x00B4 ## $s8 = FFFFFFE4
/* 000B4 808A62C4 27B700A8 */ addiu $s7, $sp, 0x00A8 ## $s7 = FFFFFFD8
/* 000B8 808A62C8 27B6009C */ addiu $s6, $sp, 0x009C ## $s6 = FFFFFFCC
/* 000BC 808A62CC 27B100C0 */ addiu $s1, $sp, 0x00C0 ## $s1 = FFFFFFF0
/* 000C0 808A62D0 8E8F000C */ lw $t7, 0x000C($s4) ## 808A7D54
.L808A62D4:
/* 000C4 808A62D4 27A3009C */ addiu $v1, $sp, 0x009C ## $v1 = FFFFFFCC
/* 000C8 808A62D8 026F1021 */ addu $v0, $s3, $t7
/* 000CC 808A62DC C44A0020 */ lwc1 $f10, 0x0020($v0) ## 00000020
/* 000D0 808A62E0 2463000C */ addiu $v1, $v1, 0x000C ## $v1 = FFFFFFD8
/* 000D4 808A62E4 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
/* 000D8 808A62E8 460AA402 */ mul.s $f16, $f20, $f10
/* 000DC 808A62EC 1071001A */ beq $v1, $s1, .L808A6358
/* 000E0 808A62F0 C44E0018 */ lwc1 $f14, 0x0018($v0) ## 00000018
.L808A62F4:
/* 000E4 808A62F4 46167302 */ mul.s $f12, $f14, $f22
/* 000E8 808A62F8 46109280 */ add.s $f10, $f18, $f16
/* 000EC 808A62FC 2463000C */ addiu $v1, $v1, 0x000C ## $v1 = FFFFFFE4
/* 000F0 808A6300 2442000C */ addiu $v0, $v0, 0x000C ## $v0 = 0000000C
/* 000F4 808A6304 460A6280 */ add.s $f10, $f12, $f10
/* 000F8 808A6308 E46AFFE8 */ swc1 $f10, -0x0018($v1) ## FFFFFFCC
/* 000FC 808A630C C44A0010 */ lwc1 $f10, 0x0010($v0) ## 0000001C
/* 00100 808A6310 C60C000C */ lwc1 $f12, 0x000C($s0) ## 0000000C
/* 00104 808A6314 46185282 */ mul.s $f10, $f10, $f24
/* 00108 808A6318 460C5300 */ add.s $f12, $f10, $f12
/* 0010C 808A631C E46CFFEC */ swc1 $f12, -0x0014($v1) ## FFFFFFD0
/* 00110 808A6320 C44C0014 */ lwc1 $f12, 0x0014($v0) ## 00000020
/* 00114 808A6324 C44A000C */ lwc1 $f10, 0x000C($v0) ## 00000018
/* 00118 808A6328 C6080010 */ lwc1 $f8, 0x0010($s0) ## 00000010
/* 0011C 808A632C 460CB302 */ mul.s $f12, $f22, $f12
/* 00120 808A6330 460C4300 */ add.s $f12, $f8, $f12
/* 00124 808A6334 46145282 */ mul.s $f10, $f10, $f20
/* 00128 808A6338 460A6281 */ sub.s $f10, $f12, $f10
/* 0012C 808A633C E46AFFF0 */ swc1 $f10, -0x0010($v1) ## FFFFFFD4
/* 00130 808A6340 C44A0020 */ lwc1 $f10, 0x0020($v0) ## 0000002C
/* 00134 808A6344 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
/* 00138 808A6348 C44E0018 */ lwc1 $f14, 0x0018($v0) ## 00000024
/* 0013C 808A634C 460AA402 */ mul.s $f16, $f20, $f10
/* 00140 808A6350 1471FFE8 */ bne $v1, $s1, .L808A62F4
/* 00144 808A6354 00000000 */ nop
.L808A6358:
/* 00148 808A6358 46167302 */ mul.s $f12, $f14, $f22
/* 0014C 808A635C 46109280 */ add.s $f10, $f18, $f16
/* 00150 808A6360 2442000C */ addiu $v0, $v0, 0x000C ## $v0 = 00000018
/* 00154 808A6364 460A6280 */ add.s $f10, $f12, $f10
/* 00158 808A6368 E46AFFF4 */ swc1 $f10, -0x000C($v1) ## FFFFFFD8
/* 0015C 808A636C C44A0010 */ lwc1 $f10, 0x0010($v0) ## 00000028
/* 00160 808A6370 C60C000C */ lwc1 $f12, 0x000C($s0) ## 0000000C
/* 00164 808A6374 46185282 */ mul.s $f10, $f10, $f24
/* 00168 808A6378 460C5300 */ add.s $f12, $f10, $f12
/* 0016C 808A637C E46CFFF8 */ swc1 $f12, -0x0008($v1) ## FFFFFFDC
/* 00170 808A6380 C44C0014 */ lwc1 $f12, 0x0014($v0) ## 0000002C
/* 00174 808A6384 C44A000C */ lwc1 $f10, 0x000C($v0) ## 00000024
/* 00178 808A6388 C6080010 */ lwc1 $f8, 0x0010($s0) ## 00000010
/* 0017C 808A638C 460CB302 */ mul.s $f12, $f22, $f12
/* 00180 808A6390 460C4300 */ add.s $f12, $f8, $f12
/* 00184 808A6394 46145282 */ mul.s $f10, $f10, $f20
/* 00188 808A6398 460A6281 */ sub.s $f10, $f12, $f10
/* 0018C 808A639C E46AFFFC */ swc1 $f10, -0x0004($v1) ## FFFFFFE0
/* 00190 808A63A0 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000170
/* 00194 808A63A4 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00198 808A63A8 02C03025 */ or $a2, $s6, $zero ## $a2 = FFFFFFCC
/* 0019C 808A63AC 02E03825 */ or $a3, $s7, $zero ## $a3 = FFFFFFD8
/* 001A0 808A63B0 0C0189E8 */ jal func_800627A0
/* 001A4 808A63B4 AFBE0010 */ sw $s8, 0x0010($sp)
/* 001A8 808A63B8 8E980008 */ lw $t8, 0x0008($s4) ## 808A7D50
/* 001AC 808A63BC 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
/* 001B0 808A63C0 2673003C */ addiu $s3, $s3, 0x003C ## $s3 = 0000003C
/* 001B4 808A63C4 0258082A */ slt $at, $s2, $t8
/* 001B8 808A63C8 5420FFC2 */ bnel $at, $zero, .L808A62D4
/* 001BC 808A63CC 8E8F000C */ lw $t7, 0x000C($s4) ## 808A7D54
/* 001C0 808A63D0 92080168 */ lbu $t0, 0x0168($s0) ## 00000168
.L808A63D4:
/* 001C4 808A63D4 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 001C8 808A63D8 51010044 */ beql $t0, $at, .L808A64EC
/* 001CC 808A63DC 92190168 */ lbu $t9, 0x0168($s0) ## 00000168
/* 001D0 808A63E0 92090169 */ lbu $t1, 0x0169($s0) ## 00000169
/* 001D4 808A63E4 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
/* 001D8 808A63E8 8FA600D4 */ lw $a2, 0x00D4($sp)
/* 001DC 808A63EC 1049003E */ beq $v0, $t1, .L808A64E8
/* 001E0 808A63F0 01201825 */ or $v1, $t1, $zero ## $v1 = 00000000
/* 001E4 808A63F4 14480003 */ bne $v0, $t0, .L808A6404
/* 001E8 808A63F8 3C0B808A */ lui $t3, %hi(D_808A7D68) ## $t3 = 808A0000
/* 001EC 808A63FC 10000002 */ beq $zero, $zero, .L808A6408
/* 001F0 808A6400 00605025 */ or $t2, $v1, $zero ## $t2 = 00000000
.L808A6404:
/* 001F4 808A6404 246A0002 */ addiu $t2, $v1, 0x0002 ## $t2 = 00000002
.L808A6408:
/* 001F8 808A6408 000AC840 */ sll $t9, $t2, 1
/* 001FC 808A640C 01795821 */ addu $t3, $t3, $t9
/* 00200 808A6410 856B7D68 */ lh $t3, %lo(D_808A7D68)($t3)
/* 00204 808A6414 00091040 */ sll $v0, $t1, 1
/* 00208 808A6418 3C0C808A */ lui $t4, %hi(D_808A7D70) ## $t4 = 808A0000
/* 0020C 808A641C 448BC000 */ mtc1 $t3, $f24 ## $f24 = -0.00
/* 00210 808A6420 01826021 */ addu $t4, $t4, $v0
/* 00214 808A6424 858C7D70 */ lh $t4, %lo(D_808A7D70)($t4)
/* 00218 808A6428 4680C620 */ cvt.s.w $f24, $f24
/* 0021C 808A642C 3C0D808A */ lui $t5, %hi(D_808A7D74) ## $t5 = 808A0000
/* 00220 808A6430 448CB000 */ mtc1 $t4, $f22 ## $f22 = -0.00
/* 00224 808A6434 01A26821 */ addu $t5, $t5, $v0
/* 00228 808A6438 85AD7D74 */ lh $t5, %lo(D_808A7D74)($t5)
/* 0022C 808A643C 4680B5A0 */ cvt.s.w $f22, $f22
/* 00230 808A6440 E7B80010 */ swc1 $f24, 0x0010($sp)
/* 00234 808A6444 448DC000 */ mtc1 $t5, $f24 ## $f24 = -0.00
/* 00238 808A6448 AFA0001C */ sw $zero, 0x001C($sp)
/* 0023C 808A644C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00240 808A6450 4680C620 */ cvt.s.w $f24, $f24
/* 00244 808A6454 E7B60014 */ swc1 $f22, 0x0014($sp)
/* 00248 808A6458 24780001 */ addiu $t8, $v1, 0x0001 ## $t8 = 00000001
/* 0024C 808A645C 0018CB00 */ sll $t9, $t8, 12
/* 00250 808A6460 00085A00 */ sll $t3, $t0, 8
/* 00254 808A6464 032B6021 */ addu $t4, $t9, $t3
/* 00258 808A6468 E7B80018 */ swc1 $f24, 0x0018($sp)
/* 0025C 808A646C 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 00260 808A6470 AFA00024 */ sw $zero, 0x0024($sp)
/* 00264 808A6474 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 00268 808A6478 01C17821 */ addu $t7, $t6, $at
/* 0026C 808A647C AFAF0020 */ sw $t7, 0x0020($sp)
/* 00270 808A6480 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
/* 00274 808A6484 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00278 808A6488 24070093 */ addiu $a3, $zero, 0x0093 ## $a3 = 00000093
/* 0027C 808A648C 018D7021 */ addu $t6, $t4, $t5
/* 00280 808A6490 0C00C916 */ jal Actor_SpawnAsChild
/* 00284 808A6494 AFAE0028 */ sw $t6, 0x0028($sp)
/* 00288 808A6498 54400006 */ bnel $v0, $zero, .L808A64B4
/* 0028C 808A649C 920F0169 */ lbu $t7, 0x0169($s0) ## 00000169
/* 00290 808A64A0 0C00B55C */ jal Actor_Kill
/* 00294 808A64A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00298 808A64A8 1000002A */ beq $zero, $zero, .L808A6554
/* 0029C 808A64AC 8FBF0074 */ lw $ra, 0x0074($sp)
/* 002A0 808A64B0 920F0169 */ lbu $t7, 0x0169($s0) ## 00000169
.L808A64B4:
/* 002A4 808A64B4 55E0000D */ bnel $t7, $zero, .L808A64EC
/* 002A8 808A64B8 92190168 */ lbu $t9, 0x0168($s0) ## 00000168
/* 002AC 808A64BC 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
/* 002B0 808A64C0 8C43011C */ lw $v1, 0x011C($v0) ## 0000011C
/* 002B4 808A64C4 54600006 */ bnel $v1, $zero, .L808A64E0
/* 002B8 808A64C8 AE030118 */ sw $v1, 0x0118($s0) ## 00000118
/* 002BC 808A64CC 0C00B55C */ jal Actor_Kill
/* 002C0 808A64D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002C4 808A64D4 1000001F */ beq $zero, $zero, .L808A6554
/* 002C8 808A64D8 8FBF0074 */ lw $ra, 0x0074($sp)
/* 002CC 808A64DC AE030118 */ sw $v1, 0x0118($s0) ## 00000118
.L808A64E0:
/* 002D0 808A64E0 8C58011C */ lw $t8, 0x011C($v0) ## 0000011C
/* 002D4 808A64E4 AF10011C */ sw $s0, 0x011C($t8) ## 0000011C
.L808A64E8:
/* 002D8 808A64E8 92190168 */ lbu $t9, 0x0168($s0) ## 00000168
.L808A64EC:
/* 002DC 808A64EC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 002E0 808A64F0 A600016C */ sh $zero, 0x016C($s0) ## 0000016C
/* 002E4 808A64F4 17210006 */ bne $t9, $at, .L808A6510
/* 002E8 808A64F8 3C0B808A */ lui $t3, %hi(func_808A72AC) ## $t3 = 808A0000
/* 002EC 808A64FC 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 002F0 808A6500 A02080A0 */ sb $zero, %lo(D_808A80A0)($at)
/* 002F4 808A6504 256B72AC */ addiu $t3, $t3, %lo(func_808A72AC) ## $t3 = 808A72AC
/* 002F8 808A6508 10000011 */ beq $zero, $zero, .L808A6550
/* 002FC 808A650C AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
.L808A6510:
/* 00300 808A6510 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00304 808A6514 00000000 */ nop
/* 00308 808A6518 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 0030C 808A651C 44815000 */ mtc1 $at, $f10 ## $f10 = 3.00
/* 00310 808A6520 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00314 808A6524 3C0F808A */ lui $t7, %hi(func_808A7500) ## $t7 = 808A0000
/* 00318 808A6528 460A0102 */ mul.s $f4, $f0, $f10
/* 0031C 808A652C 25EF7500 */ addiu $t7, $t7, %lo(func_808A7500) ## $t7 = 808A7500
/* 00320 808A6530 4600240D */ trunc.w.s $f16, $f4
/* 00324 808A6534 440D8000 */ mfc1 $t5, $f16
/* 00328 808A6538 00000000 */ nop
/* 0032C 808A653C 01A1001A */ div $zero, $t5, $at
/* 00330 808A6540 00007010 */ mfhi $t6
/* 00334 808A6544 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 00338 808A6548 A02E80A0 */ sb $t6, %lo(D_808A80A0)($at)
/* 0033C 808A654C AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
.L808A6550:
/* 00340 808A6550 8FBF0074 */ lw $ra, 0x0074($sp)
.L808A6554:
/* 00344 808A6554 D7B40038 */ ldc1 $f20, 0x0038($sp)
/* 00348 808A6558 D7B60040 */ ldc1 $f22, 0x0040($sp)
/* 0034C 808A655C D7B80048 */ ldc1 $f24, 0x0048($sp)
/* 00350 808A6560 8FB00050 */ lw $s0, 0x0050($sp)
/* 00354 808A6564 8FB10054 */ lw $s1, 0x0054($sp)
/* 00358 808A6568 8FB20058 */ lw $s2, 0x0058($sp)
/* 0035C 808A656C 8FB3005C */ lw $s3, 0x005C($sp)
/* 00360 808A6570 8FB40060 */ lw $s4, 0x0060($sp)
/* 00364 808A6574 8FB50064 */ lw $s5, 0x0064($sp)
/* 00368 808A6578 8FB60068 */ lw $s6, 0x0068($sp)
/* 0036C 808A657C 8FB7006C */ lw $s7, 0x006C($sp)
/* 00370 808A6580 8FBE0070 */ lw $s8, 0x0070($sp)
/* 00374 808A6584 03E00008 */ jr $ra
/* 00378 808A6588 27BD00D0 */ addiu $sp, $sp, 0x00D0 ## $sp = 00000000

View File

@ -1,126 +0,0 @@
.late_rodata
glabel D_808A7DF4
.word 0x44504000
.text
glabel func_808A658C
/* 0037C 808A658C 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 00380 808A6590 AFBF003C */ sw $ra, 0x003C($sp)
/* 00384 808A6594 AFB10038 */ sw $s1, 0x0038($sp)
/* 00388 808A6598 AFB00034 */ sw $s0, 0x0034($sp)
/* 0038C 808A659C AFA00058 */ sw $zero, 0x0058($sp)
/* 00390 808A65A0 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
/* 00394 808A65A4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00398 808A65A8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0039C 808A65AC 35CF0030 */ ori $t7, $t6, 0x0030 ## $t7 = 00000030
/* 003A0 808A65B0 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
/* 003A4 808A65B4 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 003A8 808A65B8 24847860 */ addiu $a0, $a0, 0x7860 ## $a0 = 06007860
/* 003AC 808A65BC 0C010620 */ jal DynaPolyInfo_Alloc
/* 003B0 808A65C0 27A50058 */ addiu $a1, $sp, 0x0058 ## $a1 = FFFFFFF8
/* 003B4 808A65C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 003B8 808A65C8 26250810 */ addiu $a1, $s1, 0x0810 ## $a1 = 00000810
/* 003BC 808A65CC 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 003C0 808A65D0 0C00FA9D */ jal DynaPolyInfo_RegisterActor
## DynaPolyInfo_setActor
/* 003C4 808A65D4 8FA70058 */ lw $a3, 0x0058($sp)
/* 003C8 808A65D8 92030168 */ lbu $v1, 0x0168($s0) ## 00000168
/* 003CC 808A65DC AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 003D0 808A65E0 14600043 */ bne $v1, $zero, .L808A66F0
/* 003D4 808A65E4 00000000 */ nop
/* 003D8 808A65E8 92080169 */ lbu $t0, 0x0169($s0) ## 00000169
/* 003DC 808A65EC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 003E0 808A65F0 3C18808A */ lui $t8, %hi(D_808A7D78) ## $t8 = 808A0000
/* 003E4 808A65F4 1101003E */ beq $t0, $at, .L808A66F0
/* 003E8 808A65F8 00081040 */ sll $v0, $t0, 1
/* 003EC 808A65FC 0302C021 */ addu $t8, $t8, $v0
/* 003F0 808A6600 87187D78 */ lh $t8, %lo(D_808A7D78)($t8)
/* 003F4 808A6604 3C19808A */ lui $t9, %hi(D_808A7D80) ## $t9 = 808A0000
/* 003F8 808A6608 0322C821 */ addu $t9, $t9, $v0
/* 003FC 808A660C 44982000 */ mtc1 $t8, $f4 ## $f4 = -0.00
/* 00400 808A6610 87397D80 */ lh $t9, %lo(D_808A7D80)($t9)
/* 00404 808A6614 250D0001 */ addiu $t5, $t0, 0x0001 ## $t5 = 00000001
/* 00408 808A6618 468021A0 */ cvt.s.w $f6, $f4
/* 0040C 808A661C 44995000 */ mtc1 $t9, $f10 ## $f10 = -0.00
/* 00410 808A6620 000D7300 */ sll $t6, $t5, 12
/* 00414 808A6624 00037A00 */ sll $t7, $v1, 8
/* 00418 808A6628 01CFC021 */ addu $t8, $t6, $t7
/* 0041C 808A662C 46805420 */ cvt.s.w $f16, $f10
/* 00420 808A6630 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00424 808A6634 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 00428 808A6638 AFA0001C */ sw $zero, 0x001C($sp)
/* 0042C 808A663C 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
/* 00430 808A6640 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 00434 808A6644 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 00438 808A6648 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6
/* 0043C 808A664C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00440 808A6650 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 00444 808A6654 AFAA0020 */ sw $t2, 0x0020($sp)
/* 00448 808A6658 860B00B8 */ lh $t3, 0x00B8($s0) ## 000000B8
/* 0044C 808A665C 24070093 */ addiu $a3, $zero, 0x0093 ## $a3 = 00000093
/* 00450 808A6660 256CC000 */ addiu $t4, $t3, 0xC000 ## $t4 = FFFFC000
/* 00454 808A6664 AFAC0024 */ sw $t4, 0x0024($sp)
/* 00458 808A6668 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 0045C 808A666C 03195021 */ addu $t2, $t8, $t9
/* 00460 808A6670 0C00C916 */ jal Actor_SpawnAsChild
/* 00464 808A6674 AFAA0028 */ sw $t2, 0x0028($sp)
/* 00468 808A6678 54400006 */ bnel $v0, $zero, .L808A6694
/* 0046C 808A667C 920B0169 */ lbu $t3, 0x0169($s0) ## 00000169
/* 00470 808A6680 0C00B55C */ jal Actor_Kill
/* 00474 808A6684 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00478 808A6688 10000028 */ beq $zero, $zero, .L808A672C
/* 0047C 808A668C 8FBF003C */ lw $ra, 0x003C($sp)
/* 00480 808A6690 920B0169 */ lbu $t3, 0x0169($s0) ## 00000169
.L808A6694:
/* 00484 808A6694 15600016 */ bne $t3, $zero, .L808A66F0
/* 00488 808A6698 00000000 */ nop
/* 0048C 808A669C 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
/* 00490 808A66A0 8C43011C */ lw $v1, 0x011C($v0) ## 0000011C
/* 00494 808A66A4 54600006 */ bnel $v1, $zero, .L808A66C0
/* 00498 808A66A8 8C64011C */ lw $a0, 0x011C($v1) ## 0000011C
/* 0049C 808A66AC 0C00B55C */ jal Actor_Kill
/* 004A0 808A66B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004A4 808A66B4 1000001D */ beq $zero, $zero, .L808A672C
/* 004A8 808A66B8 8FBF003C */ lw $ra, 0x003C($sp)
/* 004AC 808A66BC 8C64011C */ lw $a0, 0x011C($v1) ## 0000011C
.L808A66C0:
/* 004B0 808A66C0 54800008 */ bnel $a0, $zero, .L808A66E4
/* 004B4 808A66C4 AE040118 */ sw $a0, 0x0118($s0) ## 00000118
/* 004B8 808A66C8 0C00B55C */ jal Actor_Kill
/* 004BC 808A66CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004C0 808A66D0 0C00B55C */ jal Actor_Kill
/* 004C4 808A66D4 8E04011C */ lw $a0, 0x011C($s0) ## 0000011C
/* 004C8 808A66D8 10000014 */ beq $zero, $zero, .L808A672C
/* 004CC 808A66DC 8FBF003C */ lw $ra, 0x003C($sp)
/* 004D0 808A66E0 AE040118 */ sw $a0, 0x0118($s0) ## 00000118
.L808A66E4:
/* 004D4 808A66E4 8C4C011C */ lw $t4, 0x011C($v0) ## 0000011C
/* 004D8 808A66E8 8D8D011C */ lw $t5, 0x011C($t4) ## 0000011C
/* 004DC 808A66EC ADB0011C */ sw $s0, 0x011C($t5) ## 0000011C
.L808A66F0:
/* 004E0 808A66F0 3C01808A */ lui $at, %hi(D_808A7DF4) ## $at = 808A0000
/* 004E4 808A66F4 C4327DF4 */ lwc1 $f18, %lo(D_808A7DF4)($at)
/* 004E8 808A66F8 260E0024 */ addiu $t6, $s0, 0x0024 ## $t6 = 00000024
/* 004EC 808A66FC 262407C0 */ addiu $a0, $s1, 0x07C0 ## $a0 = 000007C0
/* 004F0 808A6700 E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028
/* 004F4 808A6704 AFAE0010 */ sw $t6, 0x0010($sp)
/* 004F8 808A6708 26050078 */ addiu $a1, $s0, 0x0078 ## $a1 = 00000078
/* 004FC 808A670C 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFFF4
/* 00500 808A6710 0C00F269 */ jal func_8003C9A4
/* 00504 808A6714 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
/* 00508 808A6718 3C0F808A */ lui $t7, %hi(func_808A68D0) ## $t7 = 808A0000
/* 0050C 808A671C 25EF68D0 */ addiu $t7, $t7, %lo(func_808A68D0) ## $t7 = 808A68D0
/* 00510 808A6720 E6000080 */ swc1 $f0, 0x0080($s0) ## 00000080
/* 00514 808A6724 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
/* 00518 808A6728 8FBF003C */ lw $ra, 0x003C($sp)
.L808A672C:
/* 0051C 808A672C 8FB00034 */ lw $s0, 0x0034($sp)
/* 00520 808A6730 8FB10038 */ lw $s1, 0x0038($sp)
/* 00524 808A6734 03E00008 */ jr $ra
/* 00528 808A6738 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000

View File

@ -1,78 +0,0 @@
.late_rodata
glabel D_808A7DF8
.word 0x44504000
.text
glabel func_808A68D0
/* 006C0 808A68D0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 006C4 808A68D4 3C01808A */ lui $at, %hi(D_808A7DF8) ## $at = 808A0000
/* 006C8 808A68D8 C4247DF8 */ lwc1 $f4, %lo(D_808A7DF8)($at)
/* 006CC 808A68DC AFBF0024 */ sw $ra, 0x0024($sp)
/* 006D0 808A68E0 AFB00020 */ sw $s0, 0x0020($sp)
/* 006D4 808A68E4 AFA5002C */ sw $a1, 0x002C($sp)
/* 006D8 808A68E8 3C03808B */ lui $v1, %hi(D_808A80A0) ## $v1 = 808B0000
/* 006DC 808A68EC 246380A0 */ addiu $v1, $v1, %lo(D_808A80A0) ## $v1 = 808A80A0
/* 006E0 808A68F0 E4840028 */ swc1 $f4, 0x0028($a0) ## 00000028
/* 006E4 808A68F4 90620000 */ lbu $v0, 0x0000($v1) ## 808A80A0
/* 006E8 808A68F8 2401003F */ addiu $at, $zero, 0x003F ## $at = 0000003F
/* 006EC 808A68FC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006F0 808A6900 54410011 */ bnel $v0, $at, .L808A6948
/* 006F4 808A6904 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 006F8 808A6908 908E0168 */ lbu $t6, 0x0168($a0) ## 00000168
/* 006FC 808A690C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00700 808A6910 8FA4002C */ lw $a0, 0x002C($sp)
/* 00704 808A6914 15C10005 */ bne $t6, $at, .L808A692C
/* 00708 808A6918 24050C4E */ addiu $a1, $zero, 0x0C4E ## $a1 = 00000C4E
/* 0070C 808A691C 24060041 */ addiu $a2, $zero, 0x0041 ## $a2 = 00000041
/* 00710 808A6920 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00714 808A6924 0C02003E */ jal func_800800F8
/* 00718 808A6928 AFA00010 */ sw $zero, 0x0010($sp)
.L808A692C:
/* 0071C 808A692C 3C18808A */ lui $t8, %hi(func_808A69DC) ## $t8 = 808A0000
/* 00720 808A6930 240F002D */ addiu $t7, $zero, 0x002D ## $t7 = 0000002D
/* 00724 808A6934 271869DC */ addiu $t8, $t8, %lo(func_808A69DC) ## $t8 = 808A69DC
/* 00728 808A6938 A60F016C */ sh $t7, 0x016C($s0) ## 0000016C
/* 0072C 808A693C 10000022 */ beq $zero, $zero, .L808A69C8
/* 00730 808A6940 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
/* 00734 808A6944 3C014248 */ lui $at, 0x4248 ## $at = 42480000
.L808A6948:
/* 00738 808A6948 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00
/* 0073C 808A694C C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
/* 00740 808A6950 4608303C */ c.lt.s $f6, $f8
/* 00744 808A6954 00000000 */ nop
/* 00748 808A6958 4502000F */ bc1fl .L808A6998
/* 0074C 808A695C 920D0168 */ lbu $t5, 0x0168($s0) ## 00000168
/* 00750 808A6960 92190168 */ lbu $t9, 0x0168($s0) ## 00000168
/* 00754 808A6964 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00758 808A6968 344C0010 */ ori $t4, $v0, 0x0010 ## $t4 = 00000010
/* 0075C 808A696C 13210007 */ beq $t9, $at, .L808A698C
/* 00760 808A6970 00000000 */ nop
/* 00764 808A6974 92080169 */ lbu $t0, 0x0169($s0) ## 00000169
/* 00768 808A6978 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 0076C 808A697C 01095004 */ sllv $t2, $t1, $t0
/* 00770 808A6980 004A5825 */ or $t3, $v0, $t2 ## $t3 = 00000000
/* 00774 808A6984 10000010 */ beq $zero, $zero, .L808A69C8
/* 00778 808A6988 A06B0000 */ sb $t3, 0x0000($v1) ## 00000000
.L808A698C:
/* 0077C 808A698C 1000000E */ beq $zero, $zero, .L808A69C8
/* 00780 808A6990 A06C0000 */ sb $t4, 0x0000($v1) ## 00000000
/* 00784 808A6994 920D0168 */ lbu $t5, 0x0168($s0) ## 00000168
.L808A6998:
/* 00788 808A6998 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0078C 808A699C 3048FFEF */ andi $t0, $v0, 0xFFEF ## $t0 = 00000000
/* 00790 808A69A0 51A10009 */ beql $t5, $at, .L808A69C8
/* 00794 808A69A4 A0680000 */ sb $t0, 0x0000($v1) ## 00000000
/* 00798 808A69A8 920E0169 */ lbu $t6, 0x0169($s0) ## 00000169
/* 0079C 808A69AC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 007A0 808A69B0 01CFC004 */ sllv $t8, $t7, $t6
/* 007A4 808A69B4 0300C827 */ nor $t9, $t8, $zero
/* 007A8 808A69B8 00594824 */ and $t1, $v0, $t9
/* 007AC 808A69BC 10000002 */ beq $zero, $zero, .L808A69C8
/* 007B0 808A69C0 A0690000 */ sb $t1, 0x0000($v1) ## 00000000
/* 007B4 808A69C4 A0680000 */ sb $t0, 0x0000($v1) ## 00000000
.L808A69C8:
/* 007B8 808A69C8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 007BC 808A69CC 8FB00020 */ lw $s0, 0x0020($sp)
/* 007C0 808A69D0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 007C4 808A69D4 03E00008 */ jr $ra
/* 007C8 808A69D8 00000000 */ nop

View File

@ -1,52 +0,0 @@
glabel func_808A69DC
/* 007CC 808A69DC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 007D0 808A69E0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 007D4 808A69E4 AFA5001C */ sw $a1, 0x001C($sp)
/* 007D8 808A69E8 8482016C */ lh $v0, 0x016C($a0) ## 0000016C
/* 007DC 808A69EC 10400003 */ beq $v0, $zero, .L808A69FC
/* 007E0 808A69F0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 007E4 808A69F4 A48E016C */ sh $t6, 0x016C($a0) ## 0000016C
/* 007E8 808A69F8 8482016C */ lh $v0, 0x016C($a0) ## 0000016C
.L808A69FC:
/* 007EC 808A69FC 2841000F */ slti $at, $v0, 0x000F
/* 007F0 808A6A00 10200016 */ beq $at, $zero, .L808A6A5C
/* 007F4 808A6A04 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 007F8 808A6A08 0041001A */ div $zero, $v0, $at
/* 007FC 808A6A0C 00007810 */ mfhi $t7
/* 00800 808A6A10 25F8FFFF */ addiu $t8, $t7, 0xFFFF ## $t8 = FFFFFFFF
/* 00804 808A6A14 44982000 */ mtc1 $t8, $f4 ## $f4 = NaN
/* 00808 808A6A18 C4860008 */ lwc1 $f6, 0x0008($a0) ## 00000008
/* 0080C 808A6A1C 24052838 */ addiu $a1, $zero, 0x2838 ## $a1 = 00002838
/* 00810 808A6A20 46802020 */ cvt.s.w $f0, $f4
/* 00814 808A6A24 46000200 */ add.s $f8, $f0, $f0
/* 00818 808A6A28 46083280 */ add.s $f10, $f6, $f8
/* 0081C 808A6A2C E48A0024 */ swc1 $f10, 0x0024($a0) ## 00000024
/* 00820 808A6A30 04410004 */ bgez $v0, .L808A6A44
/* 00824 808A6A34 30590003 */ andi $t9, $v0, 0x0003 ## $t9 = 00000000
/* 00828 808A6A38 13200002 */ beq $t9, $zero, .L808A6A44
/* 0082C 808A6A3C 00000000 */ nop
/* 00830 808A6A40 2739FFFC */ addiu $t9, $t9, 0xFFFC ## $t9 = FFFFFFFC
.L808A6A44:
/* 00834 808A6A44 17200005 */ bne $t9, $zero, .L808A6A5C
/* 00838 808A6A48 00000000 */ nop
/* 0083C 808A6A4C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00840 808A6A50 AFA40018 */ sw $a0, 0x0018($sp)
/* 00844 808A6A54 8FA40018 */ lw $a0, 0x0018($sp)
/* 00848 808A6A58 8482016C */ lh $v0, 0x016C($a0) ## 0000016C
.L808A6A5C:
/* 0084C 808A6A5C 14400009 */ bne $v0, $zero, .L808A6A84
/* 00850 808A6A60 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 00854 808A6A64 C4900008 */ lwc1 $f16, 0x0008($a0) ## 00000008
/* 00858 808A6A68 3C09808A */ lui $t1, %hi(func_808A6BC8) ## $t1 = 808A0000
/* 0085C 808A6A6C 2408003C */ addiu $t0, $zero, 0x003C ## $t0 = 0000003C
/* 00860 808A6A70 E4900024 */ swc1 $f16, 0x0024($a0) ## 00000024
/* 00864 808A6A74 A02080A0 */ sb $zero, %lo(D_808A80A0)($at)
/* 00868 808A6A78 25296BC8 */ addiu $t1, $t1, %lo(func_808A6BC8) ## $t1 = 808A6BC8
/* 0086C 808A6A7C A488016C */ sh $t0, 0x016C($a0) ## 0000016C
/* 00870 808A6A80 AC890164 */ sw $t1, 0x0164($a0) ## 00000164
.L808A6A84:
/* 00874 808A6A84 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00878 808A6A88 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0087C 808A6A8C 03E00008 */ jr $ra
/* 00880 808A6A90 00000000 */ nop

View File

@ -1,84 +0,0 @@
glabel func_808A6A94
/* 00884 808A6A94 90820169 */ lbu $v0, 0x0169($a0) ## 00000169
/* 00888 808A6A98 24070003 */ addiu $a3, $zero, 0x0003 ## $a3 = 00000003
/* 0088C 808A6A9C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00890 808A6AA0 10E20003 */ beq $a3, $v0, .L808A6AB0
/* 00894 808A6AA4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00898 808A6AA8 5441001B */ bnel $v0, $at, .L808A6B18
/* 0089C 808A6AAC 8C86011C */ lw $a2, 0x011C($a0) ## 0000011C
.L808A6AB0:
/* 008A0 808A6AB0 8C86011C */ lw $a2, 0x011C($a0) ## 0000011C
/* 008A4 808A6AB4 C484002C */ lwc1 $f4, 0x002C($a0) ## 0000002C
/* 008A8 808A6AB8 C4C8002C */ lwc1 $f8, 0x002C($a2) ## 0000002C
/* 008AC 808A6ABC 4600218D */ trunc.w.s $f6, $f4
/* 008B0 808A6AC0 4600428D */ trunc.w.s $f10, $f8
/* 008B4 808A6AC4 44033000 */ mfc1 $v1, $f6
/* 008B8 808A6AC8 44055000 */ mfc1 $a1, $f10
/* 008BC 808A6ACC 54E2000A */ bnel $a3, $v0, .L808A6AF8
/* 008C0 808A6AD0 C4C80024 */ lwc1 $f8, 0x0024($a2) ## 00000024
/* 008C4 808A6AD4 C4900024 */ lwc1 $f16, 0x0024($a0) ## 00000024
/* 008C8 808A6AD8 C4C40024 */ lwc1 $f4, 0x0024($a2) ## 00000024
/* 008CC 808A6ADC 4600848D */ trunc.w.s $f18, $f16
/* 008D0 808A6AE0 4600218D */ trunc.w.s $f6, $f4
/* 008D4 808A6AE4 44079000 */ mfc1 $a3, $f18
/* 008D8 808A6AE8 44083000 */ mfc1 $t0, $f6
/* 008DC 808A6AEC 10000021 */ beq $zero, $zero, .L808A6B74
/* 008E0 808A6AF0 00000000 */ nop
/* 008E4 808A6AF4 C4C80024 */ lwc1 $f8, 0x0024($a2) ## 00000024
.L808A6AF8:
/* 008E8 808A6AF8 C4900024 */ lwc1 $f16, 0x0024($a0) ## 00000024
/* 008EC 808A6AFC 4600428D */ trunc.w.s $f10, $f8
/* 008F0 808A6B00 4600848D */ trunc.w.s $f18, $f16
/* 008F4 808A6B04 44075000 */ mfc1 $a3, $f10
/* 008F8 808A6B08 44089000 */ mfc1 $t0, $f18
/* 008FC 808A6B0C 10000019 */ beq $zero, $zero, .L808A6B74
/* 00900 808A6B10 00000000 */ nop
/* 00904 808A6B14 8C86011C */ lw $a2, 0x011C($a0) ## 0000011C
.L808A6B18:
/* 00908 808A6B18 C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
/* 0090C 808A6B1C C4C80024 */ lwc1 $f8, 0x0024($a2) ## 00000024
/* 00910 808A6B20 4600218D */ trunc.w.s $f6, $f4
/* 00914 808A6B24 4600428D */ trunc.w.s $f10, $f8
/* 00918 808A6B28 44033000 */ mfc1 $v1, $f6
/* 0091C 808A6B2C 44055000 */ mfc1 $a1, $f10
/* 00920 808A6B30 5440000A */ bnel $v0, $zero, .L808A6B5C
/* 00924 808A6B34 C4C8002C */ lwc1 $f8, 0x002C($a2) ## 0000002C
/* 00928 808A6B38 C490002C */ lwc1 $f16, 0x002C($a0) ## 0000002C
/* 0092C 808A6B3C C4C4002C */ lwc1 $f4, 0x002C($a2) ## 0000002C
/* 00930 808A6B40 4600848D */ trunc.w.s $f18, $f16
/* 00934 808A6B44 4600218D */ trunc.w.s $f6, $f4
/* 00938 808A6B48 44079000 */ mfc1 $a3, $f18
/* 0093C 808A6B4C 44083000 */ mfc1 $t0, $f6
/* 00940 808A6B50 10000008 */ beq $zero, $zero, .L808A6B74
/* 00944 808A6B54 00000000 */ nop
/* 00948 808A6B58 C4C8002C */ lwc1 $f8, 0x002C($a2) ## 0000002C
.L808A6B5C:
/* 0094C 808A6B5C C490002C */ lwc1 $f16, 0x002C($a0) ## 0000002C
/* 00950 808A6B60 4600428D */ trunc.w.s $f10, $f8
/* 00954 808A6B64 4600848D */ trunc.w.s $f18, $f16
/* 00958 808A6B68 44075000 */ mfc1 $a3, $f10
/* 0095C 808A6B6C 44089000 */ mfc1 $t0, $f18
/* 00960 808A6B70 00000000 */ nop
.L808A6B74:
/* 00964 808A6B74 1465000B */ bne $v1, $a1, .L808A6BA4
/* 00968 808A6B78 0107C823 */ subu $t9, $t0, $a3
/* 0096C 808A6B7C 2401003C */ addiu $at, $zero, 0x003C ## $at = 0000003C
/* 00970 808A6B80 17210008 */ bne $t9, $at, .L808A6BA4
/* 00974 808A6B84 3C03808B */ lui $v1, %hi(D_808A80A0) ## $v1 = 808B0000
/* 00978 808A6B88 246380A0 */ addiu $v1, $v1, %lo(D_808A80A0) ## $v1 = 808A80A0
/* 0097C 808A6B8C 90690000 */ lbu $t1, 0x0000($v1) ## 808A80A0
/* 00980 808A6B90 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00984 808A6B94 004A5804 */ sllv $t3, $t2, $v0
/* 00988 808A6B98 012B6025 */ or $t4, $t1, $t3 ## $t4 = 00000000
/* 0098C 808A6B9C 03E00008 */ jr $ra
/* 00990 808A6BA0 A06C0000 */ sb $t4, 0x0000($v1) ## 808A80A0
.L808A6BA4:
/* 00994 808A6BA4 3C03808B */ lui $v1, %hi(D_808A80A0) ## $v1 = 808B0000
/* 00998 808A6BA8 246380A0 */ addiu $v1, $v1, %lo(D_808A80A0) ## $v1 = 808A80A0
/* 0099C 808A6BAC 906D0000 */ lbu $t5, 0x0000($v1) ## 808A80A0
/* 009A0 808A6BB0 004E7804 */ sllv $t7, $t6, $v0
/* 009A4 808A6BB4 01E0C027 */ nor $t8, $t7, $zero
/* 009A8 808A6BB8 01B8C824 */ and $t9, $t5, $t8
/* 009AC 808A6BBC A0790000 */ sb $t9, 0x0000($v1) ## 808A80A0
/* 009B0 808A6BC0 03E00008 */ jr $ra
/* 009B4 808A6BC4 00000000 */ nop

View File

@ -1,72 +0,0 @@
glabel func_808A6BC8
/* 009B8 808A6BC8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 009BC 808A6BCC AFBF001C */ sw $ra, 0x001C($sp)
/* 009C0 808A6BD0 AFB00018 */ sw $s0, 0x0018($sp)
/* 009C4 808A6BD4 AFA50024 */ sw $a1, 0x0024($sp)
/* 009C8 808A6BD8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 009CC 808A6BDC 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 009D0 808A6BE0 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060
/* 009D4 808A6BE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009D8 808A6BE8 3C0543D8 */ lui $a1, 0x43D8 ## $a1 = 43D80000
/* 009DC 808A6BEC 46062200 */ add.s $f8, $f4, $f6
/* 009E0 808A6BF0 34A58000 */ ori $a1, $a1, 0x8000 ## $a1 = 43D88000
/* 009E4 808A6BF4 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
/* 009E8 808A6BF8 E4880038 */ swc1 $f8, 0x0038($a0) ## 00000060
/* 009EC 808A6BFC 0C01DE80 */ jal Math_ApproxF
/* 009F0 808A6C00 8E060060 */ lw $a2, 0x0060($s0) ## 00000060
/* 009F4 808A6C04 1040002C */ beq $v0, $zero, .L808A6CB8
/* 009F8 808A6C08 2401FFDF */ addiu $at, $zero, 0xFFDF ## $at = FFFFFFDF
/* 009FC 808A6C0C 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
/* 00A00 808A6C10 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00A04 808A6C14 3C02808A */ lui $v0, %hi(D_808A7D58) ## $v0 = 808A0000
/* 00A08 808A6C18 01C17824 */ and $t7, $t6, $at
/* 00A0C 808A6C1C 24427D58 */ addiu $v0, $v0, %lo(D_808A7D58) ## $v0 = 808A7D58
/* 00A10 808A6C20 AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004
/* 00A14 808A6C24 E60A0060 */ swc1 $f10, 0x0060($s0) ## 00000060
/* 00A18 808A6C28 90580000 */ lbu $t8, 0x0000($v0) ## 808A7D58
/* 00A1C 808A6C2C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00A20 808A6C30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A24 808A6C34 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
/* 00A28 808A6C38 A0590000 */ sb $t9, 0x0000($v0) ## 808A7D58
/* 00A2C 808A6C3C 92080168 */ lbu $t0, 0x0168($s0) ## 00000168
/* 00A30 808A6C40 11010005 */ beq $t0, $at, .L808A6C58
/* 00A34 808A6C44 00000000 */ nop
/* 00A38 808A6C48 0C229AA5 */ jal func_808A6A94
/* 00A3C 808A6C4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A40 808A6C50 10000015 */ beq $zero, $zero, .L808A6CA8
/* 00A44 808A6C54 00000000 */ nop
.L808A6C58:
/* 00A48 808A6C58 0C00BE0A */ jal Audio_PlayActorSound2
/* 00A4C 808A6C5C 2405281D */ addiu $a1, $zero, 0x281D ## $a1 = 0000281D
/* 00A50 808A6C60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A54 808A6C64 8FA50024 */ lw $a1, 0x0024($sp)
/* 00A58 808A6C68 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 00A5C 808A6C6C 0C00CFA2 */ jal func_80033E88
/* 00A60 808A6C70 24070005 */ addiu $a3, $zero, 0x0005 ## $a3 = 00000005
/* 00A64 808A6C74 0C0222CD */ jal func_80088B34
/* 00A68 808A6C78 8604016C */ lh $a0, 0x016C($s0) ## 0000016C
/* 00A6C 808A6C7C 3C09808A */ lui $t1, %hi(D_808A7D8C) ## $t1 = 808A0000
/* 00A70 808A6C80 8D297D8C */ lw $t1, %lo(D_808A7D8C)($t1)
/* 00A74 808A6C84 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00A78 808A6C88 8FA40024 */ lw $a0, 0x0024($sp)
/* 00A7C 808A6C8C 15200004 */ bne $t1, $zero, .L808A6CA0
/* 00A80 808A6C90 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
/* 00A84 808A6C94 3C01808A */ lui $at, %hi(D_808A7D8C) ## $at = 808A0000
/* 00A88 808A6C98 10000003 */ beq $zero, $zero, .L808A6CA8
/* 00A8C 808A6C9C AC2A7D8C */ sw $t2, %lo(D_808A7D8C)($at)
.L808A6CA0:
/* 00A90 808A6CA0 0C00B7D5 */ jal func_8002DF54
/* 00A94 808A6CA4 8C851C44 */ lw $a1, 0x1C44($a0) ## 00001C44
.L808A6CA8:
/* 00A98 808A6CA8 3C0C808A */ lui $t4, %hi(func_808A6CCC) ## $t4 = 808A0000
/* 00A9C 808A6CAC 258C6CCC */ addiu $t4, $t4, %lo(func_808A6CCC) ## $t4 = 808A6CCC
/* 00AA0 808A6CB0 A200016A */ sb $zero, 0x016A($s0) ## 0000016A
/* 00AA4 808A6CB4 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164
.L808A6CB8:
/* 00AA8 808A6CB8 8FBF001C */ lw $ra, 0x001C($sp)
/* 00AAC 808A6CBC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00AB0 808A6CC0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00AB4 808A6CC4 03E00008 */ jr $ra
/* 00AB8 808A6CC8 00000000 */ nop

View File

@ -1,187 +0,0 @@
glabel func_808A6CCC
/* 00ABC 808A6CCC 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00AC0 808A6CD0 3C03808B */ lui $v1, %hi(D_808A80A0) ## $v1 = 808B0000
/* 00AC4 808A6CD4 246380A0 */ addiu $v1, $v1, %lo(D_808A80A0) ## $v1 = 808A80A0
/* 00AC8 808A6CD8 90620000 */ lbu $v0, 0x0000($v1) ## 808A80A0
/* 00ACC 808A6CDC AFBF0034 */ sw $ra, 0x0034($sp)
/* 00AD0 808A6CE0 AFB00030 */ sw $s0, 0x0030($sp)
/* 00AD4 808A6CE4 AFA50044 */ sw $a1, 0x0044($sp)
/* 00AD8 808A6CE8 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00ADC 808A6CEC 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 00AE0 808A6CF0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AE4 808A6CF4 1441002C */ bne $v0, $at, .L808A6DA8
/* 00AE8 808A6CF8 AFAF003C */ sw $t7, 0x003C($sp)
/* 00AEC 808A6CFC 90990168 */ lbu $t9, 0x0168($a0) ## 00000168
/* 00AF0 808A6D00 3C18808A */ lui $t8, %hi(func_808A7238) ## $t8 = 808A0000
/* 00AF4 808A6D04 27187238 */ addiu $t8, $t8, %lo(func_808A7238) ## $t8 = 808A7238
/* 00AF8 808A6D08 17200097 */ bne $t9, $zero, .L808A6F68
/* 00AFC 808A6D0C AC980164 */ sw $t8, 0x0164($a0) ## 00000164
/* 00B00 808A6D10 90880169 */ lbu $t0, 0x0169($a0) ## 00000169
/* 00B04 808A6D14 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00B08 808A6D18 55000094 */ bnel $t0, $zero, .L808A6F6C
/* 00B0C 808A6D1C 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00B10 808A6D20 44810000 */ mtc1 $at, $f0 ## $f0 = 30.00
/* 00B14 808A6D24 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 00B18 808A6D28 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 00B1C 808A6D2C 8FA50044 */ lw $a1, 0x0044($sp)
/* 00B20 808A6D30 46004281 */ sub.s $f10, $f8, $f0
/* 00B24 808A6D34 24060091 */ addiu $a2, $zero, 0x0091 ## $a2 = 00000091
/* 00B28 808A6D38 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
/* 00B2C 808A6D3C 46002180 */ add.s $f6, $f4, $f0
/* 00B30 808A6D40 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00B34 808A6D44 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 00B38 808A6D48 AFA00018 */ sw $zero, 0x0018($sp)
/* 00B3C 808A6D4C 44073000 */ mfc1 $a3, $f6
/* 00B40 808A6D50 46008480 */ add.s $f18, $f16, $f0
/* 00B44 808A6D54 E7B20014 */ swc1 $f18, 0x0014($sp)
/* 00B48 808A6D58 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6
/* 00B4C 808A6D5C AFA00020 */ sw $zero, 0x0020($sp)
/* 00B50 808A6D60 AFAA001C */ sw $t2, 0x001C($sp)
/* 00B54 808A6D64 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
/* 00B58 808A6D68 256C0300 */ addiu $t4, $t3, 0x0300 ## $t4 = 00000300
/* 00B5C 808A6D6C 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 00B60 808A6D70 AFAC0024 */ sw $t4, 0x0024($sp)
/* 00B64 808A6D74 10400006 */ beq $v0, $zero, .L808A6D90
/* 00B68 808A6D78 00403825 */ or $a3, $v0, $zero ## $a3 = 00000000
/* 00B6C 808A6D7C 8FA40044 */ lw $a0, 0x0044($sp)
/* 00B70 808A6D80 24050C62 */ addiu $a1, $zero, 0x0C62 ## $a1 = 00000C62
/* 00B74 808A6D84 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E
/* 00B78 808A6D88 0C02003E */ jal func_800800F8
/* 00B7C 808A6D8C AFA00010 */ sw $zero, 0x0010($sp)
.L808A6D90:
/* 00B80 808A6D90 0C01E221 */ jal func_80078884
/* 00B84 808A6D94 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
/* 00B88 808A6D98 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A
/* 00B8C 808A6D9C 3C018016 */ lui $at, %hi(gSaveContext+0x13ce)
/* 00B90 808A6DA0 10000071 */ beq $zero, $zero, .L808A6F68
/* 00B94 808A6DA4 A42DFA2E */ sh $t5, %lo(gSaveContext+0x13ce)($at)
.L808A6DA8:
/* 00B98 808A6DA8 3C0E8016 */ lui $t6, %hi(gSaveContext+0x13d0)
/* 00B9C 808A6DAC 85CEFA30 */ lh $t6, %lo(gSaveContext+0x13d0)($t6)
/* 00BA0 808A6DB0 3C0F808A */ lui $t7, %hi(D_808A7D58) ## $t7 = 808A0000
/* 00BA4 808A6DB4 55C00010 */ bnel $t6, $zero, .L808A6DF8
/* 00BA8 808A6DB8 24010040 */ addiu $at, $zero, 0x0040 ## $at = 00000040
/* 00BAC 808A6DBC 91EF7D58 */ lbu $t7, %lo(D_808A7D58)($t7)
/* 00BB0 808A6DC0 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00BB4 808A6DC4 8FB8003C */ lw $t8, 0x003C($sp)
/* 00BB8 808A6DC8 55E1000B */ bnel $t7, $at, .L808A6DF8
/* 00BBC 808A6DCC 24010040 */ addiu $at, $zero, 0x0040 ## $at = 00000040
/* 00BC0 808A6DD0 8F190680 */ lw $t9, 0x0680($t8) ## 00000680
/* 00BC4 808A6DD4 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 00BC8 808A6DD8 24090010 */ addiu $t1, $zero, 0x0010 ## $t1 = 00000010
/* 00BCC 808A6DDC 03214024 */ and $t0, $t9, $at
/* 00BD0 808A6DE0 AF080680 */ sw $t0, 0x0680($t8) ## 00000680
/* 00BD4 808A6DE4 A0690000 */ sb $t1, 0x0000($v1) ## 00000000
/* 00BD8 808A6DE8 3C01808A */ lui $at, %hi(D_808A7D58) ## $at = 808A0000
/* 00BDC 808A6DEC A0207D58 */ sb $zero, %lo(D_808A7D58)($at)
/* 00BE0 808A6DF0 90620000 */ lbu $v0, 0x0000($v1) ## 00000000
/* 00BE4 808A6DF4 24010040 */ addiu $at, $zero, 0x0040 ## $at = 00000040
.L808A6DF8:
/* 00BE8 808A6DF8 10410008 */ beq $v0, $at, .L808A6E1C
/* 00BEC 808A6DFC 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 00BF0 808A6E00 5441001A */ bnel $v0, $at, .L808A6E6C
/* 00BF4 808A6E04 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00BF8 808A6E08 0C023A62 */ jal Player_InCsMode
/* 00BFC 808A6E0C 8FA40044 */ lw $a0, 0x0044($sp)
/* 00C00 808A6E10 3C03808B */ lui $v1, %hi(D_808A80A0) ## $v1 = 808B0000
/* 00C04 808A6E14 14400014 */ bne $v0, $zero, .L808A6E68
/* 00C08 808A6E18 246380A0 */ addiu $v1, $v1, %lo(D_808A80A0) ## $v1 = 808A80A0
.L808A6E1C:
/* 00C0C 808A6E1C 860A00B8 */ lh $t2, 0x00B8($s0) ## 000000B8
/* 00C10 808A6E20 3C0B808A */ lui $t3, %hi(func_808A7138) ## $t3 = 808A0000
/* 00C14 808A6E24 256B7138 */ addiu $t3, $t3, %lo(func_808A7138) ## $t3 = 808A7138
/* 00C18 808A6E28 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
/* 00C1C 808A6E2C A60A0034 */ sh $t2, 0x0034($s0) ## 00000034
/* 00C20 808A6E30 906C0000 */ lbu $t4, 0x0000($v1) ## 808A80A0
/* 00C24 808A6E34 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 00C28 808A6E38 240D0040 */ addiu $t5, $zero, 0x0040 ## $t5 = 00000040
/* 00C2C 808A6E3C 1581004A */ bne $t4, $at, .L808A6F68
/* 00C30 808A6E40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C34 808A6E44 A06D0000 */ sb $t5, 0x0000($v1) ## 808A80A0
/* 00C38 808A6E48 0C00BE0A */ jal Audio_PlayActorSound2
/* 00C3C 808A6E4C 240528A4 */ addiu $a1, $zero, 0x28A4 ## $a1 = 000028A4
/* 00C40 808A6E50 8FA40044 */ lw $a0, 0x0044($sp)
/* 00C44 808A6E54 8FA5003C */ lw $a1, 0x003C($sp)
/* 00C48 808A6E58 0C00B7D5 */ jal func_8002DF54
/* 00C4C 808A6E5C 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008
/* 00C50 808A6E60 10000042 */ beq $zero, $zero, .L808A6F6C
/* 00C54 808A6E64 8FBF0034 */ lw $ra, 0x0034($sp)
.L808A6E68:
/* 00C58 808A6E68 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
.L808A6E6C:
/* 00C5C 808A6E6C C6040150 */ lwc1 $f4, 0x0150($s0) ## 00000150
/* 00C60 808A6E70 46040032 */ c.eq.s $f0, $f4
/* 00C64 808A6E74 00000000 */ nop
/* 00C68 808A6E78 4503003B */ bc1tl .L808A6F68
/* 00C6C 808A6E7C A200016A */ sb $zero, 0x016A($s0) ## 0000016A
/* 00C70 808A6E80 820E016A */ lb $t6, 0x016A($s0) ## 0000016A
/* 00C74 808A6E84 8FA40044 */ lw $a0, 0x0044($sp)
/* 00C78 808A6E88 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00C7C 808A6E8C 15C0002B */ bne $t6, $zero, .L808A6F3C
/* 00C80 808A6E90 8FB9003C */ lw $t9, 0x003C($sp)
/* 00C84 808A6E94 240FFFEC */ addiu $t7, $zero, 0xFFEC ## $t7 = FFFFFFEC
/* 00C88 808A6E98 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00C8C 808A6E9C 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E
/* 00C90 808A6EA0 0C010D76 */ jal func_800435D8
/* 00C94 808A6EA4 24070032 */ addiu $a3, $zero, 0x0032 ## $a3 = 00000032
/* 00C98 808A6EA8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00C9C 808A6EAC 1040001D */ beq $v0, $zero, .L808A6F24
/* 00CA0 808A6EB0 8FAD003C */ lw $t5, 0x003C($sp)
/* 00CA4 808A6EB4 3C19808A */ lui $t9, %hi(D_808A7D58) ## $t9 = 808A0000
/* 00CA8 808A6EB8 93397D58 */ lbu $t9, %lo(D_808A7D58)($t9)
/* 00CAC 808A6EBC 3C01808A */ lui $at, %hi(D_808A7D58) ## $at = 808A0000
/* 00CB0 808A6EC0 3C0C808A */ lui $t4, %hi(func_808A6F7C) ## $t4 = 808A0000
/* 00CB4 808A6EC4 2728FFFF */ addiu $t0, $t9, 0xFFFF ## $t0 = 8089FFFF
/* 00CB8 808A6EC8 A0287D58 */ sb $t0, %lo(D_808A7D58)($at)
/* 00CBC 808A6ECC C6060150 */ lwc1 $f6, 0x0150($s0) ## 00000150
/* 00CC0 808A6ED0 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 00CC4 808A6ED4 258C6F7C */ addiu $t4, $t4, %lo(func_808A6F7C) ## $t4 = 808A6F7C
/* 00CC8 808A6ED8 4606003E */ c.le.s $f0, $f6
/* 00CCC 808A6EDC 00000000 */ nop
/* 00CD0 808A6EE0 45020009 */ bc1fl .L808A6F08
/* 00CD4 808A6EE4 44818000 */ mtc1 $at, $f16 ## $f16 = -1.00
/* 00CD8 808A6EE8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00CDC 808A6EEC 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
/* 00CE0 808A6EF0 00000000 */ nop
/* 00CE4 808A6EF4 4600428D */ trunc.w.s $f10, $f8
/* 00CE8 808A6EF8 44095000 */ mfc1 $t1, $f10
/* 00CEC 808A6EFC 10000007 */ beq $zero, $zero, .L808A6F1C
/* 00CF0 808A6F00 A209016A */ sb $t1, 0x016A($s0) ## 0000016A
/* 00CF4 808A6F04 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
.L808A6F08:
/* 00CF8 808A6F08 00000000 */ nop
/* 00CFC 808A6F0C 4600848D */ trunc.w.s $f18, $f16
/* 00D00 808A6F10 440B9000 */ mfc1 $t3, $f18
/* 00D04 808A6F14 00000000 */ nop
/* 00D08 808A6F18 A20B016A */ sb $t3, 0x016A($s0) ## 0000016A
.L808A6F1C:
/* 00D0C 808A6F1C 10000012 */ beq $zero, $zero, .L808A6F68
/* 00D10 808A6F20 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164
.L808A6F24:
/* 00D14 808A6F24 8DAE0680 */ lw $t6, 0x0680($t5) ## 00000680
/* 00D18 808A6F28 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 00D1C 808A6F2C 01C17824 */ and $t7, $t6, $at
/* 00D20 808A6F30 ADAF0680 */ sw $t7, 0x0680($t5) ## 00000680
/* 00D24 808A6F34 1000000C */ beq $zero, $zero, .L808A6F68
/* 00D28 808A6F38 E6000150 */ swc1 $f0, 0x0150($s0) ## 00000150
.L808A6F3C:
/* 00D2C 808A6F3C 8F280680 */ lw $t0, 0x0680($t9) ## 808A0680
/* 00D30 808A6F40 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 00D34 808A6F44 0101C024 */ and $t8, $t0, $at
/* 00D38 808A6F48 AF380680 */ sw $t8, 0x0680($t9) ## 808A0680
/* 00D3C 808A6F4C 8202016A */ lb $v0, 0x016A($s0) ## 0000016A
/* 00D40 808A6F50 E6000150 */ swc1 $f0, 0x0150($s0) ## 00000150
/* 00D44 808A6F54 10400004 */ beq $v0, $zero, .L808A6F68
/* 00D48 808A6F58 2449FFFF */ addiu $t1, $v0, 0xFFFF ## $t1 = FFFFFFFF
/* 00D4C 808A6F5C 10000002 */ beq $zero, $zero, .L808A6F68
/* 00D50 808A6F60 A209016A */ sb $t1, 0x016A($s0) ## 0000016A
/* 00D54 808A6F64 A200016A */ sb $zero, 0x016A($s0) ## 0000016A
.L808A6F68:
/* 00D58 808A6F68 8FBF0034 */ lw $ra, 0x0034($sp)
.L808A6F6C:
/* 00D5C 808A6F6C 8FB00030 */ lw $s0, 0x0030($sp)
/* 00D60 808A6F70 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 00D64 808A6F74 03E00008 */ jr $ra
/* 00D68 808A6F78 00000000 */ nop

View File

@ -1,126 +0,0 @@
.late_rodata
glabel D_808A7DFC
.float 0.1
.text
glabel func_808A6F7C
/* 00D6C 808A6F7C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00D70 808A6F80 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00D74 808A6F84 AFB00020 */ sw $s0, 0x0020($sp)
/* 00D78 808A6F88 AFA5003C */ sw $a1, 0x003C($sp)
/* 00D7C 808A6F8C 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00D80 808A6F90 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00D84 808A6F94 44811000 */ mtc1 $at, $f2 ## $f2 = 2.00
/* 00D88 808A6F98 3C01808A */ lui $at, %hi(D_808A7DFC) ## $at = 808A0000
/* 00D8C 808A6F9C AFAF002C */ sw $t7, 0x002C($sp)
/* 00D90 808A6FA0 C4840068 */ lwc1 $f4, 0x0068($a0) ## 00000068
/* 00D94 808A6FA4 C4267DFC */ lwc1 $f6, %lo(D_808A7DFC)($at)
/* 00D98 808A6FA8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D9C 808A6FAC 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000
/* 00DA0 808A6FB0 46062200 */ add.s $f8, $f4, $f6
/* 00DA4 808A6FB4 E4880068 */ swc1 $f8, 0x0068($a0) ## 00000068
/* 00DA8 808A6FB8 C4800068 */ lwc1 $f0, 0x0068($a0) ## 00000068
/* 00DAC 808A6FBC 4600103C */ c.lt.s $f2, $f0
/* 00DB0 808A6FC0 00000000 */ nop
/* 00DB4 808A6FC4 45020004 */ bc1fl .L808A6FD8
/* 00DB8 808A6FC8 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 00DBC 808A6FCC 10000002 */ beq $zero, $zero, .L808A6FD8
/* 00DC0 808A6FD0 E4820068 */ swc1 $f2, 0x0068($a0) ## 00000068
/* 00DC4 808A6FD4 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
.L808A6FD8:
/* 00DC8 808A6FD8 3C04808A */ lui $a0, %hi(D_808A7D90) ## $a0 = 808A0000
/* 00DCC 808A6FDC 24847D90 */ addiu $a0, $a0, %lo(D_808A7D90) ## $a0 = 808A7D90
/* 00DD0 808A6FE0 0C01DE80 */ jal Math_ApproxF
/* 00DD4 808A6FE4 8E060068 */ lw $a2, 0x0068($s0) ## 00000068
/* 00DD8 808A6FE8 AFA20030 */ sw $v0, 0x0030($sp)
/* 00DDC 808A6FEC 8218016A */ lb $t8, 0x016A($s0) ## 0000016A
/* 00DE0 808A6FF0 3C01808A */ lui $at, %hi(D_808A7D90) ## $at = 808A0000
/* 00DE4 808A6FF4 C4327D90 */ lwc1 $f18, %lo(D_808A7D90)($at)
/* 00DE8 808A6FF8 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 00DEC 808A6FFC 00000000 */ nop
/* 00DF0 808A7000 46805420 */ cvt.s.w $f16, $f10
/* 00DF4 808A7004 46128102 */ mul.s $f4, $f16, $f18
/* 00DF8 808A7008 E7A40034 */ swc1 $f4, 0x0034($sp)
/* 00DFC 808A700C 0C01DE1C */ jal Math_Sins
## sins?
/* 00E00 808A7010 86040158 */ lh $a0, 0x0158($s0) ## 00000158
/* 00E04 808A7014 C7A60034 */ lwc1 $f6, 0x0034($sp)
/* 00E08 808A7018 C60A0008 */ lwc1 $f10, 0x0008($s0) ## 00000008
/* 00E0C 808A701C 86040158 */ lh $a0, 0x0158($s0) ## 00000158
/* 00E10 808A7020 46060202 */ mul.s $f8, $f0, $f6
/* 00E14 808A7024 460A4400 */ add.s $f16, $f8, $f10
/* 00E18 808A7028 0C01DE0D */ jal Math_Coss
## coss?
/* 00E1C 808A702C E6100024 */ swc1 $f16, 0x0024($s0) ## 00000024
/* 00E20 808A7030 C7B20034 */ lwc1 $f18, 0x0034($sp)
/* 00E24 808A7034 C6060010 */ lwc1 $f6, 0x0010($s0) ## 00000010
/* 00E28 808A7038 46120102 */ mul.s $f4, $f0, $f18
/* 00E2C 808A703C 46062200 */ add.s $f8, $f4, $f6
/* 00E30 808A7040 E608002C */ swc1 $f8, 0x002C($s0) ## 0000002C
/* 00E34 808A7044 8FB90030 */ lw $t9, 0x0030($sp)
/* 00E38 808A7048 8FA2002C */ lw $v0, 0x002C($sp)
/* 00E3C 808A704C 53200033 */ beql $t9, $zero, .L808A711C
/* 00E40 808A7050 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E44 808A7054 8C480680 */ lw $t0, 0x0680($v0) ## 00000680
/* 00E48 808A7058 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 00E4C 808A705C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00E50 808A7060 01014824 */ and $t1, $t0, $at
/* 00E54 808A7064 AC490680 */ sw $t1, 0x0680($v0) ## 00000680
/* 00E58 808A7068 C60A0150 */ lwc1 $f10, 0x0150($s0) ## 00000150
/* 00E5C 808A706C 8FA4003C */ lw $a0, 0x003C($sp)
/* 00E60 808A7070 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00E64 808A7074 460A003C */ c.lt.s $f0, $f10
/* 00E68 808A7078 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E
/* 00E6C 808A707C 24070032 */ addiu $a3, $zero, 0x0032 ## $a3 = 00000032
/* 00E70 808A7080 240AFFEC */ addiu $t2, $zero, 0xFFEC ## $t2 = FFFFFFEC
/* 00E74 808A7084 4502000B */ bc1fl .L808A70B4
/* 00E78 808A7088 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 00E7C 808A708C 0C010D76 */ jal func_800435D8
/* 00E80 808A7090 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00E84 808A7094 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00E88 808A7098 14400005 */ bne $v0, $zero, .L808A70B0
/* 00E8C 808A709C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E90 808A70A0 0C00BE0A */ jal Audio_PlayActorSound2
/* 00E94 808A70A4 24052835 */ addiu $a1, $zero, 0x2835 ## $a1 = 00002835
/* 00E98 808A70A8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00E9C 808A70AC 00000000 */ nop
.L808A70B0:
/* 00EA0 808A70B0 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
.L808A70B4:
/* 00EA4 808A70B4 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 00EA8 808A70B8 E6000150 */ swc1 $f0, 0x0150($s0) ## 00000150
/* 00EAC 808A70BC 3C01808A */ lui $at, %hi(D_808A7D90) ## $at = 808A0000
/* 00EB0 808A70C0 E6100008 */ swc1 $f16, 0x0008($s0) ## 00000008
/* 00EB4 808A70C4 E6120010 */ swc1 $f18, 0x0010($s0) ## 00000010
/* 00EB8 808A70C8 E4207D90 */ swc1 $f0, %lo(D_808A7D90)($at)
/* 00EBC 808A70CC 3C02808A */ lui $v0, %hi(D_808A7D58) ## $v0 = 808A0000
/* 00EC0 808A70D0 240B0005 */ addiu $t3, $zero, 0x0005 ## $t3 = 00000005
/* 00EC4 808A70D4 24427D58 */ addiu $v0, $v0, %lo(D_808A7D58) ## $v0 = 808A7D58
/* 00EC8 808A70D8 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 00ECC 808A70DC A20B016A */ sb $t3, 0x016A($s0) ## 0000016A
/* 00ED0 808A70E0 904C0000 */ lbu $t4, 0x0000($v0) ## 808A7D58
/* 00ED4 808A70E4 3C0E808A */ lui $t6, %hi(func_808A6CCC) ## $t6 = 808A0000
/* 00ED8 808A70E8 25CE6CCC */ addiu $t6, $t6, %lo(func_808A6CCC) ## $t6 = 808A6CCC
/* 00EDC 808A70EC 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
/* 00EE0 808A70F0 A04D0000 */ sb $t5, 0x0000($v0) ## 808A7D58
/* 00EE4 808A70F4 920F0168 */ lbu $t7, 0x0168($s0) ## 00000168
/* 00EE8 808A70F8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00EEC 808A70FC AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
/* 00EF0 808A7100 51E10009 */ beql $t7, $at, .L808A7128
/* 00EF4 808A7104 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00EF8 808A7108 0C229AA5 */ jal func_808A6A94
/* 00EFC 808A710C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F00 808A7110 0C229AA5 */ jal func_808A6A94
/* 00F04 808A7114 8E040118 */ lw $a0, 0x0118($s0) ## 00000118
/* 00F08 808A7118 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L808A711C:
/* 00F0C 808A711C 0C00BE5D */ jal func_8002F974
/* 00F10 808A7120 2405200A */ addiu $a1, $zero, 0x200A ## $a1 = 0000200A
/* 00F14 808A7124 8FBF0024 */ lw $ra, 0x0024($sp)
.L808A7128:
/* 00F18 808A7128 8FB00020 */ lw $s0, 0x0020($sp)
/* 00F1C 808A712C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00F20 808A7130 03E00008 */ jr $ra
/* 00F24 808A7134 00000000 */ nop

View File

@ -1,71 +0,0 @@
glabel func_808A7138
/* 00F28 808A7138 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00F2C 808A713C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00F30 808A7140 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00F34 808A7144 C4840150 */ lwc1 $f4, 0x0150($a0) ## 00000150
/* 00F38 808A7148 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 00F3C 808A714C 3C0543F6 */ lui $a1, 0x43F6 ## $a1 = 43F60000
/* 00F40 808A7150 46040032 */ c.eq.s $f0, $f4
/* 00F44 808A7154 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00F48 808A7158 34A58000 */ ori $a1, $a1, 0x8000 ## $a1 = 43F68000
/* 00F4C 808A715C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00F50 808A7160 45030007 */ bc1tl .L808A7180
/* 00F54 808A7164 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
/* 00F58 808A7168 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
/* 00F5C 808A716C 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 00F60 808A7170 01C17824 */ and $t7, $t6, $at
/* 00F64 808A7174 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
/* 00F68 808A7178 E4800150 */ swc1 $f0, 0x0150($a0) ## 00000178
/* 00F6C 808A717C 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
.L808A7180:
/* 00F70 808A7180 0C01DE80 */ jal Math_ApproxF
/* 00F74 808A7184 AFA70018 */ sw $a3, 0x0018($sp)
/* 00F78 808A7188 10400027 */ beq $v0, $zero, .L808A7228
/* 00F7C 808A718C 8FA70018 */ lw $a3, 0x0018($sp)
/* 00F80 808A7190 84E50034 */ lh $a1, 0x0034($a3) ## 00000034
/* 00F84 808A7194 AFA70018 */ sw $a3, 0x0018($sp)
/* 00F88 808A7198 24E400B8 */ addiu $a0, $a3, 0x00B8 ## $a0 = 000000B8
/* 00F8C 808A719C 24A5C000 */ addiu $a1, $a1, 0xC000 ## $a1 = FFFFC000
/* 00F90 808A71A0 00052C00 */ sll $a1, $a1, 16
/* 00F94 808A71A4 00052C03 */ sra $a1, $a1, 16
/* 00F98 808A71A8 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00F9C 808A71AC 24060400 */ addiu $a2, $zero, 0x0400 ## $a2 = 00000400
/* 00FA0 808A71B0 1040001D */ beq $v0, $zero, .L808A7228
/* 00FA4 808A71B4 8FA70018 */ lw $a3, 0x0018($sp)
/* 00FA8 808A71B8 90F80169 */ lbu $t8, 0x0169($a3) ## 00000169
/* 00FAC 808A71BC 3C09808A */ lui $t1, %hi(func_808A6BC8) ## $t1 = 808A0000
/* 00FB0 808A71C0 25296BC8 */ addiu $t1, $t1, %lo(func_808A6BC8) ## $t1 = 808A6BC8
/* 00FB4 808A71C4 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
/* 00FB8 808A71C8 07210004 */ bgez $t9, .L808A71DC
/* 00FBC 808A71CC 33280003 */ andi $t0, $t9, 0x0003 ## $t0 = 00000001
/* 00FC0 808A71D0 11000002 */ beq $t0, $zero, .L808A71DC
/* 00FC4 808A71D4 00000000 */ nop
/* 00FC8 808A71D8 2508FFFC */ addiu $t0, $t0, 0xFFFC ## $t0 = FFFFFFFD
.L808A71DC:
/* 00FCC 808A71DC A0E80169 */ sb $t0, 0x0169($a3) ## 00000169
/* 00FD0 808A71E0 ACE90164 */ sw $t1, 0x0164($a3) ## 00000164
/* 00FD4 808A71E4 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 00FD8 808A71E8 A02080A0 */ sb $zero, %lo(D_808A80A0)($at)
/* 00FDC 808A71EC 90EA0168 */ lbu $t2, 0x0168($a3) ## 00000168
/* 00FE0 808A71F0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00FE4 808A71F4 5541000D */ bnel $t2, $at, .L808A722C
/* 00FE8 808A71F8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00FEC 808A71FC 84EB016C */ lh $t3, 0x016C($a3) ## 0000016C
/* 00FF0 808A7200 240D0078 */ addiu $t5, $zero, 0x0078 ## $t5 = 00000078
/* 00FF4 808A7204 256C000A */ addiu $t4, $t3, 0x000A ## $t4 = 0000000A
/* 00FF8 808A7208 A4EC016C */ sh $t4, 0x016C($a3) ## 0000016C
/* 00FFC 808A720C 84E2016C */ lh $v0, 0x016C($a3) ## 0000016C
/* 01000 808A7210 28410079 */ slti $at, $v0, 0x0079
/* 01004 808A7214 54200004 */ bnel $at, $zero, .L808A7228
/* 01008 808A7218 A4E2016C */ sh $v0, 0x016C($a3) ## 0000016C
/* 0100C 808A721C 10000002 */ beq $zero, $zero, .L808A7228
/* 01010 808A7220 A4ED016C */ sh $t5, 0x016C($a3) ## 0000016C
/* 01014 808A7224 A4E2016C */ sh $v0, 0x016C($a3) ## 0000016C
.L808A7228:
/* 01018 808A7228 8FBF0014 */ lw $ra, 0x0014($sp)
.L808A722C:
/* 0101C 808A722C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01020 808A7230 03E00008 */ jr $ra
/* 01024 808A7234 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_808A7238
/* 01028 808A7238 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0102C 808A723C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01030 808A7240 C4860150 */ lwc1 $f6, 0x0150($a0) ## 00000150
/* 01034 808A7244 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01038 808A7248 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 0103C 808A724C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 01040 808A7250 46062032 */ c.eq.s $f4, $f6
/* 01044 808A7254 3C0543B8 */ lui $a1, 0x43B8 ## $a1 = 43B80000
/* 01048 808A7258 34A58000 */ ori $a1, $a1, 0x8000 ## $a1 = 43B88000
/* 0104C 808A725C 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
/* 01050 808A7260 45010005 */ bc1t .L808A7278
/* 01054 808A7264 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 01058 808A7268 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
/* 0105C 808A726C 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 01060 808A7270 01C17824 */ and $t7, $t6, $at
/* 01064 808A7274 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
.L808A7278:
/* 01068 808A7278 0C01DE80 */ jal Math_ApproxF
/* 0106C 808A727C AFA70018 */ sw $a3, 0x0018($sp)
/* 01070 808A7280 10400006 */ beq $v0, $zero, .L808A729C
/* 01074 808A7284 8FA70018 */ lw $a3, 0x0018($sp)
/* 01078 808A7288 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
/* 0107C 808A728C 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 01080 808A7290 A03880A0 */ sb $t8, %lo(D_808A80A0)($at)
/* 01084 808A7294 0C00B55C */ jal Actor_Kill
/* 01088 808A7298 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
.L808A729C:
/* 0108C 808A729C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01090 808A72A0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01094 808A72A4 03E00008 */ jr $ra
/* 01098 808A72A8 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_808A72AC
/* 0109C 808A72AC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 010A0 808A72B0 AFBF001C */ sw $ra, 0x001C($sp)
/* 010A4 808A72B4 AFA50024 */ sw $a1, 0x0024($sp)
/* 010A8 808A72B8 908E0181 */ lbu $t6, 0x0181($a0) ## 00000181
/* 010AC 808A72BC 3C02808B */ lui $v0, %hi(D_808A80A0) ## $v0 = 808B0000
/* 010B0 808A72C0 244280A0 */ addiu $v0, $v0, %lo(D_808A80A0) ## $v0 = 808A80A0
/* 010B4 808A72C4 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
/* 010B8 808A72C8 11E00013 */ beq $t7, $zero, .L808A7318
/* 010BC 808A72CC 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 010C0 808A72D0 90580000 */ lbu $t8, 0x0000($v0) ## 808A80A0
/* 010C4 808A72D4 24090005 */ addiu $t1, $zero, 0x0005 ## $t1 = 00000005
/* 010C8 808A72D8 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 010CC 808A72DC 37190020 */ ori $t9, $t8, 0x0020 ## $t9 = 00000020
/* 010D0 808A72E0 A0590000 */ sb $t9, 0x0000($v0) ## 808A80A0
/* 010D4 808A72E4 A488016C */ sh $t0, 0x016C($a0) ## 0000016C
/* 010D8 808A72E8 AFA40020 */ sw $a0, 0x0020($sp)
/* 010DC 808A72EC AFA90010 */ sw $t1, 0x0010($sp)
/* 010E0 808A72F0 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 010E4 808A72F4 0C00D09B */ jal func_8003426C
/* 010E8 808A72F8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 010EC 808A72FC 8FA40020 */ lw $a0, 0x0020($sp)
/* 010F0 808A7300 0C00BE0A */ jal Audio_PlayActorSound2
/* 010F4 808A7304 240538EF */ addiu $a1, $zero, 0x38EF ## $a1 = 000038EF
/* 010F8 808A7308 8FA40020 */ lw $a0, 0x0020($sp)
/* 010FC 808A730C 3C0A808A */ lui $t2, %hi(func_808A7328) ## $t2 = 808A0000
/* 01100 808A7310 254A7328 */ addiu $t2, $t2, %lo(func_808A7328) ## $t2 = 808A7328
/* 01104 808A7314 AC8A0164 */ sw $t2, 0x0164($a0) ## 00000164
.L808A7318:
/* 01108 808A7318 8FBF001C */ lw $ra, 0x001C($sp)
/* 0110C 808A731C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01110 808A7320 03E00008 */ jr $ra
/* 01114 808A7324 00000000 */ nop

View File

@ -1,79 +0,0 @@
glabel func_808A7328
/* 01118 808A7328 3C02808B */ lui $v0, %hi(D_808A80A0) ## $v0 = 808B0000
/* 0111C 808A732C 904280A0 */ lbu $v0, %lo(D_808A80A0)($v0)
/* 01120 808A7330 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 01124 808A7334 AFB00048 */ sw $s0, 0x0048($sp)
/* 01128 808A7338 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 0112C 808A733C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01130 808A7340 AFBF004C */ sw $ra, 0x004C($sp)
/* 01134 808A7344 1441002F */ bne $v0, $at, .L808A7404
/* 01138 808A7348 AFA50064 */ sw $a1, 0x0064($sp)
/* 0113C 808A734C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 01140 808A7350 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
/* 01144 808A7354 C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
/* 01148 808A7358 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 0114C 808A735C 44816000 */ mtc1 $at, $f12 ## $f12 = 120.00
/* 01150 808A7360 46062201 */ sub.s $f8, $f4, $f6
/* 01154 808A7364 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 01158 808A7368 E7A80054 */ swc1 $f8, 0x0054($sp)
/* 0115C 808A736C C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 01160 808A7370 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 01164 808A7374 44816000 */ mtc1 $at, $f12 ## $f12 = 120.00
/* 01168 808A7378 460A0400 */ add.s $f16, $f0, $f10
/* 0116C 808A737C 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 01170 808A7380 E7B00058 */ swc1 $f16, 0x0058($sp)
/* 01174 808A7384 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 01178 808A7388 3C06808A */ lui $a2, %hi(D_808A7D5C) ## $a2 = 808A0000
/* 0117C 808A738C 24C67D5C */ addiu $a2, $a2, %lo(D_808A7D5C) ## $a2 = 808A7D5C
/* 01180 808A7390 46120100 */ add.s $f4, $f0, $f18
/* 01184 808A7394 240E00AA */ addiu $t6, $zero, 0x00AA ## $t6 = 000000AA
/* 01188 808A7398 240F00C8 */ addiu $t7, $zero, 0x00C8 ## $t7 = 000000C8
/* 0118C 808A739C 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 01190 808A73A0 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
/* 01194 808A73A4 240800AA */ addiu $t0, $zero, 0x00AA ## $t0 = 000000AA
/* 01198 808A73A8 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 0119C 808A73AC 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 011A0 808A73B0 240B0009 */ addiu $t3, $zero, 0x0009 ## $t3 = 00000009
/* 011A4 808A73B4 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 011A8 808A73B8 E7A4005C */ swc1 $f4, 0x005C($sp)
/* 011AC 808A73BC AFAC003C */ sw $t4, 0x003C($sp)
/* 011B0 808A73C0 AFAB0038 */ sw $t3, 0x0038($sp)
/* 011B4 808A73C4 AFAA0034 */ sw $t2, 0x0034($sp)
/* 011B8 808A73C8 AFA9002C */ sw $t1, 0x002C($sp)
/* 011BC 808A73CC AFA80024 */ sw $t0, 0x0024($sp)
/* 011C0 808A73D0 AFB90020 */ sw $t9, 0x0020($sp)
/* 011C4 808A73D4 AFB8001C */ sw $t8, 0x001C($sp)
/* 011C8 808A73D8 AFAF0018 */ sw $t7, 0x0018($sp)
/* 011CC 808A73DC AFAE0010 */ sw $t6, 0x0010($sp)
/* 011D0 808A73E0 00C03825 */ or $a3, $a2, $zero ## $a3 = 808A7D5C
/* 011D4 808A73E4 AFA00030 */ sw $zero, 0x0030($sp)
/* 011D8 808A73E8 AFA00028 */ sw $zero, 0x0028($sp)
/* 011DC 808A73EC AFA00014 */ sw $zero, 0x0014($sp)
/* 011E0 808A73F0 8FA40064 */ lw $a0, 0x0064($sp)
/* 011E4 808A73F4 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 011E8 808A73F8 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 011EC 808A73FC 1000000D */ beq $zero, $zero, .L808A7434
/* 011F0 808A7400 8FBF004C */ lw $ra, 0x004C($sp)
.L808A7404:
/* 011F4 808A7404 24010020 */ addiu $at, $zero, 0x0020 ## $at = 00000020
/* 011F8 808A7408 54410006 */ bnel $v0, $at, .L808A7424
/* 011FC 808A740C 8602016C */ lh $v0, 0x016C($s0) ## 0000016C
/* 01200 808A7410 0C00B55C */ jal Actor_Kill
/* 01204 808A7414 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01208 808A7418 10000006 */ beq $zero, $zero, .L808A7434
/* 0120C 808A741C 8FBF004C */ lw $ra, 0x004C($sp)
/* 01210 808A7420 8602016C */ lh $v0, 0x016C($s0) ## 0000016C
.L808A7424:
/* 01214 808A7424 10400002 */ beq $v0, $zero, .L808A7430
/* 01218 808A7428 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = FFFFFFFF
/* 0121C 808A742C A60D016C */ sh $t5, 0x016C($s0) ## 0000016C
.L808A7430:
/* 01220 808A7430 8FBF004C */ lw $ra, 0x004C($sp)
.L808A7434:
/* 01224 808A7434 8FB00048 */ lw $s0, 0x0048($sp)
/* 01228 808A7438 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 0122C 808A743C 03E00008 */ jr $ra
/* 01230 808A7440 00000000 */ nop

View File

@ -1,55 +0,0 @@
glabel func_808A7444
/* 01234 808A7444 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01238 808A7448 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0123C 808A744C 8C820118 */ lw $v0, 0x0118($a0) ## 00000118
/* 01240 808A7450 10400017 */ beq $v0, $zero, .L808A74B0
/* 01244 808A7454 00000000 */ nop
/* 01248 808A7458 8C8E011C */ lw $t6, 0x011C($a0) ## 0000011C
/* 0124C 808A745C 11C00014 */ beq $t6, $zero, .L808A74B0
/* 01250 808A7460 00000000 */ nop
/* 01254 808A7464 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01258 808A7468 AFA40018 */ sw $a0, 0x0018($sp)
/* 0125C 808A746C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01260 808A7470 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 01264 808A7474 8FA40018 */ lw $a0, 0x0018($sp)
/* 01268 808A7478 4604003C */ c.lt.s $f0, $f4
/* 0126C 808A747C 00000000 */ nop
/* 01270 808A7480 45020007 */ bc1fl .L808A74A0
/* 01274 808A7484 8C99011C */ lw $t9, 0x011C($a0) ## 0000011C
/* 01278 808A7488 8C8F0118 */ lw $t7, 0x0118($a0) ## 00000118
/* 0127C 808A748C 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 01280 808A7490 91F80169 */ lbu $t8, 0x0169($t7) ## 00000169
/* 01284 808A7494 10000015 */ beq $zero, $zero, .L808A74EC
/* 01288 808A7498 A03880A0 */ sb $t8, %lo(D_808A80A0)($at)
/* 0128C 808A749C 8C99011C */ lw $t9, 0x011C($a0) ## 0000011C
.L808A74A0:
/* 01290 808A74A0 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 01294 808A74A4 93280169 */ lbu $t0, 0x0169($t9) ## 00000169
/* 01298 808A74A8 10000010 */ beq $zero, $zero, .L808A74EC
/* 0129C 808A74AC A02880A0 */ sb $t0, %lo(D_808A80A0)($at)
.L808A74B0:
/* 012A0 808A74B0 50400006 */ beql $v0, $zero, .L808A74CC
/* 012A4 808A74B4 8C82011C */ lw $v0, 0x011C($a0) ## 0000011C
/* 012A8 808A74B8 90490169 */ lbu $t1, 0x0169($v0) ## 00000169
/* 012AC 808A74BC 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 012B0 808A74C0 1000000A */ beq $zero, $zero, .L808A74EC
/* 012B4 808A74C4 A02980A0 */ sb $t1, %lo(D_808A80A0)($at)
/* 012B8 808A74C8 8C82011C */ lw $v0, 0x011C($a0) ## 0000011C
.L808A74CC:
/* 012BC 808A74CC 10400005 */ beq $v0, $zero, .L808A74E4
/* 012C0 808A74D0 00000000 */ nop
/* 012C4 808A74D4 904A0169 */ lbu $t2, 0x0169($v0) ## 00000169
/* 012C8 808A74D8 3C01808B */ lui $at, %hi(D_808A80A0) ## $at = 808B0000
/* 012CC 808A74DC 10000003 */ beq $zero, $zero, .L808A74EC
/* 012D0 808A74E0 A02A80A0 */ sb $t2, %lo(D_808A80A0)($at)
.L808A74E4:
/* 012D4 808A74E4 10000002 */ beq $zero, $zero, .L808A74F0
/* 012D8 808A74E8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L808A74EC:
/* 012DC 808A74EC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L808A74F0:
/* 012E0 808A74F0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 012E4 808A74F4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 012E8 808A74F8 03E00008 */ jr $ra
/* 012EC 808A74FC 00000000 */ nop

View File

@ -1,14 +0,0 @@
glabel func_808A7500
/* 012F0 808A7500 AFA50004 */ sw $a1, 0x0004($sp)
/* 012F4 808A7504 3C0F808B */ lui $t7, %hi(D_808A80A0) ## $t7 = 808B0000
/* 012F8 808A7508 91EF80A0 */ lbu $t7, %lo(D_808A80A0)($t7)
/* 012FC 808A750C 908E0169 */ lbu $t6, 0x0169($a0) ## 00000169
/* 01300 808A7510 3C19808A */ lui $t9, %hi(func_808A7530) ## $t9 = 808A0000
/* 01304 808A7514 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 01308 808A7518 15CF0003 */ bne $t6, $t7, .L808A7528
/* 0130C 808A751C 27397530 */ addiu $t9, $t9, %lo(func_808A7530) ## $t9 = 808A7530
/* 01310 808A7520 A498016C */ sh $t8, 0x016C($a0) ## 0000016C
/* 01314 808A7524 AC990164 */ sw $t9, 0x0164($a0) ## 00000164
.L808A7528:
/* 01318 808A7528 03E00008 */ jr $ra
/* 0131C 808A752C 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel func_808A7530
/* 01320 808A7530 AFA50004 */ sw $a1, 0x0004($sp)
/* 01324 808A7534 848E016C */ lh $t6, 0x016C($a0) ## 0000016C
/* 01328 808A7538 3C08808A */ lui $t0, %hi(func_808A75B8) ## $t0 = 808A0000
/* 0132C 808A753C 241903E8 */ addiu $t9, $zero, 0x03E8 ## $t9 = 000003E8
/* 01330 808A7540 25CFFFEC */ addiu $t7, $t6, 0xFFEC ## $t7 = FFFFFFEC
/* 01334 808A7544 A48F016C */ sh $t7, 0x016C($a0) ## 0000016C
/* 01338 808A7548 8498016C */ lh $t8, 0x016C($a0) ## 0000016C
/* 0133C 808A754C 250875B8 */ addiu $t0, $t0, %lo(func_808A75B8) ## $t0 = 808A75B8
/* 01340 808A7550 1F000003 */ bgtz $t8, .L808A7560
/* 01344 808A7554 00000000 */ nop
/* 01348 808A7558 A499016C */ sh $t9, 0x016C($a0) ## 0000016C
/* 0134C 808A755C AC880164 */ sw $t0, 0x0164($a0) ## 00000164
.L808A7560:
/* 01350 808A7560 03E00008 */ jr $ra
/* 01354 808A7564 00000000 */ nop

View File

@ -1,22 +0,0 @@
glabel func_808A7568
/* 01358 808A7568 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0135C 808A756C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01360 808A7570 AFA5001C */ sw $a1, 0x001C($sp)
/* 01364 808A7574 848E016C */ lh $t6, 0x016C($a0) ## 0000016C
/* 01368 808A7578 25CF0014 */ addiu $t7, $t6, 0x0014 ## $t7 = 00000014
/* 0136C 808A757C A48F016C */ sh $t7, 0x016C($a0) ## 0000016C
/* 01370 808A7580 8498016C */ lh $t8, 0x016C($a0) ## 0000016C
/* 01374 808A7584 2B0100FF */ slti $at, $t8, 0x00FF
/* 01378 808A7588 54200008 */ bnel $at, $zero, .L808A75AC
/* 0137C 808A758C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01380 808A7590 0C229D11 */ jal func_808A7444
/* 01384 808A7594 AFA40018 */ sw $a0, 0x0018($sp)
/* 01388 808A7598 8FA40018 */ lw $a0, 0x0018($sp)
/* 0138C 808A759C 3C19808A */ lui $t9, %hi(func_808A7500) ## $t9 = 808A0000
/* 01390 808A75A0 27397500 */ addiu $t9, $t9, %lo(func_808A7500) ## $t9 = 808A7500
/* 01394 808A75A4 AC990164 */ sw $t9, 0x0164($a0) ## 00000164
/* 01398 808A75A8 8FBF0014 */ lw $ra, 0x0014($sp)
.L808A75AC:
/* 0139C 808A75AC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 013A0 808A75B0 03E00008 */ jr $ra
/* 013A4 808A75B4 00000000 */ nop

View File

@ -1,168 +0,0 @@
glabel func_808A75B8
/* 013A8 808A75B8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 013AC 808A75BC AFBF0034 */ sw $ra, 0x0034($sp)
/* 013B0 808A75C0 AFB00030 */ sw $s0, 0x0030($sp)
/* 013B4 808A75C4 AFA5003C */ sw $a1, 0x003C($sp)
/* 013B8 808A75C8 8482016C */ lh $v0, 0x016C($a0) ## 0000016C
/* 013BC 808A75CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 013C0 808A75D0 8CA61C44 */ lw $a2, 0x1C44($a1) ## 00001C44
/* 013C4 808A75D4 10400003 */ beq $v0, $zero, .L808A75E4
/* 013C8 808A75D8 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 013CC 808A75DC A48F016C */ sh $t7, 0x016C($a0) ## 0000016C
/* 013D0 808A75E0 8482016C */ lh $v0, 0x016C($a0) ## 0000016C
.L808A75E4:
/* 013D4 808A75E4 10400038 */ beq $v0, $zero, .L808A76C8
/* 013D8 808A75E8 3C014316 */ lui $at, 0x4316 ## $at = 43160000
/* 013DC 808A75EC C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
/* 013E0 808A75F0 44813000 */ mtc1 $at, $f6 ## $f6 = 150.00
/* 013E4 808A75F4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 013E8 808A75F8 4606203C */ c.lt.s $f4, $f6
/* 013EC 808A75FC 00000000 */ nop
/* 013F0 808A7600 45000008 */ bc1f .L808A7624
/* 013F4 808A7604 00000000 */ nop
/* 013F8 808A7608 C6080094 */ lwc1 $f8, 0x0094($s0) ## 00000094
/* 013FC 808A760C 44815000 */ mtc1 $at, $f10 ## $f10 = 50.00
/* 01400 808A7610 00000000 */ nop
/* 01404 808A7614 460A403C */ c.lt.s $f8, $f10
/* 01408 808A7618 00000000 */ nop
/* 0140C 808A761C 4503002B */ bc1tl .L808A76CC
/* 01410 808A7620 8E190118 */ lw $t9, 0x0118($s0) ## 00000118
.L808A7624:
/* 01414 808A7624 0C00B75E */ jal func_8002DD78
/* 01418 808A7628 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 0141C 808A762C 10400034 */ beq $v0, $zero, .L808A7700
/* 01420 808A7630 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000
/* 01424 808A7634 C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090
/* 01428 808A7638 44819000 */ mtc1 $at, $f18 ## $f18 = 320.00
/* 0142C 808A763C 00000000 */ nop
/* 01430 808A7640 4612803C */ c.lt.s $f16, $f18
/* 01434 808A7644 00000000 */ nop
/* 01438 808A7648 4502002E */ bc1fl .L808A7704
/* 0143C 808A764C 920A0181 */ lbu $t2, 0x0181($s0) ## 00000181
/* 01440 808A7650 92180169 */ lbu $t8, 0x0169($s0) ## 00000169
/* 01444 808A7654 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01448 808A7658 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0144C 808A765C 1301000C */ beq $t8, $at, .L808A7690
/* 01450 808A7660 24052000 */ addiu $a1, $zero, 0x2000 ## $a1 = 00002000
/* 01454 808A7664 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01458 808A7668 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 0145C 808A766C C6040094 */ lwc1 $f4, 0x0094($s0) ## 00000094
/* 01460 808A7670 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01464 808A7674 4606203C */ c.lt.s $f4, $f6
/* 01468 808A7678 00000000 */ nop
/* 0146C 808A767C 4500000C */ bc1f .L808A76B0
/* 01470 808A7680 00000000 */ nop
/* 01474 808A7684 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 01478 808A7688 10000009 */ beq $zero, $zero, .L808A76B0
/* 0147C 808A768C 00000000 */ nop
.L808A7690:
/* 01480 808A7690 C6080094 */ lwc1 $f8, 0x0094($s0) ## 00000094
/* 01484 808A7694 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 01488 808A7698 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 0148C 808A769C 460A403C */ c.lt.s $f8, $f10
/* 01490 808A76A0 00000000 */ nop
/* 01494 808A76A4 45000002 */ bc1f .L808A76B0
/* 01498 808A76A8 00000000 */ nop
/* 0149C 808A76AC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L808A76B0:
/* 014A0 808A76B0 50400014 */ beql $v0, $zero, .L808A7704
/* 014A4 808A76B4 920A0181 */ lbu $t2, 0x0181($s0) ## 00000181
/* 014A8 808A76B8 0C00B7F2 */ jal func_8002DFC8
/* 014AC 808A76BC 8FA6003C */ lw $a2, 0x003C($sp)
/* 014B0 808A76C0 50400010 */ beql $v0, $zero, .L808A7704
/* 014B4 808A76C4 920A0181 */ lbu $t2, 0x0181($s0) ## 00000181
.L808A76C8:
/* 014B8 808A76C8 8E190118 */ lw $t9, 0x0118($s0) ## 00000118
.L808A76CC:
/* 014BC 808A76CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 014C0 808A76D0 240538EC */ addiu $a1, $zero, 0x38EC ## $a1 = 000038EC
/* 014C4 808A76D4 17200004 */ bne $t9, $zero, .L808A76E8
/* 014C8 808A76D8 00000000 */ nop
/* 014CC 808A76DC 8E08011C */ lw $t0, 0x011C($s0) ## 0000011C
/* 014D0 808A76E0 51000008 */ beql $t0, $zero, .L808A7704
/* 014D4 808A76E4 920A0181 */ lbu $t2, 0x0181($s0) ## 00000181
.L808A76E8:
/* 014D8 808A76E8 0C00BE0A */ jal Audio_PlayActorSound2
/* 014DC 808A76EC A600016C */ sh $zero, 0x016C($s0) ## 0000016C
/* 014E0 808A76F0 3C09808A */ lui $t1, %hi(func_808A7568) ## $t1 = 808A0000
/* 014E4 808A76F4 25297568 */ addiu $t1, $t1, %lo(func_808A7568) ## $t1 = 808A7568
/* 014E8 808A76F8 1000003F */ beq $zero, $zero, .L808A77F8
/* 014EC 808A76FC AE090164 */ sw $t1, 0x0164($s0) ## 00000164
.L808A7700:
/* 014F0 808A7700 920A0181 */ lbu $t2, 0x0181($s0) ## 00000181
.L808A7704:
/* 014F4 808A7704 314B0002 */ andi $t3, $t2, 0x0002 ## $t3 = 00000000
/* 014F8 808A7708 5160003C */ beql $t3, $zero, .L808A77FC
/* 014FC 808A770C 8FBF0034 */ lw $ra, 0x0034($sp)
/* 01500 808A7710 0C229D11 */ jal func_808A7444
/* 01504 808A7714 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01508 808A7718 14400021 */ bne $v0, $zero, .L808A77A0
/* 0150C 808A771C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01510 808A7720 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 01514 808A7724 44819000 */ mtc1 $at, $f18 ## $f18 = 40.00
/* 01518 808A7728 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 0151C 808A772C 8E070024 */ lw $a3, 0x0024($s0) ## 00000024
/* 01520 808A7730 8FA5003C */ lw $a1, 0x003C($sp)
/* 01524 808A7734 46128101 */ sub.s $f4, $f16, $f18
/* 01528 808A7738 24060091 */ addiu $a2, $zero, 0x0091 ## $a2 = 00000091
/* 0152C 808A773C 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
/* 01530 808A7740 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01534 808A7744 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 01538 808A7748 AFA00018 */ sw $zero, 0x0018($sp)
/* 0153C 808A774C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 01540 808A7750 860C00B6 */ lh $t4, 0x00B6($s0) ## 000000B6
/* 01544 808A7754 AFA00020 */ sw $zero, 0x0020($sp)
/* 01548 808A7758 AFAC001C */ sw $t4, 0x001C($sp)
/* 0154C 808A775C 920E0168 */ lbu $t6, 0x0168($s0) ## 00000168
/* 01550 808A7760 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
/* 01554 808A7764 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
/* 01558 808A7768 000FC200 */ sll $t8, $t7, 8
/* 0155C 808A776C 01B8C821 */ addu $t9, $t5, $t8
/* 01560 808A7770 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 01564 808A7774 AFB90024 */ sw $t9, 0x0024($sp)
/* 01568 808A7778 8FA4003C */ lw $a0, 0x003C($sp)
/* 0156C 808A777C 24050C58 */ addiu $a1, $zero, 0x0C58 ## $a1 = 00000C58
/* 01570 808A7780 24060050 */ addiu $a2, $zero, 0x0050 ## $a2 = 00000050
/* 01574 808A7784 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
/* 01578 808A7788 0C02003E */ jal func_800800F8
/* 0157C 808A778C AFA00010 */ sw $zero, 0x0010($sp)
/* 01580 808A7790 0C01E221 */ jal func_80078884
/* 01584 808A7794 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
/* 01588 808A7798 1000000A */ beq $zero, $zero, .L808A77C4
/* 0158C 808A779C 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
.L808A77A0:
/* 01590 808A77A0 0C00BE0A */ jal Audio_PlayActorSound2
/* 01594 808A77A4 240538EF */ addiu $a1, $zero, 0x38EF ## $a1 = 000038EF
/* 01598 808A77A8 8FA4003C */ lw $a0, 0x003C($sp)
/* 0159C 808A77AC 24050C58 */ addiu $a1, $zero, 0x0C58 ## $a1 = 00000C58
/* 015A0 808A77B0 24060023 */ addiu $a2, $zero, 0x0023 ## $a2 = 00000023
/* 015A4 808A77B4 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
/* 015A8 808A77B8 0C02003E */ jal func_800800F8
/* 015AC 808A77BC AFA00010 */ sw $zero, 0x0010($sp)
/* 015B0 808A77C0 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
.L808A77C4:
/* 015B4 808A77C4 3C09808A */ lui $t1, %hi(func_808A780C) ## $t1 = 808A0000
/* 015B8 808A77C8 24080014 */ addiu $t0, $zero, 0x0014 ## $t0 = 00000014
/* 015BC 808A77CC 10400003 */ beq $v0, $zero, .L808A77DC
/* 015C0 808A77D0 2529780C */ addiu $t1, $t1, %lo(func_808A780C) ## $t1 = 808A780C
/* 015C4 808A77D4 AC40011C */ sw $zero, 0x011C($v0) ## 0000011C
/* 015C8 808A77D8 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
.L808A77DC:
/* 015CC 808A77DC 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
/* 015D0 808A77E0 50400004 */ beql $v0, $zero, .L808A77F4
/* 015D4 808A77E4 A608016C */ sh $t0, 0x016C($s0) ## 0000016C
/* 015D8 808A77E8 AC400118 */ sw $zero, 0x0118($v0) ## 00000118
/* 015DC 808A77EC AE00011C */ sw $zero, 0x011C($s0) ## 0000011C
/* 015E0 808A77F0 A608016C */ sh $t0, 0x016C($s0) ## 0000016C
.L808A77F4:
/* 015E4 808A77F4 AE090164 */ sw $t1, 0x0164($s0) ## 00000164
.L808A77F8:
/* 015E8 808A77F8 8FBF0034 */ lw $ra, 0x0034($sp)
.L808A77FC:
/* 015EC 808A77FC 8FB00030 */ lw $s0, 0x0030($sp)
/* 015F0 808A7800 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 015F4 808A7804 03E00008 */ jr $ra
/* 015F8 808A7808 00000000 */ nop

View File

@ -1,116 +0,0 @@
glabel func_808A780C
/* 015FC 808A780C 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 01600 808A7810 AFBF004C */ sw $ra, 0x004C($sp)
/* 01604 808A7814 AFB00048 */ sw $s0, 0x0048($sp)
/* 01608 808A7818 AFA50064 */ sw $a1, 0x0064($sp)
/* 0160C 808A781C 848E016C */ lh $t6, 0x016C($a0) ## 0000016C
/* 01610 808A7820 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01614 808A7824 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
/* 01618 808A7828 A48F016C */ sh $t7, 0x016C($a0) ## 0000016C
/* 0161C 808A782C 0C01DE1C */ jal Math_Sins
## sins?
/* 01620 808A7830 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
/* 01624 808A7834 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 01628 808A7838 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
/* 0162C 808A783C C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 01630 808A7840 3C014284 */ lui $at, 0x4284 ## $at = 42840000
/* 01634 808A7844 46040182 */ mul.s $f6, $f0, $f4
/* 01638 808A7848 44816000 */ mtc1 $at, $f12 ## $f12 = 66.00
/* 0163C 808A784C 46083280 */ add.s $f10, $f6, $f8
/* 01640 808A7850 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 01644 808A7854 E7AA0054 */ swc1 $f10, 0x0054($sp)
/* 01648 808A7858 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 0164C 808A785C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01650 808A7860 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
/* 01654 808A7864 46100480 */ add.s $f18, $f0, $f16
/* 01658 808A7868 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 0165C 808A786C E7B20058 */ swc1 $f18, 0x0058($sp)
/* 01660 808A7870 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 01664 808A7874 46040180 */ add.s $f6, $f0, $f4
/* 01668 808A7878 E7A6005C */ swc1 $f6, 0x005C($sp)
/* 0166C 808A787C 8602016C */ lh $v0, 0x016C($s0) ## 0000016C
/* 01670 808A7880 0440003F */ bltz $v0, .L808A7980
/* 01674 808A7884 00000000 */ nop
/* 01678 808A7888 92180168 */ lbu $t8, 0x0168($s0) ## 00000168
/* 0167C 808A788C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01680 808A7890 3C06808A */ lui $a2, %hi(D_808A7D5C) ## $a2 = 808A0000
/* 01684 808A7894 1701001E */ bne $t8, $at, .L808A7910
/* 01688 808A7898 24C67D5C */ addiu $a2, $a2, %lo(D_808A7D5C) ## $a2 = 808A7D5C
/* 0168C 808A789C 3C06808A */ lui $a2, %hi(D_808A7D5C) ## $a2 = 808A0000
/* 01690 808A78A0 24C67D5C */ addiu $a2, $a2, %lo(D_808A7D5C) ## $a2 = 808A7D5C
/* 01694 808A78A4 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
/* 01698 808A78A8 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 0169C 808A78AC 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 016A0 808A78B0 240A0096 */ addiu $t2, $zero, 0x0096 ## $t2 = 00000096
/* 016A4 808A78B4 240B00AA */ addiu $t3, $zero, 0x00AA ## $t3 = 000000AA
/* 016A8 808A78B8 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 016AC 808A78BC 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 016B0 808A78C0 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009
/* 016B4 808A78C4 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 016B8 808A78C8 AFAF003C */ sw $t7, 0x003C($sp)
/* 016BC 808A78CC AFAE0038 */ sw $t6, 0x0038($sp)
/* 016C0 808A78D0 AFAD0034 */ sw $t5, 0x0034($sp)
/* 016C4 808A78D4 AFAC0028 */ sw $t4, 0x0028($sp)
/* 016C8 808A78D8 AFAB0024 */ sw $t3, 0x0024($sp)
/* 016CC 808A78DC AFAA0020 */ sw $t2, 0x0020($sp)
/* 016D0 808A78E0 AFA9001C */ sw $t1, 0x001C($sp)
/* 016D4 808A78E4 AFA80018 */ sw $t0, 0x0018($sp)
/* 016D8 808A78E8 AFB90010 */ sw $t9, 0x0010($sp)
/* 016DC 808A78EC 00C03825 */ or $a3, $a2, $zero ## $a3 = 808A7D5C
/* 016E0 808A78F0 8FA40064 */ lw $a0, 0x0064($sp)
/* 016E4 808A78F4 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 016E8 808A78F8 AFA00014 */ sw $zero, 0x0014($sp)
/* 016EC 808A78FC AFA0002C */ sw $zero, 0x002C($sp)
/* 016F0 808A7900 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 016F4 808A7904 AFA00030 */ sw $zero, 0x0030($sp)
/* 016F8 808A7908 1000001D */ beq $zero, $zero, .L808A7980
/* 016FC 808A790C 8602016C */ lh $v0, 0x016C($s0) ## 0000016C
.L808A7910:
/* 01700 808A7910 24180064 */ addiu $t8, $zero, 0x0064 ## $t8 = 00000064
/* 01704 808A7914 AFB80010 */ sw $t8, 0x0010($sp)
/* 01708 808A7918 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 0170C 808A791C 241900C8 */ addiu $t9, $zero, 0x00C8 ## $t9 = 000000C8
/* 01710 808A7920 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 01714 808A7924 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 01718 808A7928 240A00AA */ addiu $t2, $zero, 0x00AA ## $t2 = 000000AA
/* 0171C 808A792C 240B0032 */ addiu $t3, $zero, 0x0032 ## $t3 = 00000032
/* 01720 808A7930 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064
/* 01724 808A7934 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
/* 01728 808A7938 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 0172C 808A793C 240F0009 */ addiu $t7, $zero, 0x0009 ## $t7 = 00000009
/* 01730 808A7940 AFAF0038 */ sw $t7, 0x0038($sp)
/* 01734 808A7944 AFAE0034 */ sw $t6, 0x0034($sp)
/* 01738 808A7948 AFAD0030 */ sw $t5, 0x0030($sp)
/* 0173C 808A794C AFAC002C */ sw $t4, 0x002C($sp)
/* 01740 808A7950 AFAB0028 */ sw $t3, 0x0028($sp)
/* 01744 808A7954 AFAA0024 */ sw $t2, 0x0024($sp)
/* 01748 808A7958 AFA90020 */ sw $t1, 0x0020($sp)
/* 0174C 808A795C AFA8001C */ sw $t0, 0x001C($sp)
/* 01750 808A7960 AFB90018 */ sw $t9, 0x0018($sp)
/* 01754 808A7964 AFB8003C */ sw $t8, 0x003C($sp)
/* 01758 808A7968 8FA40064 */ lw $a0, 0x0064($sp)
/* 0175C 808A796C 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 01760 808A7970 00C03825 */ or $a3, $a2, $zero ## $a3 = 00000000
/* 01764 808A7974 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 01768 808A7978 AFA00014 */ sw $zero, 0x0014($sp)
/* 0176C 808A797C 8602016C */ lh $v0, 0x016C($s0) ## 0000016C
.L808A7980:
/* 01770 808A7980 54400004 */ bnel $v0, $zero, .L808A7994
/* 01774 808A7984 2841FFC4 */ slti $at, $v0, 0xFFC4
/* 01778 808A7988 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
/* 0177C 808A798C 8602016C */ lh $v0, 0x016C($s0) ## 0000016C
/* 01780 808A7990 2841FFC4 */ slti $at, $v0, 0xFFC4
.L808A7994:
/* 01784 808A7994 50200004 */ beql $at, $zero, .L808A79A8
/* 01788 808A7998 8FBF004C */ lw $ra, 0x004C($sp)
/* 0178C 808A799C 0C00B55C */ jal Actor_Kill
/* 01790 808A79A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01794 808A79A4 8FBF004C */ lw $ra, 0x004C($sp)
.L808A79A8:
/* 01798 808A79A8 8FB00048 */ lw $s0, 0x0048($sp)
/* 0179C 808A79AC 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 017A0 808A79B0 03E00008 */ jr $ra
/* 017A4 808A79B4 00000000 */ nop

View File

@ -1,14 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .bss
.balign 16
glabel D_808A80A0
.space 0x10

View File

@ -1,45 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Bg_Po_Event_InitVars
.word 0x00930100, 0x00000000, 0x00990000, 0x00000248
.word BgPoEvent_Init
.word BgPoEvent_Destroy
.word BgPoEvent_Update
.word BgPoEvent_Draw
glabel D_808A7CD0
.word 0x04000000, 0x00000000, 0x00000000, 0x0001F820, 0x00000000, 0x00010000, 0x41C80000, 0x42040000, 0x00000000, 0xC1C80000, 0x42040000, 0x00000000, 0xC1C80000, 0xC2040000, 0x00000000, 0x04000000, 0x00000000, 0x00000000, 0x0001F820, 0x00000000, 0x00010000, 0x41C80000, 0x42040000, 0x00000000, 0xC1C80000, 0xC2040000, 0x00000000, 0x41C80000, 0xC2040000, 0x00000000
glabel D_808A7D48
.word 0x0A000900, 0x20020000, 0x00000002
.word D_808A7CD0
glabel D_808A7D58
.word 0x00000000
glabel D_808A7D5C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808A7D68
.word 0xFAEAFC9E, 0x058D03D9
glabel D_808A7D70
.word 0x04530443
glabel D_808A7D74
.word 0xF2C8F34C
glabel D_808A7D78
.word 0x086507B1, 0x07750000
glabel D_808A7D80
.word 0xFA7EFABA, 0xFA060000
glabel D_808A7D88
.word 0x485003E8
glabel D_808A7D8C
.word 0x00000000
glabel D_808A7D90
.word 0x00000000
glabel D_808A7D94
.word 0x060075A0, 0x060079E0, 0x06006830, 0x06006D60, 0x06007230, 0x00000000, 0x00000000

View File

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_808A7E10
.incbin "baserom/ovl_Bg_Po_Event", 0x1C00, 0x00000290

4
spec
View File

@ -1145,9 +1145,7 @@ endseg
beginseg
name "ovl_Bg_Po_Event"
include "build/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.o"
include "build/data/overlays/actors/z_bg_po_event.data.o"
include "build/data/overlays/actors/z_bg_po_event.bss.o"
include "build/data/overlays/actors/z_bg_po_event.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Po_Event/ovl_Bg_Po_Event_reloc.o"
endseg
beginseg

View File

@ -36,8 +36,7 @@ const ActorInit Bg_Gnd_Darkmeiro_InitVars = {
extern Gfx D_060088B0[];
extern Gfx D_0600BEC0[];
extern UNK_TYPE D_0600C080;
extern ColHeader D_0600C080;
void BgGndDarkmeiro_ToggleBlock(BgGndDarkmeiro* this, GlobalContext* globalCtx) {
if (this->actionFlags & 2) {
@ -53,7 +52,7 @@ void BgGndDarkmeiro_ToggleBlock(BgGndDarkmeiro* this, GlobalContext* globalCtx)
void BgGndDarkmeiro_Init(Actor* thisx, GlobalContext* globalCtx) {
GlobalContext* globalCtx2 = globalCtx;
s32 local_c = 0;
ColHeader* colHeader = NULL;
BgGndDarkmeiro* this = THIS;
this->updateFunc = BgGndDarkmeiro_Noop;
@ -64,9 +63,9 @@ void BgGndDarkmeiro_Init(Actor* thisx, GlobalContext* globalCtx) {
this->dyna.actor.flags |= 0x80;
break;
case DARKMEIRO_CLEAR_BLOCK:
DynaPolyInfo_Alloc(&D_0600C080, &local_c);
DynaPolyInfo_Alloc(&D_0600C080, &colHeader);
this->dyna.dynaPolyId =
DynaPolyInfo_RegisterActor(globalCtx2, &globalCtx2->colCtx.dyna, &this->dyna.actor, local_c);
DynaPolyInfo_RegisterActor(globalCtx2, &globalCtx2->colCtx.dyna, &this->dyna.actor, colHeader);
if (((this->dyna.actor.params >> 8) & 0x3F) == 0x3F) {
this->updateFunc = BgGndDarkmeiro_UpdateStaticBlock;
this->dyna.actor.draw = BgGndDarkmeiro_DrawStaticBlock;

View File

@ -1,3 +1,9 @@
/*
* File: z_bg_po_event.c
* Overlay: ovl_Bg_Po_Event
* Description: Poe sisters' paintings and puzzle blocks
*/
#include "z_bg_po_event.h"
#define FLAGS 0x00000000
@ -9,7 +15,27 @@ void BgPoEvent_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgPoEvent_Update(Actor* thisx, GlobalContext* globalCtx);
void BgPoEvent_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void BgPoEvent_BlockWait(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_BlockShake(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_BlockFall(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_BlockIdle(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_BlockPush(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_BlockReset(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_BlockSolved(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_AmyWait(BgPoEvent* this, GlobalContext* globalCtx); // Amy is the green Poe
void BgPoEvent_AmyPuzzle(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_PaintingEmpty(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_PaintingAppear(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_PaintingPresent(BgPoEvent* this, GlobalContext* globalCtx);
void BgPoEvent_PaintingBurn(BgPoEvent* this, GlobalContext* globalCtx);
extern Gfx D_060075A0[];
extern Gfx D_060079E0[];
extern Gfx D_06006830[];
extern Gfx D_06006D60[];
extern Gfx D_06007230[];
extern ColHeader D_06007860;
const ActorInit Bg_Po_Event_InitVars = {
ACTOR_BG_PO_EVENT,
ACTORTYPE_BG,
@ -21,47 +47,573 @@ const ActorInit Bg_Po_Event_InitVars = {
(ActorFunc)BgPoEvent_Update,
(ActorFunc)BgPoEvent_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A6210.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A658C.s")
static ColliderTrisItemInit sTrisItemsInit[2] = {
{
{ 0x04, { 0x00000000, 0x00, 0x00 }, { 0x0001F820, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
{ { { 25.0f, 33.0f, 0.0f }, { -25.0f, 33.0f, 0.0f }, { -25.0f, -33.0f, 0.0f } } },
},
{
{ 0x04, { 0x00000000, 0x00, 0x00 }, { 0x0001F820, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
{ { { 25.0f, 33.0f, 0.0f }, { -25.0f, -33.0f, 0.0f }, { 25.0f, -33.0f, 0.0f } } },
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/BgPoEvent_Init.s")
static ColliderTrisInit sTrisInit = {
{ COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x20, COLSHAPE_TRIS },
2,
sTrisItemsInit,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/BgPoEvent_Destroy.s")
static u8 sBlocksAtRest = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A68D0.s")
static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A69DC.s")
static u8 sPuzzleState;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A6A94.s")
void BgPoEvent_InitPaintings(BgPoEvent* this, GlobalContext* globalCtx) {
static s16 paintingPosX[] = { -1302, -866, 1421, 985 };
static s16 paintingPosY[] = { 1107, 1091 };
static s16 paintingPosZ[] = { -3384, -3252 };
ColliderTrisItemInit* item;
Vec3f* vtxVec;
s32 i1;
s32 i2;
Vec3f sp9C[3];
f32 coss;
f32 sins;
f32 scaleY;
s32 phi_t2;
Actor* newPainting;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A6BC8.s")
sins = Math_Sins(this->dyna.actor.shape.rot.y);
coss = Math_Coss(this->dyna.actor.shape.rot.y);
if (this->type == 4) {
sins *= 2.4f;
scaleY = 1.818f;
coss *= 2.4f;
} else {
scaleY = 1.0f;
}
for (i1 = 0; i1 < sTrisInit.count; i1++) {
item = &sTrisInit.list[i1];
if (1) {} // This section looks like a macro of some sort.
for (i2 = 0; i2 < 3; i2++) {
vtxVec = &item->dim.vtx[i2];
sp9C[i2].x = (vtxVec->x * coss) + (this->dyna.actor.initPosRot.pos.x + (sins * vtxVec->z));
sp9C[i2].y = (vtxVec->y * scaleY) + this->dyna.actor.initPosRot.pos.y;
sp9C[i2].z = this->dyna.actor.initPosRot.pos.z + (coss * vtxVec->z) - (vtxVec->x * sins);
}
func_800627A0(&this->collider, i1, &sp9C[0], &sp9C[1], &sp9C[2]);
}
if ((this->type != 4) && (this->index != 2)) {
phi_t2 = (this->type == 2) ? this->index : this->index + 2;
newPainting = Actor_SpawnAsChild(&globalCtx->actorCtx, &this->dyna.actor, globalCtx, ACTOR_BG_PO_EVENT,
paintingPosX[phi_t2], paintingPosY[this->index], paintingPosZ[this->index], 0,
this->dyna.actor.shape.rot.y + 0x8000, 0,
((this->index + 1) << 0xC) + (this->type << 8) + this->dyna.actor.params);
if (newPainting == NULL) {
Actor_Kill(&this->dyna.actor);
return;
}
if (this->index == 0) {
if (this->dyna.actor.child->child == NULL) {
Actor_Kill(&this->dyna.actor);
return;
}
this->dyna.actor.parent = this->dyna.actor.child->child;
this->dyna.actor.child->child->child = &this->dyna.actor;
}
}
this->timer = 0;
if (this->type == 4) {
sPuzzleState = 0;
this->actionFunc = BgPoEvent_AmyWait;
} else {
sPuzzleState = (s32)(Math_Rand_ZeroOne() * 3.0f) % 3;
this->actionFunc = BgPoEvent_PaintingEmpty;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A6CCC.s")
void BgPoEvent_InitBlocks(BgPoEvent* this, GlobalContext* globalCtx) {
static s16 blockPosX[] = { 2149, 1969, 1909 };
static s16 blockPosZ[] = { -1410, -1350, -1530 };
Actor* newBlock;
ColHeader* colHeader = NULL;
s32 bgId;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A6F7C.s")
this->dyna.actor.flags |= 0x30;
DynaPolyInfo_Alloc(&D_06007860, &colHeader);
this->dyna.dynaPolyId =
DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
if ((this->type == 0) && (this->index != 3)) {
newBlock = Actor_SpawnAsChild(&globalCtx->actorCtx, &this->dyna.actor, globalCtx, ACTOR_BG_PO_EVENT,
blockPosX[this->index], this->dyna.actor.posRot.pos.y, blockPosZ[this->index], 0,
this->dyna.actor.shape.rot.y, this->dyna.actor.shape.rot.z - 0x4000,
((this->index + 1) << 0xC) + (this->type << 8) + this->dyna.actor.params);
if (newBlock == NULL) {
Actor_Kill(&this->dyna.actor);
return;
}
if (this->index == 0) {
if (this->dyna.actor.child->child == NULL) {
Actor_Kill(&this->dyna.actor);
return;
}
if (this->dyna.actor.child->child->child == NULL) {
Actor_Kill(&this->dyna.actor);
Actor_Kill(this->dyna.actor.child);
return;
}
this->dyna.actor.parent = this->dyna.actor.child->child->child;
this->dyna.actor.child->child->child->child = &this->dyna.actor;
}
}
this->dyna.actor.posRot.pos.y = 833.0f;
this->dyna.actor.groundY = func_8003C9A4(&globalCtx->colCtx, &this->dyna.actor.floorPoly, &bgId, &this->dyna.actor,
&this->dyna.actor.posRot.pos);
this->actionFunc = BgPoEvent_BlockWait;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A7138.s")
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A7238.s")
void BgPoEvent_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
BgPoEvent* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A72AC.s")
Actor_ProcessInitChain(thisx, sInitChain);
this->type = (thisx->params >> 8) & 0xF;
this->index = (thisx->params >> 0xC) & 0xF;
thisx->params &= 0x3F;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A7328.s")
if (this->type >= 2) {
Collider_InitTris(globalCtx, &this->collider);
Collider_SetTris(globalCtx, &this->collider, thisx, &sTrisInit, this->colliderItems);
if (Flags_GetSwitch(globalCtx, thisx->params)) {
Actor_Kill(thisx);
} else {
BgPoEvent_InitPaintings(this, globalCtx);
}
} else {
DynaPolyInfo_SetActorMove(&this->dyna, DPM_UNK);
if (Flags_GetSwitch(globalCtx, thisx->params)) {
Actor_Kill(thisx);
} else {
BgPoEvent_InitBlocks(this, globalCtx);
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A7444.s")
void BgPoEvent_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
BgPoEvent* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A7500.s")
if (this->type >= 2) {
Collider_DestroyTris(globalCtx, &this->collider);
} else {
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
if ((this->type == 1) && (gSaveContext.timer1Value > 0)) {
gSaveContext.timer1State = 0xA;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A7530.s")
void BgPoEvent_BlockWait(BgPoEvent* this, GlobalContext* globalCtx) {
this->dyna.actor.posRot.pos.y = 833.0f;
if (sPuzzleState == 0x3F) {
if (this->type == 1) {
func_800800F8(globalCtx, 0xC4E, 0x41, NULL, 0);
}
this->timer = 45;
this->actionFunc = BgPoEvent_BlockShake;
} else if (this->dyna.actor.xzDistFromLink > 50.0f) {
if (this->type != 1) {
sPuzzleState |= (1 << this->index);
} else {
sPuzzleState |= 0x10;
}
} else if (this->type != 1) {
sPuzzleState &= ~(1 << this->index);
} else {
sPuzzleState &= ~0x10;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A7568.s")
void BgPoEvent_BlockShake(BgPoEvent* this, GlobalContext* globalCtx) {
DECR(this->timer);
if (this->timer < 15) {
this->dyna.actor.posRot.pos.x = this->dyna.actor.initPosRot.pos.x + 2.0f * ((this->timer % 3) - 1);
if (!(this->timer % 4)) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BLOCK_SHAKE);
}
}
if (this->timer == 0) {
this->dyna.actor.posRot.pos.x = this->dyna.actor.initPosRot.pos.x;
sPuzzleState = 0;
this->timer = 60;
this->actionFunc = BgPoEvent_BlockFall;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A75B8.s")
void BgPoEvent_CheckBlock(BgPoEvent* this) {
s32 phi_v1;
s32 phi_a1;
s32 phi_t0;
s32 phi_a3;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/func_808A780C.s")
if ((this->index == 3) || (this->index == 1)) {
phi_v1 = this->dyna.actor.posRot.pos.z;
phi_a1 = this->dyna.actor.child->posRot.pos.z;
if (this->index == 3) {
phi_a3 = this->dyna.actor.posRot.pos.x;
phi_t0 = this->dyna.actor.child->posRot.pos.x;
} else { // this->index == 1
phi_a3 = this->dyna.actor.child->posRot.pos.x;
phi_t0 = this->dyna.actor.posRot.pos.x;
}
} else {
phi_v1 = this->dyna.actor.posRot.pos.x;
phi_a1 = this->dyna.actor.child->posRot.pos.x;
if (this->index == 0) {
phi_a3 = this->dyna.actor.posRot.pos.z;
phi_t0 = this->dyna.actor.child->posRot.pos.z;
} else { // this->index == 2
phi_a3 = this->dyna.actor.child->posRot.pos.z;
phi_t0 = this->dyna.actor.posRot.pos.z;
}
}
if ((phi_v1 == phi_a1) && ((phi_t0 - phi_a3) == 60)) {
sPuzzleState |= (1 << this->index);
} else {
sPuzzleState &= ~(1 << this->index);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/BgPoEvent_Update.s")
void BgPoEvent_BlockFall(BgPoEvent* this, GlobalContext* globalCtx) {
static s32 firstFall = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Po_Event/BgPoEvent_Draw.s")
this->dyna.actor.velocity.y++;
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, 433.0f, this->dyna.actor.velocity.y)) {
this->dyna.actor.flags &= ~0x20;
this->dyna.actor.velocity.y = 0.0f;
sBlocksAtRest++;
if (this->type != 1) {
BgPoEvent_CheckBlock(this);
} else {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
func_80033E88(&this->dyna.actor, globalCtx, 5, 5);
func_80088B34(this->timer);
if (firstFall == 0) {
firstFall = 1;
} else {
func_8002DF54(globalCtx, &PLAYER->actor, 7);
}
}
this->direction = 0;
this->actionFunc = BgPoEvent_BlockIdle;
}
}
void BgPoEvent_BlockIdle(BgPoEvent* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Actor* amy;
if (sPuzzleState == 0xF) {
this->actionFunc = BgPoEvent_BlockSolved;
if ((this->type == 0) && (this->index == 0)) {
amy =
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_PO_SISTERS, this->dyna.actor.posRot.pos.x + 30.0f,
this->dyna.actor.posRot.pos.y - 30.0f, this->dyna.actor.posRot.pos.z + 30.0f, 0,
this->dyna.actor.shape.rot.y, 0, this->dyna.actor.params + 0x300);
if (amy != NULL) {
func_800800F8(globalCtx, 0xC62, 0x1E, amy, 0);
}
func_80078884(NA_SE_SY_CORRECT_CHIME);
gSaveContext.timer1State = 0xA;
}
} else {
if ((gSaveContext.timer1Value == 0) && (sBlocksAtRest == 5)) {
player->stateFlags2 &= ~0x10;
sPuzzleState = 0x10;
sBlocksAtRest = 0;
}
if ((sPuzzleState == 0x40) || ((sPuzzleState == 0x10) && !Player_InCsMode(globalCtx))) {
this->dyna.actor.posRot.rot.z = this->dyna.actor.shape.rot.z;
this->actionFunc = BgPoEvent_BlockReset;
if (sPuzzleState == 0x10) {
sPuzzleState = 0x40;
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BLOCK_RISING);
func_8002DF54(globalCtx, &player->actor, 8);
}
} else if (this->dyna.unk_150 != 0.0f) {
if (this->direction == 0) {
if (func_800435D8(globalCtx, &this->dyna, 0x1E, 0x32, -0x14) != 0) {
sBlocksAtRest--;
this->direction = (this->dyna.unk_150 >= 0.0f) ? 1.0f : -1.0f;
this->actionFunc = BgPoEvent_BlockPush;
} else {
player->stateFlags2 &= ~0x10;
this->dyna.unk_150 = 0.0f;
}
} else {
player->stateFlags2 &= ~0x10;
this->dyna.unk_150 = 0.0f;
DECR(this->direction);
}
} else {
this->direction = 0;
}
}
}
void BgPoEvent_BlockPush(BgPoEvent* this, GlobalContext* globalCtx) {
static f32 blockPushDist = 0.0f;
f32 displacement;
s32 blockStop;
Player* player = PLAYER;
this->dyna.actor.speedXZ += 0.1f;
this->dyna.actor.speedXZ = CLAMP_MAX(this->dyna.actor.speedXZ, 2.0f);
blockStop = Math_ApproxF(&blockPushDist, 20.0f, this->dyna.actor.speedXZ);
displacement = this->direction * blockPushDist;
this->dyna.actor.posRot.pos.x = (Math_Sins(this->dyna.unk_158) * displacement) + this->dyna.actor.initPosRot.pos.x;
this->dyna.actor.posRot.pos.z = (Math_Coss(this->dyna.unk_158) * displacement) + this->dyna.actor.initPosRot.pos.z;
if (blockStop) {
player->stateFlags2 &= ~0x10;
if ((this->dyna.unk_150 > 0.0f) && (func_800435D8(globalCtx, &this->dyna, 0x1E, 0x32, -0x14) == 0)) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND);
}
this->dyna.unk_150 = 0.0f;
this->dyna.actor.initPosRot.pos.x = this->dyna.actor.posRot.pos.x;
this->dyna.actor.initPosRot.pos.z = this->dyna.actor.posRot.pos.z;
blockPushDist = 0.0f;
this->dyna.actor.speedXZ = 0.0f;
this->direction = 5;
sBlocksAtRest++;
this->actionFunc = BgPoEvent_BlockIdle;
if (this->type == 1) {
return;
}
BgPoEvent_CheckBlock(this);
BgPoEvent_CheckBlock((BgPoEvent*)this->dyna.actor.parent);
}
func_8002F974(&this->dyna.actor, NA_SE_EV_ROCK_SLIDE - SFX_FLAG);
}
void BgPoEvent_BlockReset(BgPoEvent* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (this->dyna.unk_150 != 0.0f) {
player->stateFlags2 &= ~0x10;
this->dyna.unk_150 = 0.0f;
}
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, 493.0f, 1.0f) &&
Math_ApproxUpdateScaledS(&this->dyna.actor.shape.rot.z, this->dyna.actor.posRot.rot.z - 0x4000, 0x400)) {
this->index = (this->index + 1) % 4;
this->actionFunc = BgPoEvent_BlockFall;
sPuzzleState = 0;
if (this->type == 1) {
this->timer += 10;
this->timer = CLAMP_MAX(this->timer, 120);
}
}
}
void BgPoEvent_BlockSolved(BgPoEvent* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (this->dyna.unk_150 != 0.0f) {
player->stateFlags2 &= ~0x10;
}
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, 369.0f, 2.0f)) {
sPuzzleState = 0x20;
Actor_Kill(&this->dyna.actor);
}
}
void BgPoEvent_AmyWait(BgPoEvent* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & 2) {
sPuzzleState |= 0x20;
this->timer = 5;
func_8003426C(&this->dyna.actor, 0x4000, 0xFF, 0, 5);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EN_PO_LAUGH2);
this->actionFunc = BgPoEvent_AmyPuzzle;
}
}
void BgPoEvent_AmyPuzzle(BgPoEvent* this, GlobalContext* globalCtx) {
Vec3f pos;
if (sPuzzleState == 0xF) {
pos.x = this->dyna.actor.posRot.pos.x - 5.0f;
pos.y = Math_Rand_CenteredFloat(120.0f) + this->dyna.actor.posRot.pos.y;
pos.z = Math_Rand_CenteredFloat(120.0f) + this->dyna.actor.posRot.pos.z;
EffectSsDeadDb_Spawn(globalCtx, &pos, &sZeroVec, &sZeroVec, 170, 0, 200, 255, 100, 170, 0, 255, 0, 1, 9, true);
} else if (sPuzzleState == 0x20) {
Actor_Kill(&this->dyna.actor);
} else {
DECR(this->timer);
}
}
s32 BgPoEvent_NextPainting(BgPoEvent* this) {
if ((this->dyna.actor.parent != NULL) && (this->dyna.actor.child != NULL)) {
if (Math_Rand_ZeroOne() < 0.5f) {
sPuzzleState = ((BgPoEvent*)this->dyna.actor.parent)->index;
} else {
sPuzzleState = ((BgPoEvent*)this->dyna.actor.child)->index;
}
} else if (this->dyna.actor.parent != NULL) {
sPuzzleState = ((BgPoEvent*)this->dyna.actor.parent)->index;
} else if (this->dyna.actor.child != NULL) {
sPuzzleState = ((BgPoEvent*)this->dyna.actor.child)->index;
} else {
return false;
}
return true;
}
void BgPoEvent_PaintingEmpty(BgPoEvent* this, GlobalContext* globalCtx) {
if (sPuzzleState == this->index) {
this->timer = 255;
this->actionFunc = BgPoEvent_PaintingAppear;
}
}
void BgPoEvent_PaintingAppear(BgPoEvent* this, GlobalContext* globalCtx) {
this->timer -= 20;
if (this->timer <= 0) {
this->timer = 1000;
this->actionFunc = BgPoEvent_PaintingPresent;
}
}
void BgPoEvent_PaintingVanish(BgPoEvent* this, GlobalContext* globalCtx) {
this->timer += 20;
if (this->timer >= 255) {
BgPoEvent_NextPainting(this);
this->actionFunc = BgPoEvent_PaintingEmpty;
}
}
void BgPoEvent_PaintingPresent(BgPoEvent* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
Player* player = PLAYER;
DECR(this->timer);
if (((this->timer == 0) || ((thisx->xzDistFromLink < 150.0f) && (thisx->yDistFromLink < 50.0f)) ||
(func_8002DD78(player) && (thisx->xzDistFromLink < 320.0f) &&
((this->index != 2) ? (thisx->yDistFromLink < 100.0f) : (thisx->yDistFromLink < 0.0f)) &&
func_8002DFC8(thisx, 0x2000, globalCtx))) &&
((thisx->parent != NULL) || (thisx->child != NULL))) {
/*The third condition in the || is checking if
1) Link is holding a ranged weapon
2) Link is too close in the xz plane
3) Link is too close in the y direction. The painting
under the balcony allows him to be closer.
4) Link is within 45 degrees of facing the painting. */
this->timer = 0;
Audio_PlayActorSound2(thisx, NA_SE_EN_PO_LAUGH);
this->actionFunc = BgPoEvent_PaintingVanish;
} else if (this->collider.base.acFlags & 2) {
if (!BgPoEvent_NextPainting(this)) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_PO_SISTERS, thisx->posRot.pos.x,
thisx->posRot.pos.y - 40.0f, thisx->posRot.pos.z, 0, thisx->shape.rot.y, 0,
thisx->params + ((this->type - 1) << 8));
func_800800F8(globalCtx, 0xC58, 0x50, thisx, 0);
func_80078884(NA_SE_SY_CORRECT_CHIME);
} else {
Audio_PlayActorSound2(thisx, NA_SE_EN_PO_LAUGH2);
func_800800F8(globalCtx, 0xC58, 0x23, thisx, 0);
}
if (thisx->parent != NULL) {
thisx->parent->child = NULL;
thisx->parent = NULL;
}
if (thisx->child != NULL) {
thisx->child->parent = NULL;
thisx->child = NULL;
}
this->timer = 20;
this->actionFunc = BgPoEvent_PaintingBurn;
}
}
void BgPoEvent_PaintingBurn(BgPoEvent* this, GlobalContext* globalCtx) {
Vec3f sp54;
this->timer--;
sp54.x = (Math_Sins(this->dyna.actor.shape.rot.y) * 5.0f) + this->dyna.actor.posRot.pos.x;
sp54.y = Math_Rand_CenteredFloat(66.0f) + this->dyna.actor.posRot.pos.y;
sp54.z = Math_Rand_CenteredFloat(50.0f) + this->dyna.actor.posRot.pos.z;
if (this->timer >= 0) {
if (this->type == 2) {
EffectSsDeadDb_Spawn(globalCtx, &sp54, &sZeroVec, &sZeroVec, 100, 0, 255, 255, 150, 170, 255, 0, 0, 1, 9,
true);
} else {
EffectSsDeadDb_Spawn(globalCtx, &sp54, &sZeroVec, &sZeroVec, 100, 0, 200, 255, 255, 170, 50, 100, 255, 1, 9,
true);
}
}
if (this->timer == 0) {
this->dyna.actor.draw = NULL;
}
if (this->timer < -60) {
Actor_Kill(&this->dyna.actor);
}
}
void BgPoEvent_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
BgPoEvent* this = THIS;
this->actionFunc(this, globalCtx);
if ((this->actionFunc == BgPoEvent_AmyWait) || (this->actionFunc == BgPoEvent_PaintingPresent)) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
}
void BgPoEvent_Draw(Actor* thisx, GlobalContext* globalCtx) {
static Gfx* displayLists[] = { D_060075A0, D_060079E0, D_06006830, D_06006D60, D_06007230 };
s32 pad;
BgPoEvent* this = THIS;
u8 alpha;
Vec3f sp58;
Vec3f sp4C;
f32 sp48;
s32 pad2;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_po_event.c", 1481);
func_80093D18(globalCtx->state.gfxCtx);
if ((this->type == 3) || (this->type == 2)) {
if (this->actionFunc == BgPoEvent_PaintingEmpty) {
alpha = 255;
} else if (this->actionFunc == BgPoEvent_PaintingPresent) {
alpha = 0;
} else {
alpha = this->timer;
}
gDPSetEnvColor(oGfxCtx->polyOpa.p++, 255, 255, 255, alpha);
}
gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_po_event.c", 1501),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(oGfxCtx->polyOpa.p++, displayLists[this->type]);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_po_event.c", 1508);
if ((this->type == 0) || (this->type == 1)) {
sp48 = (833.0f - this->dyna.actor.posRot.pos.y) * 0.0025f;
if (!(sp48 > 1.0f)) {
sp58.x = this->dyna.actor.posRot.pos.x;
sp58.y = this->dyna.actor.posRot.pos.y - 30.0f;
sp58.z = this->dyna.actor.posRot.pos.z;
sp4C.y = 1.0f;
sp4C.x = sp4C.z = (sp48 * 0.3f) + 0.4f;
func_80033C30(&sp58, &sp4C, (u8)(155.0f + sp48 * 100.0f), globalCtx);
}
}
}

View File

@ -6,9 +6,17 @@
struct BgPoEvent;
typedef void (*BgPoEventActionFunc)(struct BgPoEvent*, GlobalContext*);
typedef struct BgPoEvent {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xFC];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ BgPoEventActionFunc actionFunc;
/* 0x0168 */ u8 type;
/* 0x0169 */ u8 index;
/* 0x016A */ s8 direction;
/* 0x016C */ s16 timer;
/* 0x0170 */ ColliderTris collider;
/* 0x0190 */ ColliderTrisItem colliderItems[2];
} BgPoEvent; // size = 0x0248
extern const ActorInit Bg_Po_Event_InitVars;

View File

@ -1230,6 +1230,14 @@ D_06000498 = 0x06000498;
// z_bg_menkuri_eye
D_06002D20 = 0x06002D20;
// z_bg_po_event
D_06007860 = 0x06007860;
D_060075A0 = 0x060075A0;
D_060079E0 = 0x060079E0;
D_06006830 = 0x06006830;
D_06006D60 = 0x06006D60;
D_06007230 = 0x06007230;
// z_bg_mori_idomizu
D_060049D0 = 0x060049D0;