1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-07 12:32:37 +00:00

Graveyard objects: bg_spot02_objects (#751)

* BgSpot02Objects 4 non-matching

* Bg_Spot02 3 non-matching but all down to regalloc

* finish file

* spec

* asm

* rename var

* rename func

* review

Co-authored-by: Fig02 <fig02srl@gmail.com>
This commit is contained in:
engineer124 2021-04-04 08:32:23 +10:00 committed by GitHub
parent 288320317c
commit 8b87e53b76
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 310 additions and 1378 deletions

View File

@ -1,14 +0,0 @@
glabel BgSpot02Objects_Destroy
/* 0026C 808AC8CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00270 808AC8D0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00274 808AC8D4 8FAE0018 */ lw $t6, 0x0018($sp)
/* 00278 808AC8D8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0027C 808AC8DC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00280 808AC8E0 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 00284 808AC8E4 0C00FB56 */ jal DynaPoly_DeleteBgActor
## DynaPoly_DeleteBgActor
/* 00288 808AC8E8 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 0028C 808AC8EC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00290 808AC8F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00294 808AC8F4 03E00008 */ jr $ra
/* 00298 808AC8F8 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel BgSpot02Objects_Draw
/* 0059C 808ACBFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005A0 808ACC00 AFBF0014 */ sw $ra, 0x0014($sp)
/* 005A4 808ACC04 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 005A8 808ACC08 84EE001C */ lh $t6, 0x001C($a3) ## 0000001C
/* 005AC 808ACC0C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 005B0 808ACC10 3C05808B */ lui $a1, %hi(D_808AD8B0) ## $a1 = 808B0000
/* 005B4 808ACC14 000E7880 */ sll $t7, $t6, 2
/* 005B8 808ACC18 00AF2821 */ addu $a1, $a1, $t7
/* 005BC 808ACC1C 0C00D498 */ jal Gfx_DrawDListOpa
/* 005C0 808ACC20 8CA5D8B0 */ lw $a1, %lo(D_808AD8B0)($a1)
/* 005C4 808ACC24 8FBF0014 */ lw $ra, 0x0014($sp)
/* 005C8 808ACC28 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 005CC 808ACC2C 03E00008 */ jr $ra
/* 005D0 808ACC30 00000000 */ nop

View File

@ -1,191 +0,0 @@
.late_rodata
glabel jtbl_808AD968
.word L808AC6BC
.word L808AC6BC
.word L808AC6BC
.word L808AC824
.word L808AC87C
.text
glabel BgSpot02Objects_Init
/* 00000 808AC660 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00004 808AC664 AFBF001C */ sw $ra, 0x001C($sp)
/* 00008 808AC668 AFB00018 */ sw $s0, 0x0018($sp)
/* 0000C 808AC66C AFA50034 */ sw $a1, 0x0034($sp)
/* 00010 808AC670 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00014 808AC674 AFA00024 */ sw $zero, 0x0024($sp)
/* 00018 808AC678 0C010D20 */ jal DynaPolyActor_Init
/* 0001C 808AC67C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00020 808AC680 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 00024 808AC684 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 00028 808AC688 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000
/* 0002C 808AC68C 3109FFFF */ andi $t1, $t0, 0xFFFF ## $t1 = 00000000
/* 00030 808AC690 2D210005 */ sltiu $at, $t1, 0x0005
/* 00034 808AC694 000EC203 */ sra $t8, $t6, 8
/* 00038 808AC698 A218016B */ sb $t8, 0x016B($s0) ## 0000016B
/* 0003C 808AC69C 10200086 */ beq $at, $zero, .L808AC8B8
/* 00040 808AC6A0 A608001C */ sh $t0, 0x001C($s0) ## 0000001C
/* 00044 808AC6A4 00094880 */ sll $t1, $t1, 2
/* 00048 808AC6A8 3C01808B */ lui $at, %hi(jtbl_808AD968) ## $at = 808B0000
/* 0004C 808AC6AC 00290821 */ addu $at, $at, $t1
/* 00050 808AC6B0 8C29D968 */ lw $t1, %lo(jtbl_808AD968)($at)
/* 00054 808AC6B4 01200008 */ jr $t1
/* 00058 808AC6B8 00000000 */ nop
glabel L808AC6BC
/* 0005C 808AC6BC 3C05808B */ lui $a1, %hi(D_808AD8A0) ## $a1 = 808B0000
/* 00060 808AC6C0 24A5D8A0 */ addiu $a1, $a1, %lo(D_808AD8A0) ## $a1 = 808AD8A0
/* 00064 808AC6C4 0C01E037 */ jal Actor_ProcessInitChain
/* 00068 808AC6C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0006C 808AC6CC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00070 808AC6D0 8FA40034 */ lw $a0, 0x0034($sp)
/* 00074 808AC6D4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00078 808AC6D8 14400016 */ bne $v0, $zero, .L808AC734
/* 0007C 808AC6DC 00000000 */ nop
/* 00080 808AC6E0 0C00B2D0 */ jal Flags_GetSwitch
/* 00084 808AC6E4 9205016B */ lbu $a1, 0x016B($s0) ## 0000016B
/* 00088 808AC6E8 1040000A */ beq $v0, $zero, .L808AC714
/* 0008C 808AC6EC 3C040601 */ lui $a0, %hi(D_06012BA4) ## $a0 = 06010000
/* 00090 808AC6F0 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 00094 808AC6F4 44813000 */ mtc1 $at, $f6 ## $f6 = 255.00
/* 00098 808AC6F8 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 0009C 808AC6FC 3C0A808B */ lui $t2, %hi(func_808AC8FC) ## $t2 = 808B0000
/* 000A0 808AC700 254AC8FC */ addiu $t2, $t2, %lo(func_808AC8FC) ## $t2 = 808AC8FC
/* 000A4 808AC704 46062200 */ add.s $f8, $f4, $f6
/* 000A8 808AC708 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
/* 000AC 808AC70C 10000004 */ beq $zero, $zero, .L808AC720
/* 000B0 808AC710 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
.L808AC714:
/* 000B4 808AC714 3C0B808B */ lui $t3, %hi(func_808ACAFC) ## $t3 = 808B0000
/* 000B8 808AC718 256BCAFC */ addiu $t3, $t3, %lo(func_808ACAFC) ## $t3 = 808ACAFC
/* 000BC 808AC71C AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
.L808AC720:
/* 000C0 808AC720 24842BA4 */ addiu $a0, $a0, %lo(D_06012BA4) ## $a0 = 06012BA4
/* 000C4 808AC724 0C010620 */ jal CollisionHeader_GetVirtual
/* 000C8 808AC728 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
/* 000CC 808AC72C 1000001E */ beq $zero, $zero, .L808AC7A8
/* 000D0 808AC730 8FA40034 */ lw $a0, 0x0034($sp)
.L808AC734:
/* 000D4 808AC734 1441000D */ bne $v0, $at, .L808AC76C
/* 000D8 808AC738 8FAF0034 */ lw $t7, 0x0034($sp)
/* 000DC 808AC73C 3C0C808B */ lui $t4, %hi(func_808AC8FC) ## $t4 = 808B0000
/* 000E0 808AC740 258CC8FC */ addiu $t4, $t4, %lo(func_808AC8FC) ## $t4 = 808AC8FC
/* 000E4 808AC744 3C040601 */ lui $a0, %hi(D_060128D8) ## $a0 = 06010000
/* 000E8 808AC748 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164
/* 000EC 808AC74C 248428D8 */ addiu $a0, $a0, %lo(D_060128D8) ## $a0 = 060128D8
/* 000F0 808AC750 0C010620 */ jal CollisionHeader_GetVirtual
/* 000F4 808AC754 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
/* 000F8 808AC758 8E0D0004 */ lw $t5, 0x0004($s0) ## 00000004
/* 000FC 808AC75C 3C010040 */ lui $at, 0x0040 ## $at = 00400000
/* 00100 808AC760 01A17025 */ or $t6, $t5, $at ## $t6 = 00400000
/* 00104 808AC764 1000000F */ beq $zero, $zero, .L808AC7A4
/* 00108 808AC768 AE0E0004 */ sw $t6, 0x0004($s0) ## 00000004
.L808AC76C:
/* 0010C 808AC76C 85F800A4 */ lh $t8, 0x00A4($t7) ## 000000A4
/* 00110 808AC770 24010053 */ addiu $at, $zero, 0x0053 ## $at = 00000053
/* 00114 808AC774 3C040601 */ lui $a0, %hi(D_060133EC) ## $a0 = 06010000
/* 00118 808AC778 17010005 */ bne $t8, $at, .L808AC790
/* 0011C 808AC77C 248433EC */ addiu $a0, $a0, %lo(D_060133EC) ## $a0 = 060133EC
/* 00120 808AC780 3C19808B */ lui $t9, %hi(func_808AC908) ## $t9 = 808B0000
/* 00124 808AC784 2739C908 */ addiu $t9, $t9, %lo(func_808AC908) ## $t9 = 808AC908
/* 00128 808AC788 10000004 */ beq $zero, $zero, .L808AC79C
/* 0012C 808AC78C AE190164 */ sw $t9, 0x0164($s0) ## 00000164
.L808AC790:
/* 00130 808AC790 3C08808B */ lui $t0, %hi(func_808AC8FC) ## $t0 = 808B0000
/* 00134 808AC794 2508C8FC */ addiu $t0, $t0, %lo(func_808AC8FC) ## $t0 = 808AC8FC
/* 00138 808AC798 AE080164 */ sw $t0, 0x0164($s0) ## 00000164
.L808AC79C:
/* 0013C 808AC79C 0C010620 */ jal CollisionHeader_GetVirtual
/* 00140 808AC7A0 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
.L808AC7A4:
/* 00144 808AC7A4 8FA40034 */ lw $a0, 0x0034($sp)
.L808AC7A8:
/* 00148 808AC7A8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 0014C 808AC7AC 8FA70024 */ lw $a3, 0x0024($sp)
/* 00150 808AC7B0 0C00FA9D */ jal DynaPoly_SetBgActor
## DynaPoly_SetBgActor
/* 00154 808AC7B4 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00158 808AC7B8 3C038016 */ lui $v1, %hi(gSaveContext)
/* 0015C 808AC7BC 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00160 808AC7C0 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 00164 808AC7C4 94690ED6 */ lhu $t1, 0x0ED6($v1) ## 8015F536
/* 00168 808AC7C8 8FAB0034 */ lw $t3, 0x0034($sp)
/* 0016C 808AC7CC 312A2000 */ andi $t2, $t1, 0x2000 ## $t2 = 00000000
/* 00170 808AC7D0 5140000A */ beql $t2, $zero, .L808AC7FC
/* 00174 808AC7D4 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664
/* 00178 808AC7D8 856C00A4 */ lh $t4, 0x00A4($t3) ## 000000A4
/* 0017C 808AC7DC 24010053 */ addiu $at, $zero, 0x0053 ## $at = 00000053
/* 00180 808AC7E0 55810006 */ bnel $t4, $at, .L808AC7FC
/* 00184 808AC7E4 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664
/* 00188 808AC7E8 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
/* 0018C 808AC7EC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00190 808AC7F0 11A10008 */ beq $t5, $at, .L808AC814
/* 00194 808AC7F4 00000000 */ nop
/* 00198 808AC7F8 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664
.L808AC7FC:
/* 0019C 808AC7FC 55C0002F */ bnel $t6, $zero, .L808AC8BC
/* 001A0 808AC800 8FBF001C */ lw $ra, 0x001C($sp)
/* 001A4 808AC804 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
/* 001A8 808AC808 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 001AC 808AC80C 55E1002B */ bnel $t7, $at, .L808AC8BC
/* 001B0 808AC810 8FBF001C */ lw $ra, 0x001C($sp)
.L808AC814:
/* 001B4 808AC814 0C00B55C */ jal Actor_Kill
/* 001B8 808AC818 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001BC 808AC81C 10000027 */ beq $zero, $zero, .L808AC8BC
/* 001C0 808AC820 8FBF001C */ lw $ra, 0x001C($sp)
glabel L808AC824
/* 001C4 808AC824 A200016A */ sb $zero, 0x016A($s0) ## 0000016A
/* 001C8 808AC828 8FA40034 */ lw $a0, 0x0034($sp)
/* 001CC 808AC82C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 001D0 808AC830 24070007 */ addiu $a3, $zero, 0x0007 ## $a3 = 00000007
/* 001D4 808AC834 0C00CDD2 */ jal Actor_ChangeCategory
/* 001D8 808AC838 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24
/* 001DC 808AC83C 3C19808B */ lui $t9, %hi(func_808ACC34) ## $t9 = 808B0000
/* 001E0 808AC840 3C08808B */ lui $t0, %hi(func_808ACCB8) ## $t0 = 808B0000
/* 001E4 808AC844 3C038016 */ lui $v1, %hi(gSaveContext)
/* 001E8 808AC848 2739CC34 */ addiu $t9, $t9, %lo(func_808ACC34) ## $t9 = 808ACC34
/* 001EC 808AC84C 2508CCB8 */ addiu $t0, $t0, %lo(func_808ACCB8) ## $t0 = 808ACCB8
/* 001F0 808AC850 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 001F4 808AC854 AE190164 */ sw $t9, 0x0164($s0) ## 00000164
/* 001F8 808AC858 AE080134 */ sw $t0, 0x0134($s0) ## 00000134
/* 001FC 808AC85C 94690ED6 */ lhu $t1, 0x0ED6($v1) ## 8015F536
/* 00200 808AC860 312A2000 */ andi $t2, $t1, 0x2000 ## $t2 = 00000000
/* 00204 808AC864 51400015 */ beql $t2, $zero, .L808AC8BC
/* 00208 808AC868 8FBF001C */ lw $ra, 0x001C($sp)
/* 0020C 808AC86C 0C00B55C */ jal Actor_Kill
/* 00210 808AC870 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00214 808AC874 10000011 */ beq $zero, $zero, .L808AC8BC
/* 00218 808AC878 8FBF001C */ lw $ra, 0x001C($sp)
glabel L808AC87C
/* 0021C 808AC87C 240BFFF4 */ addiu $t3, $zero, 0xFFF4 ## $t3 = FFFFFFF4
/* 00220 808AC880 340CFFFF */ ori $t4, $zero, 0xFFFF ## $t4 = 0000FFFF
/* 00224 808AC884 A60B0168 */ sh $t3, 0x0168($s0) ## 00000168
/* 00228 808AC888 A60C0170 */ sh $t4, 0x0170($s0) ## 00000170
/* 0022C 808AC88C 8FA40034 */ lw $a0, 0x0034($sp)
/* 00230 808AC890 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00234 808AC894 24070007 */ addiu $a3, $zero, 0x0007 ## $a3 = 00000007
/* 00238 808AC898 0C00CDD2 */ jal Actor_ChangeCategory
/* 0023C 808AC89C 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24
/* 00240 808AC8A0 3C0E808B */ lui $t6, %hi(func_808AD3D4) ## $t6 = 808B0000
/* 00244 808AC8A4 3C0F808B */ lui $t7, %hi(func_808AD450) ## $t7 = 808B0000
/* 00248 808AC8A8 25CED3D4 */ addiu $t6, $t6, %lo(func_808AD3D4) ## $t6 = 808AD3D4
/* 0024C 808AC8AC 25EFD450 */ addiu $t7, $t7, %lo(func_808AD450) ## $t7 = 808AD450
/* 00250 808AC8B0 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
/* 00254 808AC8B4 AE0F0134 */ sw $t7, 0x0134($s0) ## 00000134
.L808AC8B8:
/* 00258 808AC8B8 8FBF001C */ lw $ra, 0x001C($sp)
.L808AC8BC:
/* 0025C 808AC8BC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00260 808AC8C0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00264 808AC8C4 03E00008 */ jr $ra
/* 00268 808AC8C8 00000000 */ nop

View File

@ -1,10 +0,0 @@
glabel BgSpot02Objects_Update
/* 00578 808ACBD8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0057C 808ACBDC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00580 808ACBE0 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 00584 808ACBE4 0320F809 */ jalr $ra, $t9
/* 00588 808ACBE8 00000000 */ nop
/* 0058C 808ACBEC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00590 808ACBF0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00594 808ACBF4 03E00008 */ jr $ra
/* 00598 808ACBF8 00000000 */ nop

View File

@ -1,4 +0,0 @@
glabel func_808AC8FC
/* 0029C 808AC8FC AFA40000 */ sw $a0, 0x0000($sp)
/* 002A0 808AC900 03E00008 */ jr $ra
/* 002A4 808AC904 AFA50004 */ sw $a1, 0x0004($sp)

View File

@ -1,69 +0,0 @@
glabel func_808AC908
/* 002A8 808AC908 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 002AC 808AC90C AFBF0024 */ sw $ra, 0x0024($sp)
/* 002B0 808AC910 AFB00020 */ sw $s0, 0x0020($sp)
/* 002B4 808AC914 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
/* 002B8 808AC918 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 002BC 808AC91C 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 002C0 808AC920 51C00035 */ beql $t6, $zero, .L808AC9F8
/* 002C4 808AC924 8FBF0024 */ lw $ra, 0x0024($sp)
/* 002C8 808AC928 8CA21D98 */ lw $v0, 0x1D98($a1) ## 00001D98
/* 002CC 808AC92C 50400032 */ beql $v0, $zero, .L808AC9F8
/* 002D0 808AC930 8FBF0024 */ lw $ra, 0x0024($sp)
/* 002D4 808AC934 944F0000 */ lhu $t7, 0x0000($v0) ## 00000000
/* 002D8 808AC938 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 002DC 808AC93C 240528C2 */ addiu $a1, $zero, 0x28C2 ## $a1 = 000028C2
/* 002E0 808AC940 55E1002D */ bnel $t7, $at, .L808AC9F8
/* 002E4 808AC944 8FBF0024 */ lw $ra, 0x0024($sp)
/* 002E8 808AC948 0C00BE0A */ jal Audio_PlayActorSound2
/* 002EC 808AC94C AFA6003C */ sw $a2, 0x003C($sp)
/* 002F0 808AC950 3C028016 */ lui $v0, %hi(gSaveContext)
/* 002F4 808AC954 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 002F8 808AC958 94580ED6 */ lhu $t8, 0x0ED6($v0) ## 8015F536
/* 002FC 808AC95C 24080019 */ addiu $t0, $zero, 0x0019 ## $t0 = 00000019
/* 00300 808AC960 37192000 */ ori $t9, $t8, 0x2000 ## $t9 = 00002000
/* 00304 808AC964 A4590ED6 */ sh $t9, 0x0ED6($v0) ## 8015F536
/* 00308 808AC968 A6080168 */ sh $t0, 0x0168($s0) ## 00000168
/* 0030C 808AC96C 0C01DE1C */ jal Math_SinS
## sins?
/* 00310 808AC970 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00314 808AC974 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00318 808AC978 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 0031C 808AC97C C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 00320 808AC980 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00324 808AC984 46040182 */ mul.s $f6, $f0, $f4
/* 00328 808AC988 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00
/* 0032C 808AC98C 46083280 */ add.s $f10, $f6, $f8
/* 00330 808AC990 E7AA002C */ swc1 $f10, 0x002C($sp)
/* 00334 808AC994 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 00338 808AC998 46128100 */ add.s $f4, $f16, $f18
/* 0033C 808AC99C E7A40030 */ swc1 $f4, 0x0030($sp)
/* 00340 808AC9A0 0C01DE0D */ jal Math_CosS
## coss?
/* 00344 808AC9A4 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00348 808AC9A8 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 0034C 808AC9AC 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00
/* 00350 808AC9B0 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 00354 808AC9B4 3C06808B */ lui $a2, %hi(D_808AD8A4) ## $a2 = 808B0000
/* 00358 808AC9B8 46060202 */ mul.s $f8, $f0, $f6
/* 0035C 808AC9BC 24C6D8A4 */ addiu $a2, $a2, %lo(D_808AD8A4) ## $a2 = 808AD8A4
/* 00360 808AC9C0 24090046 */ addiu $t1, $zero, 0x0046 ## $t1 = 00000046
/* 00364 808AC9C4 240A001E */ addiu $t2, $zero, 0x001E ## $t2 = 0000001E
/* 00368 808AC9C8 AFAA0014 */ sw $t2, 0x0014($sp)
/* 0036C 808AC9CC AFA90010 */ sw $t1, 0x0010($sp)
/* 00370 808AC9D0 00C03825 */ or $a3, $a2, $zero ## $a3 = 808AD8A4
/* 00374 808AC9D4 460A4400 */ add.s $f16, $f8, $f10
/* 00378 808AC9D8 8FA4003C */ lw $a0, 0x003C($sp)
/* 0037C 808AC9DC 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4
/* 00380 808AC9E0 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00384 808AC9E4 E7B00034 */ swc1 $f16, 0x0034($sp)
/* 00388 808AC9E8 3C0B808B */ lui $t3, %hi(func_808ACA08) ## $t3 = 808B0000
/* 0038C 808AC9EC 256BCA08 */ addiu $t3, $t3, %lo(func_808ACA08) ## $t3 = 808ACA08
/* 00390 808AC9F0 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
/* 00394 808AC9F4 8FBF0024 */ lw $ra, 0x0024($sp)
.L808AC9F8:
/* 00398 808AC9F8 8FB00020 */ lw $s0, 0x0020($sp)
/* 0039C 808AC9FC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 003A0 808ACA00 03E00008 */ jr $ra
/* 003A4 808ACA04 00000000 */ nop

View File

@ -1,68 +0,0 @@
glabel func_808ACA08
/* 003A8 808ACA08 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 003AC 808ACA0C AFBF0034 */ sw $ra, 0x0034($sp)
/* 003B0 808ACA10 AFB00030 */ sw $s0, 0x0030($sp)
/* 003B4 808ACA14 AFA50044 */ sw $a1, 0x0044($sp)
/* 003B8 808ACA18 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 003BC 808ACA1C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003C0 808ACA20 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
/* 003C4 808ACA24 AFAF003C */ sw $t7, 0x003C($sp)
/* 003C8 808ACA28 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 003CC 808ACA2C 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 003D0 808ACA30 3C0641F0 */ lui $a2, 0x41F0 ## $a2 = 41F00000
/* 003D4 808ACA34 10400003 */ beq $v0, $zero, .L808ACA44
/* 003D8 808ACA38 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 003DC 808ACA3C A4980168 */ sh $t8, 0x0168($a0) ## 00000168
/* 003E0 808ACA40 84820168 */ lh $v0, 0x0168($a0) ## 00000168
.L808ACA44:
/* 003E4 808ACA44 14410013 */ bne $v0, $at, .L808ACA94
/* 003E8 808ACA48 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 003EC 808ACA4C AE000134 */ sw $zero, 0x0134($s0) ## 00000134
/* 003F0 808ACA50 3C0C0601 */ lui $t4, %hi(D_06012D30) ## $t4 = 06010000
/* 003F4 808ACA54 258C2D30 */ addiu $t4, $t4, %lo(D_06012D30) ## $t4 = 06012D30
/* 003F8 808ACA58 24190019 */ addiu $t9, $zero, 0x0019 ## $t9 = 00000019
/* 003FC 808ACA5C 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 00400 808ACA60 24090028 */ addiu $t1, $zero, 0x0028 ## $t1 = 00000028
/* 00404 808ACA64 240A00A1 */ addiu $t2, $zero, 0x00A1 ## $t2 = 000000A1
/* 00408 808ACA68 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
/* 0040C 808ACA6C AFAB0020 */ sw $t3, 0x0020($sp)
/* 00410 808ACA70 AFAA001C */ sw $t2, 0x001C($sp)
/* 00414 808ACA74 AFA90018 */ sw $t1, 0x0018($sp)
/* 00418 808ACA78 AFA80014 */ sw $t0, 0x0014($sp)
/* 0041C 808ACA7C AFB90010 */ sw $t9, 0x0010($sp)
/* 00420 808ACA80 AFAC0024 */ sw $t4, 0x0024($sp)
/* 00424 808ACA84 0C00A5E9 */ jal EffectSsHahen_SpawnBurst
/* 00428 808ACA88 8FA40044 */ lw $a0, 0x0044($sp)
/* 0042C 808ACA8C 10000006 */ beq $zero, $zero, .L808ACAA8
/* 00430 808ACA90 8FAD0044 */ lw $t5, 0x0044($sp)
.L808ACA94:
/* 00434 808ACA94 54400004 */ bnel $v0, $zero, .L808ACAA8
/* 00438 808ACA98 8FAD0044 */ lw $t5, 0x0044($sp)
/* 0043C 808ACA9C 0C00B55C */ jal Actor_Kill
/* 00440 808ACAA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00444 808ACAA4 8FAD0044 */ lw $t5, 0x0044($sp)
.L808ACAA8:
/* 00448 808ACAA8 24010192 */ addiu $at, $zero, 0x0192 ## $at = 00000192
/* 0044C 808ACAAC 3C0F8016 */ lui $t7, %hi(gSaveContext+4)
/* 00450 808ACAB0 95AE1D74 */ lhu $t6, 0x1D74($t5) ## 00001D74
/* 00454 808ACAB4 55C1000D */ bnel $t6, $at, .L808ACAEC
/* 00458 808ACAB8 8FBF0034 */ lw $ra, 0x0034($sp)
/* 0045C 808ACABC 8DEFE664 */ lw $t7, %lo(gSaveContext+4)($t7)
/* 00460 808ACAC0 2405683E */ addiu $a1, $zero, 0x683E ## $a1 = 0000683E
/* 00464 808ACAC4 8FA4003C */ lw $a0, 0x003C($sp)
/* 00468 808ACAC8 11E00005 */ beq $t7, $zero, .L808ACAE0
/* 0046C 808ACACC 00000000 */ nop
/* 00470 808ACAD0 0C00BDF7 */ jal func_8002F7DC
/* 00474 808ACAD4 8FA4003C */ lw $a0, 0x003C($sp)
/* 00478 808ACAD8 10000004 */ beq $zero, $zero, .L808ACAEC
/* 0047C 808ACADC 8FBF0034 */ lw $ra, 0x0034($sp)
.L808ACAE0:
/* 00480 808ACAE0 0C00BDF7 */ jal func_8002F7DC
/* 00484 808ACAE4 2405681E */ addiu $a1, $zero, 0x681E ## $a1 = 0000681E
/* 00488 808ACAE8 8FBF0034 */ lw $ra, 0x0034($sp)
.L808ACAEC:
/* 0048C 808ACAEC 8FB00030 */ lw $s0, 0x0030($sp)
/* 00490 808ACAF0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 00494 808ACAF4 03E00008 */ jr $ra
/* 00498 808ACAF8 00000000 */ nop

View File

@ -1,27 +0,0 @@
glabel func_808ACAFC
/* 0049C 808ACAFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 004A0 808ACB00 AFA40018 */ sw $a0, 0x0018($sp)
/* 004A4 808ACB04 8FAE0018 */ lw $t6, 0x0018($sp)
/* 004A8 808ACB08 AFBF0014 */ sw $ra, 0x0014($sp)
/* 004AC 808ACB0C AFA5001C */ sw $a1, 0x001C($sp)
/* 004B0 808ACB10 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 004B4 808ACB14 0C00B2D0 */ jal Flags_GetSwitch
/* 004B8 808ACB18 91C5016B */ lbu $a1, 0x016B($t6) ## 0000016B
/* 004BC 808ACB1C 1040000A */ beq $v0, $zero, .L808ACB48
/* 004C0 808ACB20 8FA40018 */ lw $a0, 0x0018($sp)
/* 004C4 808ACB24 0C00B56E */ jal Actor_SetFocus
/* 004C8 808ACB28 3C054270 */ lui $a1, 0x4270 ## $a1 = 42700000
/* 004CC 808ACB2C 8FA4001C */ lw $a0, 0x001C($sp)
/* 004D0 808ACB30 0C020120 */ jal OnePointCutscene_Attention
/* 004D4 808ACB34 8FA50018 */ lw $a1, 0x0018($sp)
/* 004D8 808ACB38 8FB80018 */ lw $t8, 0x0018($sp)
/* 004DC 808ACB3C 3C0F808B */ lui $t7, %hi(func_808ACB58) ## $t7 = 808B0000
/* 004E0 808ACB40 25EFCB58 */ addiu $t7, $t7, %lo(func_808ACB58) ## $t7 = 808ACB58
/* 004E4 808ACB44 AF0F0164 */ sw $t7, 0x0164($t8) ## 00000164
.L808ACB48:
/* 004E8 808ACB48 8FBF0014 */ lw $ra, 0x0014($sp)
/* 004EC 808ACB4C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 004F0 808ACB50 03E00008 */ jr $ra
/* 004F4 808ACB54 00000000 */ nop

View File

@ -1,37 +0,0 @@
glabel func_808ACB58
/* 004F8 808ACB58 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 004FC 808ACB5C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00500 808ACB60 AFA5001C */ sw $a1, 0x001C($sp)
/* 00504 808ACB64 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00508 808ACB68 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 0050C 808ACB6C 44813000 */ mtc1 $at, $f6 ## $f6 = 255.00
/* 00510 808ACB70 C4E4000C */ lwc1 $f4, 0x000C($a3) ## 0000000C
/* 00514 808ACB74 AFA70018 */ sw $a3, 0x0018($sp)
/* 00518 808ACB78 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
/* 0051C 808ACB7C 46062200 */ add.s $f8, $f4, $f6
/* 00520 808ACB80 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00524 808ACB84 44054000 */ mfc1 $a1, $f8
/* 00528 808ACB88 0C01DE80 */ jal Math_StepToF
/* 0052C 808ACB8C 00000000 */ nop
/* 00530 808ACB90 1040000A */ beq $v0, $zero, .L808ACBBC
/* 00534 808ACB94 8FA70018 */ lw $a3, 0x0018($sp)
/* 00538 808ACB98 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 0053C 808ACB9C 24052893 */ addiu $a1, $zero, 0x2893 ## $a1 = 00002893
/* 00540 808ACBA0 0C00BE0A */ jal Audio_PlayActorSound2
/* 00544 808ACBA4 AFA70018 */ sw $a3, 0x0018($sp)
/* 00548 808ACBA8 8FA70018 */ lw $a3, 0x0018($sp)
/* 0054C 808ACBAC 3C0E808B */ lui $t6, %hi(func_808AC8FC) ## $t6 = 808B0000
/* 00550 808ACBB0 25CEC8FC */ addiu $t6, $t6, %lo(func_808AC8FC) ## $t6 = 808AC8FC
/* 00554 808ACBB4 10000004 */ beq $zero, $zero, .L808ACBC8
/* 00558 808ACBB8 ACEE0164 */ sw $t6, 0x0164($a3) ## 00000164
.L808ACBBC:
/* 0055C 808ACBBC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00560 808ACBC0 0C00BE5D */ jal func_8002F974
/* 00564 808ACBC4 240500CB */ addiu $a1, $zero, 0x00CB ## $a1 = 000000CB
.L808ACBC8:
/* 00568 808ACBC8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0056C 808ACBCC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00570 808ACBD0 03E00008 */ jr $ra
/* 00574 808ACBD4 00000000 */ nop

View File

@ -1,39 +0,0 @@
glabel func_808ACC34
/* 005D4 808ACC34 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005D8 808ACC38 AFBF0014 */ sw $ra, 0x0014($sp)
/* 005DC 808ACC3C 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
/* 005E0 808ACC40 51C00012 */ beql $t6, $zero, .L808ACC8C
/* 005E4 808ACC44 94A21D74 */ lhu $v0, 0x1D74($a1) ## 00001D74
/* 005E8 808ACC48 8CA21D8C */ lw $v0, 0x1D8C($a1) ## 00001D8C
/* 005EC 808ACC4C 5040000F */ beql $v0, $zero, .L808ACC8C
/* 005F0 808ACC50 94A21D74 */ lhu $v0, 0x1D74($a1) ## 00001D74
/* 005F4 808ACC54 944F0000 */ lhu $t7, 0x0000($v0) ## 00000000
/* 005F8 808ACC58 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 005FC 808ACC5C 55E1000B */ bnel $t7, $at, .L808ACC8C
/* 00600 808ACC60 94A21D74 */ lhu $v0, 0x1D74($a1) ## 00001D74
/* 00604 808ACC64 9098016A */ lbu $t8, 0x016A($a0) ## 0000016A
/* 00608 808ACC68 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
/* 0060C 808ACC6C 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000001
/* 00610 808ACC70 2901000C */ slti $at, $t0, 0x000C
/* 00614 808ACC74 14200004 */ bne $at, $zero, .L808ACC88
/* 00618 808ACC78 A099016A */ sb $t9, 0x016A($a0) ## 0000016A
/* 0061C 808ACC7C 0C00B55C */ jal Actor_Kill
/* 00620 808ACC80 AFA5001C */ sw $a1, 0x001C($sp)
/* 00624 808ACC84 8FA5001C */ lw $a1, 0x001C($sp)
.L808ACC88:
/* 00628 808ACC88 94A21D74 */ lhu $v0, 0x1D74($a1) ## 00001D74
.L808ACC8C:
/* 0062C 808ACC8C 240100F5 */ addiu $at, $zero, 0x00F5 ## $at = 000000F5
/* 00630 808ACC90 10410003 */ beq $v0, $at, .L808ACCA0
/* 00634 808ACC94 2401015F */ addiu $at, $zero, 0x015F ## $at = 0000015F
/* 00638 808ACC98 54410004 */ bnel $v0, $at, .L808ACCAC
/* 0063C 808ACC9C 8FBF0014 */ lw $ra, 0x0014($sp)
.L808ACCA0:
/* 00640 808ACCA0 0C01E233 */ jal func_800788CC
/* 00644 808ACCA4 2404282E */ addiu $a0, $zero, 0x282E ## $a0 = 0000282E
/* 00648 808ACCA8 8FBF0014 */ lw $ra, 0x0014($sp)
.L808ACCAC:
/* 0064C 808ACCAC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00650 808ACCB0 03E00008 */ jr $ra
/* 00654 808ACCB4 00000000 */ nop

View File

@ -1,505 +0,0 @@
.rdata
glabel D_808AD8C0
.asciz "../z_bg_spot02_objects.c"
.balign 4
glabel D_808AD8DC
.asciz "../z_bg_spot02_objects.c"
.balign 4
glabel D_808AD8F8
.asciz "../z_bg_spot02_objects.c"
.balign 4
.late_rodata
glabel D_808AD97C
.float 9.58738019108e-05
glabel D_808AD980
.float 9.58738019108e-05
glabel D_808AD984
.float 9.58738019108e-05
.text
glabel func_808ACCB8
/* 00658 808ACCB8 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
/* 0065C 808ACCBC AFB10018 */ sw $s1, 0x0018($sp)
/* 00660 808ACCC0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00664 808ACCC4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00668 808ACCC8 AFB00014 */ sw $s0, 0x0014($sp)
/* 0066C 808ACCCC AFA40078 */ sw $a0, 0x0078($sp)
/* 00670 808ACCD0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00674 808ACCD4 3C06808B */ lui $a2, %hi(D_808AD8C0) ## $a2 = 808B0000
/* 00678 808ACCD8 24C6D8C0 */ addiu $a2, $a2, %lo(D_808AD8C0) ## $a2 = 808AD8C0
/* 0067C 808ACCDC 27A40050 */ addiu $a0, $sp, 0x0050 ## $a0 = FFFFFFD8
/* 00680 808ACCE0 24070258 */ addiu $a3, $zero, 0x0258 ## $a3 = 00000258
/* 00684 808ACCE4 0C031AB1 */ jal Graph_OpenDisps
/* 00688 808ACCE8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 0068C 808ACCEC 922E1D6C */ lbu $t6, 0x1D6C($s1) ## 00001D6C
/* 00690 808ACCF0 11C001AD */ beq $t6, $zero, .L808AD3A8
/* 00694 808ACCF4 00000000 */ nop
/* 00698 808ACCF8 8E231D8C */ lw $v1, 0x1D8C($s1) ## 00001D8C
/* 0069C 808ACCFC 106001AA */ beq $v1, $zero, .L808AD3A8
/* 006A0 808ACD00 00000000 */ nop
/* 006A4 808ACD04 946F0000 */ lhu $t7, 0x0000($v1) ## 00000000
/* 006A8 808ACD08 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 006AC 808ACD0C 8FA50078 */ lw $a1, 0x0078($sp)
/* 006B0 808ACD10 15E101A5 */ bne $t7, $at, .L808AD3A8
/* 006B4 808ACD14 00000000 */ nop
/* 006B8 808ACD18 90A2016A */ lbu $v0, 0x016A($a1) ## 0000016A
/* 006BC 808ACD1C 28410005 */ slti $at, $v0, 0x0005
/* 006C0 808ACD20 10200061 */ beq $at, $zero, .L808ACEA8
/* 006C4 808ACD24 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 006C8 808ACD28 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 006CC 808ACD2C 44816000 */ mtc1 $at, $f12 ## $f12 = 255.00
/* 006D0 808ACD30 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 006D4 808ACD34 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 006D8 808ACD38 44817000 */ mtc1 $at, $f14 ## $f14 = 100.00
/* 006DC 808ACD3C 04410005 */ bgez $v0, .L808ACD54
/* 006E0 808ACD40 468021A0 */ cvt.s.w $f6, $f4
/* 006E4 808ACD44 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 006E8 808ACD48 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
/* 006EC 808ACD4C 00000000 */ nop
/* 006F0 808ACD50 46083180 */ add.s $f6, $f6, $f8
.L808ACD54:
/* 006F4 808ACD54 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 006F8 808ACD58 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
/* 006FC 808ACD5C 3C01431B */ lui $at, 0x431B ## $at = 431B0000
/* 00700 808ACD60 44818000 */ mtc1 $at, $f16 ## $f16 = 155.00
/* 00704 808ACD64 460A3003 */ div.s $f0, $f6, $f10
/* 00708 808ACD68 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 0070C 808ACD6C 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 00710 808ACD70 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 00714 808ACD74 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 00718 808ACD78 A3A8006B */ sb $t0, 0x006B($sp)
/* 0071C 808ACD7C A3B9006A */ sb $t9, 0x006A($sp)
/* 00720 808ACD80 A3B80069 */ sb $t8, 0x0069($sp)
/* 00724 808ACD84 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 00728 808ACD88 46008082 */ mul.s $f2, $f16, $f0
/* 0072C 808ACD8C 460E1480 */ add.s $f18, $f2, $f14
/* 00730 808ACD90 4449F800 */ cfc1 $t1, $31
/* 00734 808ACD94 44CAF800 */ ctc1 $t2, $31
/* 00738 808ACD98 00000000 */ nop
/* 0073C 808ACD9C 46009124 */ cvt.w.s $f4, $f18
/* 00740 808ACDA0 444AF800 */ cfc1 $t2, $31
/* 00744 808ACDA4 00000000 */ nop
/* 00748 808ACDA8 314A0078 */ andi $t2, $t2, 0x0078 ## $t2 = 00000000
/* 0074C 808ACDAC 51400013 */ beql $t2, $zero, .L808ACDFC
/* 00750 808ACDB0 440A2000 */ mfc1 $t2, $f4
/* 00754 808ACDB4 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00
/* 00758 808ACDB8 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 0075C 808ACDBC 46049101 */ sub.s $f4, $f18, $f4
/* 00760 808ACDC0 44CAF800 */ ctc1 $t2, $31
/* 00764 808ACDC4 00000000 */ nop
/* 00768 808ACDC8 46002124 */ cvt.w.s $f4, $f4
/* 0076C 808ACDCC 444AF800 */ cfc1 $t2, $31
/* 00770 808ACDD0 00000000 */ nop
/* 00774 808ACDD4 314A0078 */ andi $t2, $t2, 0x0078 ## $t2 = 00000000
/* 00778 808ACDD8 15400005 */ bne $t2, $zero, .L808ACDF0
/* 0077C 808ACDDC 00000000 */ nop
/* 00780 808ACDE0 440A2000 */ mfc1 $t2, $f4
/* 00784 808ACDE4 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00788 808ACDE8 10000007 */ beq $zero, $zero, .L808ACE08
/* 0078C 808ACDEC 01415025 */ or $t2, $t2, $at ## $t2 = 80000000
.L808ACDF0:
/* 00790 808ACDF0 10000005 */ beq $zero, $zero, .L808ACE08
/* 00794 808ACDF4 240AFFFF */ addiu $t2, $zero, 0xFFFF ## $t2 = FFFFFFFF
/* 00798 808ACDF8 440A2000 */ mfc1 $t2, $f4
.L808ACDFC:
/* 0079C 808ACDFC 00000000 */ nop
/* 007A0 808ACE00 0540FFFB */ bltz $t2, .L808ACDF0
/* 007A4 808ACE04 00000000 */ nop
.L808ACE08:
/* 007A8 808ACE08 44C9F800 */ ctc1 $t1, $31
/* 007AC 808ACE0C 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 007B0 808ACE10 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF
/* 007B4 808ACE14 46026201 */ sub.s $f8, $f12, $f2
/* 007B8 808ACE18 A3AA0068 */ sb $t2, 0x0068($sp)
/* 007BC 808ACE1C A3AB0067 */ sb $t3, 0x0067($sp)
/* 007C0 808ACE20 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 007C4 808ACE24 444CF800 */ cfc1 $t4, $31
/* 007C8 808ACE28 44CDF800 */ ctc1 $t5, $31
/* 007CC 808ACE2C 00000000 */ nop
/* 007D0 808ACE30 460041A4 */ cvt.w.s $f6, $f8
/* 007D4 808ACE34 444DF800 */ cfc1 $t5, $31
/* 007D8 808ACE38 00000000 */ nop
/* 007DC 808ACE3C 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000
/* 007E0 808ACE40 51A00013 */ beql $t5, $zero, .L808ACE90
/* 007E4 808ACE44 440D3000 */ mfc1 $t5, $f6
/* 007E8 808ACE48 44813000 */ mtc1 $at, $f6 ## $f6 = 2147483648.00
/* 007EC 808ACE4C 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 007F0 808ACE50 46064181 */ sub.s $f6, $f8, $f6
/* 007F4 808ACE54 44CDF800 */ ctc1 $t5, $31
/* 007F8 808ACE58 00000000 */ nop
/* 007FC 808ACE5C 460031A4 */ cvt.w.s $f6, $f6
/* 00800 808ACE60 444DF800 */ cfc1 $t5, $31
/* 00804 808ACE64 00000000 */ nop
/* 00808 808ACE68 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000
/* 0080C 808ACE6C 15A00005 */ bne $t5, $zero, .L808ACE84
/* 00810 808ACE70 00000000 */ nop
/* 00814 808ACE74 440D3000 */ mfc1 $t5, $f6
/* 00818 808ACE78 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 0081C 808ACE7C 10000007 */ beq $zero, $zero, .L808ACE9C
/* 00820 808ACE80 01A16825 */ or $t5, $t5, $at ## $t5 = 80000000
.L808ACE84:
/* 00824 808ACE84 10000005 */ beq $zero, $zero, .L808ACE9C
/* 00828 808ACE88 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF
/* 0082C 808ACE8C 440D3000 */ mfc1 $t5, $f6
.L808ACE90:
/* 00830 808ACE90 00000000 */ nop
/* 00834 808ACE94 05A0FFFB */ bltz $t5, .L808ACE84
/* 00838 808ACE98 00000000 */ nop
.L808ACE9C:
/* 0083C 808ACE9C 44CCF800 */ ctc1 $t4, $31
/* 00840 808ACEA0 100000A2 */ beq $zero, $zero, .L808AD12C
/* 00844 808ACEA4 A3AD0066 */ sb $t5, 0x0066($sp)
.L808ACEA8:
/* 00848 808ACEA8 248EFFFB */ addiu $t6, $a0, 0xFFFB ## $t6 = FFFFFFFB
/* 0084C 808ACEAC 448E5000 */ mtc1 $t6, $f10 ## $f10 = NaN
/* 00850 808ACEB0 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 00854 808ACEB4 44816000 */ mtc1 $at, $f12 ## $f12 = 255.00
/* 00858 808ACEB8 46805420 */ cvt.s.w $f16, $f10
/* 0085C 808ACEBC 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00860 808ACEC0 44817000 */ mtc1 $at, $f14 ## $f14 = 100.00
/* 00864 808ACEC4 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 00868 808ACEC8 44819000 */ mtc1 $at, $f18 ## $f18 = 7.00
/* 0086C 808ACECC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00870 808ACED0 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 00874 808ACED4 46128003 */ div.s $f0, $f16, $f18
/* 00878 808ACED8 46006102 */ mul.s $f4, $f12, $f0
/* 0087C 808ACEDC 46046201 */ sub.s $f8, $f12, $f4
/* 00880 808ACEE0 444FF800 */ cfc1 $t7, $31
/* 00884 808ACEE4 44C2F800 */ ctc1 $v0, $31
/* 00888 808ACEE8 00000000 */ nop
/* 0088C 808ACEEC 460041A4 */ cvt.w.s $f6, $f8
/* 00890 808ACEF0 4442F800 */ cfc1 $v0, $31
/* 00894 808ACEF4 00000000 */ nop
/* 00898 808ACEF8 30420078 */ andi $v0, $v0, 0x0078 ## $v0 = 00000000
/* 0089C 808ACEFC 50400013 */ beql $v0, $zero, .L808ACF4C
/* 008A0 808ACF00 44023000 */ mfc1 $v0, $f6
/* 008A4 808ACF04 44813000 */ mtc1 $at, $f6 ## $f6 = 2147483648.00
/* 008A8 808ACF08 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 008AC 808ACF0C 46064181 */ sub.s $f6, $f8, $f6
/* 008B0 808ACF10 44C2F800 */ ctc1 $v0, $31
/* 008B4 808ACF14 00000000 */ nop
/* 008B8 808ACF18 460031A4 */ cvt.w.s $f6, $f6
/* 008BC 808ACF1C 4442F800 */ cfc1 $v0, $31
/* 008C0 808ACF20 00000000 */ nop
/* 008C4 808ACF24 30420078 */ andi $v0, $v0, 0x0078 ## $v0 = 00000000
/* 008C8 808ACF28 14400005 */ bne $v0, $zero, .L808ACF40
/* 008CC 808ACF2C 00000000 */ nop
/* 008D0 808ACF30 44023000 */ mfc1 $v0, $f6
/* 008D4 808ACF34 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 008D8 808ACF38 10000007 */ beq $zero, $zero, .L808ACF58
/* 008DC 808ACF3C 00411025 */ or $v0, $v0, $at ## $v0 = 80000000
.L808ACF40:
/* 008E0 808ACF40 10000005 */ beq $zero, $zero, .L808ACF58
/* 008E4 808ACF44 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
/* 008E8 808ACF48 44023000 */ mfc1 $v0, $f6
.L808ACF4C:
/* 008EC 808ACF4C 00000000 */ nop
/* 008F0 808ACF50 0440FFFB */ bltz $v0, .L808ACF40
/* 008F4 808ACF54 00000000 */ nop
.L808ACF58:
/* 008F8 808ACF58 3C01425C */ lui $at, 0x425C ## $at = 425C0000
/* 008FC 808ACF5C 44CFF800 */ ctc1 $t7, $31
/* 00900 808ACF60 44815000 */ mtc1 $at, $f10 ## $f10 = 55.00
/* 00904 808ACF64 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 00908 808ACF68 A3A2006B */ sb $v0, 0x006B($sp)
/* 0090C 808ACF6C 46005402 */ mul.s $f16, $f10, $f0
/* 00910 808ACF70 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 00914 808ACF74 46106481 */ sub.s $f18, $f12, $f16
/* 00918 808ACF78 4458F800 */ cfc1 $t8, $31
/* 0091C 808ACF7C 44D9F800 */ ctc1 $t9, $31
/* 00920 808ACF80 00000000 */ nop
/* 00924 808ACF84 46009124 */ cvt.w.s $f4, $f18
/* 00928 808ACF88 4459F800 */ cfc1 $t9, $31
/* 0092C 808ACF8C 00000000 */ nop
/* 00930 808ACF90 33390078 */ andi $t9, $t9, 0x0078 ## $t9 = 00000000
/* 00934 808ACF94 53200013 */ beql $t9, $zero, .L808ACFE4
/* 00938 808ACF98 44192000 */ mfc1 $t9, $f4
/* 0093C 808ACF9C 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00
/* 00940 808ACFA0 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 00944 808ACFA4 46049101 */ sub.s $f4, $f18, $f4
/* 00948 808ACFA8 44D9F800 */ ctc1 $t9, $31
/* 0094C 808ACFAC 00000000 */ nop
/* 00950 808ACFB0 46002124 */ cvt.w.s $f4, $f4
/* 00954 808ACFB4 4459F800 */ cfc1 $t9, $31
/* 00958 808ACFB8 00000000 */ nop
/* 0095C 808ACFBC 33390078 */ andi $t9, $t9, 0x0078 ## $t9 = 00000000
/* 00960 808ACFC0 17200005 */ bne $t9, $zero, .L808ACFD8
/* 00964 808ACFC4 00000000 */ nop
/* 00968 808ACFC8 44192000 */ mfc1 $t9, $f4
/* 0096C 808ACFCC 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00970 808ACFD0 10000007 */ beq $zero, $zero, .L808ACFF0
/* 00974 808ACFD4 0321C825 */ or $t9, $t9, $at ## $t9 = 80000000
.L808ACFD8:
/* 00978 808ACFD8 10000005 */ beq $zero, $zero, .L808ACFF0
/* 0097C 808ACFDC 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF
/* 00980 808ACFE0 44192000 */ mfc1 $t9, $f4
.L808ACFE4:
/* 00984 808ACFE4 00000000 */ nop
/* 00988 808ACFE8 0720FFFB */ bltz $t9, .L808ACFD8
/* 0098C 808ACFEC 00000000 */ nop
.L808ACFF0:
/* 00990 808ACFF0 3C0142D2 */ lui $at, 0x42D2 ## $at = 42D20000
/* 00994 808ACFF4 44D8F800 */ ctc1 $t8, $31
/* 00998 808ACFF8 44814000 */ mtc1 $at, $f8 ## $f8 = 105.00
/* 0099C 808ACFFC 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 009A0 808AD000 A3B9006A */ sb $t9, 0x006A($sp)
/* 009A4 808AD004 46004182 */ mul.s $f6, $f8, $f0
/* 009A8 808AD008 A3A20069 */ sb $v0, 0x0069($sp)
/* 009AC 808AD00C 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 009B0 808AD010 46066281 */ sub.s $f10, $f12, $f6
/* 009B4 808AD014 4448F800 */ cfc1 $t0, $31
/* 009B8 808AD018 44C9F800 */ ctc1 $t1, $31
/* 009BC 808AD01C 00000000 */ nop
/* 009C0 808AD020 46005424 */ cvt.w.s $f16, $f10
/* 009C4 808AD024 4449F800 */ cfc1 $t1, $31
/* 009C8 808AD028 00000000 */ nop
/* 009CC 808AD02C 31290078 */ andi $t1, $t1, 0x0078 ## $t1 = 00000000
/* 009D0 808AD030 51200013 */ beql $t1, $zero, .L808AD080
/* 009D4 808AD034 44098000 */ mfc1 $t1, $f16
/* 009D8 808AD038 44818000 */ mtc1 $at, $f16 ## $f16 = 2147483648.00
/* 009DC 808AD03C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 009E0 808AD040 46105401 */ sub.s $f16, $f10, $f16
/* 009E4 808AD044 44C9F800 */ ctc1 $t1, $31
/* 009E8 808AD048 00000000 */ nop
/* 009EC 808AD04C 46008424 */ cvt.w.s $f16, $f16
/* 009F0 808AD050 4449F800 */ cfc1 $t1, $31
/* 009F4 808AD054 00000000 */ nop
/* 009F8 808AD058 31290078 */ andi $t1, $t1, 0x0078 ## $t1 = 00000000
/* 009FC 808AD05C 15200005 */ bne $t1, $zero, .L808AD074
/* 00A00 808AD060 00000000 */ nop
/* 00A04 808AD064 44098000 */ mfc1 $t1, $f16
/* 00A08 808AD068 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00A0C 808AD06C 10000007 */ beq $zero, $zero, .L808AD08C
/* 00A10 808AD070 01214825 */ or $t1, $t1, $at ## $t1 = 80000000
.L808AD074:
/* 00A14 808AD074 10000005 */ beq $zero, $zero, .L808AD08C
/* 00A18 808AD078 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
/* 00A1C 808AD07C 44098000 */ mfc1 $t1, $f16
.L808AD080:
/* 00A20 808AD080 00000000 */ nop
/* 00A24 808AD084 0520FFFB */ bltz $t1, .L808AD074
/* 00A28 808AD088 00000000 */ nop
.L808AD08C:
/* 00A2C 808AD08C 44C8F800 */ ctc1 $t0, $31
/* 00A30 808AD090 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00A34 808AD094 A3A90068 */ sb $t1, 0x0068($sp)
/* 00A38 808AD098 46007482 */ mul.s $f18, $f14, $f0
/* 00A3C 808AD09C A3A20067 */ sb $v0, 0x0067($sp)
/* 00A40 808AD0A0 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 00A44 808AD0A4 460E9100 */ add.s $f4, $f18, $f14
/* 00A48 808AD0A8 444AF800 */ cfc1 $t2, $31
/* 00A4C 808AD0AC 44CBF800 */ ctc1 $t3, $31
/* 00A50 808AD0B0 00000000 */ nop
/* 00A54 808AD0B4 46002224 */ cvt.w.s $f8, $f4
/* 00A58 808AD0B8 444BF800 */ cfc1 $t3, $31
/* 00A5C 808AD0BC 00000000 */ nop
/* 00A60 808AD0C0 316B0078 */ andi $t3, $t3, 0x0078 ## $t3 = 00000000
/* 00A64 808AD0C4 51600013 */ beql $t3, $zero, .L808AD114
/* 00A68 808AD0C8 440B4000 */ mfc1 $t3, $f8
/* 00A6C 808AD0CC 44814000 */ mtc1 $at, $f8 ## $f8 = 2147483648.00
/* 00A70 808AD0D0 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00A74 808AD0D4 46082201 */ sub.s $f8, $f4, $f8
/* 00A78 808AD0D8 44CBF800 */ ctc1 $t3, $31
/* 00A7C 808AD0DC 00000000 */ nop
/* 00A80 808AD0E0 46004224 */ cvt.w.s $f8, $f8
/* 00A84 808AD0E4 444BF800 */ cfc1 $t3, $31
/* 00A88 808AD0E8 00000000 */ nop
/* 00A8C 808AD0EC 316B0078 */ andi $t3, $t3, 0x0078 ## $t3 = 00000000
/* 00A90 808AD0F0 15600005 */ bne $t3, $zero, .L808AD108
/* 00A94 808AD0F4 00000000 */ nop
/* 00A98 808AD0F8 440B4000 */ mfc1 $t3, $f8
/* 00A9C 808AD0FC 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00AA0 808AD100 10000007 */ beq $zero, $zero, .L808AD120
/* 00AA4 808AD104 01615825 */ or $t3, $t3, $at ## $t3 = 80000000
.L808AD108:
/* 00AA8 808AD108 10000005 */ beq $zero, $zero, .L808AD120
/* 00AAC 808AD10C 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
/* 00AB0 808AD110 440B4000 */ mfc1 $t3, $f8
.L808AD114:
/* 00AB4 808AD114 00000000 */ nop
/* 00AB8 808AD118 0560FFFB */ bltz $t3, .L808AD108
/* 00ABC 808AD11C 00000000 */ nop
.L808AD120:
/* 00AC0 808AD120 44CAF800 */ ctc1 $t2, $31
/* 00AC4 808AD124 A3AB0066 */ sb $t3, 0x0066($sp)
/* 00AC8 808AD128 00000000 */ nop
.L808AD12C:
/* 00ACC 808AD12C 8C6E0014 */ lw $t6, 0x0014($v1) ## 00000014
/* 00AD0 808AD130 8C6C000C */ lw $t4, 0x000C($v1) ## 0000000C
/* 00AD4 808AD134 8C6D0010 */ lw $t5, 0x0010($v1) ## 00000010
/* 00AD8 808AD138 448E8000 */ mtc1 $t6, $f16 ## $f16 = NaN
/* 00ADC 808AD13C 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
/* 00AE0 808AD140 448D5000 */ mtc1 $t5, $f10 ## $f10 = NaN
/* 00AE4 808AD144 46808420 */ cvt.s.w $f16, $f16
/* 00AE8 808AD148 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00AEC 808AD14C 46803320 */ cvt.s.w $f12, $f6
/* 00AF0 808AD150 44068000 */ mfc1 $a2, $f16
/* 00AF4 808AD154 0C034261 */ jal Matrix_Translate
/* 00AF8 808AD158 468053A0 */ cvt.s.w $f14, $f10
/* 00AFC 808AD15C 8E2F1D8C */ lw $t7, 0x1D8C($s1) ## 00001D8C
/* 00B00 808AD160 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 00B04 808AD164 95F80006 */ lhu $t8, 0x0006($t7) ## 00000006
/* 00B08 808AD168 44989000 */ mtc1 $t8, $f18 ## $f18 = 0.00
/* 00B0C 808AD16C 07010004 */ bgez $t8, .L808AD180
/* 00B10 808AD170 46809120 */ cvt.s.w $f4, $f18
/* 00B14 808AD174 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
/* 00B18 808AD178 00000000 */ nop
/* 00B1C 808AD17C 46082100 */ add.s $f4, $f4, $f8
.L808AD180:
/* 00B20 808AD180 3C01808B */ lui $at, %hi(D_808AD97C) ## $at = 808B0000
/* 00B24 808AD184 C426D97C */ lwc1 $f6, %lo(D_808AD97C)($at)
/* 00B28 808AD188 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00B2C 808AD18C 46062302 */ mul.s $f12, $f4, $f6
/* 00B30 808AD190 0C0342DC */ jal Matrix_RotateX
/* 00B34 808AD194 00000000 */ nop
/* 00B38 808AD198 8E391D8C */ lw $t9, 0x1D8C($s1) ## 00001D8C
/* 00B3C 808AD19C 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 00B40 808AD1A0 97280008 */ lhu $t0, 0x0008($t9) ## 00000008
/* 00B44 808AD1A4 44885000 */ mtc1 $t0, $f10 ## $f10 = 0.00
/* 00B48 808AD1A8 05010004 */ bgez $t0, .L808AD1BC
/* 00B4C 808AD1AC 46805420 */ cvt.s.w $f16, $f10
/* 00B50 808AD1B0 44819000 */ mtc1 $at, $f18 ## $f18 = 4294967296.00
/* 00B54 808AD1B4 00000000 */ nop
/* 00B58 808AD1B8 46128400 */ add.s $f16, $f16, $f18
.L808AD1BC:
/* 00B5C 808AD1BC 3C01808B */ lui $at, %hi(D_808AD980) ## $at = 808B0000
/* 00B60 808AD1C0 C428D980 */ lwc1 $f8, %lo(D_808AD980)($at)
/* 00B64 808AD1C4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00B68 808AD1C8 46088302 */ mul.s $f12, $f16, $f8
/* 00B6C 808AD1CC 0C034348 */ jal Matrix_RotateY
/* 00B70 808AD1D0 00000000 */ nop
/* 00B74 808AD1D4 8E291D8C */ lw $t1, 0x1D8C($s1) ## 00001D8C
/* 00B78 808AD1D8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 00B7C 808AD1DC 952A000A */ lhu $t2, 0x000A($t1) ## 0000000A
/* 00B80 808AD1E0 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00
/* 00B84 808AD1E4 05410004 */ bgez $t2, .L808AD1F8
/* 00B88 808AD1E8 468021A0 */ cvt.s.w $f6, $f4
/* 00B8C 808AD1EC 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
/* 00B90 808AD1F0 00000000 */ nop
/* 00B94 808AD1F4 460A3180 */ add.s $f6, $f6, $f10
.L808AD1F8:
/* 00B98 808AD1F8 3C01808B */ lui $at, %hi(D_808AD984) ## $at = 808B0000
/* 00B9C 808AD1FC C432D984 */ lwc1 $f18, %lo(D_808AD984)($at)
/* 00BA0 808AD200 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00BA4 808AD204 46123302 */ mul.s $f12, $f6, $f18
/* 00BA8 808AD208 0C0343B5 */ jal Matrix_RotateZ
/* 00BAC 808AD20C 00000000 */ nop
/* 00BB0 808AD210 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00BB4 808AD214 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 00BB8 808AD218 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00BBC 808AD21C 44066000 */ mfc1 $a2, $f12
/* 00BC0 808AD220 0C0342A3 */ jal Matrix_Scale
/* 00BC4 808AD224 46006386 */ mov.s $f14, $f12
/* 00BC8 808AD228 0C024F61 */ jal func_80093D84
/* 00BCC 808AD22C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 00BD0 808AD230 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00BD4 808AD234 3C07E700 */ lui $a3, 0xE700 ## $a3 = E7000000
/* 00BD8 808AD238 3C0DFA00 */ lui $t5, 0xFA00 ## $t5 = FA000000
/* 00BDC 808AD23C 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 00BE0 808AD240 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 00BE4 808AD244 AC470000 */ sw $a3, 0x0000($v0) ## 00000000
/* 00BE8 808AD248 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 00BEC 808AD24C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00BF0 808AD250 3C05808B */ lui $a1, %hi(D_808AD8DC) ## $a1 = 808B0000
/* 00BF4 808AD254 24A5D8DC */ addiu $a1, $a1, %lo(D_808AD8DC) ## $a1 = 808AD8DC
/* 00BF8 808AD258 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 00BFC 808AD25C AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 00C00 808AD260 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 00C04 808AD264 93A8006A */ lbu $t0, 0x006A($sp)
/* 00C08 808AD268 93AF006B */ lbu $t7, 0x006B($sp)
/* 00C0C 808AD26C 93AC0069 */ lbu $t4, 0x0069($sp)
/* 00C10 808AD270 00084C00 */ sll $t1, $t0, 16
/* 00C14 808AD274 000FC600 */ sll $t8, $t7, 24
/* 00C18 808AD278 03095025 */ or $t2, $t8, $t1 ## $t2 = 00000000
/* 00C1C 808AD27C 000C6A00 */ sll $t5, $t4, 8
/* 00C20 808AD280 014D7025 */ or $t6, $t2, $t5 ## $t6 = FA000000
/* 00C24 808AD284 35CF00FF */ ori $t7, $t6, 0x00FF ## $t7 = FA0000FF
/* 00C28 808AD288 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 00C2C 808AD28C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00C30 808AD290 3C08FB00 */ lui $t0, 0xFB00 ## $t0 = FB000000
/* 00C34 808AD294 240602A7 */ addiu $a2, $zero, 0x02A7 ## $a2 = 000002A7
/* 00C38 808AD298 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00C3C 808AD29C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 00C40 808AD2A0 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 00C44 808AD2A4 93AA0067 */ lbu $t2, 0x0067($sp)
/* 00C48 808AD2A8 93A90068 */ lbu $t1, 0x0068($sp)
/* 00C4C 808AD2AC 93B90066 */ lbu $t9, 0x0066($sp)
/* 00C50 808AD2B0 000A6C00 */ sll $t5, $t2, 16
/* 00C54 808AD2B4 00095E00 */ sll $t3, $t1, 24
/* 00C58 808AD2B8 016D7025 */ or $t6, $t3, $t5 ## $t6 = FA000008
/* 00C5C 808AD2BC 00194200 */ sll $t0, $t9, 8
/* 00C60 808AD2C0 01C8C025 */ or $t8, $t6, $t0 ## $t8 = FB000008
/* 00C64 808AD2C4 370900FF */ ori $t1, $t8, 0x00FF ## $t1 = FB0000FF
/* 00C68 808AD2C8 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
/* 00C6C 808AD2CC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00C70 808AD2D0 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 00C74 808AD2D4 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 00C78 808AD2D8 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 00C7C 808AD2DC AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 00C80 808AD2E0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 00C84 808AD2E4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 00C88 808AD2E8 0C0346A2 */ jal Matrix_NewMtx
/* 00C8C 808AD2EC AFA20040 */ sw $v0, 0x0040($sp)
/* 00C90 808AD2F0 8FA30040 */ lw $v1, 0x0040($sp)
/* 00C94 808AD2F4 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
/* 00C98 808AD2F8 35AD0020 */ ori $t5, $t5, 0x0020 ## $t5 = DB060020
/* 00C9C 808AD2FC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00CA0 808AD300 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00CA4 808AD304 3C04808B */ lui $a0, %hi(D_808AD850) ## $a0 = 808B0000
/* 00CA8 808AD308 3C0A8016 */ lui $t2, %hi(gSegments)
/* 00CAC 808AD30C 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 00CB0 808AD310 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 00CB4 808AD314 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 00CB8 808AD318 8FAF0078 */ lw $t7, 0x0078($sp)
/* 00CBC 808AD31C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00CC0 808AD320 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00CC4 808AD324 91F9016A */ lbu $t9, 0x016A($t7) ## 0000016A
/* 00CC8 808AD328 3C07E700 */ lui $a3, 0xE700 ## $a3 = E7000000
/* 00CCC 808AD32C 00197080 */ sll $t6, $t9, 2
/* 00CD0 808AD330 008E2021 */ addu $a0, $a0, $t6
/* 00CD4 808AD334 8C84D850 */ lw $a0, %lo(D_808AD850)($a0)
/* 00CD8 808AD338 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000
/* 00CDC 808AD33C 0004C100 */ sll $t8, $a0, 4
/* 00CE0 808AD340 00184F02 */ srl $t1, $t8, 28
/* 00CE4 808AD344 00096080 */ sll $t4, $t1, 2
/* 00CE8 808AD348 014C5021 */ addu $t2, $t2, $t4
/* 00CEC 808AD34C 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2)
/* 00CF0 808AD350 00814024 */ and $t0, $a0, $at
/* 00CF4 808AD354 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00CF8 808AD358 010A5821 */ addu $t3, $t0, $t2
/* 00CFC 808AD35C 01616821 */ addu $t5, $t3, $at
/* 00D00 808AD360 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 00D04 808AD364 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00D08 808AD368 3C180601 */ lui $t8, %hi(D_060126F0) ## $t8 = 06010000
/* 00D0C 808AD36C 271826F0 */ addiu $t8, $t8, %lo(D_060126F0) ## $t8 = 060126F0
/* 00D10 808AD370 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00D14 808AD374 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
/* 00D18 808AD378 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 00D1C 808AD37C AC470000 */ sw $a3, 0x0000($v0) ## 00000000
/* 00D20 808AD380 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00D24 808AD384 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00D28 808AD388 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 00D2C 808AD38C AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 00D30 808AD390 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 00D34 808AD394 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00D38 808AD398 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 00D3C 808AD39C AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
/* 00D40 808AD3A0 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 00D44 808AD3A4 AC470000 */ sw $a3, 0x0000($v0) ## 00000000
.L808AD3A8:
/* 00D48 808AD3A8 3C06808B */ lui $a2, %hi(D_808AD8F8) ## $a2 = 808B0000
/* 00D4C 808AD3AC 24C6D8F8 */ addiu $a2, $a2, %lo(D_808AD8F8) ## $a2 = 808AD8F8
/* 00D50 808AD3B0 27A40050 */ addiu $a0, $sp, 0x0050 ## $a0 = FFFFFFD8
/* 00D54 808AD3B4 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 00D58 808AD3B8 0C031AD5 */ jal Graph_CloseDisps
/* 00D5C 808AD3BC 240702B4 */ addiu $a3, $zero, 0x02B4 ## $a3 = 000002B4
/* 00D60 808AD3C0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00D64 808AD3C4 8FB00014 */ lw $s0, 0x0014($sp)
/* 00D68 808AD3C8 8FB10018 */ lw $s1, 0x0018($sp)
/* 00D6C 808AD3CC 03E00008 */ jr $ra
/* 00D70 808AD3D0 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000

View File

@ -1,38 +0,0 @@
glabel func_808AD3D4
/* 00D74 808AD3D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00D78 808AD3D8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D7C 808AD3DC 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C
/* 00D80 808AD3E0 51C00018 */ beql $t6, $zero, .L808AD444
/* 00D84 808AD3E4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00D88 808AD3E8 8CA21D94 */ lw $v0, 0x1D94($a1) ## 00001D94
/* 00D8C 808AD3EC 50400015 */ beql $v0, $zero, .L808AD444
/* 00D90 808AD3F0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00D94 808AD3F4 944F0000 */ lhu $t7, 0x0000($v0) ## 00000000
/* 00D98 808AD3F8 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
/* 00D9C 808AD3FC 546F0011 */ bnel $v1, $t7, .L808AD444
/* 00DA0 808AD400 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00DA4 808AD404 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 00DA8 808AD408 2405183B */ addiu $a1, $zero, 0x183B ## $a1 = 0000183B
/* 00DAC 808AD40C 54620006 */ bnel $v1, $v0, .L808AD428
/* 00DB0 808AD410 28410020 */ slti $at, $v0, 0x0020
/* 00DB4 808AD414 0C00BE0A */ jal Audio_PlayActorSound2
/* 00DB8 808AD418 AFA40018 */ sw $a0, 0x0018($sp)
/* 00DBC 808AD41C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00DC0 808AD420 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 00DC4 808AD424 28410020 */ slti $at, $v0, 0x0020
.L808AD428:
/* 00DC8 808AD428 10200003 */ beq $at, $zero, .L808AD438
/* 00DCC 808AD42C 24580001 */ addiu $t8, $v0, 0x0001 ## $t8 = 00000001
/* 00DD0 808AD430 10000003 */ beq $zero, $zero, .L808AD440
/* 00DD4 808AD434 A4980168 */ sh $t8, 0x0168($a0) ## 00000168
.L808AD438:
/* 00DD8 808AD438 0C00B55C */ jal Actor_Kill
/* 00DDC 808AD43C 00000000 */ nop
.L808AD440:
/* 00DE0 808AD440 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AD444:
/* 00DE4 808AD444 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00DE8 808AD448 03E00008 */ jr $ra
/* 00DEC 808AD44C 00000000 */ nop

View File

@ -1,296 +0,0 @@
.rdata
glabel D_808AD914
.asciz "../z_bg_spot02_objects.c"
.balign 4
glabel D_808AD930
.asciz "../z_bg_spot02_objects.c"
.balign 4
glabel D_808AD94C
.asciz "../z_bg_spot02_objects.c"
.balign 4
.late_rodata
glabel D_808AD988
.float 5.4932502e-3
glabel D_808AD98C
.float 9.58738019108e-05
glabel D_808AD990
.float 9.58738019108e-05
glabel D_808AD994
.float 0.9
glabel D_808AD998
.float 0.1
.text
glabel func_808AD450
/* 00DF0 808AD450 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
/* 00DF4 808AD454 AFB1003C */ sw $s1, 0x003C($sp)
/* 00DF8 808AD458 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00DFC 808AD45C AFBF0044 */ sw $ra, 0x0044($sp)
/* 00E00 808AD460 AFB20040 */ sw $s2, 0x0040($sp)
/* 00E04 808AD464 AFB00038 */ sw $s0, 0x0038($sp)
/* 00E08 808AD468 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00E0C 808AD46C 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00E10 808AD470 3C06808B */ lui $a2, %hi(D_808AD914) ## $a2 = 808B0000
/* 00E14 808AD474 24C6D914 */ addiu $a2, $a2, %lo(D_808AD914) ## $a2 = 808AD914
/* 00E18 808AD478 27A40078 */ addiu $a0, $sp, 0x0078 ## $a0 = FFFFFFE0
/* 00E1C 808AD47C 240702E0 */ addiu $a3, $zero, 0x02E0 ## $a3 = 000002E0
/* 00E20 808AD480 0C031AB1 */ jal Graph_OpenDisps
/* 00E24 808AD484 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00E28 808AD488 922E1D6C */ lbu $t6, 0x1D6C($s1) ## 00001D6C
/* 00E2C 808AD48C 11C000E4 */ beq $t6, $zero, .L808AD820
/* 00E30 808AD490 00000000 */ nop
/* 00E34 808AD494 8E221D94 */ lw $v0, 0x1D94($s1) ## 00001D94
/* 00E38 808AD498 104000E1 */ beq $v0, $zero, .L808AD820
/* 00E3C 808AD49C 00000000 */ nop
/* 00E40 808AD4A0 944F000A */ lhu $t7, 0x000A($v0) ## 0000000A
/* 00E44 808AD4A4 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 00E48 808AD4A8 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 00E4C 808AD4AC 05E10004 */ bgez $t7, .L808AD4C0
/* 00E50 808AD4B0 468021A0 */ cvt.s.w $f6, $f4
/* 00E54 808AD4B4 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
/* 00E58 808AD4B8 00000000 */ nop
/* 00E5C 808AD4BC 46083180 */ add.s $f6, $f6, $f8
.L808AD4C0:
/* 00E60 808AD4C0 3C01808B */ lui $at, %hi(D_808AD988) ## $at = 808B0000
/* 00E64 808AD4C4 C42AD988 */ lwc1 $f10, %lo(D_808AD988)($at)
/* 00E68 808AD4C8 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00E6C 808AD4CC 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 00E70 808AD4D0 460A3402 */ mul.s $f16, $f6, $f10
/* 00E74 808AD4D4 4458F800 */ cfc1 $t8, $31
/* 00E78 808AD4D8 44C3F800 */ ctc1 $v1, $31
/* 00E7C 808AD4DC 00000000 */ nop
/* 00E80 808AD4E0 460084A4 */ cvt.w.s $f18, $f16
/* 00E84 808AD4E4 4443F800 */ cfc1 $v1, $31
/* 00E88 808AD4E8 00000000 */ nop
/* 00E8C 808AD4EC 30630078 */ andi $v1, $v1, 0x0078 ## $v1 = 00000000
/* 00E90 808AD4F0 50600013 */ beql $v1, $zero, .L808AD540
/* 00E94 808AD4F4 44039000 */ mfc1 $v1, $f18
/* 00E98 808AD4F8 44819000 */ mtc1 $at, $f18 ## $f18 = 2147483648.00
/* 00E9C 808AD4FC 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00EA0 808AD500 46128481 */ sub.s $f18, $f16, $f18
/* 00EA4 808AD504 44C3F800 */ ctc1 $v1, $31
/* 00EA8 808AD508 00000000 */ nop
/* 00EAC 808AD50C 460094A4 */ cvt.w.s $f18, $f18
/* 00EB0 808AD510 4443F800 */ cfc1 $v1, $31
/* 00EB4 808AD514 00000000 */ nop
/* 00EB8 808AD518 30630078 */ andi $v1, $v1, 0x0078 ## $v1 = 00000000
/* 00EBC 808AD51C 14600005 */ bne $v1, $zero, .L808AD534
/* 00EC0 808AD520 00000000 */ nop
/* 00EC4 808AD524 44039000 */ mfc1 $v1, $f18
/* 00EC8 808AD528 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00ECC 808AD52C 10000007 */ beq $zero, $zero, .L808AD54C
/* 00ED0 808AD530 00611825 */ or $v1, $v1, $at ## $v1 = 80000000
.L808AD534:
/* 00ED4 808AD534 10000005 */ beq $zero, $zero, .L808AD54C
/* 00ED8 808AD538 2403FFFF */ addiu $v1, $zero, 0xFFFF ## $v1 = FFFFFFFF
/* 00EDC 808AD53C 44039000 */ mfc1 $v1, $f18
.L808AD540:
/* 00EE0 808AD540 00000000 */ nop
/* 00EE4 808AD544 0460FFFB */ bltz $v1, .L808AD534
/* 00EE8 808AD548 00000000 */ nop
.L808AD54C:
/* 00EEC 808AD54C 96440170 */ lhu $a0, 0x0170($s2) ## 00000170
/* 00EF0 808AD550 44D8F800 */ ctc1 $t8, $31
/* 00EF4 808AD554 3063FFFF */ andi $v1, $v1, 0xFFFF ## $v1 = 0000FFFF
/* 00EF8 808AD558 1064000A */ beq $v1, $a0, .L808AD584
/* 00EFC 808AD55C 3401FFFF */ ori $at, $zero, 0xFFFF ## $at = 0000FFFF
/* 00F00 808AD560 54810006 */ bnel $a0, $at, .L808AD57C
/* 00F04 808AD564 A6440172 */ sh $a0, 0x0172($s2) ## 00000172
/* 00F08 808AD568 A6430170 */ sh $v1, 0x0170($s2) ## 00000170
/* 00F0C 808AD56C A6430172 */ sh $v1, 0x0172($s2) ## 00000172
/* 00F10 808AD570 10000004 */ beq $zero, $zero, .L808AD584
/* 00F14 808AD574 8E221D94 */ lw $v0, 0x1D94($s1) ## 00001D94
/* 00F18 808AD578 A6440172 */ sh $a0, 0x0172($s2) ## 00000172
.L808AD57C:
/* 00F1C 808AD57C A6430170 */ sh $v1, 0x0170($s2) ## 00000170
/* 00F20 808AD580 8E221D94 */ lw $v0, 0x1D94($s1) ## 00001D94
.L808AD584:
/* 00F24 808AD584 94440004 */ lhu $a0, 0x0004($v0) ## 00000004
/* 00F28 808AD588 94450002 */ lhu $a1, 0x0002($v0) ## 00000002
/* 00F2C 808AD58C 0C01BE4F */ jal func_8006F93C
/* 00F30 808AD590 96261D74 */ lhu $a2, 0x1D74($s1) ## 00001D74
/* 00F34 808AD594 E7A0008C */ swc1 $f0, 0x008C($sp)
/* 00F38 808AD598 8E221D94 */ lw $v0, 0x1D94($s1) ## 00001D94
/* 00F3C 808AD59C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00F40 808AD5A0 94490000 */ lhu $t1, 0x0000($v0) ## 00000000
/* 00F44 808AD5A4 1521009E */ bne $t1, $at, .L808AD820
/* 00F48 808AD5A8 00000000 */ nop
/* 00F4C 808AD5AC 8C4C0014 */ lw $t4, 0x0014($v0) ## 00000014
/* 00F50 808AD5B0 8C4A000C */ lw $t2, 0x000C($v0) ## 0000000C
/* 00F54 808AD5B4 8C4B0010 */ lw $t3, 0x0010($v0) ## 00000010
/* 00F58 808AD5B8 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
/* 00F5C 808AD5BC 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00
/* 00F60 808AD5C0 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00
/* 00F64 808AD5C4 468031A0 */ cvt.s.w $f6, $f6
/* 00F68 808AD5C8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00F6C 808AD5CC 46802320 */ cvt.s.w $f12, $f4
/* 00F70 808AD5D0 44063000 */ mfc1 $a2, $f6
/* 00F74 808AD5D4 0C034261 */ jal Matrix_Translate
/* 00F78 808AD5D8 468043A0 */ cvt.s.w $f14, $f8
/* 00F7C 808AD5DC 8E2D1D94 */ lw $t5, 0x1D94($s1) ## 00001D94
/* 00F80 808AD5E0 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 00F84 808AD5E4 95AE0006 */ lhu $t6, 0x0006($t5) ## 00000006
/* 00F88 808AD5E8 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00
/* 00F8C 808AD5EC 05C10004 */ bgez $t6, .L808AD600
/* 00F90 808AD5F0 46805420 */ cvt.s.w $f16, $f10
/* 00F94 808AD5F4 44819000 */ mtc1 $at, $f18 ## $f18 = 4294967296.00
/* 00F98 808AD5F8 00000000 */ nop
/* 00F9C 808AD5FC 46128400 */ add.s $f16, $f16, $f18
.L808AD600:
/* 00FA0 808AD600 3C01808B */ lui $at, %hi(D_808AD98C) ## $at = 808B0000
/* 00FA4 808AD604 C424D98C */ lwc1 $f4, %lo(D_808AD98C)($at)
/* 00FA8 808AD608 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00FAC 808AD60C 46048302 */ mul.s $f12, $f16, $f4
/* 00FB0 808AD610 0C0342DC */ jal Matrix_RotateX
/* 00FB4 808AD614 00000000 */ nop
/* 00FB8 808AD618 8E2F1D94 */ lw $t7, 0x1D94($s1) ## 00001D94
/* 00FBC 808AD61C 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 00FC0 808AD620 95F80008 */ lhu $t8, 0x0008($t7) ## 00000008
/* 00FC4 808AD624 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
/* 00FC8 808AD628 07010004 */ bgez $t8, .L808AD63C
/* 00FCC 808AD62C 468041A0 */ cvt.s.w $f6, $f8
/* 00FD0 808AD630 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
/* 00FD4 808AD634 00000000 */ nop
/* 00FD8 808AD638 460A3180 */ add.s $f6, $f6, $f10
.L808AD63C:
/* 00FDC 808AD63C 3C01808B */ lui $at, %hi(D_808AD990) ## $at = 808B0000
/* 00FE0 808AD640 C432D990 */ lwc1 $f18, %lo(D_808AD990)($at)
/* 00FE4 808AD644 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00FE8 808AD648 46123302 */ mul.s $f12, $f6, $f18
/* 00FEC 808AD64C 0C034348 */ jal Matrix_RotateY
/* 00FF0 808AD650 00000000 */ nop
/* 00FF4 808AD654 96420172 */ lhu $v0, 0x0172($s2) ## 00000172
/* 00FF8 808AD658 96590170 */ lhu $t9, 0x0170($s2) ## 00000170
/* 00FFC 808AD65C C7A8008C */ lwc1 $f8, 0x008C($sp)
/* 01000 808AD660 3C01808B */ lui $at, %hi(D_808AD994) ## $at = 808B0000
/* 01004 808AD664 03224823 */ subu $t1, $t9, $v0
/* 01008 808AD668 44898000 */ mtc1 $t1, $f16 ## $f16 = 0.00
/* 0100C 808AD66C C42CD994 */ lwc1 $f12, %lo(D_808AD994)($at)
/* 01010 808AD670 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 01014 808AD674 46808120 */ cvt.s.w $f4, $f16
/* 01018 808AD678 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 0101C 808AD67C 46006386 */ mov.s $f14, $f12
/* 01020 808AD680 468034A0 */ cvt.s.w $f18, $f6
/* 01024 808AD684 46082282 */ mul.s $f10, $f4, $f8
/* 01028 808AD688 04430005 */ bgezl $v0, .L808AD6A0
/* 0102C 808AD68C 46125100 */ add.s $f4, $f10, $f18
/* 01030 808AD690 44818000 */ mtc1 $at, $f16 ## $f16 = 4294967296.00
/* 01034 808AD694 00000000 */ nop
/* 01038 808AD698 46109480 */ add.s $f18, $f18, $f16
/* 0103C 808AD69C 46125100 */ add.s $f4, $f10, $f18
.L808AD6A0:
/* 01040 808AD6A0 3C01808B */ lui $at, %hi(D_808AD998) ## $at = 808B0000
/* 01044 808AD6A4 C428D998 */ lwc1 $f8, %lo(D_808AD998)($at)
/* 01048 808AD6A8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 0104C 808AD6AC 46082182 */ mul.s $f6, $f4, $f8
/* 01050 808AD6B0 44063000 */ mfc1 $a2, $f6
/* 01054 808AD6B4 0C0342A3 */ jal Matrix_Scale
/* 01058 808AD6B8 00000000 */ nop
/* 0105C 808AD6BC 0C024F61 */ jal func_80093D84
/* 01060 808AD6C0 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01064 808AD6C4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01068 808AD6C8 3C0BE700 */ lui $t3, 0xE700 ## $t3 = E7000000
/* 0106C 808AD6CC 3C0DFA00 */ lui $t5, 0xFA00 ## $t5 = FA000000
/* 01070 808AD6D0 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 01074 808AD6D4 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
/* 01078 808AD6D8 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 0107C 808AD6DC AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 01080 808AD6E0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01084 808AD6E4 240EAA80 */ addiu $t6, $zero, 0xAA80 ## $t6 = FFFFAA80
/* 01088 808AD6E8 3C199678 */ lui $t9, 0x9678 ## $t9 = 96780000
/* 0108C 808AD6EC 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 01090 808AD6F0 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 01094 808AD6F4 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 01098 808AD6F8 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 0109C 808AD6FC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 010A0 808AD700 37390080 */ ori $t9, $t9, 0x0080 ## $t9 = 96780080
/* 010A4 808AD704 3C18FB00 */ lui $t8, 0xFB00 ## $t8 = FB000000
/* 010A8 808AD708 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 010AC 808AD70C AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
/* 010B0 808AD710 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 010B4 808AD714 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
/* 010B8 808AD718 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 010BC 808AD71C 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 010C0 808AD720 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 010C4 808AD724 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 010C8 808AD728 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
/* 010CC 808AD72C AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 010D0 808AD730 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 010D4 808AD734 3C05808B */ lui $a1, %hi(D_808AD930) ## $a1 = 808B0000
/* 010D8 808AD738 24A5D930 */ addiu $a1, $a1, %lo(D_808AD930) ## $a1 = 808AD930
/* 010DC 808AD73C 2406031B */ addiu $a2, $zero, 0x031B ## $a2 = 0000031B
/* 010E0 808AD740 0C0346A2 */ jal Matrix_NewMtx
/* 010E4 808AD744 AFA20064 */ sw $v0, 0x0064($sp)
/* 010E8 808AD748 8FA30064 */ lw $v1, 0x0064($sp)
/* 010EC 808AD74C 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
/* 010F0 808AD750 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020
/* 010F4 808AD754 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 010F8 808AD758 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 010FC 808AD75C 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020
/* 01100 808AD760 240E0040 */ addiu $t6, $zero, 0x0040 ## $t6 = 00000040
/* 01104 808AD764 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 01108 808AD768 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 0110C 808AD76C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 01110 808AD770 86430168 */ lh $v1, 0x0168($s2) ## 00000168
/* 01114 808AD774 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01118 808AD778 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 0111C 808AD77C 00030823 */ subu $at, $zero, $v1
/* 01120 808AD780 0001C880 */ sll $t9, $at, 2
/* 01124 808AD784 0321C823 */ subu $t9, $t9, $at
/* 01128 808AD788 0019C840 */ sll $t9, $t9, 1
/* 0112C 808AD78C 00013880 */ sll $a3, $at, 2
/* 01130 808AD790 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
/* 01134 808AD794 240A0040 */ addiu $t2, $zero, 0x0040 ## $t2 = 00000040
/* 01138 808AD798 0003C080 */ sll $t8, $v1, 2
/* 0113C 808AD79C AFB8001C */ sw $t8, 0x001C($sp)
/* 01140 808AD7A0 AFAA0028 */ sw $t2, 0x0028($sp)
/* 01144 808AD7A4 AFA90024 */ sw $t1, 0x0024($sp)
/* 01148 808AD7A8 00E13823 */ subu $a3, $a3, $at
/* 0114C 808AD7AC AFB90020 */ sw $t9, 0x0020($sp)
/* 01150 808AD7B0 AFAF0018 */ sw $t7, 0x0018($sp)
/* 01154 808AD7B4 AFAE0014 */ sw $t6, 0x0014($sp)
/* 01158 808AD7B8 AFAD0010 */ sw $t5, 0x0010($sp)
/* 0115C 808AD7BC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01160 808AD7C0 AFA20060 */ sw $v0, 0x0060($sp)
/* 01164 808AD7C4 0C0253D0 */ jal Gfx_TwoTexScroll
/* 01168 808AD7C8 00033040 */ sll $a2, $v1, 1
/* 0116C 808AD7CC 8FA80060 */ lw $t0, 0x0060($sp)
/* 01170 808AD7D0 3C04E700 */ lui $a0, 0xE700 ## $a0 = E7000000
/* 01174 808AD7D4 3C0E0600 */ lui $t6, %hi(D_060013F0) ## $t6 = 06000000
/* 01178 808AD7D8 AD020004 */ sw $v0, 0x0004($t0) ## 00000004
/* 0117C 808AD7DC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01180 808AD7E0 25CE13F0 */ addiu $t6, $t6, %lo(D_060013F0) ## $t6 = 060013F0
/* 01184 808AD7E4 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 01188 808AD7E8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 0118C 808AD7EC AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 01190 808AD7F0 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 01194 808AD7F4 AC440000 */ sw $a0, 0x0000($v0) ## 00000000
/* 01198 808AD7F8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0119C 808AD7FC 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 011A0 808AD800 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 011A4 808AD804 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 011A8 808AD808 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 011AC 808AD80C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 011B0 808AD810 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 011B4 808AD814 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
/* 011B8 808AD818 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 011BC 808AD81C AC440000 */ sw $a0, 0x0000($v0) ## 00000000
.L808AD820:
/* 011C0 808AD820 3C06808B */ lui $a2, %hi(D_808AD94C) ## $a2 = 808B0000
/* 011C4 808AD824 24C6D94C */ addiu $a2, $a2, %lo(D_808AD94C) ## $a2 = 808AD94C
/* 011C8 808AD828 27A40078 */ addiu $a0, $sp, 0x0078 ## $a0 = FFFFFFE0
/* 011CC 808AD82C 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 011D0 808AD830 0C031AD5 */ jal Graph_CloseDisps
/* 011D4 808AD834 24070332 */ addiu $a3, $zero, 0x0332 ## $a3 = 00000332
/* 011D8 808AD838 8FBF0044 */ lw $ra, 0x0044($sp)
/* 011DC 808AD83C 8FB00038 */ lw $s0, 0x0038($sp)
/* 011E0 808AD840 8FB1003C */ lw $s1, 0x003C($sp)
/* 011E4 808AD844 8FB20040 */ lw $s2, 0x0040($sp)
/* 011E8 808AD848 03E00008 */ jr $ra
/* 011EC 808AD84C 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000

View File

@ -1,26 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel D_808AD850
.word 0x060096B0, 0x0600A2B0, 0x0600AEB0, 0x0600BAB0, 0x0600C6B0, 0x0600D2B0, 0x0600DEB0, 0x0600EAB0, 0x0600F6B0, 0x060102B0, 0x06010EB0, 0x06011AB0
glabel Bg_Spot02_Objects_InitVars
.word 0x009C0100, 0x00000030, 0x00A10000, 0x00000174
.word BgSpot02Objects_Init
.word BgSpot02Objects_Destroy
.word BgSpot02Objects_Update
.word BgSpot02Objects_Draw
glabel D_808AD8A0
.word 0x48500064
glabel D_808AD8A4
.word 0x00000000, 0x00000000, 0x00000000
glabel D_808AD8B0
.word 0x06012A50, 0x060127C0, 0x060130B0, 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_808AD9A0
.incbin "baserom/ovl_Bg_Spot02_Objects", 0x1340, 0x00000140

3
spec
View File

@ -1174,8 +1174,7 @@ endseg
beginseg
name "ovl_Bg_Spot02_Objects"
include "build/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.o"
include "build/data/overlays/actors/z_bg_spot02_objects.data.o"
include "build/data/overlays/actors/z_bg_spot02_objects.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Spot02_Objects/ovl_Bg_Spot02_Objects_reloc.o"
endseg
beginseg

View File

@ -1,3 +1,9 @@
/*
* File: z_bg_spot02_objects.c
* Overlay: ovl_Bg_Spot02_Objects
* Description: Graveyard Actors
*/
#include "z_bg_spot02_objects.h"
#define FLAGS 0x00000030
@ -8,15 +14,29 @@ void BgSpot02Objects_Init(Actor* thisx, GlobalContext* globalCtx);
void BgSpot02Objects_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgSpot02Objects_Update(Actor* thisx, GlobalContext* globalCtx);
void BgSpot02Objects_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_808ACCB8(Actor* thisx, GlobalContext* globalCtx);
void func_808AD450(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_060013F0;
extern UNK_TYPE D_060126F0;
extern UNK_TYPE D_060128D8;
extern UNK_TYPE D_06012BA4;
extern UNK_TYPE D_06012D30;
extern UNK_TYPE D_060133EC;
void func_808AC8FC(BgSpot02Objects* this, GlobalContext* globalCtx);
void func_808AC908(BgSpot02Objects* this, GlobalContext* globalCtx);
void func_808ACA08(BgSpot02Objects* this, GlobalContext* globalCtx);
void func_808ACAFC(BgSpot02Objects* this, GlobalContext* globalCtx);
void func_808ACB58(BgSpot02Objects* this, GlobalContext* globalCtx);
void func_808ACC34(BgSpot02Objects* this, GlobalContext* globalCtx);
void func_808AD3D4(BgSpot02Objects* this, GlobalContext* globalCtx);
extern CollisionHeader D_060128D8;
extern CollisionHeader D_06012BA4;
extern CollisionHeader D_060133EC;
extern Gfx D_060013F0[];
extern Gfx D_060126F0[];
extern Gfx D_06012D30[];
static u64* D_808AD850[] = {
0x060096B0, 0x0600A2B0, 0x0600AEB0, 0x0600BAB0, 0x0600C6B0, 0x0600D2B0,
0x0600DEB0, 0x0600EAB0, 0x0600F6B0, 0x060102B0, 0x06010EB0, 0x06011AB0,
};
/*
const ActorInit Bg_Spot02_Objects_InitVars = {
ACTOR_BG_SPOT02_OBJECTS,
ACTORCAT_BG,
@ -28,29 +48,287 @@ const ActorInit Bg_Spot02_Objects_InitVars = {
(ActorFunc)BgSpot02Objects_Update,
(ActorFunc)BgSpot02Objects_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/BgSpot02Objects_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/BgSpot02Objects_Destroy.s")
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808AC8FC.s")
void BgSpot02Objects_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
BgSpot02Objects* this = THIS;
CollisionHeader* colHeader = NULL;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808AC908.s")
DynaPolyActor_Init(&this->dyna, 0);
this->unk_16B = (u16)(thisx->params >> 8);
thisx->params = (u16)(thisx->params & 0xFF);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808ACA08.s")
switch (thisx->params) {
case 0:
case 1:
case 2:
Actor_ProcessInitChain(thisx, sInitChain);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808ACAFC.s")
if (thisx->params == 0) {
if (Flags_GetSwitch(globalCtx, this->unk_16B)) {
this->actionFunc = func_808AC8FC;
thisx->world.pos.y += 255.0f;
} else {
this->actionFunc = func_808ACAFC;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808ACB58.s")
CollisionHeader_GetVirtual(&D_06012BA4, &colHeader);
} else if (thisx->params == 1) {
this->actionFunc = func_808AC8FC;
CollisionHeader_GetVirtual(&D_060128D8, &colHeader);
thisx->flags |= 0x400000;
} else {
if (globalCtx->sceneNum == SCENE_SPOT02) {
this->actionFunc = func_808AC908;
} else {
this->actionFunc = func_808AC8FC;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/BgSpot02Objects_Update.s")
CollisionHeader_GetVirtual(&D_060133EC, &colHeader);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/BgSpot02Objects_Draw.s")
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808ACC34.s")
if (((gSaveContext.eventChkInf[1] & 0x2000) && (globalCtx->sceneNum == SCENE_SPOT02) &&
(thisx->params == 2)) ||
(LINK_IS_ADULT && (thisx->params == 1))) {
Actor_Kill(thisx);
}
break;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808ACCB8.s")
case 3:
this->unk_16A = 0;
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, thisx, ACTORCAT_ITEMACTION);
this->actionFunc = func_808ACC34;
thisx->draw = func_808ACCB8;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808AD3D4.s")
if (gSaveContext.eventChkInf[1] & 0x2000) {
Actor_Kill(thisx);
}
break;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot02_Objects/func_808AD450.s")
case 4:
this->timer = -12;
this->unk_170 = 0xFFFF;
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, thisx, ACTORCAT_ITEMACTION);
this->actionFunc = func_808AD3D4;
thisx->draw = func_808AD450;
break;
}
}
void BgSpot02Objects_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgSpot02Objects* this = THIS;
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
}
void func_808AC8FC(BgSpot02Objects* this, GlobalContext* globalCtx) {
}
void func_808AC908(BgSpot02Objects* this, GlobalContext* globalCtx) {
static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
Vec3f pos;
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.npcActions[3] != NULL && globalCtx->csCtx.npcActions[3]->action == 2) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_GRAVE_EXPLOSION);
gSaveContext.eventChkInf[1] |= 0x2000;
this->timer = 25;
pos.x = (Math_SinS(this->dyna.actor.shape.rot.y) * 50.0f) + this->dyna.actor.world.pos.x;
pos.y = this->dyna.actor.world.pos.y + 30.0f;
pos.z = (Math_CosS(this->dyna.actor.shape.rot.y) * 50.0f) + this->dyna.actor.world.pos.z;
EffectSsBomb2_SpawnLayered(globalCtx, &pos, &zeroVec, &zeroVec, 70, 30);
this->actionFunc = func_808ACA08;
}
}
}
void func_808ACA08(BgSpot02Objects* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 20) {
this->dyna.actor.draw = NULL;
EffectSsHahen_SpawnBurst(globalCtx, &this->dyna.actor.world.pos, 30.0f, 0, 25, 5, 40, OBJECT_SPOT02_OBJECTS, 20,
D_06012D30);
} else if (this->timer == 0) {
Actor_Kill(&this->dyna.actor);
}
if (globalCtx->csCtx.frames == 402) {
if (LINK_IS_CHILD) {
func_8002F7DC(&player->actor, NA_SE_VO_LI_DEMO_DAMAGE_KID);
} else {
func_8002F7DC(&player->actor, NA_SE_VO_LI_DEMO_DAMAGE);
}
}
}
void func_808ACAFC(BgSpot02Objects* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->unk_16B)) {
Actor_SetFocus(&this->dyna.actor, 60.0f);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
this->actionFunc = func_808ACB58;
}
}
void func_808ACB58(BgSpot02Objects* this, GlobalContext* globalCtx) {
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 255.0f, 1.0f)) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONEDOOR_STOP);
this->actionFunc = func_808AC8FC;
} else {
func_8002F974(&this->dyna.actor, NA_SE_EV_WALL_MOVE_SP - SFX_FLAG);
}
}
void BgSpot02Objects_Update(Actor* thisx, GlobalContext* globalCtx) {
BgSpot02Objects* this = THIS;
this->actionFunc(this, globalCtx);
}
void BgSpot02Objects_Draw(Actor* thisx, GlobalContext* globalCtx) {
static Gfx* dLists[] = { 0x06012A50, 0x060127C0, 0x060130B0 };
Gfx_DrawDListOpa(globalCtx, dLists[thisx->params]);
}
void func_808ACC34(BgSpot02Objects* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[0] != NULL &&
globalCtx->csCtx.npcActions[0]->action == 2) {
this->unk_16A++;
if (this->unk_16A >= 12) {
Actor_Kill(&this->dyna.actor);
}
}
if (globalCtx->csCtx.frames == 245 || globalCtx->csCtx.frames == 351) {
func_800788CC(NA_SE_EV_LIGHTNING);
}
}
void func_808ACCB8(Actor* thisx, GlobalContext* globalCtx) {
BgSpot02Objects* this = THIS;
f32 rate;
s32 pad;
u8 redPrim;
u8 greenPrim;
u8 bluePrim;
u8 redEnv;
u8 greenEnv;
u8 blueEnv;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot02_objects.c", 600);
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[0] != NULL &&
globalCtx->csCtx.npcActions[0]->action == 2) {
if (this->unk_16A < 5) {
rate = (this->unk_16A / 5.0f);
redPrim = greenPrim = bluePrim = 255;
redEnv = 100.0f + 155.0f * rate;
greenEnv = 255;
blueEnv = 255.0f - 155.0f * rate;
} else {
rate = ((this->unk_16A - 5) / 7.0f);
redPrim = 255.0f - (255.0f * rate);
greenPrim = 255.0f - (55.0f * rate);
bluePrim = 255.0f - (255.0f * rate);
redEnv = 255.0f - (105.0f * rate);
greenEnv = 255.0f - (255.0f * rate);
blueEnv = 100.0f + (100.0f * rate);
}
Matrix_Translate(globalCtx->csCtx.npcActions[0]->startPos.x, globalCtx->csCtx.npcActions[0]->startPos.y,
globalCtx->csCtx.npcActions[0]->startPos.z, MTXMODE_NEW);
Matrix_RotateX(globalCtx->csCtx.npcActions[0]->urot.x * (M_PI / (f32)0x8000), MTXMODE_APPLY);
Matrix_RotateY(globalCtx->csCtx.npcActions[0]->urot.y * (M_PI / (f32)0x8000), MTXMODE_APPLY);
Matrix_RotateZ(globalCtx->csCtx.npcActions[0]->urot.z * (M_PI / (f32)0x8000), MTXMODE_APPLY);
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
func_80093D84(globalCtx->state.gfxCtx);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, redPrim, greenPrim, bluePrim, 255);
gDPSetEnvColor(POLY_XLU_DISP++, redEnv, greenEnv, blueEnv, 255);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot02_objects.c", 679),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_808AD850[this->unk_16A]));
gDPPipeSync(POLY_XLU_DISP++);
gSPDisplayList(POLY_XLU_DISP++, D_060126F0);
gDPPipeSync(POLY_XLU_DISP++);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot02_objects.c", 692);
}
void func_808AD3D4(BgSpot02Objects* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[2] != NULL &&
globalCtx->csCtx.npcActions[2]->action == 2) {
if (this->timer == 2) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_IT_EXPLOSION_ICE);
}
if (this->timer < 32) {
this->timer++;
} else {
Actor_Kill(&this->dyna.actor);
}
}
}
void func_808AD450(Actor* thisx, GlobalContext* globalCtx) {
BgSpot02Objects* this = THIS;
s32 pad;
f32 lerp;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot02_objects.c", 736);
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[2] != NULL) {
u16 temp_v1 = globalCtx->csCtx.npcActions[2]->urot.z * 0.00549325f;
if (this->unk_170 != temp_v1) {
if (this->unk_170 == 0xFFFF) {
this->unk_170 = temp_v1;
this->unk_172 = temp_v1;
} else {
this->unk_172 = this->unk_170;
this->unk_170 = temp_v1;
}
}
lerp = func_8006F93C(globalCtx->csCtx.npcActions[2]->endFrame, globalCtx->csCtx.npcActions[2]->startFrame,
globalCtx->csCtx.frames);
// should be able to remove & 0xFFFF with some other change
if ((globalCtx->csCtx.npcActions[2]->action & 0xFFFF) == 2) {
Matrix_Translate(globalCtx->csCtx.npcActions[2]->startPos.x, globalCtx->csCtx.npcActions[2]->startPos.y,
globalCtx->csCtx.npcActions[2]->startPos.z, MTXMODE_NEW);
Matrix_RotateX(globalCtx->csCtx.npcActions[2]->urot.x * (M_PI / (f32)0x8000), MTXMODE_APPLY);
Matrix_RotateY(globalCtx->csCtx.npcActions[2]->urot.y * (M_PI / (f32)0x8000), MTXMODE_APPLY);
Matrix_Scale(0.9f, 0.9f, (((this->unk_170 - this->unk_172) * lerp) + this->unk_172) * 0.1f, MTXMODE_APPLY);
func_80093D84(globalCtx->state.gfxCtx);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 128);
gDPSetEnvColor(POLY_XLU_DISP++, 150, 120, 0, 128);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot02_objects.c", 795),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 2 * this->timer, -3 * this->timer, 32, 64, 1,
4 * this->timer, -6 * this->timer, 32, 64));
gDPPipeSync(POLY_XLU_DISP++);
gSPDisplayList(POLY_XLU_DISP++, D_060013F0);
gDPPipeSync(POLY_XLU_DISP++);
}
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot02_objects.c", 818);
}

View File

@ -6,9 +6,17 @@
struct BgSpot02Objects;
typedef void (*BgSpot02ObjectsActionFunc)(struct BgSpot02Objects*, GlobalContext*);
typedef struct BgSpot02Objects {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x28];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ BgSpot02ObjectsActionFunc actionFunc;
/* 0x0168 */ s16 timer;
/* 0x016A */ u8 unk_16A;
/* 0x016B */ u8 unk_16B;
/* 0x016C */ char unk_16C[4];
/* 0x0170 */ u16 unk_170;
/* 0x0172 */ u16 unk_172;
} BgSpot02Objects; // size = 0x0174
extern const ActorInit Bg_Spot02_Objects_InitVars;