mirror of
https://github.com/zeldaret/oot.git
synced 2025-01-24 17:47:33 +00:00
Decompile z_bg_haka_trap.c (#201)
* Decompile z_bg_haka_trap.c * Update spec delete old .reloc.s file Co-authored-by: Random <28494085+Random06457@users.noreply.github.com> * Deleted reloc.s and made style changes to function pointers and local vars * Renamed timer field, added more useful temp names * Implemented Roman's suggestions, including moving enum to header file, moving some static variables inside functions, removing unnecessary casts, removing unnecessary temps, and fixing a few style issues * Commented dual purpose of unk_16A and formatted file again Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>
This commit is contained in:
parent
a76356090b
commit
4e70a24274
23 changed files with 486 additions and 1445 deletions
|
@ -1,40 +0,0 @@
|
|||
glabel BgHakaTrap_Destroy
|
||||
/* 0029C 8087FF3C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 002A0 8087FF40 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 002A4 8087FF44 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 002A8 8087FF48 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 002AC 8087FF4C 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
|
||||
/* 002B0 8087FF50 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 002B4 8087FF54 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 002B8 8087FF58 10410012 */ beq $v0, $at, .L8087FFA4
|
||||
/* 002BC 8087FF5C 00000000 */ nop
|
||||
/* 002C0 8087FF60 1040000D */ beq $v0, $zero, .L8087FF98
|
||||
/* 002C4 8087FF64 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 002C8 8087FF68 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 002CC 8087FF6C 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 002D0 8087FF70 8E06014C */ lw $a2, 0x014C($s0) ## 0000014C
|
||||
/* 002D4 8087FF74 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 002D8 8087FF78 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 002DC 8087FF7C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 002E0 8087FF80 10410003 */ beq $v0, $at, .L8087FF90
|
||||
/* 002E4 8087FF84 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 002E8 8087FF88 54410004 */ bnel $v0, $at, .L8087FF9C
|
||||
/* 002EC 8087FF8C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
.L8087FF90:
|
||||
/* 002F0 8087FF90 0C017232 */ jal Collider_DestroyTris
|
||||
/* 002F4 8087FF94 260501C4 */ addiu $a1, $s0, 0x01C4 ## $a1 = 000001C4
|
||||
.L8087FF98:
|
||||
/* 002F8 8087FF98 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
.L8087FF9C:
|
||||
/* 002FC 8087FF9C 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 00300 8087FFA0 26050178 */ addiu $a1, $s0, 0x0178 ## $a1 = 00000178
|
||||
.L8087FFA4:
|
||||
/* 00304 8087FFA4 0C03E27A */ jal func_800F89E8
|
||||
/* 00308 8087FFA8 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
|
||||
/* 0030C 8087FFAC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00310 8087FFB0 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00314 8087FFB4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00318 8087FFB8 03E00008 */ jr $ra
|
||||
/* 0031C 8087FFBC 00000000 */ nop
|
|
@ -1,81 +0,0 @@
|
|||
glabel BgHakaTrap_Draw
|
||||
/* 01164 80880E04 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 01168 80880E08 3C0E8088 */ lui $t6, %hi(func_808802D8) ## $t6 = 80880000
|
||||
/* 0116C 80880E0C 25CE02D8 */ addiu $t6, $t6, %lo(func_808802D8) ## $t6 = 808802D8
|
||||
/* 01170 80880E10 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 01174 80880E14 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 01178 80880E18 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 0117C 80880E1C AFAE0028 */ sw $t6, 0x0028($sp)
|
||||
/* 01180 80880E20 8C8F0164 */ lw $t7, 0x0164($a0) ## 00000164
|
||||
/* 01184 80880E24 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01188 80880E28 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0118C 80880E2C 15CF0008 */ bne $t6, $t7, .L80880E50
|
||||
/* 01190 80880E30 3C058088 */ lui $a1, %hi(D_8088103C) ## $a1 = 80880000
|
||||
/* 01194 80880E34 92060168 */ lbu $a2, 0x0168($s0) ## 00000168
|
||||
/* 01198 80880E38 24A5103C */ addiu $a1, $a1, %lo(D_8088103C) ## $a1 = 8088103C
|
||||
/* 0119C 80880E3C 24070028 */ addiu $a3, $zero, 0x0028 ## $a3 = 00000028
|
||||
/* 011A0 80880E40 24C60014 */ addiu $a2, $a2, 0x0014 ## $a2 = 00000014
|
||||
/* 011A4 80880E44 00063400 */ sll $a2, $a2, 16
|
||||
/* 011A8 80880E48 0C00988C */ jal func_80026230
|
||||
/* 011AC 80880E4C 00063403 */ sra $a2, $a2, 16
|
||||
.L80880E50:
|
||||
/* 011B0 80880E50 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
|
||||
/* 011B4 80880E54 3C058088 */ lui $a1, %hi(D_80881028) ## $a1 = 80880000
|
||||
/* 011B8 80880E58 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 011BC 80880E5C 0018C880 */ sll $t9, $t8, 2
|
||||
/* 011C0 80880E60 00B92821 */ addu $a1, $a1, $t9
|
||||
/* 011C4 80880E64 0C00D498 */ jal Gfx_DrawDListOpa
|
||||
|
||||
/* 011C8 80880E68 8CA51028 */ lw $a1, %lo(D_80881028)($a1)
|
||||
/* 011CC 80880E6C 8E020164 */ lw $v0, 0x0164($s0) ## 00000164
|
||||
/* 011D0 80880E70 3C088088 */ lui $t0, %hi(func_808801B8) ## $t0 = 80880000
|
||||
/* 011D4 80880E74 250801B8 */ addiu $t0, $t0, %lo(func_808801B8) ## $t0 = 808801B8
|
||||
/* 011D8 80880E78 55020005 */ bnel $t0, $v0, .L80880E90
|
||||
/* 011DC 80880E7C 8FA90028 */ lw $t1, 0x0028($sp)
|
||||
/* 011E0 80880E80 0C22035A */ jal func_80880D68
|
||||
/* 011E4 80880E84 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 011E8 80880E88 8E020164 */ lw $v0, 0x0164($s0) ## 00000164
|
||||
/* 011EC 80880E8C 8FA90028 */ lw $t1, 0x0028($sp)
|
||||
.L80880E90:
|
||||
/* 011F0 80880E90 15220004 */ bne $t1, $v0, .L80880EA4
|
||||
/* 011F4 80880E94 00000000 */ nop
|
||||
/* 011F8 80880E98 0C009982 */ jal func_80026608
|
||||
/* 011FC 80880E9C 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 01200 80880EA0 8E020164 */ lw $v0, 0x0164($s0) ## 00000164
|
||||
.L80880EA4:
|
||||
/* 01204 80880EA4 3C0A8088 */ lui $t2, %hi(func_808808F4) ## $t2 = 80880000
|
||||
/* 01208 80880EA8 254A08F4 */ addiu $t2, $t2, %lo(func_808808F4) ## $t2 = 808808F4
|
||||
/* 0120C 80880EAC 55420019 */ bnel $t2, $v0, .L80880F14
|
||||
/* 01210 80880EB0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01214 80880EB4 920B0169 */ lbu $t3, 0x0169($s0) ## 00000169
|
||||
/* 01218 80880EB8 3C0142DC */ lui $at, 0x42DC ## $at = 42DC0000
|
||||
/* 0121C 80880EBC 55600015 */ bnel $t3, $zero, .L80880F14
|
||||
/* 01220 80880EC0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01224 80880EC4 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 01228 80880EC8 44815000 */ mtc1 $at, $f10 ## $f10 = 110.00
|
||||
/* 0122C 80880ECC 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 01230 80880ED0 E7A4002C */ swc1 $f4, 0x002C($sp)
|
||||
/* 01234 80880ED4 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 01238 80880ED8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0123C 80880EDC 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60
|
||||
/* 01240 80880EE0 E7A60034 */ swc1 $f6, 0x0034($sp)
|
||||
/* 01244 80880EE4 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 01248 80880EE8 2606016C */ addiu $a2, $s0, 0x016C ## $a2 = 0000016C
|
||||
/* 0124C 80880EEC AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 01250 80880EF0 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 01254 80880EF4 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFEC
|
||||
/* 01258 80880EF8 00812021 */ addu $a0, $a0, $at
|
||||
/* 0125C 80880EFC 0C029BBD */ jal func_800A6EF4
|
||||
/* 01260 80880F00 E7B00030 */ swc1 $f16, 0x0030($sp)
|
||||
/* 01264 80880F04 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 01268 80880F08 0C01E245 */ jal func_80078914
|
||||
/* 0126C 80880F0C 2405200D */ addiu $a1, $zero, 0x200D ## $a1 = 0000200D
|
||||
/* 01270 80880F10 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80880F14:
|
||||
/* 01274 80880F14 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 01278 80880F18 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 0127C 80880F1C 03E00008 */ jr $ra
|
||||
/* 01280 80880F20 00000000 */ nop
|
||||
/* 01284 80880F24 00000000 */ nop
|
||||
/* 01288 80880F28 00000000 */ nop
|
||||
/* 0128C 80880F2C 00000000 */ nop
|
|
@ -1,192 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80881040
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel BgHakaTrap_Init
|
||||
/* 00000 8087FCA0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 8087FCA4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00008 8087FCA8 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 0000C 8087FCAC AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00010 8087FCB0 3C058088 */ lui $a1, %hi(D_80881010) ## $a1 = 80880000
|
||||
/* 00014 8087FCB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 8087FCB8 AFA0002C */ sw $zero, 0x002C($sp)
|
||||
/* 0001C 8087FCBC 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00020 8087FCC0 24A51010 */ addiu $a1, $a1, %lo(D_80881010) ## $a1 = 80881010
|
||||
/* 00024 8087FCC4 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
|
||||
/* 00028 8087FCC8 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 0002C 8087FCCC 3C0B8088 */ lui $t3, %hi(func_808809B0) ## $t3 = 80880000
|
||||
/* 00030 8087FCD0 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000
|
||||
/* 00034 8087FCD4 A60F001C */ sh $t7, 0x001C($s0) ## 0000001C
|
||||
/* 00038 8087FCD8 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
|
||||
/* 0003C 8087FCDC 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00040 8087FCE0 240A0028 */ addiu $t2, $zero, 0x0028 ## $t2 = 00000028
|
||||
/* 00044 8087FCE4 13010086 */ beq $t8, $at, .L8087FF00
|
||||
/* 00048 8087FCE8 256B09B0 */ addiu $t3, $t3, %lo(func_808809B0) ## $t3 = 808809B0
|
||||
/* 0004C 8087FCEC 26050178 */ addiu $a1, $s0, 0x0178 ## $a1 = 00000178
|
||||
/* 00050 8087FCF0 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00054 8087FCF4 AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00058 8087FCF8 3C078088 */ lui $a3, %hi(D_80880F54) ## $a3 = 80880000
|
||||
/* 0005C 8087FCFC 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00060 8087FD00 24E70F54 */ addiu $a3, $a3, %lo(D_80880F54) ## $a3 = 80880F54
|
||||
/* 00064 8087FD04 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00068 8087FD08 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 0006C 8087FD0C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00070 8087FD10 8603001C */ lh $v1, 0x001C($s0) ## 0000001C
|
||||
/* 00074 8087FD14 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00078 8087FD18 24190014 */ addiu $t9, $zero, 0x0014 ## $t9 = 00000014
|
||||
/* 0007C 8087FD1C 10600003 */ beq $v1, $zero, .L8087FD2C
|
||||
/* 00080 8087FD20 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
|
||||
/* 00084 8087FD24 14610010 */ bne $v1, $at, .L8087FD68
|
||||
/* 00088 8087FD28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8087FD2C:
|
||||
/* 0008C 8087FD2C A2190168 */ sb $t9, 0x0168($s0) ## 00000168
|
||||
/* 00090 8087FD30 A60801BC */ sh $t0, 0x01BC($s0) ## 000001BC
|
||||
/* 00094 8087FD34 3C018088 */ lui $at, %hi(D_80881040) ## $at = 80880000
|
||||
/* 00098 8087FD38 C4241040 */ lwc1 $f4, %lo(D_80881040)($at)
|
||||
/* 0009C 8087FD3C 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
|
||||
/* 000A0 8087FD40 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 000A4 8087FD44 3C0B8088 */ lui $t3, %hi(func_80880484) ## $t3 = 80880000
|
||||
/* 000A8 8087FD48 15210004 */ bne $t1, $at, .L8087FD5C
|
||||
/* 000AC 8087FD4C E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
/* 000B0 8087FD50 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 000B4 8087FD54 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
|
||||
/* 000B8 8087FD58 A60A016A */ sh $t2, 0x016A($s0) ## 0000016A
|
||||
.L8087FD5C:
|
||||
/* 000BC 8087FD5C 256B0484 */ addiu $t3, $t3, %lo(func_80880484) ## $t3 = 80880484
|
||||
/* 000C0 8087FD60 1000006C */ beq $zero, $zero, .L8087FF14
|
||||
/* 000C4 8087FD64 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
|
||||
.L8087FD68:
|
||||
/* 000C8 8087FD68 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 000CC 8087FD6C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 000D0 8087FD70 8E0C0004 */ lw $t4, 0x0004($s0) ## 00000004
|
||||
/* 000D4 8087FD74 8603001C */ lh $v1, 0x001C($s0) ## 0000001C
|
||||
/* 000D8 8087FD78 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 000DC 8087FD7C 358D0010 */ ori $t5, $t4, 0x0010 ## $t5 = 00000010
|
||||
/* 000E0 8087FD80 1461002C */ bne $v1, $at, .L8087FE34
|
||||
/* 000E4 8087FD84 AE0D0004 */ sw $t5, 0x0004($s0) ## 00000004
|
||||
/* 000E8 8087FD88 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
|
||||
/* 000EC 8087FD8C 24849CD0 */ addiu $a0, $a0, 0x9CD0 ## $a0 = 06009CD0
|
||||
/* 000F0 8087FD90 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 000F4 8087FD94 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4
|
||||
/* 000F8 8087FD98 240E001E */ addiu $t6, $zero, 0x001E ## $t6 = 0000001E
|
||||
/* 000FC 8087FD9C A20E0168 */ sb $t6, 0x0168($s0) ## 00000168
|
||||
/* 00100 8087FDA0 3C0F8088 */ lui $t7, %hi(D_80881014) ## $t7 = 80880000
|
||||
/* 00104 8087FDA4 8DEF1014 */ lw $t7, %lo(D_80881014)($t7)
|
||||
/* 00108 8087FDA8 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 0010C 8087FDAC 3C018088 */ lui $at, %hi(D_80881014) ## $at = 80880000
|
||||
/* 00110 8087FDB0 11E00007 */ beq $t7, $zero, .L8087FDD0
|
||||
/* 00114 8087FDB4 3C088088 */ lui $t0, %hi(func_808806BC) ## $t0 = 80880000
|
||||
/* 00118 8087FDB8 3C188088 */ lui $t8, %hi(func_808808F4) ## $t8 = 80880000
|
||||
/* 0011C 8087FDBC 271808F4 */ addiu $t8, $t8, %lo(func_808808F4) ## $t8 = 808808F4
|
||||
/* 00120 8087FDC0 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
|
||||
/* 00124 8087FDC4 3C018088 */ lui $at, %hi(D_80881014) ## $at = 80880000
|
||||
/* 00128 8087FDC8 10000007 */ beq $zero, $zero, .L8087FDE8
|
||||
/* 0012C 8087FDCC AC201014 */ sw $zero, %lo(D_80881014)($at)
|
||||
.L8087FDD0:
|
||||
/* 00130 8087FDD0 AC391014 */ sw $t9, %lo(D_80881014)($at)
|
||||
/* 00134 8087FDD4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00138 8087FDD8 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
|
||||
/* 0013C 8087FDDC 250806BC */ addiu $t0, $t0, %lo(func_808806BC) ## $t0 = 808806BC
|
||||
/* 00140 8087FDE0 AE080164 */ sw $t0, 0x0164($s0) ## 00000164
|
||||
/* 00144 8087FDE4 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
|
||||
.L8087FDE8:
|
||||
/* 00148 8087FDE8 3C014361 */ lui $at, 0x4361 ## $at = 43610000
|
||||
/* 0014C 8087FDEC 44815000 */ mtc1 $at, $f10 ## $f10 = 225.00
|
||||
/* 00150 8087FDF0 C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C
|
||||
/* 00154 8087FDF4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 00158 8087FDF8 44818000 */ mtc1 $at, $f16 ## $f16 = 50.00
|
||||
/* 0015C 8087FDFC 460A4001 */ sub.s $f0, $f8, $f10
|
||||
/* 00160 8087FE00 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
|
||||
/* 00164 8087FE04 44812000 */ mtc1 $at, $f4 ## $f4 = 25.00
|
||||
/* 00168 8087FE08 240B000A */ addiu $t3, $zero, 0x000A ## $t3 = 0000000A
|
||||
/* 0016C 8087FE0C 46100480 */ add.s $f18, $f0, $f16
|
||||
/* 00170 8087FE10 240C0028 */ addiu $t4, $zero, 0x0028 ## $t4 = 00000028
|
||||
/* 00174 8087FE14 E6000080 */ swc1 $f0, 0x0080($s0) ## 00000080
|
||||
/* 00178 8087FE18 A60B01B8 */ sh $t3, 0x01B8($s0) ## 000001B8
|
||||
/* 0017C 8087FE1C 46049181 */ sub.s $f6, $f18, $f4
|
||||
/* 00180 8087FE20 A60C01BA */ sh $t4, 0x01BA($s0) ## 000001BA
|
||||
/* 00184 8087FE24 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 00188 8087FE28 440A4000 */ mfc1 $t2, $f8
|
||||
/* 0018C 8087FE2C 1000002D */ beq $zero, $zero, .L8087FEE4
|
||||
/* 00190 8087FE30 A60A016A */ sh $t2, 0x016A($s0) ## 0000016A
|
||||
.L8087FE34:
|
||||
/* 00194 8087FE34 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00198 8087FE38 1461000A */ bne $v1, $at, .L8087FE64
|
||||
/* 0019C 8087FE3C 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
|
||||
/* 001A0 8087FE40 248481D0 */ addiu $a0, $a0, 0x81D0 ## $a0 = 060081D0
|
||||
/* 001A4 8087FE44 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 001A8 8087FE48 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4
|
||||
/* 001AC 8087FE4C 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 001B0 8087FE50 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00
|
||||
/* 001B4 8087FE54 C60A0008 */ lwc1 $f10, 0x0008($s0) ## 00000008
|
||||
/* 001B8 8087FE58 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 001BC 8087FE5C 1000000A */ beq $zero, $zero, .L8087FE88
|
||||
/* 001C0 8087FE60 E6120008 */ swc1 $f18, 0x0008($s0) ## 00000008
|
||||
.L8087FE64:
|
||||
/* 001C4 8087FE64 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 001C8 8087FE68 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
|
||||
/* 001CC 8087FE6C C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
|
||||
/* 001D0 8087FE70 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
|
||||
/* 001D4 8087FE74 24848D10 */ addiu $a0, $a0, 0x8D10 ## $a0 = 06008D10
|
||||
/* 001D8 8087FE78 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 001DC 8087FE7C 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4
|
||||
/* 001E0 8087FE80 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 001E4 8087FE84 E6080008 */ swc1 $f8, 0x0008($s0) ## 00000008
|
||||
.L8087FE88:
|
||||
/* 001E8 8087FE88 260501C4 */ addiu $a1, $s0, 0x01C4 ## $a1 = 000001C4
|
||||
/* 001EC 8087FE8C AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 001F0 8087FE90 0C0171F8 */ jal Collider_InitTris
|
||||
/* 001F4 8087FE94 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 001F8 8087FE98 3C078088 */ lui $a3, %hi(D_80880FF8) ## $a3 = 80880000
|
||||
/* 001FC 8087FE9C 260D01E4 */ addiu $t5, $s0, 0x01E4 ## $t5 = 000001E4
|
||||
/* 00200 8087FEA0 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00204 8087FEA4 AFAD0010 */ sw $t5, 0x0010($sp)
|
||||
/* 00208 8087FEA8 24E70FF8 */ addiu $a3, $a3, %lo(D_80880FF8) ## $a3 = 80880FF8
|
||||
/* 0020C 8087FEAC 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00210 8087FEB0 0C0172EB */ jal Collider_SetTris
|
||||
/* 00214 8087FEB4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00218 8087FEB8 921901A5 */ lbu $t9, 0x01A5($s0) ## 000001A5
|
||||
/* 0021C 8087FEBC 3C098088 */ lui $t1, %hi(func_808801B8) ## $t1 = 80880000
|
||||
/* 00220 8087FEC0 240E0012 */ addiu $t6, $zero, 0x0012 ## $t6 = 00000012
|
||||
/* 00224 8087FEC4 240F0073 */ addiu $t7, $zero, 0x0073 ## $t7 = 00000073
|
||||
/* 00228 8087FEC8 252901B8 */ addiu $t1, $t1, %lo(func_808801B8) ## $t1 = 808801B8
|
||||
/* 0022C 8087FECC A21901A5 */ sb $t9, 0x01A5($s0) ## 000001A5
|
||||
/* 00230 8087FED0 37280010 */ ori $t0, $t9, 0x0010 ## $t0 = 00000010
|
||||
/* 00234 8087FED4 A60E01B8 */ sh $t6, 0x01B8($s0) ## 000001B8
|
||||
/* 00238 8087FED8 A60F01BA */ sh $t7, 0x01BA($s0) ## 000001BA
|
||||
/* 0023C 8087FEDC A20801A5 */ sb $t0, 0x01A5($s0) ## 000001A5
|
||||
/* 00240 8087FEE0 AE090164 */ sw $t1, 0x0164($s0) ## 00000164
|
||||
.L8087FEE4:
|
||||
/* 00244 8087FEE4 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00248 8087FEE8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0024C 8087FEEC 8FA7002C */ lw $a3, 0x002C($sp)
|
||||
/* 00250 8087FEF0 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00254 8087FEF4 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00258 8087FEF8 10000006 */ beq $zero, $zero, .L8087FF14
|
||||
/* 0025C 8087FEFC AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
.L8087FF00:
|
||||
/* 00260 8087FF00 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
|
||||
/* 00264 8087FF04 44815000 */ mtc1 $at, $f10 ## $f10 = 500.00
|
||||
/* 00268 8087FF08 A20A0168 */ sb $t2, 0x0168($s0) ## 00000168
|
||||
/* 0026C 8087FF0C AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
|
||||
/* 00270 8087FF10 E60A00F8 */ swc1 $f10, 0x00F8($s0) ## 000000F8
|
||||
.L8087FF14:
|
||||
/* 00274 8087FF14 3C068088 */ lui $a2, %hi(D_80881008) ## $a2 = 80880000
|
||||
/* 00278 8087FF18 24C61008 */ addiu $a2, $a2, %lo(D_80881008) ## $a2 = 80881008
|
||||
/* 0027C 8087FF1C 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
|
||||
/* 00280 8087FF20 0C0187B5 */ jal func_80061ED4
|
||||
/* 00284 8087FF24 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00288 8087FF28 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0028C 8087FF2C 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00290 8087FF30 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00294 8087FF34 03E00008 */ jr $ra
|
||||
/* 00298 8087FF38 00000000 */ nop
|
|
@ -1,68 +0,0 @@
|
|||
glabel BgHakaTrap_Update
|
||||
/* 00FE0 80880C80 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00FE4 80880C84 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00FE8 80880C88 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00FEC 80880C8C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00FF0 80880C90 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00FF4 80880C94 8E190164 */ lw $t9, 0x0164($s0) ## 00000164
|
||||
/* 00FF8 80880C98 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00FFC 80880C9C 0320F809 */ jalr $ra, $t9
|
||||
/* 01000 80880CA0 00000000 */ nop
|
||||
/* 01004 80880CA4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 01008 80880CA8 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 0100C 80880CAC 10410029 */ beq $v0, $at, .L80880D54
|
||||
/* 01010 80880CB0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 01014 80880CB4 50410028 */ beql $v0, $at, .L80880D58
|
||||
/* 01018 80880CB8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0101C 80880CBC C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 01020 80880CC0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 01024 80880CC4 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 01028 80880CC8 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 0102C 80880CCC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01030 80880CD0 26060178 */ addiu $a2, $s0, 0x0178 ## $a2 = 00000178
|
||||
/* 01034 80880CD4 440F3000 */ mfc1 $t7, $f6
|
||||
/* 01038 80880CD8 10400002 */ beq $v0, $zero, .L80880CE4
|
||||
/* 0103C 80880CDC A60F01C0 */ sh $t7, 0x01C0($s0) ## 000001C0
|
||||
/* 01040 80880CE0 1441000C */ bne $v0, $at, .L80880D14
|
||||
.L80880CE4:
|
||||
/* 01044 80880CE4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01048 80880CE8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 0104C 80880CEC 02212821 */ addu $a1, $s1, $at
|
||||
/* 01050 80880CF0 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 01054 80880CF4 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 01058 80880CF8 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 0105C 80880CFC 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 01060 80880D00 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 01064 80880D04 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 01068 80880D08 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0106C 80880D0C 10000012 */ beq $zero, $zero, .L80880D58
|
||||
/* 01070 80880D10 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80880D14:
|
||||
/* 01074 80880D14 8E080164 */ lw $t0, 0x0164($s0) ## 00000164
|
||||
/* 01078 80880D18 3C188088 */ lui $t8, %hi(func_808801B8) ## $t8 = 80880000
|
||||
/* 0107C 80880D1C 271801B8 */ addiu $t8, $t8, %lo(func_808801B8) ## $t8 = 808801B8
|
||||
/* 01080 80880D20 17080006 */ bne $t8, $t0, .L80880D3C
|
||||
/* 01084 80880D24 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01088 80880D28 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0108C 80880D2C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 01090 80880D30 02212821 */ addu $a1, $s1, $at
|
||||
/* 01094 80880D34 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 01098 80880D38 260601C4 */ addiu $a2, $s0, 0x01C4 ## $a2 = 000001C4
|
||||
.L80880D3C:
|
||||
/* 0109C 80880D3C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 010A0 80880D40 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 010A4 80880D44 02212821 */ addu $a1, $s1, $at
|
||||
/* 010A8 80880D48 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 010AC 80880D4C 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 010B0 80880D50 26060178 */ addiu $a2, $s0, 0x0178 ## $a2 = 00000178
|
||||
.L80880D54:
|
||||
/* 010B4 80880D54 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80880D58:
|
||||
/* 010B8 80880D58 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 010BC 80880D5C 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 010C0 80880D60 03E00008 */ jr $ra
|
||||
/* 010C4 80880D64 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
|
@ -1,141 +0,0 @@
|
|||
glabel func_8087FFC0
|
||||
/* 00320 8087FFC0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00324 8087FFC4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00328 8087FFC8 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 0032C 8087FFCC 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00330 8087FFD0 AFA40038 */ sw $a0, 0x0038($sp)
|
||||
/* 00334 8087FFD4 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFF0
|
||||
/* 00338 8087FFD8 0C00B6F4 */ jal func_8002DBD0
|
||||
/* 0033C 8087FFDC 24460024 */ addiu $a2, $v0, 0x0024 ## $a2 = 00000024
|
||||
/* 00340 8087FFE0 8FA70038 */ lw $a3, 0x0038($sp)
|
||||
/* 00344 8087FFE4 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00348 8087FFE8 84E400B6 */ lh $a0, 0x00B6($a3) ## 000000B6
|
||||
/* 0034C 8087FFEC 8FA70038 */ lw $a3, 0x0038($sp)
|
||||
/* 00350 8087FFF0 84E400B6 */ lh $a0, 0x00B6($a3) ## 000000B6
|
||||
/* 00354 8087FFF4 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 00358 8087FFF8 E7A00024 */ swc1 $f0, 0x0024($sp)
|
||||
/* 0035C 8087FFFC 8FA70038 */ lw $a3, 0x0038($sp)
|
||||
/* 00360 80880000 C7B00024 */ lwc1 $f16, 0x0024($sp)
|
||||
/* 00364 80880004 C7AC0028 */ lwc1 $f12, 0x0028($sp)
|
||||
/* 00368 80880008 84EF001C */ lh $t7, 0x001C($a3) ## 0000001C
|
||||
/* 0036C 8088000C 3C01C322 */ lui $at, 0xC322 ## $at = C3220000
|
||||
/* 00370 80880010 55E00029 */ bnel $t7, $zero, .L808800B8
|
||||
/* 00374 80880014 44819000 */ mtc1 $at, $f18 ## $f18 = -162.00
|
||||
/* 00378 80880018 3C01C248 */ lui $at, 0xC248 ## $at = C2480000
|
||||
/* 0037C 8088001C 44811000 */ mtc1 $at, $f2 ## $f2 = -50.00
|
||||
/* 00380 80880020 C7AC0028 */ lwc1 $f12, 0x0028($sp)
|
||||
/* 00384 80880024 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 00388 80880028 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 0038C 8088002C 4602603C */ c.lt.s $f12, $f2
|
||||
/* 00390 80880030 00000000 */ nop
|
||||
/* 00394 80880034 45020004 */ bc1fl .L80880048
|
||||
/* 00398 80880038 44817000 */ mtc1 $at, $f14 ## $f14 = 50.00
|
||||
/* 0039C 8088003C 1000000B */ beq $zero, $zero, .L8088006C
|
||||
/* 003A0 80880040 E7A20028 */ swc1 $f2, 0x0028($sp)
|
||||
/* 003A4 80880044 44817000 */ mtc1 $at, $f14 ## $f14 = 50.00
|
||||
.L80880048:
|
||||
/* 003A8 80880048 00000000 */ nop
|
||||
/* 003AC 8088004C 460C703C */ c.lt.s $f14, $f12
|
||||
/* 003B0 80880050 00000000 */ nop
|
||||
/* 003B4 80880054 45020004 */ bc1fl .L80880068
|
||||
/* 003B8 80880058 46006086 */ mov.s $f2, $f12
|
||||
/* 003BC 8088005C 10000002 */ beq $zero, $zero, .L80880068
|
||||
/* 003C0 80880060 46007086 */ mov.s $f2, $f14
|
||||
/* 003C4 80880064 46006086 */ mov.s $f2, $f12
|
||||
.L80880068:
|
||||
/* 003C8 80880068 E7A20028 */ swc1 $f2, 0x0028($sp)
|
||||
.L8088006C:
|
||||
/* 003CC 8088006C C7A40030 */ lwc1 $f4, 0x0030($sp)
|
||||
/* 003D0 80880070 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 003D4 80880074 4604303E */ c.le.s $f6, $f4
|
||||
/* 003D8 80880078 00000000 */ nop
|
||||
/* 003DC 8088007C 45020006 */ bc1fl .L80880098
|
||||
/* 003E0 80880080 44811000 */ mtc1 $at, $f2 ## $f2 = -1.00
|
||||
/* 003E4 80880084 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 003E8 80880088 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
|
||||
/* 003EC 8088008C 10000004 */ beq $zero, $zero, .L808800A0
|
||||
/* 003F0 80880090 3C01C170 */ lui $at, 0xC170 ## $at = C1700000
|
||||
/* 003F4 80880094 44811000 */ mtc1 $at, $f2 ## $f2 = -15.00
|
||||
.L80880098:
|
||||
/* 003F8 80880098 00000000 */ nop
|
||||
/* 003FC 8088009C 3C01C170 */ lui $at, 0xC170 ## $at = C1700000
|
||||
.L808800A0:
|
||||
/* 00400 808800A0 44814000 */ mtc1 $at, $f8 ## $f8 = -15.00
|
||||
/* 00404 808800A4 00000000 */ nop
|
||||
/* 00408 808800A8 46081282 */ mul.s $f10, $f2, $f8
|
||||
/* 0040C 808800AC 10000028 */ beq $zero, $zero, .L80880150
|
||||
/* 00410 808800B0 E7AA0030 */ swc1 $f10, 0x0030($sp)
|
||||
/* 00414 808800B4 44819000 */ mtc1 $at, $f18 ## $f18 = -15.00
|
||||
.L808800B8:
|
||||
/* 00418 808800B8 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 0041C 808800BC 3C014322 */ lui $at, 0x4322 ## $at = 43220000
|
||||
/* 00420 808800C0 4612603C */ c.lt.s $f12, $f18
|
||||
/* 00424 808800C4 00000000 */ nop
|
||||
/* 00428 808800C8 45020006 */ bc1fl .L808800E4
|
||||
/* 0042C 808800CC 44817000 */ mtc1 $at, $f14 ## $f14 = 162.00
|
||||
/* 00430 808800D0 3C014322 */ lui $at, 0x4322 ## $at = 43220000
|
||||
/* 00434 808800D4 44816000 */ mtc1 $at, $f12 ## $f12 = 162.00
|
||||
/* 00438 808800D8 1000000C */ beq $zero, $zero, .L8088010C
|
||||
/* 0043C 808800DC E7AC0028 */ swc1 $f12, 0x0028($sp)
|
||||
/* 00440 808800E0 44817000 */ mtc1 $at, $f14 ## $f14 = 162.00
|
||||
.L808800E4:
|
||||
/* 00444 808800E4 00000000 */ nop
|
||||
/* 00448 808800E8 460C703C */ c.lt.s $f14, $f12
|
||||
/* 0044C 808800EC 00000000 */ nop
|
||||
/* 00450 808800F0 45020004 */ bc1fl .L80880104
|
||||
/* 00454 808800F4 46006086 */ mov.s $f2, $f12
|
||||
/* 00458 808800F8 10000002 */ beq $zero, $zero, .L80880104
|
||||
/* 0045C 808800FC 46007086 */ mov.s $f2, $f14
|
||||
/* 00460 80880100 46006086 */ mov.s $f2, $f12
|
||||
.L80880104:
|
||||
/* 00464 80880104 46001307 */ neg.s $f12, $f2
|
||||
/* 00468 80880108 E7AC0028 */ swc1 $f12, 0x0028($sp)
|
||||
.L8088010C:
|
||||
/* 0046C 8088010C C7A40030 */ lwc1 $f4, 0x0030($sp)
|
||||
/* 00470 80880110 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00474 80880114 4604303E */ c.le.s $f6, $f4
|
||||
/* 00478 80880118 00000000 */ nop
|
||||
/* 0047C 8088011C 45020006 */ bc1fl .L80880138
|
||||
/* 00480 80880120 44811000 */ mtc1 $at, $f2 ## $f2 = -1.00
|
||||
/* 00484 80880124 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00488 80880128 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
|
||||
/* 0048C 8088012C 10000004 */ beq $zero, $zero, .L80880140
|
||||
/* 00490 80880130 3C014170 */ lui $at, 0x4170 ## $at = 41700000
|
||||
/* 00494 80880134 44811000 */ mtc1 $at, $f2 ## $f2 = 15.00
|
||||
.L80880138:
|
||||
/* 00498 80880138 00000000 */ nop
|
||||
/* 0049C 8088013C 3C014170 */ lui $at, 0x4170 ## $at = 41700000
|
||||
.L80880140:
|
||||
/* 004A0 80880140 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00
|
||||
/* 004A4 80880144 00000000 */ nop
|
||||
/* 004A8 80880148 46081282 */ mul.s $f10, $f2, $f8
|
||||
/* 004AC 8088014C E7AA0030 */ swc1 $f10, 0x0030($sp)
|
||||
.L80880150:
|
||||
/* 004B0 80880150 C7A40028 */ lwc1 $f4, 0x0028($sp)
|
||||
/* 004B4 80880154 C7AA0030 */ lwc1 $f10, 0x0030($sp)
|
||||
/* 004B8 80880158 C4F20024 */ lwc1 $f18, 0x0024($a3) ## 00000024
|
||||
/* 004BC 8088015C 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 004C0 80880160 46069200 */ add.s $f8, $f18, $f6
|
||||
/* 004C4 80880164 46105102 */ mul.s $f4, $f10, $f16
|
||||
/* 004C8 80880168 C4EA002C */ lwc1 $f10, 0x002C($a3) ## 0000002C
|
||||
/* 004CC 8088016C 46044480 */ add.s $f18, $f8, $f4
|
||||
/* 004D0 80880170 4600918D */ trunc.w.s $f6, $f18
|
||||
/* 004D4 80880174 44193000 */ mfc1 $t9, $f6
|
||||
/* 004D8 80880178 00000000 */ nop
|
||||
/* 004DC 8088017C A4F901BE */ sh $t9, 0x01BE($a3) ## 000001BE
|
||||
/* 004E0 80880180 C7A80028 */ lwc1 $f8, 0x0028($sp)
|
||||
/* 004E4 80880184 C7A60030 */ lwc1 $f6, 0x0030($sp)
|
||||
/* 004E8 80880188 46104102 */ mul.s $f4, $f8, $f16
|
||||
/* 004EC 8088018C 46045480 */ add.s $f18, $f10, $f4
|
||||
/* 004F0 80880190 46003202 */ mul.s $f8, $f6, $f0
|
||||
/* 004F4 80880194 46089280 */ add.s $f10, $f18, $f8
|
||||
/* 004F8 80880198 4600510D */ trunc.w.s $f4, $f10
|
||||
/* 004FC 8088019C 44092000 */ mfc1 $t1, $f4
|
||||
/* 00500 808801A0 00000000 */ nop
|
||||
/* 00504 808801A4 A4E901C2 */ sh $t1, 0x01C2($a3) ## 000001C2
|
||||
/* 00508 808801A8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0050C 808801AC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00510 808801B0 03E00008 */ jr $ra
|
||||
/* 00514 808801B4 00000000 */ nop
|
|
@ -1,81 +0,0 @@
|
|||
glabel func_808801B8
|
||||
/* 00518 808801B8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 0051C 808801BC 3C188088 */ lui $t8, %hi(D_80880F30) ## $t8 = 80880000
|
||||
/* 00520 808801C0 8F180F30 */ lw $t8, %lo(D_80880F30)($t8)
|
||||
/* 00524 808801C4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00528 808801C8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0052C 808801CC AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00530 808801D0 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
|
||||
/* 00534 808801D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00538 808801D8 1700001F */ bne $t8, $zero, .L80880258
|
||||
/* 0053C 808801DC AFAF0024 */ sw $t7, 0x0024($sp)
|
||||
/* 00540 808801E0 0C023A62 */ jal func_8008E988
|
||||
/* 00544 808801E4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00548 808801E8 1440001B */ bne $v0, $zero, .L80880258
|
||||
/* 0054C 808801EC 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00550 808801F0 8E050008 */ lw $a1, 0x0008($s0) ## 00000008
|
||||
/* 00554 808801F4 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00558 808801F8 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
|
||||
/* 0055C 808801FC 14400005 */ bne $v0, $zero, .L80880214
|
||||
/* 00560 80880200 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00564 80880204 0C00BE5D */ jal func_8002F974
|
||||
/* 00568 80880208 24052058 */ addiu $a1, $zero, 0x2058 ## $a1 = 00002058
|
||||
/* 0056C 8088020C 10000013 */ beq $zero, $zero, .L8088025C
|
||||
/* 00570 80880210 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80880214:
|
||||
/* 00574 80880214 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00578 80880218 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 0057C 8088021C 3C198088 */ lui $t9, %hi(D_80881018) ## $t9 = 80880000
|
||||
/* 00580 80880220 54410007 */ bnel $v0, $at, .L80880240
|
||||
/* 00584 80880224 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00588 80880228 8F391018 */ lw $t9, %lo(D_80881018)($t9)
|
||||
/* 0058C 8088022C 3C018088 */ lui $at, %hi(D_80881018) ## $at = 80880000
|
||||
/* 00590 80880230 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 80880001
|
||||
/* 00594 80880234 10000008 */ beq $zero, $zero, .L80880258
|
||||
/* 00598 80880238 AC281018 */ sw $t0, %lo(D_80881018)($at)
|
||||
/* 0059C 8088023C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
.L80880240:
|
||||
/* 005A0 80880240 14410005 */ bne $v0, $at, .L80880258
|
||||
/* 005A4 80880244 3C098088 */ lui $t1, %hi(D_80881018) ## $t1 = 80880000
|
||||
/* 005A8 80880248 8D291018 */ lw $t1, %lo(D_80881018)($t1)
|
||||
/* 005AC 8088024C 3C018088 */ lui $at, %hi(D_80881018) ## $at = 80880000
|
||||
/* 005B0 80880250 352A0002 */ ori $t2, $t1, 0x0002 ## $t2 = 80880002
|
||||
/* 005B4 80880254 AC2A1018 */ sw $t2, %lo(D_80881018)($at)
|
||||
.L80880258:
|
||||
/* 005B8 80880258 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8088025C:
|
||||
/* 005BC 8088025C 0C21FFF0 */ jal func_8087FFC0
|
||||
/* 005C0 80880260 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 005C4 80880264 920B01D5 */ lbu $t3, 0x01D5($s0) ## 000001D5
|
||||
/* 005C8 80880268 240D0014 */ addiu $t5, $zero, 0x0014 ## $t5 = 00000014
|
||||
/* 005CC 8088026C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 005D0 80880270 316C0002 */ andi $t4, $t3, 0x0002 ## $t4 = 00000000
|
||||
/* 005D4 80880274 11800008 */ beq $t4, $zero, .L80880298
|
||||
/* 005D8 80880278 3C0E8088 */ lui $t6, %hi(D_80881018) ## $t6 = 80880000
|
||||
/* 005DC 8088027C A20D0168 */ sb $t5, 0x0168($s0) ## 00000168
|
||||
/* 005E0 80880280 3C018088 */ lui $at, %hi(D_80880F30) ## $at = 80880000
|
||||
/* 005E4 80880284 3C188088 */ lui $t8, %hi(func_808802D8) ## $t8 = 80880000
|
||||
/* 005E8 80880288 AC2F0F30 */ sw $t7, %lo(D_80880F30)($at)
|
||||
/* 005EC 8088028C 271802D8 */ addiu $t8, $t8, %lo(func_808802D8) ## $t8 = 808802D8
|
||||
/* 005F0 80880290 1000000C */ beq $zero, $zero, .L808802C4
|
||||
/* 005F4 80880294 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
|
||||
.L80880298:
|
||||
/* 005F8 80880298 8DCE1018 */ lw $t6, %lo(D_80881018)($t6)
|
||||
/* 005FC 8088029C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00600 808802A0 24190004 */ addiu $t9, $zero, 0x0004 ## $t9 = 00000004
|
||||
/* 00604 808802A4 55C10008 */ bnel $t6, $at, .L808802C8
|
||||
/* 00608 808802A8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0060C 808802AC 8FA80024 */ lw $t0, 0x0024($sp)
|
||||
/* 00610 808802B0 3C018088 */ lui $at, %hi(D_80881018) ## $at = 80880000
|
||||
/* 00614 808802B4 AC391018 */ sw $t9, %lo(D_80881018)($at)
|
||||
/* 00618 808802B8 95090088 */ lhu $t1, 0x0088($t0) ## 00000088
|
||||
/* 0061C 808802BC 352A0100 */ ori $t2, $t1, 0x0100 ## $t2 = 00000100
|
||||
/* 00620 808802C0 A50A0088 */ sh $t2, 0x0088($t0) ## 00000088
|
||||
.L808802C4:
|
||||
/* 00624 808802C4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808802C8:
|
||||
/* 00628 808802C8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0062C 808802CC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00630 808802D0 03E00008 */ jr $ra
|
||||
/* 00634 808802D4 00000000 */ nop
|
|
@ -1,116 +0,0 @@
|
|||
glabel func_808802D8
|
||||
/* 00638 808802D8 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
|
||||
/* 0063C 808802DC AFBF007C */ sw $ra, 0x007C($sp)
|
||||
/* 00640 808802E0 AFB50078 */ sw $s5, 0x0078($sp)
|
||||
/* 00644 808802E4 AFB40074 */ sw $s4, 0x0074($sp)
|
||||
/* 00648 808802E8 AFB30070 */ sw $s3, 0x0070($sp)
|
||||
/* 0064C 808802EC AFB2006C */ sw $s2, 0x006C($sp)
|
||||
/* 00650 808802F0 AFB10068 */ sw $s1, 0x0068($sp)
|
||||
/* 00654 808802F4 AFB00064 */ sw $s0, 0x0064($sp)
|
||||
/* 00658 808802F8 F7BA0058 */ sdc1 $f26, 0x0058($sp)
|
||||
/* 0065C 808802FC F7B80050 */ sdc1 $f24, 0x0050($sp)
|
||||
/* 00660 80880300 F7B60048 */ sdc1 $f22, 0x0048($sp)
|
||||
/* 00664 80880304 F7B40040 */ sdc1 $f20, 0x0040($sp)
|
||||
/* 00668 80880308 90820168 */ lbu $v0, 0x0168($a0) ## 00000168
|
||||
/* 0066C 8088030C 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
|
||||
/* 00670 80880310 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 00674 80880314 10400003 */ beq $v0, $zero, .L80880324
|
||||
/* 00678 80880318 2405205B */ addiu $a1, $zero, 0x205B ## $a1 = 0000205B
|
||||
/* 0067C 8088031C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00680 80880320 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168
|
||||
.L80880324:
|
||||
/* 00684 80880324 0C00BE5D */ jal func_8002F974
|
||||
/* 00688 80880328 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0068C 8088032C 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000
|
||||
/* 00690 80880330 4481D000 */ mtc1 $at, $f26 ## $f26 = 320.00
|
||||
/* 00694 80880334 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00698 80880338 4481C000 */ mtc1 $at, $f24 ## $f24 = 10.00
|
||||
/* 0069C 8088033C 3C01C1F0 */ lui $at, 0xC1F0 ## $at = C1F00000
|
||||
/* 006A0 80880340 4481B000 */ mtc1 $at, $f22 ## $f22 = -30.00
|
||||
/* 006A4 80880344 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 006A8 80880348 3C138088 */ lui $s3, %hi(D_8088101C) ## $s3 = 80880000
|
||||
/* 006AC 8088034C 4481A000 */ mtc1 $at, $f20 ## $f20 = 30.00
|
||||
/* 006B0 80880350 2673101C */ addiu $s3, $s3, %lo(D_8088101C) ## $s3 = 8088101C
|
||||
/* 006B4 80880354 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 006B8 80880358 27B40094 */ addiu $s4, $sp, 0x0094 ## $s4 = FFFFFFF4
|
||||
/* 006BC 8088035C 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002
|
||||
.L80880360:
|
||||
/* 006C0 80880360 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 006C4 80880364 00000000 */ nop
|
||||
/* 006C8 80880368 862F001C */ lh $t7, 0x001C($s1) ## 0000001C
|
||||
/* 006CC 8088036C 46000086 */ mov.s $f2, $f0
|
||||
/* 006D0 80880370 564F0004 */ bnel $s2, $t7, .L80880384
|
||||
/* 006D4 80880374 4600A006 */ mov.s $f0, $f20
|
||||
/* 006D8 80880378 10000002 */ beq $zero, $zero, .L80880384
|
||||
/* 006DC 8088037C 4600B006 */ mov.s $f0, $f22
|
||||
/* 006E0 80880380 4600A006 */ mov.s $f0, $f20
|
||||
.L80880384:
|
||||
/* 006E4 80880384 46020102 */ mul.s $f4, $f0, $f2
|
||||
/* 006E8 80880388 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
|
||||
/* 006EC 8088038C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 006F0 80880390 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 006F4 80880394 E7A80094 */ swc1 $f8, 0x0094($sp)
|
||||
/* 006F8 80880398 46180282 */ mul.s $f10, $f0, $f24
|
||||
/* 006FC 8088039C C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028
|
||||
/* 00700 808803A0 4600D306 */ mov.s $f12, $f26
|
||||
/* 00704 808803A4 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00708 808803A8 46149100 */ add.s $f4, $f18, $f20
|
||||
/* 0070C 808803AC 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 00710 808803B0 E7A40098 */ swc1 $f4, 0x0098($sp)
|
||||
/* 00714 808803B4 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C
|
||||
/* 00718 808803B8 24180082 */ addiu $t8, $zero, 0x0082 ## $t8 = 00000082
|
||||
/* 0071C 808803BC 24190014 */ addiu $t9, $zero, 0x0014 ## $t9 = 00000014
|
||||
/* 00720 808803C0 46060200 */ add.s $f8, $f0, $f6
|
||||
/* 00724 808803C4 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
|
||||
/* 00728 808803C8 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
|
||||
/* 0072C 808803CC 240A0096 */ addiu $t2, $zero, 0x0096 ## $t2 = 00000096
|
||||
/* 00730 808803D0 240B00AA */ addiu $t3, $zero, 0x00AA ## $t3 = 000000AA
|
||||
/* 00734 808803D4 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
|
||||
/* 00738 808803D8 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
||||
/* 0073C 808803DC 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009
|
||||
/* 00740 808803E0 E7A8009C */ swc1 $f8, 0x009C($sp)
|
||||
/* 00744 808803E4 AFAE0038 */ sw $t6, 0x0038($sp)
|
||||
/* 00748 808803E8 AFAD0034 */ sw $t5, 0x0034($sp)
|
||||
/* 0074C 808803EC AFAC0028 */ sw $t4, 0x0028($sp)
|
||||
/* 00750 808803F0 AFAB0024 */ sw $t3, 0x0024($sp)
|
||||
/* 00754 808803F4 AFAA0020 */ sw $t2, 0x0020($sp)
|
||||
/* 00758 808803F8 AFA9001C */ sw $t1, 0x001C($sp)
|
||||
/* 0075C 808803FC AFA80018 */ sw $t0, 0x0018($sp)
|
||||
/* 00760 80880400 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 00764 80880404 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00768 80880408 AFA0003C */ sw $zero, 0x003C($sp)
|
||||
/* 0076C 8088040C AFA00030 */ sw $zero, 0x0030($sp)
|
||||
/* 00770 80880410 AFA0002C */ sw $zero, 0x002C($sp)
|
||||
/* 00774 80880414 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
|
||||
/* 00778 80880418 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFF4
|
||||
/* 0077C 8088041C 02603025 */ or $a2, $s3, $zero ## $a2 = 8088101C
|
||||
/* 00780 80880420 0C00A9AE */ jal func_8002A6B8
|
||||
/* 00784 80880424 02603825 */ or $a3, $s3, $zero ## $a3 = 8088101C
|
||||
/* 00788 80880428 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 0078C 8088042C 1612FFCC */ bne $s0, $s2, .L80880360
|
||||
/* 00790 80880430 00000000 */ nop
|
||||
/* 00794 80880434 922F0168 */ lbu $t7, 0x0168($s1) ## 00000168
|
||||
/* 00798 80880438 3C018088 */ lui $at, %hi(D_80880F30) ## $at = 80880000
|
||||
/* 0079C 8088043C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 007A0 80880440 55E00004 */ bnel $t7, $zero, .L80880454
|
||||
/* 007A4 80880444 8FBF007C */ lw $ra, 0x007C($sp)
|
||||
/* 007A8 80880448 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 007AC 8088044C AC200F30 */ sw $zero, %lo(D_80880F30)($at)
|
||||
/* 007B0 80880450 8FBF007C */ lw $ra, 0x007C($sp)
|
||||
.L80880454:
|
||||
/* 007B4 80880454 D7B40040 */ ldc1 $f20, 0x0040($sp)
|
||||
/* 007B8 80880458 D7B60048 */ ldc1 $f22, 0x0048($sp)
|
||||
/* 007BC 8088045C D7B80050 */ ldc1 $f24, 0x0050($sp)
|
||||
/* 007C0 80880460 D7BA0058 */ ldc1 $f26, 0x0058($sp)
|
||||
/* 007C4 80880464 8FB00064 */ lw $s0, 0x0064($sp)
|
||||
/* 007C8 80880468 8FB10068 */ lw $s1, 0x0068($sp)
|
||||
/* 007CC 8088046C 8FB2006C */ lw $s2, 0x006C($sp)
|
||||
/* 007D0 80880470 8FB30070 */ lw $s3, 0x0070($sp)
|
||||
/* 007D4 80880474 8FB40074 */ lw $s4, 0x0074($sp)
|
||||
/* 007D8 80880478 8FB50078 */ lw $s5, 0x0078($sp)
|
||||
/* 007DC 8088047C 03E00008 */ jr $ra
|
||||
/* 007E0 80880480 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000
|
|
@ -1,94 +0,0 @@
|
|||
glabel func_80880484
|
||||
/* 007E4 80880484 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 007E8 80880488 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 007EC 8088048C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 007F0 80880490 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 007F4 80880494 848E016A */ lh $t6, 0x016A($a0) ## 0000016A
|
||||
/* 007F8 80880498 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 007FC 8088049C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00800 808804A0 51C00008 */ beql $t6, $zero, .L808804C4
|
||||
/* 00804 808804A4 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
|
||||
/* 00808 808804A8 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060
|
||||
/* 0080C 808804AC 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
|
||||
/* 00810 808804B0 00000000 */ nop
|
||||
/* 00814 808804B4 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 00818 808804B8 10000004 */ beq $zero, $zero, .L808804CC
|
||||
/* 0081C 808804BC E4880060 */ swc1 $f8, 0x0060($a0) ## 00000060
|
||||
/* 00820 808804C0 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
|
||||
.L808804C4:
|
||||
/* 00824 808804C4 46000280 */ add.s $f10, $f0, $f0
|
||||
/* 00828 808804C8 E60A0060 */ swc1 $f10, 0x0060($s0) ## 00000060
|
||||
.L808804CC:
|
||||
/* 0082C 808804CC 92030168 */ lbu $v1, 0x0168($s0) ## 00000168
|
||||
/* 00830 808804D0 3C014339 */ lui $at, 0x4339 ## $at = 43390000
|
||||
/* 00834 808804D4 44819000 */ mtc1 $at, $f18 ## $f18 = 185.00
|
||||
/* 00838 808804D8 10600002 */ beq $v1, $zero, .L808804E4
|
||||
/* 0083C 808804DC 246FFFFF */ addiu $t7, $v1, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 00840 808804E0 A20F0168 */ sb $t7, 0x0168($s0) ## 00000168
|
||||
.L808804E4:
|
||||
/* 00844 808804E4 C610000C */ lwc1 $f16, 0x000C($s0) ## 0000000C
|
||||
/* 00848 808804E8 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
|
||||
/* 0084C 808804EC 8E060060 */ lw $a2, 0x0060($s0) ## 00000060
|
||||
/* 00850 808804F0 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* 00854 808804F4 44052000 */ mfc1 $a1, $f4
|
||||
/* 00858 808804F8 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 0085C 808804FC 00000000 */ nop
|
||||
/* 00860 80880500 AFA20024 */ sw $v0, 0x0024($sp)
|
||||
/* 00864 80880504 92030168 */ lbu $v1, 0x0168($s0) ## 00000168
|
||||
/* 00868 80880508 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 0086C 8088050C 14610003 */ bne $v1, $at, .L8088051C
|
||||
/* 00870 80880510 00602025 */ or $a0, $v1, $zero ## $a0 = 00000000
|
||||
/* 00874 80880514 8618016A */ lh $t8, 0x016A($s0) ## 0000016A
|
||||
/* 00878 80880518 13000005 */ beq $t8, $zero, .L80880530
|
||||
.L8088051C:
|
||||
/* 0087C 8088051C 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
|
||||
/* 00880 80880520 14810007 */ bne $a0, $at, .L80880540
|
||||
/* 00884 80880524 00000000 */ nop
|
||||
/* 00888 80880528 8619016A */ lh $t9, 0x016A($s0) ## 0000016A
|
||||
/* 0088C 8088052C 13200004 */ beq $t9, $zero, .L80880540
|
||||
.L80880530:
|
||||
/* 00890 80880530 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00894 80880534 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00898 80880538 2405284B */ addiu $a1, $zero, 0x284B ## $a1 = 0000284B
|
||||
/* 0089C 8088053C 92030168 */ lbu $v1, 0x0168($s0) ## 00000168
|
||||
.L80880540:
|
||||
/* 008A0 80880540 1460000F */ bne $v1, $zero, .L80880580
|
||||
/* 008A4 80880544 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008A8 80880548 8608016A */ lh $t0, 0x016A($s0) ## 0000016A
|
||||
/* 008AC 8088054C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 008B0 80880550 240A0028 */ addiu $t2, $zero, 0x0028 ## $t2 = 00000028
|
||||
/* 008B4 80880554 11000004 */ beq $t0, $zero, .L80880568
|
||||
/* 008B8 80880558 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
|
||||
/* 008BC 8088055C 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
|
||||
/* 008C0 80880560 10000002 */ beq $zero, $zero, .L8088056C
|
||||
/* 008C4 80880564 A2090168 */ sb $t1, 0x0168($s0) ## 00000168
|
||||
.L80880568:
|
||||
/* 008C8 80880568 A20A0168 */ sb $t2, 0x0168($s0) ## 00000168
|
||||
.L8088056C:
|
||||
/* 008CC 8088056C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 008D0 80880570 2405284A */ addiu $a1, $zero, 0x284A ## $a1 = 0000284A
|
||||
/* 008D4 80880574 3C0B8088 */ lui $t3, %hi(func_808805C0) ## $t3 = 80880000
|
||||
/* 008D8 80880578 256B05C0 */ addiu $t3, $t3, %lo(func_808805C0) ## $t3 = 808805C0
|
||||
/* 008DC 8088057C AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
|
||||
.L80880580:
|
||||
/* 008E0 80880580 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008E4 80880584 0C21FFF0 */ jal func_8087FFC0
|
||||
/* 008E8 80880588 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 008EC 8088058C 8FAC0024 */ lw $t4, 0x0024($sp)
|
||||
/* 008F0 80880590 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 008F4 80880594 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 008F8 80880598 15800004 */ bne $t4, $zero, .L808805AC
|
||||
/* 008FC 8088059C 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00900 808805A0 00812821 */ addu $a1, $a0, $at
|
||||
/* 00904 808805A4 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 00908 808805A8 26060178 */ addiu $a2, $s0, 0x0178 ## $a2 = 00000178
|
||||
.L808805AC:
|
||||
/* 0090C 808805AC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00910 808805B0 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00914 808805B4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00918 808805B8 03E00008 */ jr $ra
|
||||
/* 0091C 808805BC 00000000 */ nop
|
|
@ -1,79 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80881044
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel func_808805C0
|
||||
/* 00920 808805C0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00924 808805C4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00928 808805C8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0092C 808805CC AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00930 808805D0 90820168 */ lbu $v0, 0x0168($a0) ## 00000168
|
||||
/* 00934 808805D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00938 808805D8 3C0641D8 */ lui $a2, 0x41D8 ## $a2 = 41D80000
|
||||
/* 0093C 808805DC 10400002 */ beq $v0, $zero, .L808805E8
|
||||
/* 00940 808805E0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00944 808805E4 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168
|
||||
.L808805E8:
|
||||
/* 00948 808805E8 860F016A */ lh $t7, 0x016A($s0) ## 0000016A
|
||||
/* 0094C 808805EC 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
|
||||
/* 00950 808805F0 51E00006 */ beql $t7, $zero, .L8088060C
|
||||
/* 00954 808805F4 92180168 */ lbu $t8, 0x0168($s0) ## 00000168
|
||||
/* 00958 808805F8 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 0095C 808805FC 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C
|
||||
/* 00960 80880600 1000001B */ beq $zero, $zero, .L80880670
|
||||
/* 00964 80880604 92020168 */ lbu $v0, 0x0168($s0) ## 00000168
|
||||
/* 00968 80880608 92180168 */ lbu $t8, 0x0168($s0) ## 00000168
|
||||
.L8088060C:
|
||||
/* 0096C 8088060C 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
|
||||
/* 00970 80880610 3C064090 */ lui $a2, 0x4090 ## $a2 = 40900000
|
||||
/* 00974 80880614 2B010015 */ slti $at, $t8, 0x0015
|
||||
/* 00978 80880618 1420000B */ bne $at, $zero, .L80880648
|
||||
/* 0097C 8088061C 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
|
||||
/* 00980 80880620 44813000 */ mtc1 $at, $f6 ## $f6 = 90.00
|
||||
/* 00984 80880624 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
|
||||
/* 00988 80880628 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
|
||||
/* 0098C 8088062C 3C064110 */ lui $a2, 0x4110 ## $a2 = 41100000
|
||||
/* 00990 80880630 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 00994 80880634 44054000 */ mfc1 $a1, $f8
|
||||
/* 00998 80880638 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 0099C 8088063C 00000000 */ nop
|
||||
/* 009A0 80880640 10000004 */ beq $zero, $zero, .L80880654
|
||||
/* 009A4 80880644 92020168 */ lbu $v0, 0x0168($s0) ## 00000168
|
||||
.L80880648:
|
||||
/* 009A8 80880648 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 009AC 8088064C 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C
|
||||
/* 009B0 80880650 92020168 */ lbu $v0, 0x0168($s0) ## 00000168
|
||||
.L80880654:
|
||||
/* 009B4 80880654 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
|
||||
/* 009B8 80880658 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009BC 8088065C 14410004 */ bne $v0, $at, .L80880670
|
||||
/* 009C0 80880660 00000000 */ nop
|
||||
/* 009C4 80880664 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 009C8 80880668 2405284A */ addiu $a1, $zero, 0x284A ## $a1 = 0000284A
|
||||
/* 009CC 8088066C 92020168 */ lbu $v0, 0x0168($s0) ## 00000168
|
||||
.L80880670:
|
||||
/* 009D0 80880670 1440000B */ bne $v0, $zero, .L808806A0
|
||||
/* 009D4 80880674 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009D8 80880678 C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
|
||||
/* 009DC 8088067C 24190014 */ addiu $t9, $zero, 0x0014 ## $t9 = 00000014
|
||||
/* 009E0 80880680 A2190168 */ sb $t9, 0x0168($s0) ## 00000168
|
||||
/* 009E4 80880684 3C018088 */ lui $at, %hi(D_80881044) ## $at = 80880000
|
||||
/* 009E8 80880688 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028
|
||||
/* 009EC 8088068C C4301044 */ lwc1 $f16, %lo(D_80881044)($at)
|
||||
/* 009F0 80880690 3C088088 */ lui $t0, %hi(func_80880484) ## $t0 = 80880000
|
||||
/* 009F4 80880694 25080484 */ addiu $t0, $t0, %lo(func_80880484) ## $t0 = 80880484
|
||||
/* 009F8 80880698 AE080164 */ sw $t0, 0x0164($s0) ## 00000164
|
||||
/* 009FC 8088069C E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
|
||||
.L808806A0:
|
||||
/* 00A00 808806A0 0C21FFF0 */ jal func_8087FFC0
|
||||
/* 00A04 808806A4 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00A08 808806A8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00A0C 808806AC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00A10 808806B0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00A14 808806B4 03E00008 */ jr $ra
|
||||
/* 00A18 808806B8 00000000 */ nop
|
|
@ -1,163 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80881048
|
||||
.float 1.6
|
||||
glabel D_8088104C
|
||||
.float 0.01
|
||||
glabel D_80881050
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel func_808806BC
|
||||
/* 00A1C 808806BC 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
|
||||
/* 00A20 808806C0 AFBF0054 */ sw $ra, 0x0054($sp)
|
||||
/* 00A24 808806C4 AFB60050 */ sw $s6, 0x0050($sp)
|
||||
/* 00A28 808806C8 AFB5004C */ sw $s5, 0x004C($sp)
|
||||
/* 00A2C 808806CC AFB40048 */ sw $s4, 0x0048($sp)
|
||||
/* 00A30 808806D0 AFB30044 */ sw $s3, 0x0044($sp)
|
||||
/* 00A34 808806D4 AFB20040 */ sw $s2, 0x0040($sp)
|
||||
/* 00A38 808806D8 AFB1003C */ sw $s1, 0x003C($sp)
|
||||
/* 00A3C 808806DC AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 00A40 808806E0 F7B80030 */ sdc1 $f24, 0x0030($sp)
|
||||
/* 00A44 808806E4 F7B60028 */ sdc1 $f22, 0x0028($sp)
|
||||
/* 00A48 808806E8 F7B40020 */ sdc1 $f20, 0x0020($sp)
|
||||
/* 00A4C 808806EC 3C018088 */ lui $at, %hi(D_80881048) ## $at = 80880000
|
||||
/* 00A50 808806F0 C4261048 */ lwc1 $f6, %lo(D_80881048)($at)
|
||||
/* 00A54 808806F4 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060
|
||||
/* 00A58 808806F8 90820168 */ lbu $v0, 0x0168($a0) ## 00000168
|
||||
/* 00A5C 808806FC 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
|
||||
/* 00A60 80880700 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 00A64 80880704 4481B000 */ mtc1 $at, $f22 ## $f22 = 90.00
|
||||
/* 00A68 80880708 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
|
||||
/* 00A6C 8088070C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00A70 80880710 10400002 */ beq $v0, $zero, .L8088071C
|
||||
/* 00A74 80880714 E4880060 */ swc1 $f8, 0x0060($a0) ## 00000060
|
||||
/* 00A78 80880718 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168
|
||||
.L8088071C:
|
||||
/* 00A7C 8088071C C66A0024 */ lwc1 $f10, 0x0024($s3) ## 00000024
|
||||
/* 00A80 80880720 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
|
||||
/* 00A84 80880724 4481C000 */ mtc1 $at, $f24 ## $f24 = 25.00
|
||||
/* 00A88 80880728 46165400 */ add.s $f16, $f10, $f22
|
||||
/* 00A8C 8088072C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00A90 80880730 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 00A94 80880734 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00A98 80880738 E7B00074 */ swc1 $f16, 0x0074($sp)
|
||||
/* 00A9C 8088073C C6720028 */ lwc1 $f18, 0x0028($s3) ## 00000028
|
||||
/* 00AA0 80880740 24B107C0 */ addiu $s1, $a1, 0x07C0 ## $s1 = 000007C0
|
||||
/* 00AA4 80880744 26720078 */ addiu $s2, $s3, 0x0078 ## $s2 = 00000078
|
||||
/* 00AA8 80880748 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00AAC 8088074C 24160003 */ addiu $s6, $zero, 0x0003 ## $s6 = 00000003
|
||||
/* 00AB0 80880750 27B50074 */ addiu $s5, $sp, 0x0074 ## $s5 = FFFFFFF4
|
||||
/* 00AB4 80880754 27B40064 */ addiu $s4, $sp, 0x0064 ## $s4 = FFFFFFE4
|
||||
/* 00AB8 80880758 46183200 */ add.s $f8, $f6, $f24
|
||||
/* 00ABC 8088075C E7A80078 */ swc1 $f8, 0x0078($sp)
|
||||
/* 00AC0 80880760 C66A002C */ lwc1 $f10, 0x002C($s3) ## 0000002C
|
||||
/* 00AC4 80880764 E7AA007C */ swc1 $f10, 0x007C($sp)
|
||||
/* 00AC8 80880768 C6740080 */ lwc1 $f20, 0x0080($s3) ## 00000080
|
||||
.L8088076C:
|
||||
/* 00ACC 8088076C 02202025 */ or $a0, $s1, $zero ## $a0 = 000007C0
|
||||
/* 00AD0 80880770 02402825 */ or $a1, $s2, $zero ## $a1 = 00000078
|
||||
/* 00AD4 80880774 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFE4
|
||||
/* 00AD8 80880778 02603825 */ or $a3, $s3, $zero ## $a3 = 00000000
|
||||
/* 00ADC 8088077C 0C00F269 */ jal func_8003C9A4
|
||||
/* 00AE0 80880780 AFB50010 */ sw $s5, 0x0010($sp)
|
||||
/* 00AE4 80880784 46180081 */ sub.s $f2, $f0, $f24
|
||||
/* 00AE8 80880788 C7B00074 */ lwc1 $f16, 0x0074($sp)
|
||||
/* 00AEC 8088078C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00AF0 80880790 4602A03C */ c.lt.s $f20, $f2
|
||||
/* 00AF4 80880794 46168481 */ sub.s $f18, $f16, $f22
|
||||
/* 00AF8 80880798 45000002 */ bc1f .L808807A4
|
||||
/* 00AFC 8088079C 00000000 */ nop
|
||||
/* 00B00 808807A0 46001506 */ mov.s $f20, $f2
|
||||
.L808807A4:
|
||||
/* 00B04 808807A4 1616FFF1 */ bne $s0, $s6, .L8088076C
|
||||
/* 00B08 808807A8 E7B20074 */ swc1 $f18, 0x0074($sp)
|
||||
/* 00B0C 808807AC 4405A000 */ mfc1 $a1, $f20
|
||||
/* 00B10 808807B0 26640028 */ addiu $a0, $s3, 0x0028 ## $a0 = 00000028
|
||||
/* 00B14 808807B4 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00B18 808807B8 8E660060 */ lw $a2, 0x0060($s3) ## 00000060
|
||||
/* 00B1C 808807BC 1040000D */ beq $v0, $zero, .L808807F4
|
||||
/* 00B20 808807C0 3C018088 */ lui $at, %hi(D_8088104C) ## $at = 80880000
|
||||
/* 00B24 808807C4 C424104C */ lwc1 $f4, %lo(D_8088104C)($at)
|
||||
/* 00B28 808807C8 C6660060 */ lwc1 $f6, 0x0060($s3) ## 00000060
|
||||
/* 00B2C 808807CC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
|
||||
/* 00B30 808807D0 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00B34 808807D4 00000000 */ nop
|
||||
/* 00B38 808807D8 45020004 */ bc1fl .L808807EC
|
||||
/* 00B3C 808807DC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00B40 808807E0 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00B44 808807E4 24052851 */ addiu $a1, $zero, 0x2851 ## $a1 = 00002851
|
||||
/* 00B48 808807E8 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
.L808807EC:
|
||||
/* 00B4C 808807EC 00000000 */ nop
|
||||
/* 00B50 808807F0 E6680060 */ swc1 $f8, 0x0060($s3) ## 00000060
|
||||
.L808807F4:
|
||||
/* 00B54 808807F4 3C018088 */ lui $at, %hi(D_80881050) ## $at = 80880000
|
||||
/* 00B58 808807F8 C4301050 */ lwc1 $f16, %lo(D_80881050)($at)
|
||||
/* 00B5C 808807FC C66A0060 */ lwc1 $f10, 0x0060($s3) ## 00000060
|
||||
/* 00B60 80880800 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
|
||||
/* 00B64 80880804 460A803E */ c.le.s $f16, $f10
|
||||
/* 00B68 80880808 00000000 */ nop
|
||||
/* 00B6C 8088080C 45020004 */ bc1fl .L80880820
|
||||
/* 00B70 80880810 926F0168 */ lbu $t7, 0x0168($s3) ## 00000168
|
||||
/* 00B74 80880814 0C00BE5D */ jal func_8002F974
|
||||
/* 00B78 80880818 2405204D */ addiu $a1, $zero, 0x204D ## $a1 = 0000204D
|
||||
/* 00B7C 8088081C 926F0168 */ lbu $t7, 0x0168($s3) ## 00000168
|
||||
.L80880820:
|
||||
/* 00B80 80880820 55E00028 */ bnel $t7, $zero, .L808808C4
|
||||
/* 00B84 80880824 8FBF0054 */ lw $ra, 0x0054($sp)
|
||||
/* 00B88 80880828 C6640028 */ lwc1 $f4, 0x0028($s3) ## 00000028
|
||||
/* 00B8C 8088082C 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
|
||||
/* 00B90 80880830 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 00B94 80880834 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00B98 80880838 44818000 */ mtc1 $at, $f16 ## $f16 = 50.00
|
||||
/* 00B9C 8088083C E6720060 */ swc1 $f18, 0x0060($s3) ## 00000060
|
||||
/* 00BA0 80880840 C660000C */ lwc1 $f0, 0x000C($s3) ## 0000000C
|
||||
/* 00BA4 80880844 44083000 */ mfc1 $t0, $f6
|
||||
/* 00BA8 80880848 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
|
||||
/* 00BAC 8088084C A2780168 */ sb $t8, 0x0168($s3) ## 00000168
|
||||
/* 00BB0 80880850 00084C00 */ sll $t1, $t0, 16
|
||||
/* 00BB4 80880854 00095403 */ sra $t2, $t1, 16
|
||||
/* 00BB8 80880858 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
|
||||
/* 00BBC 8088085C 3C088088 */ lui $t0, %hi(func_808808F4) ## $t0 = 80880000
|
||||
/* 00BC0 80880860 250808F4 */ addiu $t0, $t0, %lo(func_808808F4) ## $t0 = 808808F4
|
||||
/* 00BC4 80880864 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00BC8 80880868 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00BCC 8088086C 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00BD0 80880870 440C2000 */ mfc1 $t4, $f4
|
||||
/* 00BD4 80880874 00000000 */ nop
|
||||
/* 00BD8 80880878 A66C016A */ sh $t4, 0x016A($s3) ## 0000016A
|
||||
/* 00BDC 8088087C 866D016A */ lh $t5, 0x016A($s3) ## 0000016A
|
||||
/* 00BE0 80880880 448D3000 */ mtc1 $t5, $f6 ## $f6 = 0.00
|
||||
/* 00BE4 80880884 00000000 */ nop
|
||||
/* 00BE8 80880888 468030A0 */ cvt.s.w $f2, $f6
|
||||
/* 00BEC 8088088C 4602003C */ c.lt.s $f0, $f2
|
||||
/* 00BF0 80880890 00000000 */ nop
|
||||
/* 00BF4 80880894 45020006 */ bc1fl .L808808B0
|
||||
/* 00BF8 80880898 4600128D */ trunc.w.s $f10, $f2
|
||||
/* 00BFC 8088089C 4600020D */ trunc.w.s $f8, $f0
|
||||
/* 00C00 808808A0 440F4000 */ mfc1 $t7, $f8
|
||||
/* 00C04 808808A4 10000005 */ beq $zero, $zero, .L808808BC
|
||||
/* 00C08 808808A8 A66F016A */ sh $t7, 0x016A($s3) ## 0000016A
|
||||
/* 00C0C 808808AC 4600128D */ trunc.w.s $f10, $f2
|
||||
.L808808B0:
|
||||
/* 00C10 808808B0 44195000 */ mfc1 $t9, $f10
|
||||
/* 00C14 808808B4 00000000 */ nop
|
||||
/* 00C18 808808B8 A679016A */ sh $t9, 0x016A($s3) ## 0000016A
|
||||
.L808808BC:
|
||||
/* 00C1C 808808BC AE680164 */ sw $t0, 0x0164($s3) ## 00000164
|
||||
/* 00C20 808808C0 8FBF0054 */ lw $ra, 0x0054($sp)
|
||||
.L808808C4:
|
||||
/* 00C24 808808C4 D7B40020 */ ldc1 $f20, 0x0020($sp)
|
||||
/* 00C28 808808C8 D7B60028 */ ldc1 $f22, 0x0028($sp)
|
||||
/* 00C2C 808808CC D7B80030 */ ldc1 $f24, 0x0030($sp)
|
||||
/* 00C30 808808D0 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 00C34 808808D4 8FB1003C */ lw $s1, 0x003C($sp)
|
||||
/* 00C38 808808D8 8FB20040 */ lw $s2, 0x0040($sp)
|
||||
/* 00C3C 808808DC 8FB30044 */ lw $s3, 0x0044($sp)
|
||||
/* 00C40 808808E0 8FB40048 */ lw $s4, 0x0048($sp)
|
||||
/* 00C44 808808E4 8FB5004C */ lw $s5, 0x004C($sp)
|
||||
/* 00C48 808808E8 8FB60050 */ lw $s6, 0x0050($sp)
|
||||
/* 00C4C 808808EC 03E00008 */ jr $ra
|
||||
/* 00C50 808808F0 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000
|
|
@ -1,54 +0,0 @@
|
|||
glabel func_808808F4
|
||||
/* 00C54 808808F4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00C58 808808F8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00C5C 808808FC AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00C60 80880900 90830168 */ lbu $v1, 0x0168($a0) ## 00000168
|
||||
/* 00C64 80880904 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00C68 80880908 3C0641A0 */ lui $a2, 0x41A0 ## $a2 = 41A00000
|
||||
/* 00C6C 8088090C 10600004 */ beq $v1, $zero, .L80880920
|
||||
/* 00C70 80880910 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
/* 00C74 80880914 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00C78 80880918 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168
|
||||
/* 00C7C 8088091C 31C200FF */ andi $v0, $t6, 0x00FF ## $v0 = 000000FF
|
||||
.L80880920:
|
||||
/* 00C80 80880920 28410015 */ slti $at, $v0, 0x0015
|
||||
/* 00C84 80880924 1420000D */ bne $at, $zero, .L8088095C
|
||||
/* 00C88 80880928 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
|
||||
/* 00C8C 8088092C 84EF016A */ lh $t7, 0x016A($a3) ## 0000016A
|
||||
/* 00C90 80880930 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00C94 80880934 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
|
||||
/* 00C98 80880938 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
|
||||
/* 00C9C 8088093C 3C064170 */ lui $a2, 0x4170 ## $a2 = 41700000
|
||||
/* 00CA0 80880940 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 00CA4 80880944 44052000 */ mfc1 $a1, $f4
|
||||
/* 00CA8 80880948 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00CAC 8088094C 00000000 */ nop
|
||||
/* 00CB0 80880950 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00CB4 80880954 10000006 */ beq $zero, $zero, .L80880970
|
||||
/* 00CB8 80880958 A0E20169 */ sb $v0, 0x0169($a3) ## 00000169
|
||||
.L8088095C:
|
||||
/* 00CBC 8088095C 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C
|
||||
/* 00CC0 80880960 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00CC4 80880964 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00CC8 80880968 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00CCC 8088096C A0E20169 */ sb $v0, 0x0169($a3) ## 00000169
|
||||
.L80880970:
|
||||
/* 00CD0 80880970 90F80168 */ lbu $t8, 0x0168($a3) ## 00000168
|
||||
/* 00CD4 80880974 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E
|
||||
/* 00CD8 80880978 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00CDC 8088097C 17000008 */ bne $t8, $zero, .L808809A0
|
||||
/* 00CE0 80880980 3C088088 */ lui $t0, %hi(func_808806BC) ## $t0 = 80880000
|
||||
/* 00CE4 80880984 C4E6000C */ lwc1 $f6, 0x000C($a3) ## 0000000C
|
||||
/* 00CE8 80880988 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
|
||||
/* 00CEC 8088098C 250806BC */ addiu $t0, $t0, %lo(func_808806BC) ## $t0 = 808806BC
|
||||
/* 00CF0 80880990 A0F90168 */ sb $t9, 0x0168($a3) ## 00000168
|
||||
/* 00CF4 80880994 ACE80164 */ sw $t0, 0x0164($a3) ## 00000164
|
||||
/* 00CF8 80880998 E4E60028 */ swc1 $f6, 0x0028($a3) ## 00000028
|
||||
/* 00CFC 8088099C E4E80060 */ swc1 $f8, 0x0060($a3) ## 00000060
|
||||
.L808809A0:
|
||||
/* 00D00 808809A0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00D04 808809A4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00D08 808809A8 03E00008 */ jr $ra
|
||||
/* 00D0C 808809AC 00000000 */ nop
|
|
@ -1,16 +0,0 @@
|
|||
glabel func_808809B0
|
||||
/* 00D10 808809B0 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00D14 808809B4 90820168 */ lbu $v0, 0x0168($a0) ## 00000168
|
||||
/* 00D18 808809B8 3C0F8088 */ lui $t7, %hi(func_80880AE8) ## $t7 = 80880000
|
||||
/* 00D1C 808809BC 25EF0AE8 */ addiu $t7, $t7, %lo(func_80880AE8) ## $t7 = 80880AE8
|
||||
/* 00D20 808809C0 10400003 */ beq $v0, $zero, .L808809D0
|
||||
/* 00D24 808809C4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00D28 808809C8 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168
|
||||
/* 00D2C 808809CC 31C200FF */ andi $v0, $t6, 0x00FF ## $v0 = 000000FF
|
||||
.L808809D0:
|
||||
/* 00D30 808809D0 14400002 */ bne $v0, $zero, .L808809DC
|
||||
/* 00D34 808809D4 00000000 */ nop
|
||||
/* 00D38 808809D8 AC8F0164 */ sw $t7, 0x0164($a0) ## 00000164
|
||||
.L808809DC:
|
||||
/* 00D3C 808809DC 03E00008 */ jr $ra
|
||||
/* 00D40 808809E0 00000000 */ nop
|
|
@ -1,76 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80881054
|
||||
.float 0.06
|
||||
glabel D_80881058
|
||||
.float 6.734914E-5
|
||||
glabel D_8088105C
|
||||
.float 0.6666667
|
||||
|
||||
.text
|
||||
glabel func_808809E4
|
||||
/* 00D44 808809E4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00D48 808809E8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00D4C 808809EC AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00D50 808809F0 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00D54 808809F4 AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 00D58 808809F8 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00D5C 808809FC 27A50018 */ addiu $a1, $sp, 0x0018 ## $a1 = FFFFFFF0
|
||||
/* 00D60 80880A00 24460024 */ addiu $a2, $v0, 0x0024 ## $a2 = 00000024
|
||||
/* 00D64 80880A04 0C00B6F4 */ jal func_8002DBD0
|
||||
/* 00D68 80880A08 AFA20024 */ sw $v0, 0x0024($sp)
|
||||
/* 00D6C 80880A0C C7A00018 */ lwc1 $f0, 0x0018($sp)
|
||||
/* 00D70 80880A10 3C01428C */ lui $at, 0x428C ## $at = 428C0000
|
||||
/* 00D74 80880A14 44812000 */ mtc1 $at, $f4 ## $f4 = 70.00
|
||||
/* 00D78 80880A18 46000005 */ abs.s $f0, $f0
|
||||
/* 00D7C 80880A1C 8FA20024 */ lw $v0, 0x0024($sp)
|
||||
/* 00D80 80880A20 4604003C */ c.lt.s $f0, $f4
|
||||
/* 00D84 80880A24 C7A0001C */ lwc1 $f0, 0x001C($sp)
|
||||
/* 00D88 80880A28 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00D8C 80880A2C 4502002B */ bc1fl .L80880ADC
|
||||
/* 00D90 80880A30 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00D94 80880A34 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
|
||||
/* 00D98 80880A38 46000005 */ abs.s $f0, $f0
|
||||
/* 00D9C 80880A3C 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
|
||||
/* 00DA0 80880A40 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00DA4 80880A44 C7A80020 */ lwc1 $f8, 0x0020($sp)
|
||||
/* 00DA8 80880A48 45020024 */ bc1fl .L80880ADC
|
||||
/* 00DAC 80880A4C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00DB0 80880A50 44810000 */ mtc1 $at, $f0 ## $f0 = 500.00
|
||||
/* 00DB4 80880A54 8FAF002C */ lw $t7, 0x002C($sp)
|
||||
/* 00DB8 80880A58 4600403C */ c.lt.s $f8, $f0
|
||||
/* 00DBC 80880A5C 00000000 */ nop
|
||||
/* 00DC0 80880A60 4502001E */ bc1fl .L80880ADC
|
||||
/* 00DC4 80880A64 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00DC8 80880A68 8DF81C44 */ lw $t8, 0x1C44($t7) ## 00001C44
|
||||
/* 00DCC 80880A6C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00DD0 80880A70 8319014F */ lb $t9, 0x014F($t8) ## 0000014F
|
||||
/* 00DD4 80880A74 53210019 */ beql $t9, $at, .L80880ADC
|
||||
/* 00DD8 80880A78 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00DDC 80880A7C 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 00DE0 80880A80 3C018088 */ lui $at, %hi(D_80881054) ## $at = 80880000
|
||||
/* 00DE4 80880A84 C4301054 */ lwc1 $f16, %lo(D_80881054)($at)
|
||||
/* 00DE8 80880A88 87A80032 */ lh $t0, 0x0032($sp)
|
||||
/* 00DEC 80880A8C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00DF0 80880A90 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00DF4 80880A94 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
|
||||
/* 00DF8 80880A98 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
|
||||
/* 00DFC 80880A9C 3C018088 */ lui $at, %hi(D_80881058) ## $at = 80880000
|
||||
/* 00E00 80880AA0 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00E04 80880AA4 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00E08 80880AA8 C4321058 */ lwc1 $f18, %lo(D_80881058)($at)
|
||||
/* 00E0C 80880AAC 3C018088 */ lui $at, %hi(D_8088105C) ## $at = 80880000
|
||||
/* 00E10 80880AB0 C428105C */ lwc1 $f8, %lo(D_8088105C)($at)
|
||||
/* 00E14 80880AB4 460A3402 */ mul.s $f16, $f6, $f10
|
||||
/* 00E18 80880AB8 00000000 */ nop
|
||||
/* 00E1C 80880ABC 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 00E20 80880AC0 00000000 */ nop
|
||||
/* 00E24 80880AC4 46082182 */ mul.s $f6, $f4, $f8
|
||||
/* 00E28 80880AC8 E44608AC */ swc1 $f6, 0x08AC($v0) ## 000008AC
|
||||
/* 00E2C 80880ACC 8FA90028 */ lw $t1, 0x0028($sp)
|
||||
/* 00E30 80880AD0 852A00B6 */ lh $t2, 0x00B6($t1) ## 000000B6
|
||||
/* 00E34 80880AD4 A44A08B0 */ sh $t2, 0x08B0($v0) ## 000008B0
|
||||
/* 00E38 80880AD8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80880ADC:
|
||||
/* 00E3C 80880ADC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00E40 80880AE0 03E00008 */ jr $ra
|
||||
/* 00E44 80880AE4 00000000 */ nop
|
|
@ -1,86 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80881060
|
||||
.float 0.03
|
||||
glabel D_80881064
|
||||
.float 0.03
|
||||
|
||||
.text
|
||||
glabel func_80880AE8
|
||||
/* 00E48 80880AE8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00E4C 80880AEC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00E50 80880AF0 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00E54 80880AF4 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00E58 80880AF8 908E0168 */ lbu $t6, 0x0168($a0) ## 00000168
|
||||
/* 00E5C 80880AFC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00E60 80880B00 51C0001A */ beql $t6, $zero, .L80880B6C
|
||||
/* 00E64 80880B04 86090034 */ lh $t1, 0x0034($s0) ## 00000034
|
||||
/* 00E68 80880B08 860F0034 */ lh $t7, 0x0034($s0) ## 00000034
|
||||
/* 00E6C 80880B0C 3C018088 */ lui $at, %hi(D_80881060) ## $at = 80880000
|
||||
/* 00E70 80880B10 C4281060 */ lwc1 $f8, %lo(D_80881060)($at)
|
||||
/* 00E74 80880B14 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
|
||||
/* 00E78 80880B18 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00E7C 80880B1C 44818000 */ mtc1 $at, $f16 ## $f16 = 5.00
|
||||
/* 00E80 80880B20 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00E84 80880B24 24840034 */ addiu $a0, $a0, 0x0034 ## $a0 = 00000034
|
||||
/* 00E88 80880B28 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00E8C 80880B2C 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00E90 80880B30 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00E94 80880B34 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00E98 80880B38 44062000 */ mfc1 $a2, $f4
|
||||
/* 00E9C 80880B3C 00000000 */ nop
|
||||
/* 00EA0 80880B40 00063400 */ sll $a2, $a2, 16
|
||||
/* 00EA4 80880B44 0C01DE2B */ jal Math_ApproxUpdateScaledS
|
||||
|
||||
/* 00EA8 80880B48 00063403 */ sra $a2, $a2, 16
|
||||
/* 00EAC 80880B4C 1040001D */ beq $v0, $zero, .L80880BC4
|
||||
/* 00EB0 80880B50 24190028 */ addiu $t9, $zero, 0x0028 ## $t9 = 00000028
|
||||
/* 00EB4 80880B54 3C088088 */ lui $t0, %hi(func_808809B0) ## $t0 = 80880000
|
||||
/* 00EB8 80880B58 250809B0 */ addiu $t0, $t0, %lo(func_808809B0) ## $t0 = 808809B0
|
||||
/* 00EBC 80880B5C A2190168 */ sb $t9, 0x0168($s0) ## 00000168
|
||||
/* 00EC0 80880B60 10000018 */ beq $zero, $zero, .L80880BC4
|
||||
/* 00EC4 80880B64 AE080164 */ sw $t0, 0x0164($s0) ## 00000164
|
||||
/* 00EC8 80880B68 86090034 */ lh $t1, 0x0034($s0) ## 00000034
|
||||
.L80880B6C:
|
||||
/* 00ECC 80880B6C 3C018088 */ lui $at, %hi(D_80881064) ## $at = 80880000
|
||||
/* 00ED0 80880B70 C42A1064 */ lwc1 $f10, %lo(D_80881064)($at)
|
||||
/* 00ED4 80880B74 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00
|
||||
/* 00ED8 80880B78 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00EDC 80880B7C 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00
|
||||
/* 00EE0 80880B80 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 00EE4 80880B84 26040034 */ addiu $a0, $s0, 0x0034 ## $a0 = 00000034
|
||||
/* 00EE8 80880B88 24053A00 */ addiu $a1, $zero, 0x3A00 ## $a1 = 00003A00
|
||||
/* 00EEC 80880B8C 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00EF0 80880B90 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00EF4 80880B94 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00EF8 80880B98 44063000 */ mfc1 $a2, $f6
|
||||
/* 00EFC 80880B9C 00000000 */ nop
|
||||
/* 00F00 80880BA0 00063400 */ sll $a2, $a2, 16
|
||||
/* 00F04 80880BA4 0C01DE2B */ jal Math_ApproxUpdateScaledS
|
||||
|
||||
/* 00F08 80880BA8 00063403 */ sra $a2, $a2, 16
|
||||
/* 00F0C 80880BAC 10400005 */ beq $v0, $zero, .L80880BC4
|
||||
/* 00F10 80880BB0 240B0064 */ addiu $t3, $zero, 0x0064 ## $t3 = 00000064
|
||||
/* 00F14 80880BB4 3C0C8088 */ lui $t4, %hi(func_80880C0C) ## $t4 = 80880000
|
||||
/* 00F18 80880BB8 258C0C0C */ addiu $t4, $t4, %lo(func_80880C0C) ## $t4 = 80880C0C
|
||||
/* 00F1C 80880BBC A20B0168 */ sb $t3, 0x0168($s0) ## 00000168
|
||||
/* 00F20 80880BC0 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164
|
||||
.L80880BC4:
|
||||
/* 00F24 80880BC4 86060034 */ lh $a2, 0x0034($s0) ## 00000034
|
||||
/* 00F28 80880BC8 860D00B8 */ lh $t5, 0x00B8($s0) ## 000000B8
|
||||
/* 00F2C 80880BCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F30 80880BD0 28C11801 */ slti $at, $a2, 0x1801
|
||||
/* 00F34 80880BD4 01A67021 */ addu $t6, $t5, $a2
|
||||
/* 00F38 80880BD8 14200004 */ bne $at, $zero, .L80880BEC
|
||||
/* 00F3C 80880BDC A60E00B8 */ sh $t6, 0x00B8($s0) ## 000000B8
|
||||
/* 00F40 80880BE0 0C00BE5D */ jal func_8002F974
|
||||
/* 00F44 80880BE4 24052057 */ addiu $a1, $zero, 0x2057 ## $a1 = 00002057
|
||||
/* 00F48 80880BE8 86060034 */ lh $a2, 0x0034($s0) ## 00000034
|
||||
.L80880BEC:
|
||||
/* 00F4C 80880BEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F50 80880BF0 0C220279 */ jal func_808809E4
|
||||
/* 00F54 80880BF4 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00F58 80880BF8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00F5C 80880BFC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00F60 80880C00 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00F64 80880C04 03E00008 */ jr $ra
|
||||
/* 00F68 80880C08 00000000 */ nop
|
|
@ -1,32 +0,0 @@
|
|||
glabel func_80880C0C
|
||||
/* 00F6C 80880C0C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00F70 80880C10 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00F74 80880C14 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00F78 80880C18 90820168 */ lbu $v0, 0x0168($a0) ## 00000168
|
||||
/* 00F7C 80880C1C 24052057 */ addiu $a1, $zero, 0x2057 ## $a1 = 00002057
|
||||
/* 00F80 80880C20 10400002 */ beq $v0, $zero, .L80880C2C
|
||||
/* 00F84 80880C24 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00F88 80880C28 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168
|
||||
.L80880C2C:
|
||||
/* 00F8C 80880C2C 0C00BE5D */ jal func_8002F974
|
||||
/* 00F90 80880C30 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00F94 80880C34 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00F98 80880C38 3C198088 */ lui $t9, %hi(func_80880AE8) ## $t9 = 80880000
|
||||
/* 00F9C 80880C3C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 00FA0 80880C40 908F0168 */ lbu $t7, 0x0168($a0) ## 00000168
|
||||
/* 00FA4 80880C44 27390AE8 */ addiu $t9, $t9, %lo(func_80880AE8) ## $t9 = 80880AE8
|
||||
/* 00FA8 80880C48 55E00004 */ bnel $t7, $zero, .L80880C5C
|
||||
/* 00FAC 80880C4C 84860034 */ lh $a2, 0x0034($a0) ## 00000034
|
||||
/* 00FB0 80880C50 A0980168 */ sb $t8, 0x0168($a0) ## 00000168
|
||||
/* 00FB4 80880C54 AC990164 */ sw $t9, 0x0164($a0) ## 00000164
|
||||
/* 00FB8 80880C58 84860034 */ lh $a2, 0x0034($a0) ## 00000034
|
||||
.L80880C5C:
|
||||
/* 00FBC 80880C5C 848800B8 */ lh $t0, 0x00B8($a0) ## 000000B8
|
||||
/* 00FC0 80880C60 01064821 */ addu $t1, $t0, $a2
|
||||
/* 00FC4 80880C64 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8
|
||||
/* 00FC8 80880C68 0C220279 */ jal func_808809E4
|
||||
/* 00FCC 80880C6C 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00FD0 80880C70 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00FD4 80880C74 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00FD8 80880C78 03E00008 */ jr $ra
|
||||
/* 00FDC 80880C7C 00000000 */ nop
|
|
@ -1,40 +0,0 @@
|
|||
glabel func_80880D68
|
||||
/* 010C8 80880D68 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 010CC 80880D6C AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 010D0 80880D70 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 010D4 80880D74 3C048088 */ lui $a0, %hi(D_80880F98) ## $a0 = 80880000
|
||||
/* 010D8 80880D78 24840F98 */ addiu $a0, $a0, %lo(D_80880F98) ## $a0 = 80880F98
|
||||
/* 010DC 80880D7C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 010E0 80880D80 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFDC
|
||||
/* 010E4 80880D84 3C048088 */ lui $a0, %hi(D_80880FA4) ## $a0 = 80880000
|
||||
/* 010E8 80880D88 24840FA4 */ addiu $a0, $a0, %lo(D_80880FA4) ## $a0 = 80880FA4
|
||||
/* 010EC 80880D8C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 010F0 80880D90 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFE8
|
||||
/* 010F4 80880D94 3C048088 */ lui $a0, %hi(D_80880FB0) ## $a0 = 80880000
|
||||
/* 010F8 80880D98 24840FB0 */ addiu $a0, $a0, %lo(D_80880FB0) ## $a0 = 80880FB0
|
||||
/* 010FC 80880D9C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01100 80880DA0 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFF4
|
||||
/* 01104 80880DA4 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 01108 80880DA8 27AE003C */ addiu $t6, $sp, 0x003C ## $t6 = FFFFFFF4
|
||||
/* 0110C 80880DAC AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 01110 80880DB0 248401C4 */ addiu $a0, $a0, 0x01C4 ## $a0 = 000001C4
|
||||
/* 01114 80880DB4 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 01118 80880DB8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0111C 80880DBC 27A60024 */ addiu $a2, $sp, 0x0024 ## $a2 = FFFFFFDC
|
||||
/* 01120 80880DC0 0C0189E8 */ jal func_800627A0
|
||||
/* 01124 80880DC4 27A70030 */ addiu $a3, $sp, 0x0030 ## $a3 = FFFFFFE8
|
||||
/* 01128 80880DC8 3C048088 */ lui $a0, %hi(D_80880FEC) ## $a0 = 80880000
|
||||
/* 0112C 80880DCC 24840FEC */ addiu $a0, $a0, %lo(D_80880FEC) ## $a0 = 80880FEC
|
||||
/* 01130 80880DD0 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01134 80880DD4 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFE8
|
||||
/* 01138 80880DD8 27AF0030 */ addiu $t7, $sp, 0x0030 ## $t7 = FFFFFFE8
|
||||
/* 0113C 80880DDC AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 01140 80880DE0 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 01144 80880DE4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 01148 80880DE8 27A60024 */ addiu $a2, $sp, 0x0024 ## $a2 = FFFFFFDC
|
||||
/* 0114C 80880DEC 0C0189E8 */ jal func_800627A0
|
||||
/* 01150 80880DF0 27A7003C */ addiu $a3, $sp, 0x003C ## $a3 = FFFFFFF4
|
||||
/* 01154 80880DF4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01158 80880DF8 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 0115C 80880DFC 03E00008 */ jr $ra
|
||||
/* 01160 80880E00 00000000 */ nop
|
|
@ -1,49 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .data
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_80880F30
|
||||
.word 0x00000000
|
||||
glabel Bg_Haka_Trap_InitVars
|
||||
.word 0x00BC0100, 0x00000000, 0x00690000, 0x0000029C
|
||||
.word BgHakaTrap_Init
|
||||
.word BgHakaTrap_Destroy
|
||||
.word BgHakaTrap_Update
|
||||
.word BgHakaTrap_Draw
|
||||
glabel D_80880F54
|
||||
.word 0x09110D09, 0x20010000, 0x00000000, 0xFFCFFFFF, 0x00040000, 0xFFCFFFFF, 0x00000000, 0x01010100, 0x001E005A, 0x00000000, 0x00000000
|
||||
glabel D_80880F80
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0x00020000, 0x00000000, 0x00010000
|
||||
glabel D_80880F98
|
||||
.word 0x44E10000, 0x44960000, 0x00000000
|
||||
glabel D_80880FA4
|
||||
.word 0xC4E10000, 0x44960000, 0x00000000
|
||||
glabel D_80880FB0
|
||||
.word 0xC4E10000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00020000, 0x00000000, 0x00010000, 0x44E10000, 0x44960000, 0x00000000, 0xC4E10000, 0x00000000, 0x00000000
|
||||
glabel D_80880FEC
|
||||
.word 0x44E10000, 0x00000000, 0x00000000
|
||||
glabel D_80880FF8
|
||||
.word 0x0A000900, 0x20020000, 0x00000002
|
||||
.word D_80880F80
|
||||
glabel D_80881008
|
||||
.word 0x00000050, 0x0064FF00
|
||||
glabel D_80881010
|
||||
.word 0x48500064
|
||||
glabel D_80881014
|
||||
.word 0x00000000
|
||||
glabel D_80881018
|
||||
.word 0x00000000
|
||||
glabel D_8088101C
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80881028
|
||||
.word 0x06007610, 0x06009860, 0x06007EF0, 0x06008A20, 0x060072C0
|
||||
glabel D_8088103C
|
||||
.word 0x00000000
|
||||
|
|
@ -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_80881070
|
||||
.incbin "baserom/ovl_Bg_Haka_Trap", 0x13D0, 0x000001E0
|
|
@ -518,7 +518,7 @@ f32 func_80038B7C(CollisionPoly*, Vec3f*);
|
|||
// ? func_8003C614(?);
|
||||
f32 func_8003C8EC(GlobalContext*, CollisionContext*, CollisionPoly**, Vec3f*);
|
||||
f32 func_8003C940(CollisionContext*, CollisionPoly**, s32*, Vec3f*);
|
||||
// ? func_8003C9A4(?);
|
||||
f32 func_8003C9A4(CollisionContext*, CollisionPoly**, UNK_PTR, Actor*, Vec3f*);
|
||||
f32 func_8003CA0C(GlobalContext*, CollisionContext*, CollisionPoly**, u32*, Actor*, Vec3f*);
|
||||
f32 func_8003CB30(CollisionContext*, CollisionPoly*, Vec3f*, MtxF*);
|
||||
f32 func_8003CCA4(CollisionContext*, CollisionPoly**, s32*, Vec3f*);
|
||||
|
@ -831,6 +831,7 @@ s32 CollisionCheck_GeneralLineOcCheck(GlobalContext* globalCtx, CollisionCheckCo
|
|||
// ? func_800626B0(?);
|
||||
void Collider_CylinderUpdate(Actor* actor, ColliderCylinder* collider);
|
||||
// ? func_80062734(?);
|
||||
void func_800627A0(ColliderTris* collider, s32 index, Vec3f* a, Vec3f* b, Vec3f* c);
|
||||
void func_80062A28(GlobalContext*, Vec3f*);
|
||||
void func_80062B80(GlobalContext*, Vec3f*);
|
||||
void func_80062CD4(GlobalContext* globalCtx, Vec3f* v);
|
||||
|
|
3
spec
3
spec
|
@ -821,8 +821,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Haka_Trap"
|
||||
include "build/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.o"
|
||||
include "build/data/overlays/actors/z_bg_haka_trap.data.o"
|
||||
include "build/data/overlays/actors/z_bg_haka_trap.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Haka_Trap/ovl_Bg_Haka_Trap_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -23,12 +23,13 @@ void func_808805C0(BgHakaTrap* this, GlobalContext* globalCtx);
|
|||
void func_808806BC(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_808808F4(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_808809B0(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
// void func_808809E4(BgHakaTrap* this, GlobalContext* globalCtx, s16 arg2); most likely correct, but not 100% sure
|
||||
void func_808809E4(BgHakaTrap* this, GlobalContext* globalCtx, s16 arg2);
|
||||
void func_80880AE8(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_80880C0C(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
// func_80880D68
|
||||
void func_80880D68(BgHakaTrap* this);
|
||||
|
||||
static UNK_TYPE D_80880F30 = 0;
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_Trap_InitVars = {
|
||||
ACTOR_BG_HAKA_TRAP,
|
||||
ACTORTYPE_BG,
|
||||
|
@ -40,36 +41,477 @@ const ActorInit Bg_Haka_Trap_InitVars = {
|
|||
(ActorFunc)BgHakaTrap_Update,
|
||||
(ActorFunc)BgHakaTrap_Draw,
|
||||
};
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/BgHakaTrap_Init.s")
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
{ COLTYPE_METAL_SHIELD, 0x11, 0x0D, 0x09, 0x20, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x01, 0x01, 0x01 },
|
||||
{ 30, 90, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
static ColliderTrisItemInit sTrisItemsInit[2] = {
|
||||
{
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00020000, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
|
||||
{ { { 1800.0f, 1200.0f, 0.0f }, { -1800.0f, 1200.0f, 0.0f }, { -1800.0f, 0.0f, 0.0f } } },
|
||||
},
|
||||
{
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00020000, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
|
||||
{ { { 1800.0f, 1200.0f, 0.0f }, { -1800.0f, 0.0f, 0.0f }, { 1800.0f, 0.0f, 0.0f } } },
|
||||
},
|
||||
};
|
||||
|
||||
static ColliderTrisInit sTrisInit = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x20, COLSHAPE_TRIS },
|
||||
2,
|
||||
sTrisItemsInit,
|
||||
};
|
||||
|
||||
static CollisionCheckInfoInit sColChkInfoInit = { 0x00, 0x0050, 0x0064, 0xFF };
|
||||
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
extern UNK_TYPE D_060081D0;
|
||||
extern UNK_TYPE D_06008D10;
|
||||
extern UNK_TYPE D_06009CD0;
|
||||
|
||||
void BgHakaTrap_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static UNK_TYPE D_80881014 = 0;
|
||||
|
||||
BgHakaTrap* this = THIS;
|
||||
s32 pad;
|
||||
s32 sp28 = 0;
|
||||
|
||||
Actor_ProcessInitChain(thisx, sInitChain);
|
||||
thisx->params &= 0xFF;
|
||||
|
||||
if (thisx->params != HAKA_TRAP_PROPELLER) {
|
||||
Collider_InitCylinder(globalCtx, &this->colliderCylinder);
|
||||
Collider_SetCylinder(globalCtx, &this->colliderCylinder, thisx, &sCylinderInit);
|
||||
|
||||
if ((thisx->params == HAKA_TRAP_GUILLOTINE_SLOW) || (thisx->params == HAKA_TRAP_GUILLOTINE_FAST)) {
|
||||
this->timer = 20;
|
||||
this->colliderCylinder.dim.yShift = 10;
|
||||
thisx->velocity.y = 0.1f;
|
||||
|
||||
if (thisx->params == HAKA_TRAP_GUILLOTINE_FAST) {
|
||||
thisx->params = HAKA_TRAP_GUILLOTINE_SLOW;
|
||||
this->unk_16A = 1;
|
||||
}
|
||||
|
||||
this->actionFunc = func_80880484;
|
||||
} else {
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, DPM_PLAYER);
|
||||
thisx->flags |= 0x10;
|
||||
|
||||
if (thisx->params == HAKA_TRAP_SPIKED_BOX) {
|
||||
DynaPolyInfo_Alloc(&D_06009CD0, &sp28);
|
||||
this->timer = 30;
|
||||
|
||||
if (D_80881014 != 0) {
|
||||
this->actionFunc = func_808808F4;
|
||||
D_80881014 = 0;
|
||||
} else {
|
||||
D_80881014 = 1;
|
||||
this->actionFunc = func_808806BC;
|
||||
thisx->velocity.y = 0.5f;
|
||||
}
|
||||
|
||||
thisx->unk_80 = thisx->initPosRot.pos.y - 225.0f;
|
||||
this->unk_16A = (thisx->unk_80 + 50.0f) - 25.0f;
|
||||
|
||||
this->colliderCylinder.dim.radius = 10;
|
||||
this->colliderCylinder.dim.height = 40;
|
||||
} else {
|
||||
if (thisx->params == HAKA_TRAP_SPIKED_WALL) {
|
||||
DynaPolyInfo_Alloc(&D_060081D0, &sp28);
|
||||
thisx->initPosRot.pos.x -= 200.0f;
|
||||
} else {
|
||||
thisx->initPosRot.pos.x += 200.0f;
|
||||
DynaPolyInfo_Alloc(&D_06008D10, &sp28);
|
||||
}
|
||||
|
||||
Collider_InitTris(globalCtx, &this->colliderSpikes);
|
||||
Collider_SetTris(globalCtx, &this->colliderSpikes, thisx, &sTrisInit, &this->colliderSpikesItem);
|
||||
|
||||
this->colliderCylinder.dim.radius = 18;
|
||||
this->colliderCylinder.dim.height = 115;
|
||||
|
||||
this->colliderCylinder.body.toucherFlags = this->colliderCylinder.body.toucherFlags;
|
||||
this->colliderCylinder.body.toucherFlags |= 0x10;
|
||||
|
||||
this->actionFunc = func_808801B8;
|
||||
}
|
||||
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, sp28);
|
||||
}
|
||||
} else {
|
||||
this->timer = 40;
|
||||
this->actionFunc = func_808809B0;
|
||||
thisx->unk_F8 = 500.0f;
|
||||
}
|
||||
|
||||
func_80061ED4(&thisx->colChkInfo, 0, &sColChkInfoInit);
|
||||
}
|
||||
|
||||
void BgHakaTrap_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgHakaTrap* this = THIS;
|
||||
|
||||
if (thisx->params != HAKA_TRAP_PROPELLER) {
|
||||
if (thisx->params != HAKA_TRAP_GUILLOTINE_SLOW) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
if ((thisx->params == HAKA_TRAP_SPIKED_WALL) || (thisx->params == HAKA_TRAP_SPIKED_WALL_2)) {
|
||||
Collider_DestroyTris(globalCtx, &this->colliderSpikes);
|
||||
}
|
||||
}
|
||||
|
||||
Collider_DestroyCylinder(globalCtx, &this->colliderCylinder);
|
||||
}
|
||||
|
||||
func_800F89E8(&this->unk_16C);
|
||||
}
|
||||
|
||||
void func_8087FFC0(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
f32 cosine;
|
||||
Vec3f sp28;
|
||||
f32 sine;
|
||||
f32 zNonNegative;
|
||||
Player* player = PLAYER;
|
||||
|
||||
func_8002DBD0(&this->dyna.actor, &sp28, &player->actor.posRot.pos);
|
||||
|
||||
sine = Math_Sins(this->dyna.actor.shape.rot.y);
|
||||
cosine = Math_Coss(this->dyna.actor.shape.rot.y);
|
||||
if (this->dyna.actor.params == HAKA_TRAP_GUILLOTINE_SLOW) {
|
||||
sp28.x = CLAMP(sp28.x, -50.0f, 50.0f);
|
||||
zNonNegative = (sp28.z >= 0.0f) ? 1.0f : -1.0f;
|
||||
sp28.z = zNonNegative * -15.0f;
|
||||
} else {
|
||||
sp28.x = -CLAMP(sp28.x, -162.0f, 162.0f);
|
||||
zNonNegative = (sp28.z >= 0.0f) ? 1.0f : -1.0f;
|
||||
sp28.z = zNonNegative * 15.0f;
|
||||
}
|
||||
|
||||
this->colliderCylinder.dim.pos.x = this->dyna.actor.posRot.pos.x + sp28.x * cosine + sp28.z * sine;
|
||||
this->colliderCylinder.dim.pos.z = this->dyna.actor.posRot.pos.z + sp28.x * sine + sp28.z * cosine;
|
||||
}
|
||||
|
||||
void func_808801B8(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
static UNK_TYPE D_80881018 = 0;
|
||||
Player* player = PLAYER;
|
||||
|
||||
if ((D_80880F30 == 0) && (func_8008E988(globalCtx) == 0)) {
|
||||
if (!Math_ApproxF(&this->dyna.actor.posRot.pos.x, this->dyna.actor.initPosRot.pos.x, 0.5f)) {
|
||||
func_8002F974(&this->dyna.actor, 0x2058);
|
||||
} else if (this->dyna.actor.params == HAKA_TRAP_SPIKED_WALL) {
|
||||
D_80881018 |= 1;
|
||||
} else if (this->dyna.actor.params == HAKA_TRAP_SPIKED_WALL_2) {
|
||||
D_80881018 |= 2;
|
||||
}
|
||||
}
|
||||
|
||||
func_8087FFC0(this, globalCtx);
|
||||
|
||||
if (this->colliderSpikes.base.acFlags & 2) {
|
||||
this->timer = 20;
|
||||
D_80880F30 = 1;
|
||||
this->actionFunc = func_808802D8;
|
||||
} else if (D_80881018 == 3) {
|
||||
D_80881018 = 4;
|
||||
player->actor.bgCheckFlags |= 0x100;
|
||||
}
|
||||
}
|
||||
|
||||
void func_808802D8(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
static Vec3f D_8088101C = { 0.0f, 0.0f, 0.0f };
|
||||
Vec3f vector;
|
||||
f32 xScale;
|
||||
s32 i;
|
||||
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
func_8002F974(&this->dyna.actor, 0x205B);
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
f32 rand = Math_Rand_ZeroOne();
|
||||
|
||||
xScale = (this->dyna.actor.params == HAKA_TRAP_SPIKED_WALL) ? -30.0f : 30.0f;
|
||||
|
||||
vector.x = xScale * rand + this->dyna.actor.posRot.pos.x;
|
||||
vector.y = Math_Rand_ZeroOne() * 10.0f + this->dyna.actor.posRot.pos.y + 30.0f;
|
||||
vector.z = Math_Rand_CenteredFloat(320.0f) + this->dyna.actor.posRot.pos.z;
|
||||
|
||||
func_8002A6B8(globalCtx, &vector, &D_8088101C, &D_8088101C, 0x82, 0x14, 0xFF, 0xFF, 0x96, 0xAA, 0xFF, 0, 0, 1,
|
||||
9, 0);
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
D_80880F30 = 0;
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80880484(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
s32 sp24;
|
||||
s32 timer;
|
||||
|
||||
if (this->unk_16A) {
|
||||
this->dyna.actor.velocity.y *= 3.0f;
|
||||
} else {
|
||||
this->dyna.actor.velocity.y *= 2.0f;
|
||||
}
|
||||
|
||||
if (this->timer != 0) {
|
||||
this->timer -= 1;
|
||||
}
|
||||
|
||||
sp24 = Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y - 185.0f,
|
||||
this->dyna.actor.velocity.y);
|
||||
timer = this->timer;
|
||||
|
||||
if ((timer == 10 && !this->unk_16A) || (timer == 13 && this->unk_16A)) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_GUILLOTINE_BOUND);
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
this->timer = (this->unk_16A) ? 10 : 40;
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_GUILLOTINE_UP);
|
||||
this->actionFunc = func_808805C0;
|
||||
}
|
||||
|
||||
func_8087FFC0(this, globalCtx);
|
||||
|
||||
if (sp24 == 0) {
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colliderCylinder.base);
|
||||
}
|
||||
}
|
||||
|
||||
void func_808805C0(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
if (this->unk_16A) {
|
||||
Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y, 27.0f);
|
||||
} else {
|
||||
if (this->timer > 20) {
|
||||
Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y - 90.0f, 9.0f);
|
||||
} else {
|
||||
Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y, 4.5f);
|
||||
}
|
||||
|
||||
if (this->timer == 20) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_GUILLOTINE_UP);
|
||||
}
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->timer = 20;
|
||||
this->dyna.actor.posRot.pos.y = this->dyna.actor.initPosRot.pos.y;
|
||||
this->dyna.actor.velocity.y = 0.1f;
|
||||
this->actionFunc = func_80880484;
|
||||
}
|
||||
|
||||
func_8087FFC0(this, globalCtx);
|
||||
}
|
||||
|
||||
void func_808806BC(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
Vec3f vector;
|
||||
f32 tempf20;
|
||||
f32 temp;
|
||||
s32 i;
|
||||
UNK_TYPE sp64;
|
||||
|
||||
this->dyna.actor.velocity.y *= 1.6f;
|
||||
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
vector.x = this->dyna.actor.posRot.pos.x + 90.0f;
|
||||
vector.y = (this->dyna.actor.posRot.pos.y + 1.0f) + 25.0f;
|
||||
vector.z = this->dyna.actor.posRot.pos.z;
|
||||
|
||||
tempf20 = this->dyna.actor.unk_80;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
temp =
|
||||
func_8003C9A4(&globalCtx->colCtx, &this->dyna.actor.floorPoly, &sp64, &this->dyna.actor, &vector) - 25.0f;
|
||||
if (tempf20 < temp) {
|
||||
tempf20 = temp;
|
||||
}
|
||||
|
||||
vector.x -= 90.0f;
|
||||
}
|
||||
|
||||
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, tempf20, this->dyna.actor.velocity.y)) {
|
||||
if (this->dyna.actor.velocity.y > 0.01f) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_TRAP_BOUND);
|
||||
}
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
}
|
||||
|
||||
if (this->dyna.actor.velocity.y >= 0.01f) {
|
||||
func_8002F974(&this->dyna.actor, 0x204D);
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
this->timer = 30;
|
||||
this->unk_16A = (s16)this->dyna.actor.posRot.pos.y + 50.0f;
|
||||
this->unk_16A = CLAMP_MAX(this->unk_16A, this->dyna.actor.initPosRot.pos.y);
|
||||
|
||||
this->actionFunc = func_808808F4;
|
||||
}
|
||||
}
|
||||
|
||||
void func_808808F4(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
if (this->timer > 20) {
|
||||
this->unk_169 = Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->unk_16A, 15.0f);
|
||||
} else {
|
||||
this->unk_169 = Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y, 20.0f);
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->timer = 30;
|
||||
this->dyna.actor.posRot.pos.y = this->dyna.actor.initPosRot.pos.y;
|
||||
this->dyna.actor.velocity.y = 0.5f;
|
||||
this->actionFunc = func_808806BC;
|
||||
}
|
||||
}
|
||||
|
||||
void func_808809B0(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
if (this->timer != 0) {
|
||||
this->timer -= 1;
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->actionFunc = func_80880AE8;
|
||||
}
|
||||
}
|
||||
|
||||
void func_808809E4(BgHakaTrap* this, GlobalContext* globalCtx, s16 arg2) {
|
||||
Player* player = PLAYER;
|
||||
Vec3f sp18;
|
||||
|
||||
func_8002DBD0(&this->dyna.actor, &sp18, &player->actor.posRot.pos);
|
||||
|
||||
if ((fabsf(sp18.x) < 70.0f) && (fabsf(sp18.y) < 100.0f) && (sp18.z < 500.0f) && (PLAYER->currentBoots != 1)) {
|
||||
player->fanWindSpeed = ((500.0f - sp18.z) * 0.06f + 5.0f) * arg2 * (1.0f / 14848.0f) * (2.0f / 3.0f);
|
||||
player->fanWindDirection = this->dyna.actor.shape.rot.y;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80880AE8(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
if (this->timer != 0) {
|
||||
if (Math_ApproxUpdateScaledS(&this->dyna.actor.posRot.rot.z, 0, this->dyna.actor.posRot.rot.z * 0.03f + 5.0f)) {
|
||||
this->timer = 40;
|
||||
this->actionFunc = func_808809B0;
|
||||
}
|
||||
} else {
|
||||
if (Math_ApproxUpdateScaledS(&this->dyna.actor.posRot.rot.z, 0x3A00,
|
||||
this->dyna.actor.posRot.rot.z * 0.03f + 5.0f)) {
|
||||
this->timer = 100;
|
||||
this->actionFunc = func_80880C0C;
|
||||
}
|
||||
}
|
||||
|
||||
this->dyna.actor.shape.rot.z += this->dyna.actor.posRot.rot.z;
|
||||
if (this->dyna.actor.posRot.rot.z >= 0x1801) {
|
||||
func_8002F974(&this->dyna.actor, 0x2057);
|
||||
}
|
||||
|
||||
func_808809E4(this, globalCtx, this->dyna.actor.posRot.rot.z);
|
||||
}
|
||||
|
||||
void func_80880C0C(BgHakaTrap* this, GlobalContext* globalCtx) {
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
func_8002F974(&this->dyna.actor, 0x2057);
|
||||
|
||||
if (this->timer == 0) {
|
||||
this->timer = 1;
|
||||
this->actionFunc = func_80880AE8;
|
||||
}
|
||||
|
||||
this->dyna.actor.shape.rot.z += this->dyna.actor.posRot.rot.z;
|
||||
func_808809E4(this, globalCtx, this->dyna.actor.posRot.rot.z);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/BgHakaTrap_Destroy.s")
|
||||
void BgHakaTrap_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgHakaTrap* this = THIS;
|
||||
Vec3f* actorPos = &thisx->posRot.pos;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_8087FFC0.s")
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_808801B8.s")
|
||||
if ((thisx->params != HAKA_TRAP_PROPELLER) && (thisx->params != HAKA_TRAP_SPIKED_BOX)) {
|
||||
this->colliderCylinder.dim.pos.y = actorPos->y;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_808802D8.s")
|
||||
if ((thisx->params == HAKA_TRAP_GUILLOTINE_SLOW) || (thisx->params == HAKA_TRAP_GUILLOTINE_FAST)) {
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliderCylinder.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderCylinder.base);
|
||||
} else {
|
||||
if (this->actionFunc == func_808801B8) {
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliderSpikes.base);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_80880484.s")
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colliderCylinder.base);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_808805C0.s")
|
||||
void func_80880D68(BgHakaTrap* this) {
|
||||
Vec3f vec3;
|
||||
Vec3f vec2;
|
||||
Vec3f vec1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_808806BC.s")
|
||||
Matrix_MultVec3f(&sTrisItemsInit[0].dim.vtx[0], &vec1);
|
||||
Matrix_MultVec3f(&sTrisItemsInit[0].dim.vtx[1], &vec2);
|
||||
Matrix_MultVec3f(&sTrisItemsInit[0].dim.vtx[2], &vec3);
|
||||
func_800627A0(&this->colliderSpikes, 0, &vec1, &vec2, &vec3);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_808808F4.s")
|
||||
Matrix_MultVec3f(&sTrisItemsInit[1].dim.vtx[2], &vec2);
|
||||
func_800627A0(&this->colliderSpikes, 1, &vec1, &vec3, &vec2);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_808809B0.s")
|
||||
void BgHakaTrap_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static Gfx* sDLists[5] = {
|
||||
0x06007610, 0x06009860, 0x06007EF0, 0x06008A20, 0x060072C0,
|
||||
};
|
||||
static Color_RGBA8 D_8088103C = { 0 };
|
||||
BgHakaTrap* this = THIS;
|
||||
s32 pad;
|
||||
Vec3f sp2C;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_808809E4.s")
|
||||
if (this->actionFunc == func_808802D8) {
|
||||
func_80026230(globalCtx, &D_8088103C, this->timer + 20, 0x28);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_80880AE8.s")
|
||||
Gfx_DrawDListOpa(globalCtx, sDLists[thisx->params]);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_80880C0C.s")
|
||||
if (this->actionFunc == func_808801B8) {
|
||||
func_80880D68(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/BgHakaTrap_Update.s")
|
||||
if (this->actionFunc == func_808802D8) {
|
||||
func_80026608(globalCtx);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/func_80880D68.s")
|
||||
if ((this->actionFunc == func_808808F4) && !this->unk_169) {
|
||||
sp2C.x = thisx->posRot.pos.x;
|
||||
sp2C.z = thisx->posRot.pos.z;
|
||||
sp2C.y = thisx->posRot.pos.y + 110.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/BgHakaTrap_Draw.s")
|
||||
func_800A6EF4(&globalCtx->mf_11D60, &sp2C, &this->unk_16C);
|
||||
func_80078914(&this->unk_16C, 0x200D);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,15 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ HAKA_TRAP_GUILLOTINE_SLOW,
|
||||
/* 0x01 */ HAKA_TRAP_SPIKED_BOX,
|
||||
/* 0x02 */ HAKA_TRAP_SPIKED_WALL,
|
||||
/* 0x03 */ HAKA_TRAP_SPIKED_WALL_2,
|
||||
/* 0x04 */ HAKA_TRAP_PROPELLER,
|
||||
/* 0x05 */ HAKA_TRAP_GUILLOTINE_FAST,
|
||||
} HakaTrapType;
|
||||
|
||||
struct BgHakaTrap;
|
||||
|
||||
typedef void (*BgHakaTrapActionFunc)(struct BgHakaTrap*, GlobalContext*);
|
||||
|
@ -11,7 +20,13 @@ typedef void (*BgHakaTrapActionFunc)(struct BgHakaTrap*, GlobalContext*);
|
|||
typedef struct BgHakaTrap {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgHakaTrapActionFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x134];
|
||||
/* 0x0168 */ u8 timer;
|
||||
/* 0x0169 */ u8 unk_169;
|
||||
/* 0x016A */ s16 unk_16A; // used as boolean for HAKA_TRAP_GUILLOTINE_SLOW/FAST, s16 for HAKA_TRAP_SPIKED_BOX
|
||||
/* 0x016C */ Vec3f unk_16C;
|
||||
/* 0x0178 */ ColliderCylinder colliderCylinder;
|
||||
/* 0x01C4 */ ColliderTris colliderSpikes;
|
||||
/* 0x01E4 */ ColliderTrisItem colliderSpikesItem[2];
|
||||
} BgHakaTrap; // size = 0x029C
|
||||
|
||||
extern const ActorInit Bg_Haka_Trap_InitVars;
|
||||
|
|
|
@ -310,6 +310,11 @@ D_06005334 = 0x06005334;
|
|||
D_06009168 = 0x06009168;
|
||||
D_06000118 = 0x06000118;
|
||||
|
||||
// z_bg_haka_trap
|
||||
D_060081D0 = 0x60081D0;
|
||||
D_06008D10 = 0x6008D10;
|
||||
D_06009CD0 = 0x6009CD0;
|
||||
|
||||
// z_bg_spot01_fusya
|
||||
D_06000100 = 0x06000100;
|
||||
|
||||
|
|
Loading…
Reference in a new issue