1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-04-05 14:24:17 +00:00
* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* could be useful

* whoops

* Many likes alike

* matched

* merge ZAP

* now with names

* merge and small cleanup

* removed commends

* got formatter to behave

* move static array

* fixed variable names

* fixes

* pedantic comments
This commit is contained in:
petrie911 2020-12-02 13:59:45 -06:00 committed by GitHub
parent bf9a1aadd9
commit a7b6323228
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 860 additions and 2650 deletions

View file

@ -1,19 +0,0 @@
glabel EnRr_Destroy
/* 0019C 80AE85DC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001A0 80AE85E0 AFA40018 */ sw $a0, 0x0018($sp)
/* 001A4 80AE85E4 AFA5001C */ sw $a1, 0x001C($sp)
/* 001A8 80AE85E8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 001AC 80AE85EC 8FA50018 */ lw $a1, 0x0018($sp)
/* 001B0 80AE85F0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 001B4 80AE85F4 0C0170EB */ jal Collider_DestroyCylinder
/* 001B8 80AE85F8 24A50150 */ addiu $a1, $a1, 0x0150 ## $a1 = 00000150
/* 001BC 80AE85FC 8FA50018 */ lw $a1, 0x0018($sp)
/* 001C0 80AE8600 8FA4001C */ lw $a0, 0x001C($sp)
/* 001C4 80AE8604 0C0170EB */ jal Collider_DestroyCylinder
/* 001C8 80AE8608 24A5019C */ addiu $a1, $a1, 0x019C ## $a1 = 0000019C
/* 001CC 80AE860C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001D0 80AE8610 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001D4 80AE8614 03E00008 */ jr $ra
/* 001D8 80AE8618 00000000 */ nop

View file

@ -1,302 +0,0 @@
.rdata
glabel D_80AEA838
.asciz "../z_en_rr.c"
.balign 4
glabel D_80AEA848
.asciz "../z_en_rr.c"
.balign 4
glabel D_80AEA858
.asciz "../z_en_rr.c"
.balign 4
glabel D_80AEA868
.asciz "../z_en_rr.c"
.balign 4
.text
glabel EnRr_Draw
/* 01D94 80AEA1D4 27BDFF38 */ addiu $sp, $sp, 0xFF38 ## $sp = FFFFFF38
/* 01D98 80AEA1D8 AFB30054 */ sw $s3, 0x0054($sp)
/* 01D9C 80AEA1DC 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 01DA0 80AEA1E0 AFBF005C */ sw $ra, 0x005C($sp)
/* 01DA4 80AEA1E4 AFB40058 */ sw $s4, 0x0058($sp)
/* 01DA8 80AEA1E8 AFB20050 */ sw $s2, 0x0050($sp)
/* 01DAC 80AEA1EC AFB1004C */ sw $s1, 0x004C($sp)
/* 01DB0 80AEA1F0 AFB00048 */ sw $s0, 0x0048($sp)
/* 01DB4 80AEA1F4 F7B60040 */ sdc1 $f22, 0x0040($sp)
/* 01DB8 80AEA1F8 F7B40038 */ sdc1 $f20, 0x0038($sp)
/* 01DBC 80AEA1FC AFA500CC */ sw $a1, 0x00CC($sp)
/* 01DC0 80AEA200 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 01DC4 80AEA204 0C031A73 */ jal Graph_Alloc
/* 01DC8 80AEA208 24050100 */ addiu $a1, $zero, 0x0100 ## $a1 = 00000100
/* 01DCC 80AEA20C 8FAF00CC */ lw $t7, 0x00CC($sp)
/* 01DD0 80AEA210 3C0680AF */ lui $a2, %hi(D_80AEA838) ## $a2 = 80AF0000
/* 01DD4 80AEA214 0040A025 */ or $s4, $v0, $zero ## $s4 = 00000000
/* 01DD8 80AEA218 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000
/* 01DDC 80AEA21C 24C6A838 */ addiu $a2, $a2, %lo(D_80AEA838) ## $a2 = 80AEA838
/* 01DE0 80AEA220 27A40098 */ addiu $a0, $sp, 0x0098 ## $a0 = FFFFFFD0
/* 01DE4 80AEA224 240705C6 */ addiu $a3, $zero, 0x05C6 ## $a3 = 000005C6
/* 01DE8 80AEA228 0C031AB1 */ jal Graph_OpenDisps
/* 01DEC 80AEA22C AFA500A8 */ sw $a1, 0x00A8($sp)
/* 01DF0 80AEA230 8FB800CC */ lw $t8, 0x00CC($sp)
/* 01DF4 80AEA234 0C024F61 */ jal func_80093D84
/* 01DF8 80AEA238 8F040000 */ lw $a0, 0x0000($t8) ## 00000000
/* 01DFC 80AEA23C 8FA900A8 */ lw $t1, 0x00A8($sp)
/* 01E00 80AEA240 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
/* 01E04 80AEA244 354A0030 */ ori $t2, $t2, 0x0030 ## $t2 = DB060030
/* 01E08 80AEA248 8D2202D0 */ lw $v0, 0x02D0($t1) ## 000002D0
/* 01E0C 80AEA24C 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
/* 01E10 80AEA250 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020
/* 01E14 80AEA254 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 01E18 80AEA258 AD3902D0 */ sw $t9, 0x02D0($t1) ## 000002D0
/* 01E1C 80AEA25C AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 01E20 80AEA260 AC540004 */ sw $s4, 0x0004($v0) ## 00000004
/* 01E24 80AEA264 8D2202D0 */ lw $v0, 0x02D0($t1) ## 000002D0
/* 01E28 80AEA268 3007003F */ andi $a3, $zero, 0x003F ## $a3 = 00000000
/* 01E2C 80AEA26C 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020
/* 01E30 80AEA270 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 01E34 80AEA274 AD2B02D0 */ sw $t3, 0x02D0($t1) ## 000002D0
/* 01E38 80AEA278 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 01E3C 80AEA27C 8FAD00CC */ lw $t5, 0x00CC($sp)
/* 01E40 80AEA280 866301EC */ lh $v1, 0x01EC($s3) ## 000001EC
/* 01E44 80AEA284 240C0010 */ addiu $t4, $zero, 0x0010 ## $t4 = 00000010
/* 01E48 80AEA288 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
/* 01E4C 80AEA28C 00030823 */ subu $at, $zero, $v1
/* 01E50 80AEA290 0001C880 */ sll $t9, $at, 2
/* 01E54 80AEA294 0321C823 */ subu $t9, $t9, $at
/* 01E58 80AEA298 0019C840 */ sll $t9, $t9, 1
/* 01E5C 80AEA29C 332A007F */ andi $t2, $t9, 0x007F ## $t2 = 00000008
/* 01E60 80AEA2A0 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
/* 01E64 80AEA2A4 240F0010 */ addiu $t7, $zero, 0x0010 ## $t7 = 00000010
/* 01E68 80AEA2A8 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 01E6C 80AEA2AC AFB80018 */ sw $t8, 0x0018($sp)
/* 01E70 80AEA2B0 AFAF0014 */ sw $t7, 0x0014($sp)
/* 01E74 80AEA2B4 AFAB0024 */ sw $t3, 0x0024($sp)
/* 01E78 80AEA2B8 AFAA0020 */ sw $t2, 0x0020($sp)
/* 01E7C 80AEA2BC AFAC0028 */ sw $t4, 0x0028($sp)
/* 01E80 80AEA2C0 AFA7001C */ sw $a3, 0x001C($sp)
/* 01E84 80AEA2C4 AFAE0010 */ sw $t6, 0x0010($sp)
/* 01E88 80AEA2C8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01E8C 80AEA2CC 00004025 */ or $t0, $zero, $zero ## $t0 = 00000000
/* 01E90 80AEA2D0 3006007F */ andi $a2, $zero, 0x007F ## $a2 = 00000000
/* 01E94 80AEA2D4 0C0253D0 */ jal Gfx_TwoTexScroll
/* 01E98 80AEA2D8 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 01E9C 80AEA2DC 0C034213 */ jal Matrix_Push
/* 01EA0 80AEA2E0 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 01EA4 80AEA2E4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01EA8 80AEA2E8 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 01EAC 80AEA2EC C6660244 */ lwc1 $f6, 0x0244($s3) ## 00000244
/* 01EB0 80AEA2F0 C664022C */ lwc1 $f4, 0x022C($s3) ## 0000022C
/* 01EB4 80AEA2F4 C6700248 */ lwc1 $f16, 0x0248($s3) ## 00000248
/* 01EB8 80AEA2F8 4606B200 */ add.s $f8, $f22, $f6
/* 01EBC 80AEA2FC C66A0230 */ lwc1 $f10, 0x0230($s3) ## 00000230
/* 01EC0 80AEA300 C6660234 */ lwc1 $f6, 0x0234($s3) ## 00000234
/* 01EC4 80AEA304 4610B480 */ add.s $f18, $f22, $f16
/* 01EC8 80AEA308 46082302 */ mul.s $f12, $f4, $f8
/* 01ECC 80AEA30C C664024C */ lwc1 $f4, 0x024C($s3) ## 0000024C
/* 01ED0 80AEA310 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01ED4 80AEA314 46125382 */ mul.s $f14, $f10, $f18
/* 01ED8 80AEA318 4604B200 */ add.s $f8, $f22, $f4
/* 01EDC 80AEA31C 46083402 */ mul.s $f16, $f6, $f8
/* 01EE0 80AEA320 44068000 */ mfc1 $a2, $f16
/* 01EE4 80AEA324 0C0342A3 */ jal Matrix_Scale
/* 01EE8 80AEA328 00000000 */ nop
/* 01EEC 80AEA32C 8FA300A8 */ lw $v1, 0x00A8($sp)
/* 01EF0 80AEA330 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
/* 01EF4 80AEA334 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
/* 01EF8 80AEA338 8C6202D0 */ lw $v0, 0x02D0($v1) ## 000002D0
/* 01EFC 80AEA33C 3C0580AF */ lui $a1, %hi(D_80AEA848) ## $a1 = 80AF0000
/* 01F00 80AEA340 24A5A848 */ addiu $a1, $a1, %lo(D_80AEA848) ## $a1 = 80AEA848
/* 01F04 80AEA344 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 01F08 80AEA348 AC6D02D0 */ sw $t5, 0x02D0($v1) ## 000002D0
/* 01F0C 80AEA34C AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 01F10 80AEA350 8FAF00CC */ lw $t7, 0x00CC($sp)
/* 01F14 80AEA354 240605DD */ addiu $a2, $zero, 0x05DD ## $a2 = 000005DD
/* 01F18 80AEA358 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 01F1C 80AEA35C 0C0346A2 */ jal Matrix_NewMtx
/* 01F20 80AEA360 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 01F24 80AEA364 0C034221 */ jal Matrix_Pull
/* 01F28 80AEA368 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 01F2C 80AEA36C 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 01F30 80AEA370 2411000C */ addiu $s1, $zero, 0x000C ## $s1 = 0000000C
/* 01F34 80AEA374 26720394 */ addiu $s2, $s3, 0x0394 ## $s2 = 00000394
/* 01F38 80AEA378 26700040 */ addiu $s0, $s3, 0x0040 ## $s0 = 00000040
/* 01F3C 80AEA37C E7B400B8 */ swc1 $f20, 0x00B8($sp)
/* 01F40 80AEA380 E7B400BC */ swc1 $f20, 0x00BC($sp)
/* 01F44 80AEA384 E7B400C0 */ swc1 $f20, 0x00C0($sp)
.L80AEA388:
/* 01F48 80AEA388 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01F4C 80AEA38C 44819000 */ mtc1 $at, $f18 ## $f18 = 1000.00
/* 01F50 80AEA390 C60A0224 */ lwc1 $f10, 0x0224($s0) ## 00000264
/* 01F54 80AEA394 4406A000 */ mfc1 $a2, $f20
/* 01F58 80AEA398 4600A306 */ mov.s $f12, $f20
/* 01F5C 80AEA39C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01F60 80AEA3A0 0C034261 */ jal Matrix_Translate
/* 01F64 80AEA3A4 46125380 */ add.s $f14, $f10, $f18
/* 01F68 80AEA3A8 8604025C */ lh $a0, 0x025C($s0) ## 0000029C
/* 01F6C 80AEA3AC 8605025E */ lh $a1, 0x025E($s0) ## 0000029E
/* 01F70 80AEA3B0 86060260 */ lh $a2, 0x0260($s0) ## 000002A0
/* 01F74 80AEA3B4 0C034421 */ jal Matrix_RotateRPY
/* 01F78 80AEA3B8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01F7C 80AEA3BC 0C034213 */ jal Matrix_Push
/* 01F80 80AEA3C0 00000000 */ nop
/* 01F84 80AEA3C4 C6060244 */ lwc1 $f6, 0x0244($s0) ## 00000284
/* 01F88 80AEA3C8 C604022C */ lwc1 $f4, 0x022C($s0) ## 0000026C
/* 01F8C 80AEA3CC C60A0248 */ lwc1 $f10, 0x0248($s0) ## 00000288
/* 01F90 80AEA3D0 4606B200 */ add.s $f8, $f22, $f6
/* 01F94 80AEA3D4 C6100230 */ lwc1 $f16, 0x0230($s0) ## 00000270
/* 01F98 80AEA3D8 C6060234 */ lwc1 $f6, 0x0234($s0) ## 00000274
/* 01F9C 80AEA3DC 460AB480 */ add.s $f18, $f22, $f10
/* 01FA0 80AEA3E0 46082302 */ mul.s $f12, $f4, $f8
/* 01FA4 80AEA3E4 C604024C */ lwc1 $f4, 0x024C($s0) ## 0000028C
/* 01FA8 80AEA3E8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01FAC 80AEA3EC 46128382 */ mul.s $f14, $f16, $f18
/* 01FB0 80AEA3F0 4604B200 */ add.s $f8, $f22, $f4
/* 01FB4 80AEA3F4 46083282 */ mul.s $f10, $f6, $f8
/* 01FB8 80AEA3F8 44065000 */ mfc1 $a2, $f10
/* 01FBC 80AEA3FC 0C0342A3 */ jal Matrix_Scale
/* 01FC0 80AEA400 00000000 */ nop
/* 01FC4 80AEA404 3C0580AF */ lui $a1, %hi(D_80AEA858) ## $a1 = 80AF0000
/* 01FC8 80AEA408 24A5A858 */ addiu $a1, $a1, %lo(D_80AEA858) ## $a1 = 80AEA858
/* 01FCC 80AEA40C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01FD0 80AEA410 0C034695 */ jal Matrix_ToMtx
/* 01FD4 80AEA414 240605F7 */ addiu $a2, $zero, 0x05F7 ## $a2 = 000005F7
/* 01FD8 80AEA418 0C034221 */ jal Matrix_Pull
/* 01FDC 80AEA41C 00000000 */ nop
/* 01FE0 80AEA420 26940040 */ addiu $s4, $s4, 0x0040 ## $s4 = 00000040
/* 01FE4 80AEA424 27A400B8 */ addiu $a0, $sp, 0x00B8 ## $a0 = FFFFFFF0
/* 01FE8 80AEA428 0C0346BD */ jal Matrix_MultVec3f
/* 01FEC 80AEA42C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000394
/* 01FF0 80AEA430 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 00000018
/* 01FF4 80AEA434 2401003C */ addiu $at, $zero, 0x003C ## $at = 0000003C
/* 01FF8 80AEA438 2652000C */ addiu $s2, $s2, 0x000C ## $s2 = 000003A0
/* 01FFC 80AEA43C 1621FFD2 */ bne $s1, $at, .L80AEA388
/* 02000 80AEA440 26100040 */ addiu $s0, $s0, 0x0040 ## $s0 = 00000080
/* 02004 80AEA444 8E790024 */ lw $t9, 0x0024($s3) ## 00000024
/* 02008 80AEA448 8E780028 */ lw $t8, 0x0028($s3) ## 00000028
/* 0200C 80AEA44C 27A400B8 */ addiu $a0, $sp, 0x00B8 ## $a0 = FFFFFFF0
/* 02010 80AEA450 AE790388 */ sw $t9, 0x0388($s3) ## 00000388
/* 02014 80AEA454 8E79002C */ lw $t9, 0x002C($s3) ## 0000002C
/* 02018 80AEA458 2665037C */ addiu $a1, $s3, 0x037C ## $a1 = 0000037C
/* 0201C 80AEA45C AE78038C */ sw $t8, 0x038C($s3) ## 0000038C
/* 02020 80AEA460 0C0346BD */ jal Matrix_MultVec3f
/* 02024 80AEA464 AE790390 */ sw $t9, 0x0390($s3) ## 00000390
/* 02028 80AEA468 8FAA00A8 */ lw $t2, 0x00A8($sp)
/* 0202C 80AEA46C 3C0D0600 */ lui $t5, 0x0600 ## $t5 = 06000000
/* 02030 80AEA470 25AD0470 */ addiu $t5, $t5, 0x0470 ## $t5 = 06000470
/* 02034 80AEA474 8D4202D0 */ lw $v0, 0x02D0($t2) ## 000002D0
/* 02038 80AEA478 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
/* 0203C 80AEA47C 3C0680AF */ lui $a2, %hi(D_80AEA868) ## $a2 = 80AF0000
/* 02040 80AEA480 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 02044 80AEA484 AD4B02D0 */ sw $t3, 0x02D0($t2) ## 000002D0
/* 02048 80AEA488 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 0204C 80AEA48C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 02050 80AEA490 8FAE00CC */ lw $t6, 0x00CC($sp)
/* 02054 80AEA494 24C6A868 */ addiu $a2, $a2, %lo(D_80AEA868) ## $a2 = 80AEA868
/* 02058 80AEA498 27A40098 */ addiu $a0, $sp, 0x0098 ## $a0 = FFFFFFD0
/* 0205C 80AEA49C 2407060F */ addiu $a3, $zero, 0x060F ## $a3 = 0000060F
/* 02060 80AEA4A0 0C031AD5 */ jal Graph_CloseDisps
/* 02064 80AEA4A4 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
/* 02068 80AEA4A8 866201F2 */ lh $v0, 0x01F2($s3) ## 000001F2
/* 0206C 80AEA4AC 1040004F */ beq $v0, $zero, .L80AEA5EC
/* 02070 80AEA4B0 2450FFFF */ addiu $s0, $v0, 0xFFFF ## $s0 = FFFFFFFF
/* 02074 80AEA4B4 926F0114 */ lbu $t7, 0x0114($s3) ## 00000114
/* 02078 80AEA4B8 00108400 */ sll $s0, $s0, 16
/* 0207C 80AEA4BC 00108403 */ sra $s0, $s0, 16
/* 02080 80AEA4C0 32190001 */ andi $t9, $s0, 0x0001 ## $t9 = 00000001
/* 02084 80AEA4C4 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 02088 80AEA4C8 17200048 */ bne $t9, $zero, .L80AEA5EC
/* 0208C 80AEA4CC A2780114 */ sb $t8, 0x0114($s3) ## 00000114
/* 02090 80AEA4D0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 02094 80AEA4D4 4481A000 */ mtc1 $at, $f20 ## $f20 = 10.00
/* 02098 80AEA4D8 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 0209C 80AEA4DC 4600A306 */ mov.s $f12, $f20
/* 020A0 80AEA4E0 00105883 */ sra $t3, $s0, 2
/* 020A4 80AEA4E4 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004
/* 020A8 80AEA4E8 014B6023 */ subu $t4, $t2, $t3
/* 020AC 80AEA4EC 2402000C */ addiu $v0, $zero, 0x000C ## $v0 = 0000000C
/* 020B0 80AEA4F0 01820019 */ multu $t4, $v0
/* 020B4 80AEA4F4 00107043 */ sra $t6, $s0, 1
/* 020B8 80AEA4F8 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000
/* 020BC 80AEA4FC 3C1980AF */ lui $t9, %hi(D_80AEA6F0) ## $t9 = 80AF0000
/* 020C0 80AEA500 2739A6F0 */ addiu $t9, $t9, %lo(D_80AEA6F0) ## $t9 = 80AEA6F0
/* 020C4 80AEA504 4600A306 */ mov.s $f12, $f20
/* 020C8 80AEA508 00006812 */ mflo $t5
/* 020CC 80AEA50C 026D8821 */ addu $s1, $s3, $t5
/* 020D0 80AEA510 C6300388 */ lwc1 $f16, 0x0388($s1) ## 000003A0
/* 020D4 80AEA514 01E20019 */ multu $t7, $v0
/* 020D8 80AEA518 0000C012 */ mflo $t8
/* 020DC 80AEA51C 03199021 */ addu $s2, $t8, $t9
/* 020E0 80AEA520 C6520000 */ lwc1 $f18, 0x0000($s2) ## 000003A0
/* 020E4 80AEA524 46128100 */ add.s $f4, $f16, $f18
/* 020E8 80AEA528 46040180 */ add.s $f6, $f0, $f4
/* 020EC 80AEA52C 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 020F0 80AEA530 E7A6007C */ swc1 $f6, 0x007C($sp)
/* 020F4 80AEA534 C628038C */ lwc1 $f8, 0x038C($s1) ## 000003A4
/* 020F8 80AEA538 C64A0004 */ lwc1 $f10, 0x0004($s2) ## 000003A4
/* 020FC 80AEA53C 4600A306 */ mov.s $f12, $f20
/* 02100 80AEA540 460A4400 */ add.s $f16, $f8, $f10
/* 02104 80AEA544 46100480 */ add.s $f18, $f0, $f16
/* 02108 80AEA548 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 0210C 80AEA54C E7B20080 */ swc1 $f18, 0x0080($sp)
/* 02110 80AEA550 C6240390 */ lwc1 $f4, 0x0390($s1) ## 000003A8
/* 02114 80AEA554 C6460008 */ lwc1 $f6, 0x0008($s2) ## 000003A8
/* 02118 80AEA558 8FA400CC */ lw $a0, 0x00CC($sp)
/* 0211C 80AEA55C 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 02120 80AEA560 46062200 */ add.s $f8, $f4, $f6
/* 02124 80AEA564 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFB4
/* 02128 80AEA568 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 0212C 80AEA56C 240D0096 */ addiu $t5, $zero, 0x0096 ## $t5 = 00000096
/* 02130 80AEA570 46080280 */ add.s $f10, $f0, $f8
/* 02134 80AEA574 240E0096 */ addiu $t6, $zero, 0x0096 ## $t6 = 00000096
/* 02138 80AEA578 240F00FA */ addiu $t7, $zero, 0x00FA ## $t7 = 000000FA
/* 0213C 80AEA57C 241800EB */ addiu $t8, $zero, 0x00EB ## $t8 = 000000EB
/* 02140 80AEA580 E7AA0084 */ swc1 $f10, 0x0084($sp)
/* 02144 80AEA584 966A0112 */ lhu $t2, 0x0112($s3) ## 00000112
/* 02148 80AEA588 241900F5 */ addiu $t9, $zero, 0x00F5 ## $t9 = 000000F5
/* 0214C 80AEA58C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 02150 80AEA590 314B4000 */ andi $t3, $t2, 0x4000 ## $t3 = 00000000
/* 02154 80AEA594 1160000C */ beq $t3, $zero, .L80AEA5C8
/* 02158 80AEA598 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
/* 0215C 80AEA59C 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
/* 02160 80AEA5A0 AFAC0018 */ sw $t4, 0x0018($sp)
/* 02164 80AEA5A4 8FA400CC */ lw $a0, 0x00CC($sp)
/* 02168 80AEA5A8 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 0216C 80AEA5AC 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFB4
/* 02170 80AEA5B0 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
/* 02174 80AEA5B4 AFA00010 */ sw $zero, 0x0010($sp)
/* 02178 80AEA5B8 0C00A935 */ jal EffectSsEnFire_SpawnVec3f
/* 0217C 80AEA5BC AFA00014 */ sw $zero, 0x0014($sp)
/* 02180 80AEA5C0 1000000B */ beq $zero, $zero, .L80AEA5F0
/* 02184 80AEA5C4 8FBF005C */ lw $ra, 0x005C($sp)
.L80AEA5C8:
/* 02188 80AEA5C8 44818000 */ mtc1 $at, $f16 ## $f16 = 0.00
/* 0218C 80AEA5CC AFAD0010 */ sw $t5, 0x0010($sp)
/* 02190 80AEA5D0 AFAE0014 */ sw $t6, 0x0014($sp)
/* 02194 80AEA5D4 AFAF0018 */ sw $t7, 0x0018($sp)
/* 02198 80AEA5D8 AFB8001C */ sw $t8, 0x001C($sp)
/* 0219C 80AEA5DC AFB90020 */ sw $t9, 0x0020($sp)
/* 021A0 80AEA5E0 AFAA0024 */ sw $t2, 0x0024($sp)
/* 021A4 80AEA5E4 0C00A850 */ jal EffectSsEnIce_SpawnFlyingVec3f
/* 021A8 80AEA5E8 E7B00028 */ swc1 $f16, 0x0028($sp)
.L80AEA5EC:
/* 021AC 80AEA5EC 8FBF005C */ lw $ra, 0x005C($sp)
.L80AEA5F0:
/* 021B0 80AEA5F0 D7B40038 */ ldc1 $f20, 0x0038($sp)
/* 021B4 80AEA5F4 D7B60040 */ ldc1 $f22, 0x0040($sp)
/* 021B8 80AEA5F8 8FB00048 */ lw $s0, 0x0048($sp)
/* 021BC 80AEA5FC 8FB1004C */ lw $s1, 0x004C($sp)
/* 021C0 80AEA600 8FB20050 */ lw $s2, 0x0050($sp)
/* 021C4 80AEA604 8FB30054 */ lw $s3, 0x0054($sp)
/* 021C8 80AEA608 8FB40058 */ lw $s4, 0x0058($sp)
/* 021CC 80AEA60C 03E00008 */ jr $ra
/* 021D0 80AEA610 27BD00C8 */ addiu $sp, $sp, 0x00C8 ## $sp = 00000000
/* 021D4 80AEA614 00000000 */ nop
/* 021D8 80AEA618 00000000 */ nop
/* 021DC 80AEA61C 00000000 */ nop

View file

@ -1,117 +0,0 @@
.late_rodata
glabel D_80AEA878
.float 0.014
glabel D_80AEA87C
.float 0.013
glabel D_80AEA880
.float -0.4
.text
glabel EnRr_Init
/* 00000 80AE8440 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00004 80AE8444 AFB10018 */ sw $s1, 0x0018($sp)
/* 00008 80AE8448 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0000C 80AE844C AFBF001C */ sw $ra, 0x001C($sp)
/* 00010 80AE8450 AFB00014 */ sw $s0, 0x0014($sp)
/* 00014 80AE8454 3C0580AF */ lui $a1, %hi(D_80AEA6D0) ## $a1 = 80AF0000
/* 00018 80AE8458 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0001C 80AE845C 0C01E037 */ jal Actor_ProcessInitChain
/* 00020 80AE8460 24A5A6D0 */ addiu $a1, $a1, %lo(D_80AEA6D0) ## $a1 = 80AEA6D0
/* 00024 80AE8464 3C0E80AF */ lui $t6, %hi(D_80AEA6B0) ## $t6 = 80AF0000
/* 00028 80AE8468 25CEA6B0 */ addiu $t6, $t6, %lo(D_80AEA6B0) ## $t6 = 80AEA6B0
/* 0002C 80AE846C 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
/* 00030 80AE8470 AE0E0098 */ sw $t6, 0x0098($s0) ## 00000098
/* 00034 80AE8474 A20F00AF */ sb $t7, 0x00AF($s0) ## 000000AF
/* 00038 80AE8478 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150
/* 0003C 80AE847C AFA50024 */ sw $a1, 0x0024($sp)
/* 00040 80AE8480 0C0170D9 */ jal Collider_InitCylinder
/* 00044 80AE8484 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00048 80AE8488 3C0780AF */ lui $a3, %hi(D_80AEA658) ## $a3 = 80AF0000
/* 0004C 80AE848C 8FA50024 */ lw $a1, 0x0024($sp)
/* 00050 80AE8490 24E7A658 */ addiu $a3, $a3, %lo(D_80AEA658) ## $a3 = 80AEA658
/* 00054 80AE8494 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00058 80AE8498 0C017114 */ jal Collider_SetCylinder_Set3
/* 0005C 80AE849C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00060 80AE84A0 2605019C */ addiu $a1, $s0, 0x019C ## $a1 = 0000019C
/* 00064 80AE84A4 AFA50024 */ sw $a1, 0x0024($sp)
/* 00068 80AE84A8 0C0170D9 */ jal Collider_InitCylinder
/* 0006C 80AE84AC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00070 80AE84B0 3C0780AF */ lui $a3, %hi(D_80AEA684) ## $a3 = 80AF0000
/* 00074 80AE84B4 8FA50024 */ lw $a1, 0x0024($sp)
/* 00078 80AE84B8 24E7A684 */ addiu $a3, $a3, %lo(D_80AEA684) ## $a3 = 80AEA684
/* 0007C 80AE84BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00080 80AE84C0 0C017114 */ jal Collider_SetCylinder_Set3
/* 00084 80AE84C4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00088 80AE84C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0008C 80AE84CC 0C00B56E */ jal Actor_SetHeight
/* 00090 80AE84D0 3C0541F0 */ lui $a1, 0x41F0 ## $a1 = 41F00000
/* 00094 80AE84D4 3C0180AF */ lui $at, %hi(D_80AEA878) ## $at = 80AF0000
/* 00098 80AE84D8 C422A878 */ lwc1 $f2, %lo(D_80AEA878)($at)
/* 0009C 80AE84DC 3C0180AF */ lui $at, %hi(D_80AEA87C) ## $at = 80AF0000
/* 000A0 80AE84E0 C424A87C */ lwc1 $f4, %lo(D_80AEA87C)($at)
/* 000A4 80AE84E4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 000A8 80AE84E8 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 000AC 80AE84EC A21800AE */ sb $t8, 0x00AE($s0) ## 000000AE
/* 000B0 80AE84F0 3C0180AF */ lui $at, %hi(D_80AEA880) ## $at = 80AF0000
/* 000B4 80AE84F4 E6020050 */ swc1 $f2, 0x0050($s0) ## 00000050
/* 000B8 80AE84F8 E6020058 */ swc1 $f2, 0x0058($s0) ## 00000058
/* 000BC 80AE84FC E6040054 */ swc1 $f4, 0x0054($s0) ## 00000054
/* 000C0 80AE8500 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 000C4 80AE8504 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 000C8 80AE8508 C426A880 */ lwc1 $f6, %lo(D_80AEA880)($at)
/* 000CC 80AE850C 3C0880AF */ lui $t0, %hi(func_80AE95B0) ## $t0 = 80AF0000
/* 000D0 80AE8510 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 000D4 80AE8514 250895B0 */ addiu $t0, $t0, %lo(func_80AE95B0) ## $t0 = 80AE95B0
/* 000D8 80AE8518 00034980 */ sll $t1, $v1, 6
/* 000DC 80AE851C A60001EA */ sh $zero, 0x01EA($s0) ## 000001EA
/* 000E0 80AE8520 A2000372 */ sb $zero, 0x0372($s0) ## 00000372
/* 000E4 80AE8524 A2000373 */ sb $zero, 0x0373($s0) ## 00000373
/* 000E8 80AE8528 A2000375 */ sb $zero, 0x0375($s0) ## 00000375
/* 000EC 80AE852C A60001EE */ sh $zero, 0x01EE($s0) ## 000001EE
/* 000F0 80AE8530 A60001F0 */ sh $zero, 0x01F0($s0) ## 000001F0
/* 000F4 80AE8534 A60001F2 */ sh $zero, 0x01F2($s0) ## 000001F2
/* 000F8 80AE8538 A6000378 */ sh $zero, 0x0378($s0) ## 00000378
/* 000FC 80AE853C A2000376 */ sb $zero, 0x0376($s0) ## 00000376
/* 00100 80AE8540 A60001F4 */ sh $zero, 0x01F4($s0) ## 000001F4
/* 00104 80AE8544 A2000370 */ sb $zero, 0x0370($s0) ## 00000370
/* 00108 80AE8548 A2000371 */ sb $zero, 0x0371($s0) ## 00000371
/* 0010C 80AE854C AE08014C */ sw $t0, 0x014C($s0) ## 0000014C
/* 00110 80AE8550 02091021 */ addu $v0, $s0, $t1
/* 00114 80AE8554 E6000224 */ swc1 $f0, 0x0224($s0) ## 00000224
/* 00118 80AE8558 E6000228 */ swc1 $f0, 0x0228($s0) ## 00000228
/* 0011C 80AE855C E6000244 */ swc1 $f0, 0x0244($s0) ## 00000244
/* 00120 80AE8560 E6000248 */ swc1 $f0, 0x0248($s0) ## 00000248
/* 00124 80AE8564 E600024C */ swc1 $f0, 0x024C($s0) ## 0000024C
/* 00128 80AE8568 E606006C */ swc1 $f6, 0x006C($s0) ## 0000006C
/* 0012C 80AE856C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00130 80AE8570 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00134 80AE8574 E44002E4 */ swc1 $f0, 0x02E4($v0) ## 000002E4
/* 00138 80AE8578 E44002E8 */ swc1 $f0, 0x02E8($v0) ## 000002E8
/* 0013C 80AE857C E4400304 */ swc1 $f0, 0x0304($v0) ## 00000304
/* 00140 80AE8580 E4400308 */ swc1 $f0, 0x0308($v0) ## 00000308
/* 00144 80AE8584 E440030C */ swc1 $f0, 0x030C($v0) ## 0000030C
/* 00148 80AE8588 E44002A4 */ swc1 $f0, 0x02A4($v0) ## 000002A4
/* 0014C 80AE858C E44002A8 */ swc1 $f0, 0x02A8($v0) ## 000002A8
/* 00150 80AE8590 E44002C4 */ swc1 $f0, 0x02C4($v0) ## 000002C4
/* 00154 80AE8594 E44002C8 */ swc1 $f0, 0x02C8($v0) ## 000002C8
/* 00158 80AE8598 E44002CC */ swc1 $f0, 0x02CC($v0) ## 000002CC
/* 0015C 80AE859C E4400264 */ swc1 $f0, 0x0264($v0) ## 00000264
/* 00160 80AE85A0 E4400268 */ swc1 $f0, 0x0268($v0) ## 00000268
/* 00164 80AE85A4 E4400284 */ swc1 $f0, 0x0284($v0) ## 00000284
/* 00168 80AE85A8 E4400288 */ swc1 $f0, 0x0288($v0) ## 00000288
/* 0016C 80AE85AC E440028C */ swc1 $f0, 0x028C($v0) ## 0000028C
/* 00170 80AE85B0 E4400224 */ swc1 $f0, 0x0224($v0) ## 00000224
/* 00174 80AE85B4 E4400228 */ swc1 $f0, 0x0228($v0) ## 00000228
/* 00178 80AE85B8 E4400244 */ swc1 $f0, 0x0244($v0) ## 00000244
/* 0017C 80AE85BC E4400248 */ swc1 $f0, 0x0248($v0) ## 00000248
/* 00180 80AE85C0 0C2BA49B */ jal func_80AE926C
/* 00184 80AE85C4 E440024C */ swc1 $f0, 0x024C($v0) ## 0000024C
/* 00188 80AE85C8 8FBF001C */ lw $ra, 0x001C($sp)
/* 0018C 80AE85CC 8FB00014 */ lw $s0, 0x0014($sp)
/* 00190 80AE85D0 8FB10018 */ lw $s1, 0x0018($sp)
/* 00194 80AE85D4 03E00008 */ jr $ra
/* 00198 80AE85D8 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View file

@ -1,325 +0,0 @@
.rdata
glabel D_80AEA824
.asciz "0"
.balign 4
glabel D_80AEA828
.asciz "../z_en_rr.c"
.balign 4
.late_rodata
glabel D_80AEA934
.float 0.2
.text
glabel EnRr_Update
/* 01944 80AE9D84 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 01948 80AE9D88 AFBF004C */ sw $ra, 0x004C($sp)
/* 0194C 80AE9D8C AFB60048 */ sw $s6, 0x0048($sp)
/* 01950 80AE9D90 AFB50044 */ sw $s5, 0x0044($sp)
/* 01954 80AE9D94 AFB40040 */ sw $s4, 0x0040($sp)
/* 01958 80AE9D98 AFB3003C */ sw $s3, 0x003C($sp)
/* 0195C 80AE9D9C AFB20038 */ sw $s2, 0x0038($sp)
/* 01960 80AE9DA0 AFB10034 */ sw $s1, 0x0034($sp)
/* 01964 80AE9DA4 AFB00030 */ sw $s0, 0x0030($sp)
/* 01968 80AE9DA8 F7B60028 */ sdc1 $f22, 0x0028($sp)
/* 0196C 80AE9DAC F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 01970 80AE9DB0 848E01E8 */ lh $t6, 0x01E8($a0) ## 000001E8
/* 01974 80AE9DB4 90980376 */ lbu $t8, 0x0376($a0) ## 00000376
/* 01978 80AE9DB8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 0197C 80AE9DBC 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 01980 80AE9DC0 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 01984 80AE9DC4 17000004 */ bne $t8, $zero, .L80AE9DD8
/* 01988 80AE9DC8 A48F01E8 */ sh $t7, 0x01E8($a0) ## 000001E8
/* 0198C 80AE9DCC 849901EC */ lh $t9, 0x01EC($a0) ## 000001EC
/* 01990 80AE9DD0 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
/* 01994 80AE9DD4 A48801EC */ sh $t0, 0x01EC($a0) ## 000001EC
.L80AE9DD8:
/* 01998 80AE9DD8 862201EA */ lh $v0, 0x01EA($s1) ## 000001EA
/* 0199C 80AE9DDC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 019A0 80AE9DE0 4481B000 */ mtc1 $at, $f22 ## $f22 = 30.00
/* 019A4 80AE9DE4 10400002 */ beq $v0, $zero, .L80AE9DF0
/* 019A8 80AE9DE8 2449FFFF */ addiu $t1, $v0, 0xFFFF ## $t1 = FFFFFFFF
/* 019AC 80AE9DEC A62901EA */ sh $t1, 0x01EA($s1) ## 000001EA
.L80AE9DF0:
/* 019B0 80AE9DF0 862201EE */ lh $v0, 0x01EE($s1) ## 000001EE
/* 019B4 80AE9DF4 4405B000 */ mfc1 $a1, $f22
/* 019B8 80AE9DF8 10400002 */ beq $v0, $zero, .L80AE9E04
/* 019BC 80AE9DFC 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = FFFFFFFF
/* 019C0 80AE9E00 A62A01EE */ sh $t2, 0x01EE($s1) ## 000001EE
.L80AE9E04:
/* 019C4 80AE9E04 862201F4 */ lh $v0, 0x01F4($s1) ## 000001F4
/* 019C8 80AE9E08 10400002 */ beq $v0, $zero, .L80AE9E14
/* 019CC 80AE9E0C 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF
/* 019D0 80AE9E10 A62B01F4 */ sh $t3, 0x01F4($s1) ## 000001F4
.L80AE9E14:
/* 019D4 80AE9E14 862201F0 */ lh $v0, 0x01F0($s1) ## 000001F0
/* 019D8 80AE9E18 10400002 */ beq $v0, $zero, .L80AE9E24
/* 019DC 80AE9E1C 244CFFFF */ addiu $t4, $v0, 0xFFFF ## $t4 = FFFFFFFF
/* 019E0 80AE9E20 A62C01F0 */ sh $t4, 0x01F0($s1) ## 000001F0
.L80AE9E24:
/* 019E4 80AE9E24 862201F2 */ lh $v0, 0x01F2($s1) ## 000001F2
/* 019E8 80AE9E28 10400002 */ beq $v0, $zero, .L80AE9E34
/* 019EC 80AE9E2C 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = FFFFFFFF
/* 019F0 80AE9E30 A62D01F2 */ sh $t5, 0x01F2($s1) ## 000001F2
.L80AE9E34:
/* 019F4 80AE9E34 0C00B56E */ jal Actor_SetHeight
/* 019F8 80AE9E38 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 019FC 80AE9E3C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01A00 80AE9E40 0C2BA50B */ jal func_80AE942C
/* 01A04 80AE9E44 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
/* 01A08 80AE9E48 922E0371 */ lbu $t6, 0x0371($s1) ## 00000371
/* 01A0C 80AE9E4C 55C0000C */ bnel $t6, $zero, .L80AE9E80
/* 01A10 80AE9E50 8E39014C */ lw $t9, 0x014C($s1) ## 0000014C
/* 01A14 80AE9E54 922F0114 */ lbu $t7, 0x0114($s1) ## 00000114
/* 01A18 80AE9E58 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01A1C 80AE9E5C 11E00005 */ beq $t7, $zero, .L80AE9E74
/* 01A20 80AE9E60 00000000 */ nop
/* 01A24 80AE9E64 96380112 */ lhu $t8, 0x0112($s1) ## 00000112
/* 01A28 80AE9E68 33194000 */ andi $t9, $t8, 0x4000 ## $t9 = 00000000
/* 01A2C 80AE9E6C 57200004 */ bnel $t9, $zero, .L80AE9E80
/* 01A30 80AE9E70 8E39014C */ lw $t9, 0x014C($s1) ## 0000014C
.L80AE9E74:
/* 01A34 80AE9E74 0C2BA3A9 */ jal func_80AE8EA4
/* 01A38 80AE9E78 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
/* 01A3C 80AE9E7C 8E39014C */ lw $t9, 0x014C($s1) ## 0000014C
.L80AE9E80:
/* 01A40 80AE9E80 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01A44 80AE9E84 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
/* 01A48 80AE9E88 0320F809 */ jalr $ra, $t9
/* 01A4C 80AE9E8C 00000000 */ nop
/* 01A50 80AE9E90 86280378 */ lh $t0, 0x0378($s1) ## 00000378
/* 01A54 80AE9E94 24013F80 */ addiu $at, $zero, 0x3F80 ## $at = 00003F80
/* 01A58 80AE9E98 3C0480AF */ lui $a0, %hi(D_80AEA824) ## $a0 = 80AF0000
/* 01A5C 80AE9E9C 15010005 */ bne $t0, $at, .L80AE9EB4
/* 01A60 80AE9EA0 2484A824 */ addiu $a0, $a0, %lo(D_80AEA824) ## $a0 = 80AEA824
/* 01A64 80AE9EA4 3C0580AF */ lui $a1, %hi(D_80AEA828) ## $a1 = 80AF0000
/* 01A68 80AE9EA8 24A5A828 */ addiu $a1, $a1, %lo(D_80AEA828) ## $a1 = 80AEA828
/* 01A6C 80AE9EAC 0C0007FC */ jal __assert
/* 01A70 80AE9EB0 2406054B */ addiu $a2, $zero, 0x054B ## $a2 = 0000054B
.L80AE9EB4:
/* 01A74 80AE9EB4 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 01A78 80AE9EB8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 01A7C 80AE9EBC 26240068 */ addiu $a0, $s1, 0x0068 ## $a0 = 00000068
/* 01A80 80AE9EC0 0C01DE80 */ jal Math_ApproxF
/* 01A84 80AE9EC4 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01A88 80AE9EC8 0C00B638 */ jal Actor_MoveForward
/* 01A8C 80AE9ECC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01A90 80AE9ED0 26330150 */ addiu $s3, $s1, 0x0150 ## $s3 = 00000150
/* 01A94 80AE9ED4 02602825 */ or $a1, $s3, $zero ## $a1 = 00000150
/* 01A98 80AE9ED8 0C0189B7 */ jal Collider_CylinderUpdate
/* 01A9C 80AE9EDC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01AA0 80AE9EE0 C624037C */ lwc1 $f4, 0x037C($s1) ## 0000037C
/* 01AA4 80AE9EE4 C6280380 */ lwc1 $f8, 0x0380($s1) ## 00000380
/* 01AA8 80AE9EE8 C6300384 */ lwc1 $f16, 0x0384($s1) ## 00000384
/* 01AAC 80AE9EEC 4600218D */ trunc.w.s $f6, $f4
/* 01AB0 80AE9EF0 922F0371 */ lbu $t7, 0x0371($s1) ## 00000371
/* 01AB4 80AE9EF4 4600428D */ trunc.w.s $f10, $f8
/* 01AB8 80AE9EF8 440A3000 */ mfc1 $t2, $f6
/* 01ABC 80AE9EFC 4600848D */ trunc.w.s $f18, $f16
/* 01AC0 80AE9F00 440C5000 */ mfc1 $t4, $f10
/* 01AC4 80AE9F04 A62A01E2 */ sh $t2, 0x01E2($s1) ## 000001E2
/* 01AC8 80AE9F08 440E9000 */ mfc1 $t6, $f18
/* 01ACC 80AE9F0C A62C01E4 */ sh $t4, 0x01E4($s1) ## 000001E4
/* 01AD0 80AE9F10 15E0001C */ bne $t7, $zero, .L80AE9F84
/* 01AD4 80AE9F14 A62E01E6 */ sh $t6, 0x01E6($s1) ## 000001E6
/* 01AD8 80AE9F18 863801F0 */ lh $t8, 0x01F0($s1) ## 000001F0
/* 01ADC 80AE9F1C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01AE0 80AE9F20 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01AE4 80AE9F24 17000017 */ bne $t8, $zero, .L80AE9F84
/* 01AE8 80AE9F28 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01AEC 80AE9F2C 02818021 */ addu $s0, $s4, $at
/* 01AF0 80AE9F30 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01AF4 80AE9F34 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01AF8 80AE9F38 02603025 */ or $a2, $s3, $zero ## $a2 = 00000150
/* 01AFC 80AE9F3C 2632019C */ addiu $s2, $s1, 0x019C ## $s2 = 0000019C
/* 01B00 80AE9F40 02403025 */ or $a2, $s2, $zero ## $a2 = 0000019C
/* 01B04 80AE9F44 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01B08 80AE9F48 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01B0C 80AE9F4C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01B10 80AE9F50 863901F4 */ lh $t9, 0x01F4($s1) ## 000001F4
/* 01B14 80AE9F54 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01B18 80AE9F58 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01B1C 80AE9F5C 57200004 */ bnel $t9, $zero, .L80AE9F70
/* 01B20 80AE9F60 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01B24 80AE9F64 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01B28 80AE9F68 02603025 */ or $a2, $s3, $zero ## $a2 = 00000150
/* 01B2C 80AE9F6C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
.L80AE9F70:
/* 01B30 80AE9F70 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01B34 80AE9F74 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01B38 80AE9F78 02403025 */ or $a2, $s2, $zero ## $a2 = 0000019C
/* 01B3C 80AE9F7C 1000000E */ beq $zero, $zero, .L80AE9FB8
/* 01B40 80AE9F80 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
.L80AE9F84:
/* 01B44 80AE9F84 922801AE */ lbu $t0, 0x01AE($s1) ## 000001AE
/* 01B48 80AE9F88 922A01AD */ lbu $t2, 0x01AD($s1) ## 000001AD
/* 01B4C 80AE9F8C 922C0162 */ lbu $t4, 0x0162($s1) ## 00000162
/* 01B50 80AE9F90 922E0161 */ lbu $t6, 0x0161($s1) ## 00000161
/* 01B54 80AE9F94 3109FFFD */ andi $t1, $t0, 0xFFFD ## $t1 = 00000000
/* 01B58 80AE9F98 314BFFFD */ andi $t3, $t2, 0xFFFD ## $t3 = 00000000
/* 01B5C 80AE9F9C 318DFFFD */ andi $t5, $t4, 0xFFFD ## $t5 = 00000000
/* 01B60 80AE9FA0 31CFFFFD */ andi $t7, $t6, 0xFFFD ## $t7 = 00000000
/* 01B64 80AE9FA4 A22901AE */ sb $t1, 0x01AE($s1) ## 000001AE
/* 01B68 80AE9FA8 A22B01AD */ sb $t3, 0x01AD($s1) ## 000001AD
/* 01B6C 80AE9FAC A22D0162 */ sb $t5, 0x0162($s1) ## 00000162
/* 01B70 80AE9FB0 A22F0161 */ sb $t7, 0x0161($s1) ## 00000161
/* 01B74 80AE9FB4 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
.L80AE9FB8:
/* 01B78 80AE9FB8 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
/* 01B7C 80AE9FBC 4407B000 */ mfc1 $a3, $f22
/* 01B80 80AE9FC0 24180007 */ addiu $t8, $zero, 0x0007 ## $t8 = 00000007
/* 01B84 80AE9FC4 4406A000 */ mfc1 $a2, $f20
/* 01B88 80AE9FC8 AFB80014 */ sw $t8, 0x0014($sp)
/* 01B8C 80AE9FCC 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01B90 80AE9FD0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01B94 80AE9FD4 0C00B92D */ jal func_8002E4B4
/* 01B98 80AE9FD8 E7B40010 */ swc1 $f20, 0x0010($sp)
/* 01B9C 80AE9FDC 92390376 */ lbu $t9, 0x0376($s1) ## 00000376
/* 01BA0 80AE9FE0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01BA4 80AE9FE4 57200070 */ bnel $t9, $zero, .L80AEA1A8
/* 01BA8 80AE9FE8 8FBF004C */ lw $ra, 0x004C($sp)
/* 01BAC 80AE9FEC 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 01BB0 80AE9FF0 262401F8 */ addiu $a0, $s1, 0x01F8 ## $a0 = 000001F8
/* 01BB4 80AE9FF4 8E2501FC */ lw $a1, 0x01FC($s1) ## 000001FC
/* 01BB8 80AE9FF8 4406B000 */ mfc1 $a2, $f22
/* 01BBC 80AE9FFC 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01BC0 80AEA000 3C074248 */ lui $a3, 0x4248 ## $a3 = 42480000
/* 01BC4 80AEA004 4406B000 */ mfc1 $a2, $f22
/* 01BC8 80AEA008 26240200 */ addiu $a0, $s1, 0x0200 ## $a0 = 00000200
/* 01BCC 80AEA00C 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
/* 01BD0 80AEA010 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01BD4 80AEA014 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 01BD8 80AEA018 4406B000 */ mfc1 $a2, $f22
/* 01BDC 80AEA01C 3C073D23 */ lui $a3, 0x3D23 ## $a3 = 3D230000
/* 01BE0 80AEA020 34E7D70A */ ori $a3, $a3, 0xD70A ## $a3 = 3D23D70A
/* 01BE4 80AEA024 26240204 */ addiu $a0, $s1, 0x0204 ## $a0 = 00000204
/* 01BE8 80AEA028 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01BEC 80AEA02C 8E250208 */ lw $a1, 0x0208($s1) ## 00000208
/* 01BF0 80AEA030 4406B000 */ mfc1 $a2, $f22
/* 01BF4 80AEA034 3C073C23 */ lui $a3, 0x3C23 ## $a3 = 3C230000
/* 01BF8 80AEA038 34E7D70A */ ori $a3, $a3, 0xD70A ## $a3 = 3C23D70A
/* 01BFC 80AEA03C 2624020C */ addiu $a0, $s1, 0x020C ## $a0 = 0000020C
/* 01C00 80AEA040 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01C04 80AEA044 8E250210 */ lw $a1, 0x0210($s1) ## 00000210
/* 01C08 80AEA048 4406B000 */ mfc1 $a2, $f22
/* 01C0C 80AEA04C 3C073AC4 */ lui $a3, 0x3AC4 ## $a3 = 3AC40000
/* 01C10 80AEA050 34E79BA6 */ ori $a3, $a3, 0x9BA6 ## $a3 = 3AC49BA6
/* 01C14 80AEA054 26240214 */ addiu $a0, $s1, 0x0214 ## $a0 = 00000214
/* 01C18 80AEA058 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01C1C 80AEA05C 8E250218 */ lw $a1, 0x0218($s1) ## 00000218
/* 01C20 80AEA060 4406B000 */ mfc1 $a2, $f22
/* 01C24 80AEA064 4407A000 */ mfc1 $a3, $f20
/* 01C28 80AEA068 2624021C */ addiu $a0, $s1, 0x021C ## $a0 = 0000021C
/* 01C2C 80AEA06C 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01C30 80AEA070 8E250220 */ lw $a1, 0x0220($s1) ## 00000220
/* 01C34 80AEA074 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01C38 80AEA078 4481A000 */ mtc1 $at, $f20 ## $f20 = 1000.00
/* 01C3C 80AEA07C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 01C40 80AEA080 02208025 */ or $s0, $s1, $zero ## $s0 = 00000000
/* 01C44 80AEA084 26330224 */ addiu $s3, $s1, 0x0224 ## $s3 = 00000224
/* 01C48 80AEA088 2634022C */ addiu $s4, $s1, 0x022C ## $s4 = 0000022C
/* 01C4C 80AEA08C 26350260 */ addiu $s5, $s1, 0x0260 ## $s5 = 00000260
/* 01C50 80AEA090 2636025C */ addiu $s6, $s1, 0x025C ## $s6 = 0000025C
.L80AEA094:
/* 01C54 80AEA094 C6280364 */ lwc1 $f8, 0x0364($s1) ## 00000364
/* 01C58 80AEA098 C6040250 */ lwc1 $f4, 0x0250($s0) ## 00000250
/* 01C5C 80AEA09C AFA00010 */ sw $zero, 0x0010($sp)
/* 01C60 80AEA0A0 46144282 */ mul.s $f10, $f8, $f20
/* 01C64 80AEA0A4 4600218D */ trunc.w.s $f6, $f4
/* 01C68 80AEA0A8 02C02025 */ or $a0, $s6, $zero ## $a0 = 0000025C
/* 01C6C 80AEA0AC 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 01C70 80AEA0B0 44053000 */ mfc1 $a1, $f6
/* 01C74 80AEA0B4 4600540D */ trunc.w.s $f16, $f10
/* 01C78 80AEA0B8 00052C00 */ sll $a1, $a1, 16
/* 01C7C 80AEA0BC 00052C03 */ sra $a1, $a1, 16
/* 01C80 80AEA0C0 44078000 */ mfc1 $a3, $f16
/* 01C84 80AEA0C4 00000000 */ nop
/* 01C88 80AEA0C8 00073C00 */ sll $a3, $a3, 16
/* 01C8C 80AEA0CC 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 01C90 80AEA0D0 00073C03 */ sra $a3, $a3, 16
/* 01C94 80AEA0D4 C6260364 */ lwc1 $f6, 0x0364($s1) ## 00000364
/* 01C98 80AEA0D8 C6120258 */ lwc1 $f18, 0x0258($s0) ## 00000258
/* 01C9C 80AEA0DC AFA00010 */ sw $zero, 0x0010($sp)
/* 01CA0 80AEA0E0 46143202 */ mul.s $f8, $f6, $f20
/* 01CA4 80AEA0E4 4600910D */ trunc.w.s $f4, $f18
/* 01CA8 80AEA0E8 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000260
/* 01CAC 80AEA0EC 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 01CB0 80AEA0F0 44052000 */ mfc1 $a1, $f4
/* 01CB4 80AEA0F4 4600428D */ trunc.w.s $f10, $f8
/* 01CB8 80AEA0F8 00052C00 */ sll $a1, $a1, 16
/* 01CBC 80AEA0FC 00052C03 */ sra $a1, $a1, 16
/* 01CC0 80AEA100 44075000 */ mfc1 $a3, $f10
/* 01CC4 80AEA104 00000000 */ nop
/* 01CC8 80AEA108 00073C00 */ sll $a3, $a3, 16
/* 01CCC 80AEA10C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 01CD0 80AEA110 00073C03 */ sra $a3, $a3, 16
/* 01CD4 80AEA114 3C0180AF */ lui $at, %hi(D_80AEA934) ## $at = 80AF0000
/* 01CD8 80AEA118 C432A934 */ lwc1 $f18, %lo(D_80AEA934)($at)
/* 01CDC 80AEA11C C6300364 */ lwc1 $f16, 0x0364($s1) ## 00000364
/* 01CE0 80AEA120 4406B000 */ mfc1 $a2, $f22
/* 01CE4 80AEA124 02802025 */ or $a0, $s4, $zero ## $a0 = 0000022C
/* 01CE8 80AEA128 46128102 */ mul.s $f4, $f16, $f18
/* 01CEC 80AEA12C 8E050238 */ lw $a1, 0x0238($s0) ## 00000238
/* 01CF0 80AEA130 44072000 */ mfc1 $a3, $f4
/* 01CF4 80AEA134 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01CF8 80AEA138 00000000 */ nop
/* 01CFC 80AEA13C C606022C */ lwc1 $f6, 0x022C($s0) ## 0000022C
/* 01D00 80AEA140 3C014396 */ lui $at, 0x4396 ## $at = 43960000
/* 01D04 80AEA144 44815000 */ mtc1 $at, $f10 ## $f10 = 300.00
/* 01D08 80AEA148 E6060234 */ swc1 $f6, 0x0234($s0) ## 00000234
/* 01D0C 80AEA14C C6280364 */ lwc1 $f8, 0x0364($s1) ## 00000364
/* 01D10 80AEA150 4406B000 */ mfc1 $a2, $f22
/* 01D14 80AEA154 02602025 */ or $a0, $s3, $zero ## $a0 = 00000224
/* 01D18 80AEA158 460A4402 */ mul.s $f16, $f8, $f10
/* 01D1C 80AEA15C 8E050228 */ lw $a1, 0x0228($s0) ## 00000228
/* 01D20 80AEA160 44078000 */ mfc1 $a3, $f16
/* 01D24 80AEA164 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01D28 80AEA168 00000000 */ nop
/* 01D2C 80AEA16C 26520040 */ addiu $s2, $s2, 0x0040 ## $s2 = 00000040
/* 01D30 80AEA170 24010140 */ addiu $at, $zero, 0x0140 ## $at = 00000140
/* 01D34 80AEA174 26100040 */ addiu $s0, $s0, 0x0040 ## $s0 = 00000040
/* 01D38 80AEA178 26730040 */ addiu $s3, $s3, 0x0040 ## $s3 = 00000264
/* 01D3C 80AEA17C 26940040 */ addiu $s4, $s4, 0x0040 ## $s4 = 0000026C
/* 01D40 80AEA180 26B50040 */ addiu $s5, $s5, 0x0040 ## $s5 = 000002A0
/* 01D44 80AEA184 1641FFC3 */ bne $s2, $at, .L80AEA094
/* 01D48 80AEA188 26D60040 */ addiu $s6, $s6, 0x0040 ## $s6 = 0000029C
/* 01D4C 80AEA18C 4405B000 */ mfc1 $a1, $f22
/* 01D50 80AEA190 4406B000 */ mfc1 $a2, $f22
/* 01D54 80AEA194 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
/* 01D58 80AEA198 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
/* 01D5C 80AEA19C 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01D60 80AEA1A0 26240364 */ addiu $a0, $s1, 0x0364 ## $a0 = 00000364
/* 01D64 80AEA1A4 8FBF004C */ lw $ra, 0x004C($sp)
.L80AEA1A8:
/* 01D68 80AEA1A8 D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 01D6C 80AEA1AC D7B60028 */ ldc1 $f22, 0x0028($sp)
/* 01D70 80AEA1B0 8FB00030 */ lw $s0, 0x0030($sp)
/* 01D74 80AEA1B4 8FB10034 */ lw $s1, 0x0034($sp)
/* 01D78 80AEA1B8 8FB20038 */ lw $s2, 0x0038($sp)
/* 01D7C 80AEA1BC 8FB3003C */ lw $s3, 0x003C($sp)
/* 01D80 80AEA1C0 8FB40040 */ lw $s4, 0x0040($sp)
/* 01D84 80AEA1C4 8FB50044 */ lw $s5, 0x0044($sp)
/* 01D88 80AEA1C8 8FB60048 */ lw $s6, 0x0048($sp)
/* 01D8C 80AEA1CC 03E00008 */ jr $ra
/* 01D90 80AEA1D0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View file

@ -1,12 +0,0 @@
glabel func_80AE861C
/* 001DC 80AE861C 44856000 */ mtc1 $a1, $f12 ## $f12 = 0.00
/* 001E0 80AE8620 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001E4 80AE8624 AFBF0014 */ sw $ra, 0x0014($sp)
/* 001E8 80AE8628 24053990 */ addiu $a1, $zero, 0x3990 ## $a1 = 00003990
/* 001EC 80AE862C 0C00BE0A */ jal Audio_PlayActorSound2
/* 001F0 80AE8630 E48C0068 */ swc1 $f12, 0x0068($a0) ## 00000068
/* 001F4 80AE8634 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001F8 80AE8638 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001FC 80AE863C 03E00008 */ jr $ra
/* 00200 80AE8640 00000000 */ nop

View file

@ -1,77 +0,0 @@
.late_rodata
glabel D_80AEA884
.float 2500.0
glabel D_80AEA888
.float 0.8
glabel D_80AEA88C
.float 6000.0
.text
glabel func_80AE8644
/* 00204 80AE8644 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00208 80AE8648 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0020C 80AE864C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00210 80AE8650 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014
/* 00214 80AE8654 A08E0370 */ sb $t6, 0x0370($a0) ## 00000370
/* 00218 80AE8658 A48F01EA */ sh $t7, 0x01EA($a0) ## 000001EA
/* 0021C 80AE865C 3C0180AF */ lui $at, %hi(D_80AEA884) ## $at = 80AF0000
/* 00220 80AE8660 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00224 80AE8664 C424A884 */ lwc1 $f4, %lo(D_80AEA884)($at)
/* 00228 80AE8668 3C0180AF */ lui $at, %hi(D_80AEA888) ## $at = 80AF0000
/* 0022C 80AE866C E4820364 */ swc1 $f2, 0x0364($a0) ## 00000364
/* 00230 80AE8670 E48401FC */ swc1 $f4, 0x01FC($a0) ## 000001FC
/* 00234 80AE8674 C420A888 */ lwc1 $f0, %lo(D_80AEA888)($at)
/* 00238 80AE8678 3C0180AF */ lui $at, %hi(D_80AEA88C) ## $at = 80AF0000
/* 0023C 80AE867C C42CA88C */ lwc1 $f12, %lo(D_80AEA88C)($at)
/* 00240 80AE8680 3C0180AF */ lui $at, %hi(D_80AEA6DC) ## $at = 80AF0000
/* 00244 80AE8684 C426A6DC */ lwc1 $f6, %lo(D_80AEA6DC)($at)
/* 00248 80AE8688 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0024C 80AE868C E4820258 */ swc1 $f2, 0x0258($a0) ## 00000258
/* 00250 80AE8690 E4800238 */ swc1 $f0, 0x0238($a0) ## 00000238
/* 00254 80AE8694 E4800240 */ swc1 $f0, 0x0240($a0) ## 00000240
/* 00258 80AE8698 E48C0250 */ swc1 $f12, 0x0250($a0) ## 00000250
/* 0025C 80AE869C E4860228 */ swc1 $f6, 0x0228($a0) ## 00000228
/* 00260 80AE86A0 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
/* 00264 80AE86A4 3C0880AF */ lui $t0, %hi(D_80AEA6DC) ## $t0 = 80AF0000
/* 00268 80AE86A8 2508A6DC */ addiu $t0, $t0, %lo(D_80AEA6DC) ## $t0 = 80AEA6DC
/* 0026C 80AE86AC 0004C880 */ sll $t9, $a0, 2
/* 00270 80AE86B0 03281821 */ addu $v1, $t9, $t0
/* 00274 80AE86B4 0004C180 */ sll $t8, $a0, 6
/* 00278 80AE86B8 C4680000 */ lwc1 $f8, 0x0000($v1) ## 00000000
/* 0027C 80AE86BC 00D81021 */ addu $v0, $a2, $t8
/* 00280 80AE86C0 E4420258 */ swc1 $f2, 0x0258($v0) ## 00000258
/* 00284 80AE86C4 E4400240 */ swc1 $f0, 0x0240($v0) ## 00000240
/* 00288 80AE86C8 E4400238 */ swc1 $f0, 0x0238($v0) ## 00000238
/* 0028C 80AE86CC E44C0250 */ swc1 $f12, 0x0250($v0) ## 00000250
/* 00290 80AE86D0 E4480228 */ swc1 $f8, 0x0228($v0) ## 00000228
/* 00294 80AE86D4 C46A0004 */ lwc1 $f10, 0x0004($v1) ## 00000004
/* 00298 80AE86D8 E4420298 */ swc1 $f2, 0x0298($v0) ## 00000298
/* 0029C 80AE86DC E4400278 */ swc1 $f0, 0x0278($v0) ## 00000278
/* 002A0 80AE86E0 E4400280 */ swc1 $f0, 0x0280($v0) ## 00000280
/* 002A4 80AE86E4 E44C0290 */ swc1 $f12, 0x0290($v0) ## 00000290
/* 002A8 80AE86E8 E44A0268 */ swc1 $f10, 0x0268($v0) ## 00000268
/* 002AC 80AE86EC C4700008 */ lwc1 $f16, 0x0008($v1) ## 00000008
/* 002B0 80AE86F0 E44202D8 */ swc1 $f2, 0x02D8($v0) ## 000002D8
/* 002B4 80AE86F4 E44002B8 */ swc1 $f0, 0x02B8($v0) ## 000002B8
/* 002B8 80AE86F8 E44002C0 */ swc1 $f0, 0x02C0($v0) ## 000002C0
/* 002BC 80AE86FC E44C02D0 */ swc1 $f12, 0x02D0($v0) ## 000002D0
/* 002C0 80AE8700 E45002A8 */ swc1 $f16, 0x02A8($v0) ## 000002A8
/* 002C4 80AE8704 C472000C */ lwc1 $f18, 0x000C($v1) ## 0000000C
/* 002C8 80AE8708 3C0980AF */ lui $t1, %hi(func_80AE9670) ## $t1 = 80AF0000
/* 002CC 80AE870C 25299670 */ addiu $t1, $t1, %lo(func_80AE9670) ## $t1 = 80AE9670
/* 002D0 80AE8710 E4420318 */ swc1 $f2, 0x0318($v0) ## 00000318
/* 002D4 80AE8714 E44002F8 */ swc1 $f0, 0x02F8($v0) ## 000002F8
/* 002D8 80AE8718 E4400300 */ swc1 $f0, 0x0300($v0) ## 00000300
/* 002DC 80AE871C E44C0310 */ swc1 $f12, 0x0310($v0) ## 00000310
/* 002E0 80AE8720 E45202E8 */ swc1 $f18, 0x02E8($v0) ## 000002E8
/* 002E4 80AE8724 ACC9014C */ sw $t1, 0x014C($a2) ## 0000014C
/* 002E8 80AE8728 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 002EC 80AE872C 0C00BE0A */ jal Audio_PlayActorSound2
/* 002F0 80AE8730 24053991 */ addiu $a1, $zero, 0x3991 ## $a1 = 00003991
/* 002F4 80AE8734 8FBF0014 */ lw $ra, 0x0014($sp)
/* 002F8 80AE8738 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 002FC 80AE873C 03E00008 */ jr $ra
/* 00300 80AE8740 00000000 */ nop

View file

@ -1,58 +0,0 @@
.late_rodata
glabel D_80AEA890
.float 2500.0
.text
glabel func_80AE8744
/* 00304 80AE8744 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00308 80AE8748 A0800370 */ sb $zero, 0x0370($a0) ## 00000370
/* 0030C 80AE874C 3C0180AF */ lui $at, %hi(D_80AEA890) ## $at = 80AF0000
/* 00310 80AE8750 E4800364 */ swc1 $f0, 0x0364($a0) ## 00000364
/* 00314 80AE8754 C424A890 */ lwc1 $f4, %lo(D_80AEA890)($at)
/* 00318 80AE8758 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0031C 80AE875C 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 00320 80AE8760 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00324 80AE8764 00027180 */ sll $t6, $v0, 6
/* 00328 80AE8768 008E1821 */ addu $v1, $a0, $t6
/* 0032C 80AE876C E4800250 */ swc1 $f0, 0x0250($a0) ## 00000250
/* 00330 80AE8770 E4800258 */ swc1 $f0, 0x0258($a0) ## 00000258
/* 00334 80AE8774 E4800228 */ swc1 $f0, 0x0228($a0) ## 00000228
/* 00338 80AE8778 E48401FC */ swc1 $f4, 0x01FC($a0) ## 000001FC
/* 0033C 80AE877C E4820240 */ swc1 $f2, 0x0240($a0) ## 00000240
/* 00340 80AE8780 E4820238 */ swc1 $f2, 0x0238($a0) ## 00000238
/* 00344 80AE8784 E4600310 */ swc1 $f0, 0x0310($v1) ## 00000310
/* 00348 80AE8788 E4600318 */ swc1 $f0, 0x0318($v1) ## 00000318
/* 0034C 80AE878C E46002E8 */ swc1 $f0, 0x02E8($v1) ## 000002E8
/* 00350 80AE8790 E46002D0 */ swc1 $f0, 0x02D0($v1) ## 000002D0
/* 00354 80AE8794 E46002D8 */ swc1 $f0, 0x02D8($v1) ## 000002D8
/* 00358 80AE8798 E46002A8 */ swc1 $f0, 0x02A8($v1) ## 000002A8
/* 0035C 80AE879C E4600290 */ swc1 $f0, 0x0290($v1) ## 00000290
/* 00360 80AE87A0 E4600298 */ swc1 $f0, 0x0298($v1) ## 00000298
/* 00364 80AE87A4 E4600268 */ swc1 $f0, 0x0268($v1) ## 00000268
/* 00368 80AE87A8 E4600228 */ swc1 $f0, 0x0228($v1) ## 00000228
/* 0036C 80AE87AC E4600250 */ swc1 $f0, 0x0250($v1) ## 00000250
/* 00370 80AE87B0 E4600258 */ swc1 $f0, 0x0258($v1) ## 00000258
/* 00374 80AE87B4 E46202F8 */ swc1 $f2, 0x02F8($v1) ## 000002F8
/* 00378 80AE87B8 E4620300 */ swc1 $f2, 0x0300($v1) ## 00000300
/* 0037C 80AE87BC E46202B8 */ swc1 $f2, 0x02B8($v1) ## 000002B8
/* 00380 80AE87C0 E46202C0 */ swc1 $f2, 0x02C0($v1) ## 000002C0
/* 00384 80AE87C4 E4620278 */ swc1 $f2, 0x0278($v1) ## 00000278
/* 00388 80AE87C8 E4620280 */ swc1 $f2, 0x0280($v1) ## 00000280
/* 0038C 80AE87CC E4620238 */ swc1 $f2, 0x0238($v1) ## 00000238
/* 00390 80AE87D0 E4620240 */ swc1 $f2, 0x0240($v1) ## 00000240
/* 00394 80AE87D4 908F0375 */ lbu $t7, 0x0375($a0) ## 00000375
/* 00398 80AE87D8 3C0980AF */ lui $t1, %hi(func_80AE95B0) ## $t1 = 80AF0000
/* 0039C 80AE87DC 2408003C */ addiu $t0, $zero, 0x003C ## $t0 = 0000003C
/* 003A0 80AE87E0 11E00007 */ beq $t7, $zero, .L80AE8800
/* 003A4 80AE87E4 252995B0 */ addiu $t1, $t1, %lo(func_80AE95B0) ## $t1 = 80AE95B0
/* 003A8 80AE87E8 3C1980AF */ lui $t9, %hi(func_80AE9C88) ## $t9 = 80AF0000
/* 003AC 80AE87EC 24180064 */ addiu $t8, $zero, 0x0064 ## $t8 = 00000064
/* 003B0 80AE87F0 27399C88 */ addiu $t9, $t9, %lo(func_80AE9C88) ## $t9 = 80AE9C88
/* 003B4 80AE87F4 A49801EA */ sh $t8, 0x01EA($a0) ## 000001EA
/* 003B8 80AE87F8 03E00008 */ jr $ra
/* 003BC 80AE87FC AC99014C */ sw $t9, 0x014C($a0) ## 0000014C
.L80AE8800:
/* 003C0 80AE8800 A48801EA */ sh $t0, 0x01EA($a0) ## 000001EA
/* 003C4 80AE8804 AC89014C */ sw $t1, 0x014C($a0) ## 0000014C
/* 003C8 80AE8808 03E00008 */ jr $ra
/* 003CC 80AE880C 00000000 */ nop

View file

@ -1,76 +0,0 @@
.late_rodata
glabel D_80AEA894
.float 0.15
glabel D_80AEA898
.float 5000.0
.text
glabel func_80AE8810
/* 003D0 80AE8810 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 003D4 80AE8814 AFBF0014 */ sw $ra, 0x0014($sp)
/* 003D8 80AE8818 AFA5001C */ sw $a1, 0x001C($sp)
/* 003DC 80AE881C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 003E0 80AE8820 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
/* 003E4 80AE8824 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 003E8 80AE8828 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 003EC 80AE882C 01E1C024 */ and $t8, $t7, $at
/* 003F0 80AE8830 24190008 */ addiu $t9, $zero, 0x0008 ## $t9 = 00000008
/* 003F4 80AE8834 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 003F8 80AE8838 A48E01EE */ sh $t6, 0x01EE($a0) ## 000001EE
/* 003FC 80AE883C AC980004 */ sw $t8, 0x0004($a0) ## 00000004
/* 00400 80AE8840 A49901F4 */ sh $t9, 0x01F4($a0) ## 000001F4
/* 00404 80AE8844 A4880378 */ sh $t0, 0x0378($a0) ## 00000378
/* 00408 80AE8848 A0800370 */ sb $zero, 0x0370($a0) ## 00000370
/* 0040C 80AE884C 3C0180AF */ lui $at, %hi(D_80AEA894) ## $at = 80AF0000
/* 00410 80AE8850 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 00414 80AE8854 E480036C */ swc1 $f0, 0x036C($a0) ## 0000036C
/* 00418 80AE8858 E4800364 */ swc1 $f0, 0x0364($a0) ## 00000364
/* 0041C 80AE885C C424A894 */ lwc1 $f4, %lo(D_80AEA894)($at)
/* 00420 80AE8860 3C0180AF */ lui $at, %hi(D_80AEA898) ## $at = 80AF0000
/* 00424 80AE8864 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00428 80AE8868 E4840218 */ swc1 $f4, 0x0218($a0) ## 00000218
/* 0042C 80AE886C C426A898 */ lwc1 $f6, %lo(D_80AEA898)($at)
/* 00430 80AE8870 3C014400 */ lui $at, 0x4400 ## $at = 44000000
/* 00434 80AE8874 44814000 */ mtc1 $at, $f8 ## $f8 = 512.00
/* 00438 80AE8878 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0043C 80AE887C 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 00440 80AE8880 00034980 */ sll $t1, $v1, 6
/* 00444 80AE8884 00891021 */ addu $v0, $a0, $t1
/* 00448 80AE8888 E4800250 */ swc1 $f0, 0x0250($a0) ## 00000250
/* 0044C 80AE888C E4800258 */ swc1 $f0, 0x0258($a0) ## 00000258
/* 00450 80AE8890 E4800228 */ swc1 $f0, 0x0228($a0) ## 00000228
/* 00454 80AE8894 E48601FC */ swc1 $f6, 0x01FC($a0) ## 000001FC
/* 00458 80AE8898 E4880220 */ swc1 $f8, 0x0220($a0) ## 00000220
/* 0045C 80AE889C E4820240 */ swc1 $f2, 0x0240($a0) ## 00000240
/* 00460 80AE88A0 E4820238 */ swc1 $f2, 0x0238($a0) ## 00000238
/* 00464 80AE88A4 3C0A80AF */ lui $t2, %hi(func_80AE978C) ## $t2 = 80AF0000
/* 00468 80AE88A8 254A978C */ addiu $t2, $t2, %lo(func_80AE978C) ## $t2 = 80AE978C
/* 0046C 80AE88AC E4400310 */ swc1 $f0, 0x0310($v0) ## 00000310
/* 00470 80AE88B0 E4400318 */ swc1 $f0, 0x0318($v0) ## 00000318
/* 00474 80AE88B4 E44002E8 */ swc1 $f0, 0x02E8($v0) ## 000002E8
/* 00478 80AE88B8 E44002D0 */ swc1 $f0, 0x02D0($v0) ## 000002D0
/* 0047C 80AE88BC E44002D8 */ swc1 $f0, 0x02D8($v0) ## 000002D8
/* 00480 80AE88C0 E44002A8 */ swc1 $f0, 0x02A8($v0) ## 000002A8
/* 00484 80AE88C4 E4400290 */ swc1 $f0, 0x0290($v0) ## 00000290
/* 00488 80AE88C8 E4400298 */ swc1 $f0, 0x0298($v0) ## 00000298
/* 0048C 80AE88CC E4400268 */ swc1 $f0, 0x0268($v0) ## 00000268
/* 00490 80AE88D0 E4400228 */ swc1 $f0, 0x0228($v0) ## 00000228
/* 00494 80AE88D4 E4400250 */ swc1 $f0, 0x0250($v0) ## 00000250
/* 00498 80AE88D8 E4400258 */ swc1 $f0, 0x0258($v0) ## 00000258
/* 0049C 80AE88DC E44202F8 */ swc1 $f2, 0x02F8($v0) ## 000002F8
/* 004A0 80AE88E0 E4420300 */ swc1 $f2, 0x0300($v0) ## 00000300
/* 004A4 80AE88E4 E44202B8 */ swc1 $f2, 0x02B8($v0) ## 000002B8
/* 004A8 80AE88E8 E44202C0 */ swc1 $f2, 0x02C0($v0) ## 000002C0
/* 004AC 80AE88EC E4420278 */ swc1 $f2, 0x0278($v0) ## 00000278
/* 004B0 80AE88F0 E4420280 */ swc1 $f2, 0x0280($v0) ## 00000280
/* 004B4 80AE88F4 E4420238 */ swc1 $f2, 0x0238($v0) ## 00000238
/* 004B8 80AE88F8 E4420240 */ swc1 $f2, 0x0240($v0) ## 00000240
/* 004BC 80AE88FC AC8A014C */ sw $t2, 0x014C($a0) ## 0000014C
/* 004C0 80AE8900 0C00BE0A */ jal Audio_PlayActorSound2
/* 004C4 80AE8904 24053992 */ addiu $a1, $zero, 0x3992 ## $a1 = 00003992
/* 004C8 80AE8908 8FBF0014 */ lw $ra, 0x0014($sp)
/* 004CC 80AE890C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 004D0 80AE8910 03E00008 */ jr $ra
/* 004D4 80AE8914 00000000 */ nop

View file

@ -1,25 +0,0 @@
glabel func_80AE8918
/* 004D8 80AE8918 AFA40000 */ sw $a0, 0x0000($sp)
/* 004DC 80AE891C 308400FF */ andi $a0, $a0, 0x00FF ## $a0 = 00000000
/* 004E0 80AE8920 AFA50004 */ sw $a1, 0x0004($sp)
/* 004E4 80AE8924 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 004E8 80AE8928 30A500FF */ andi $a1, $a1, 0x00FF ## $a1 = 00000000
/* 004EC 80AE892C 10810004 */ beq $a0, $at, .L80AE8940
/* 004F0 80AE8930 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 004F4 80AE8934 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 004F8 80AE8938 54810003 */ bnel $a0, $at, .L80AE8948
/* 004FC 80AE893C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
.L80AE8940:
/* 00500 80AE8940 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00504 80AE8944 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
.L80AE8948:
/* 00508 80AE8948 10A10003 */ beq $a1, $at, .L80AE8958
/* 0050C 80AE894C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00510 80AE8950 14A10003 */ bne $a1, $at, .L80AE8960
/* 00514 80AE8954 00000000 */ nop
.L80AE8958:
/* 00518 80AE8958 34630002 */ ori $v1, $v1, 0x0002 ## $v1 = 00000003
/* 0051C 80AE895C 306300FF */ andi $v1, $v1, 0x00FF ## $v1 = 00000003
.L80AE8960:
/* 00520 80AE8960 03E00008 */ jr $ra
/* 00524 80AE8964 00601025 */ or $v0, $v1, $zero ## $v0 = 00000003

View file

@ -1,178 +0,0 @@
.rdata
glabel D_80AEA720
.asciz " "
.balign 4
glabel D_80AEA72C
.asciz ""
.balign 4
glabel D_80AEA738
.asciz " "
.balign 4
glabel D_80AEA744
.asciz " "
.balign 4
glabel D_80AEA750
.asciz "20 "
.balign 4
glabel D_80AEA75C
.asciz "50 "
.balign 4
glabel D_80AEA768
.asciz "\x1b[33m%s[%d] : Rr_Catch_Cancel\x1b[m\n"
.balign 4
glabel D_80AEA78C
.asciz "../z_en_rr.c"
.balign 4
.late_rodata
glabel D_80AEA89C
.float 2500.0
.text
glabel func_80AE8968
/* 00528 80AE8968 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 0052C 80AE896C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00530 80AE8970 AFB00020 */ sw $s0, 0x0020($sp)
/* 00534 80AE8974 AFA50034 */ sw $a1, 0x0034($sp)
/* 00538 80AE8978 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 0053C 80AE897C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00540 80AE8980 2408006E */ addiu $t0, $zero, 0x006E ## $t0 = 0000006E
/* 00544 80AE8984 AFAF002C */ sw $t7, 0x002C($sp)
/* 00548 80AE8988 8C980004 */ lw $t8, 0x0004($a0) ## 00000004
/* 0054C 80AE898C A4800378 */ sh $zero, 0x0378($a0) ## 00000378
/* 00550 80AE8990 A48801F4 */ sh $t0, 0x01F4($a0) ## 000001F4
/* 00554 80AE8994 37190001 */ ori $t9, $t8, 0x0001 ## $t9 = 00000001
/* 00558 80AE8998 AC990004 */ sw $t9, 0x0004($a0) ## 00000004
/* 0055C 80AE899C 3C0180AF */ lui $at, %hi(D_80AEA89C) ## $at = 80AF0000
/* 00560 80AE89A0 E4840364 */ swc1 $f4, 0x0364($a0) ## 00000364
/* 00564 80AE89A4 C426A89C */ lwc1 $f6, %lo(D_80AEA89C)($at)
/* 00568 80AE89A8 3C014500 */ lui $at, 0x4500 ## $at = 45000000
/* 0056C 80AE89AC 44814000 */ mtc1 $at, $f8 ## $f8 = 2048.00
/* 00570 80AE89B0 E48601FC */ swc1 $f6, 0x01FC($a0) ## 000001FC
/* 00574 80AE89B4 3C098016 */ lui $t1, %hi(gSaveContext+0x70)
/* 00578 80AE89B8 E4880220 */ swc1 $f8, 0x0220($a0) ## 00000220
/* 0057C 80AE89BC 3C0A8012 */ lui $t2, %hi(gEquipMasks+2)
/* 00580 80AE89C0 954A71A2 */ lhu $t2, %lo(gEquipMasks+2)($t2)
/* 00584 80AE89C4 9529E6D0 */ lhu $t1, %lo(gSaveContext+0x70)($t1)
/* 00588 80AE89C8 3C0C8012 */ lui $t4, %hi(gEquipShifts+1)
/* 0058C 80AE89CC 918C71F1 */ lbu $t4, %lo(gEquipShifts+1)($t4)
/* 00590 80AE89D0 012A5824 */ and $t3, $t1, $t2
/* 00594 80AE89D4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00598 80AE89D8 018B6807 */ srav $t5, $t3, $t4
/* 0059C 80AE89DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005A0 80AE89E0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 005A4 80AE89E4 11A1000B */ beq $t5, $at, .L80AE8A14
/* 005A8 80AE89E8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 005AC 80AE89EC 8FA40034 */ lw $a0, 0x0034($sp)
/* 005B0 80AE89F0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 005B4 80AE89F4 0C025E95 */ jal Inventory_DeleteEquipment
/* 005B8 80AE89F8 A3A0002A */ sb $zero, 0x002A($sp)
/* 005BC 80AE89FC 93A6002A */ lbu $a2, 0x002A($sp)
/* 005C0 80AE8A00 10400004 */ beq $v0, $zero, .L80AE8A14
/* 005C4 80AE8A04 304700FF */ andi $a3, $v0, 0x00FF ## $a3 = 00000000
/* 005C8 80AE8A08 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 005CC 80AE8A0C A2020372 */ sb $v0, 0x0372($s0) ## 00000372
/* 005D0 80AE8A10 A20E0375 */ sb $t6, 0x0375($s0) ## 00000375
.L80AE8A14:
/* 005D4 80AE8A14 3C0F8016 */ lui $t7, %hi(gSaveContext+0x70)
/* 005D8 80AE8A18 3C188012 */ lui $t8, %hi(gEquipMasks+4)
/* 005DC 80AE8A1C 971871A4 */ lhu $t8, %lo(gEquipMasks+4)($t8)
/* 005E0 80AE8A20 95EFE6D0 */ lhu $t7, %lo(gSaveContext+0x70)($t7)
/* 005E4 80AE8A24 3C088012 */ lui $t0, %hi(gEquipShifts+2)
/* 005E8 80AE8A28 910871F2 */ lbu $t0, %lo(gEquipShifts+2)($t0)
/* 005EC 80AE8A2C 01F8C824 */ and $t9, $t7, $t8
/* 005F0 80AE8A30 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 005F4 80AE8A34 01194807 */ srav $t1, $t9, $t0
/* 005F8 80AE8A38 1121000A */ beq $t1, $at, .L80AE8A64
/* 005FC 80AE8A3C 8FA40034 */ lw $a0, 0x0034($sp)
/* 00600 80AE8A40 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 00604 80AE8A44 0C025E95 */ jal Inventory_DeleteEquipment
/* 00608 80AE8A48 A3A7002B */ sb $a3, 0x002B($sp)
/* 0060C 80AE8A4C 93A7002B */ lbu $a3, 0x002B($sp)
/* 00610 80AE8A50 10400004 */ beq $v0, $zero, .L80AE8A64
/* 00614 80AE8A54 304600FF */ andi $a2, $v0, 0x00FF ## $a2 = 00000000
/* 00618 80AE8A58 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 0061C 80AE8A5C A2020373 */ sb $v0, 0x0373($s0) ## 00000373
/* 00620 80AE8A60 A20A0375 */ sb $t2, 0x0375($s0) ## 00000375
.L80AE8A64:
/* 00624 80AE8A64 8FAB002C */ lw $t3, 0x002C($sp)
/* 00628 80AE8A68 30E400FF */ andi $a0, $a3, 0x00FF ## $a0 = 00000000
/* 0062C 80AE8A6C 30C500FF */ andi $a1, $a2, 0x00FF ## $a1 = 00000000
/* 00630 80AE8A70 0C2BA246 */ jal func_80AE8918
/* 00634 80AE8A74 AD600118 */ sw $zero, 0x0118($t3) ## 00000118
/* 00638 80AE8A78 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0063C 80AE8A7C 10410009 */ beq $v0, $at, .L80AE8AA4
/* 00640 80AE8A80 8FA40034 */ lw $a0, 0x0034($sp)
/* 00644 80AE8A84 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00648 80AE8A88 1041000B */ beq $v0, $at, .L80AE8AB8
/* 0064C 80AE8A8C 8FA40034 */ lw $a0, 0x0034($sp)
/* 00650 80AE8A90 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00654 80AE8A94 1041000D */ beq $v0, $at, .L80AE8ACC
/* 00658 80AE8A98 8FA40034 */ lw $a0, 0x0034($sp)
/* 0065C 80AE8A9C 1000000E */ beq $zero, $zero, .L80AE8AD8
/* 00660 80AE8AA0 00000000 */ nop
.L80AE8AA4:
/* 00664 80AE8AA4 2405305F */ addiu $a1, $zero, 0x305F ## $a1 = 0000305F
/* 00668 80AE8AA8 0C042DA0 */ jal func_8010B680
/* 0066C 80AE8AAC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00670 80AE8AB0 10000009 */ beq $zero, $zero, .L80AE8AD8
/* 00674 80AE8AB4 00000000 */ nop
.L80AE8AB8:
/* 00678 80AE8AB8 24053060 */ addiu $a1, $zero, 0x3060 ## $a1 = 00003060
/* 0067C 80AE8ABC 0C042DA0 */ jal func_8010B680
/* 00680 80AE8AC0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00684 80AE8AC4 10000004 */ beq $zero, $zero, .L80AE8AD8
/* 00688 80AE8AC8 00000000 */ nop
.L80AE8ACC:
/* 0068C 80AE8ACC 24053061 */ addiu $a1, $zero, 0x3061 ## $a1 = 00003061
/* 00690 80AE8AD0 0C042DA0 */ jal func_8010B680
/* 00694 80AE8AD4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
.L80AE8AD8:
/* 00698 80AE8AD8 3C0480AF */ lui $a0, %hi(D_80AEA768) ## $a0 = 80AF0000
/* 0069C 80AE8ADC 3C0580AF */ lui $a1, %hi(D_80AEA78C) ## $a1 = 80AF0000
/* 006A0 80AE8AE0 24A5A78C */ addiu $a1, $a1, %lo(D_80AEA78C) ## $a1 = 80AEA78C
/* 006A4 80AE8AE4 2484A768 */ addiu $a0, $a0, %lo(D_80AEA768) ## $a0 = 80AEA768
/* 006A8 80AE8AE8 0C00084C */ jal osSyncPrintf
/* 006AC 80AE8AEC 2406028A */ addiu $a2, $zero, 0x028A ## $a2 = 0000028A
/* 006B0 80AE8AF0 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 006B4 80AE8AF4 44815000 */ mtc1 $at, $f10 ## $f10 = 12.00
/* 006B8 80AE8AF8 860700B6 */ lh $a3, 0x00B6($s0) ## 000000B6
/* 006BC 80AE8AFC 240C0008 */ addiu $t4, $zero, 0x0008 ## $t4 = 00000008
/* 006C0 80AE8B00 AFAC0014 */ sw $t4, 0x0014($sp)
/* 006C4 80AE8B04 8FA40034 */ lw $a0, 0x0034($sp)
/* 006C8 80AE8B08 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 006CC 80AE8B0C 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 006D0 80AE8B10 0C00BDB5 */ jal func_8002F6D4
/* 006D4 80AE8B14 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 006D8 80AE8B18 920D0114 */ lbu $t5, 0x0114($s0) ## 00000114
/* 006DC 80AE8B1C 3C0E80AF */ lui $t6, %hi(func_80AE95B0) ## $t6 = 80AF0000
/* 006E0 80AE8B20 25CE95B0 */ addiu $t6, $t6, %lo(func_80AE95B0) ## $t6 = 80AE95B0
/* 006E4 80AE8B24 15A00006 */ bne $t5, $zero, .L80AE8B40
/* 006E8 80AE8B28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006EC 80AE8B2C AE0E014C */ sw $t6, 0x014C($s0) ## 0000014C
/* 006F0 80AE8B30 0C00BE0A */ jal Audio_PlayActorSound2
/* 006F4 80AE8B34 24053994 */ addiu $a1, $zero, 0x3994 ## $a1 = 00003994
/* 006F8 80AE8B38 1000000B */ beq $zero, $zero, .L80AE8B68
/* 006FC 80AE8B3C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE8B40:
/* 00700 80AE8B40 920F00AF */ lbu $t7, 0x00AF($s0) ## 000000AF
/* 00704 80AE8B44 11E00005 */ beq $t7, $zero, .L80AE8B5C
/* 00708 80AE8B48 00000000 */ nop
/* 0070C 80AE8B4C 0C2BA2DE */ jal func_80AE8B78
/* 00710 80AE8B50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00714 80AE8B54 10000004 */ beq $zero, $zero, .L80AE8B68
/* 00718 80AE8B58 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE8B5C:
/* 0071C 80AE8B5C 0C2BA33E */ jal func_80AE8CF8
/* 00720 80AE8B60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00724 80AE8B64 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE8B68:
/* 00728 80AE8B68 8FB00020 */ lw $s0, 0x0020($sp)
/* 0072C 80AE8B6C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00730 80AE8B70 03E00008 */ jr $ra
/* 00734 80AE8B74 00000000 */ nop

View file

@ -1,58 +0,0 @@
.late_rodata
glabel D_80AEA8A0
.float 2500.0
.text
glabel func_80AE8B78
/* 00738 80AE8B78 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0073C 80AE8B7C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00740 80AE8B80 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00744 80AE8B84 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
/* 00748 80AE8B88 A0800370 */ sb $zero, 0x0370($a0) ## 00000370
/* 0074C 80AE8B8C A48E01EA */ sh $t6, 0x01EA($a0) ## 000001EA
/* 00750 80AE8B90 3C0180AF */ lui $at, %hi(D_80AEA8A0) ## $at = 80AF0000
/* 00754 80AE8B94 E4800364 */ swc1 $f0, 0x0364($a0) ## 00000364
/* 00758 80AE8B98 C424A8A0 */ lwc1 $f4, %lo(D_80AEA8A0)($at)
/* 0075C 80AE8B9C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00760 80AE8BA0 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 00764 80AE8BA4 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 00768 80AE8BA8 00037980 */ sll $t7, $v1, 6
/* 0076C 80AE8BAC 008F1021 */ addu $v0, $a0, $t7
/* 00770 80AE8BB0 E4800218 */ swc1 $f0, 0x0218($a0) ## 00000218
/* 00774 80AE8BB4 E4800220 */ swc1 $f0, 0x0220($a0) ## 00000220
/* 00778 80AE8BB8 E4800250 */ swc1 $f0, 0x0250($a0) ## 00000250
/* 0077C 80AE8BBC E4800258 */ swc1 $f0, 0x0258($a0) ## 00000258
/* 00780 80AE8BC0 E4800228 */ swc1 $f0, 0x0228($a0) ## 00000228
/* 00784 80AE8BC4 E48401FC */ swc1 $f4, 0x01FC($a0) ## 000001FC
/* 00788 80AE8BC8 E4820240 */ swc1 $f2, 0x0240($a0) ## 00000240
/* 0078C 80AE8BCC E4820238 */ swc1 $f2, 0x0238($a0) ## 00000238
/* 00790 80AE8BD0 3C1880AF */ lui $t8, %hi(func_80AE9880) ## $t8 = 80AF0000
/* 00794 80AE8BD4 27189880 */ addiu $t8, $t8, %lo(func_80AE9880) ## $t8 = 80AE9880
/* 00798 80AE8BD8 E4400310 */ swc1 $f0, 0x0310($v0) ## 00000310
/* 0079C 80AE8BDC E4400318 */ swc1 $f0, 0x0318($v0) ## 00000318
/* 007A0 80AE8BE0 E44002E8 */ swc1 $f0, 0x02E8($v0) ## 000002E8
/* 007A4 80AE8BE4 E44002D0 */ swc1 $f0, 0x02D0($v0) ## 000002D0
/* 007A8 80AE8BE8 E44002D8 */ swc1 $f0, 0x02D8($v0) ## 000002D8
/* 007AC 80AE8BEC E44002A8 */ swc1 $f0, 0x02A8($v0) ## 000002A8
/* 007B0 80AE8BF0 E4400290 */ swc1 $f0, 0x0290($v0) ## 00000290
/* 007B4 80AE8BF4 E4400298 */ swc1 $f0, 0x0298($v0) ## 00000298
/* 007B8 80AE8BF8 E4400268 */ swc1 $f0, 0x0268($v0) ## 00000268
/* 007BC 80AE8BFC E4400228 */ swc1 $f0, 0x0228($v0) ## 00000228
/* 007C0 80AE8C00 E4400250 */ swc1 $f0, 0x0250($v0) ## 00000250
/* 007C4 80AE8C04 E4400258 */ swc1 $f0, 0x0258($v0) ## 00000258
/* 007C8 80AE8C08 E44202F8 */ swc1 $f2, 0x02F8($v0) ## 000002F8
/* 007CC 80AE8C0C E4420300 */ swc1 $f2, 0x0300($v0) ## 00000300
/* 007D0 80AE8C10 E44202B8 */ swc1 $f2, 0x02B8($v0) ## 000002B8
/* 007D4 80AE8C14 E44202C0 */ swc1 $f2, 0x02C0($v0) ## 000002C0
/* 007D8 80AE8C18 E4420278 */ swc1 $f2, 0x0278($v0) ## 00000278
/* 007DC 80AE8C1C E4420280 */ swc1 $f2, 0x0280($v0) ## 00000280
/* 007E0 80AE8C20 E4420238 */ swc1 $f2, 0x0238($v0) ## 00000238
/* 007E4 80AE8C24 E4420240 */ swc1 $f2, 0x0240($v0) ## 00000240
/* 007E8 80AE8C28 AC98014C */ sw $t8, 0x014C($a0) ## 0000014C
/* 007EC 80AE8C2C 0C00BE0A */ jal Audio_PlayActorSound2
/* 007F0 80AE8C30 24053995 */ addiu $a1, $zero, 0x3995 ## $a1 = 00003995
/* 007F4 80AE8C34 8FBF0014 */ lw $ra, 0x0014($sp)
/* 007F8 80AE8C38 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 007FC 80AE8C3C 03E00008 */ jr $ra
/* 00800 80AE8C40 00000000 */ nop

View file

@ -1,54 +0,0 @@
.late_rodata
glabel D_80AEA8A4
.float 0.15
glabel D_80AEA8A8
.float 2500.0
.text
glabel func_80AE8C44
/* 00804 80AE8C44 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00808 80AE8C48 3C0180AF */ lui $at, %hi(D_80AEA8A4) ## $at = 80AF0000
/* 0080C 80AE8C4C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00810 80AE8C50 E4800364 */ swc1 $f0, 0x0364($a0) ## 00000364
/* 00814 80AE8C54 C424A8A4 */ lwc1 $f4, %lo(D_80AEA8A4)($at)
/* 00818 80AE8C58 3C0180AF */ lui $at, %hi(D_80AEA8A8) ## $at = 80AF0000
/* 0081C 80AE8C5C 00027180 */ sll $t6, $v0, 6
/* 00820 80AE8C60 E4840218 */ swc1 $f4, 0x0218($a0) ## 00000218
/* 00824 80AE8C64 C426A8A8 */ lwc1 $f6, %lo(D_80AEA8A8)($at)
/* 00828 80AE8C68 3C014500 */ lui $at, 0x4500 ## $at = 45000000
/* 0082C 80AE8C6C 44814000 */ mtc1 $at, $f8 ## $f8 = 2048.00
/* 00830 80AE8C70 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00834 80AE8C74 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 00838 80AE8C78 008E1821 */ addu $v1, $a0, $t6
/* 0083C 80AE8C7C E4800250 */ swc1 $f0, 0x0250($a0) ## 00000250
/* 00840 80AE8C80 E4800258 */ swc1 $f0, 0x0258($a0) ## 00000258
/* 00844 80AE8C84 E4800228 */ swc1 $f0, 0x0228($a0) ## 00000228
/* 00848 80AE8C88 E48601FC */ swc1 $f6, 0x01FC($a0) ## 000001FC
/* 0084C 80AE8C8C E4880220 */ swc1 $f8, 0x0220($a0) ## 00000220
/* 00850 80AE8C90 E4820240 */ swc1 $f2, 0x0240($a0) ## 00000240
/* 00854 80AE8C94 E4820238 */ swc1 $f2, 0x0238($a0) ## 00000238
/* 00858 80AE8C98 3C0F80AF */ lui $t7, %hi(func_80AE95B0) ## $t7 = 80AF0000
/* 0085C 80AE8C9C 25EF95B0 */ addiu $t7, $t7, %lo(func_80AE95B0) ## $t7 = 80AE95B0
/* 00860 80AE8CA0 E4600310 */ swc1 $f0, 0x0310($v1) ## 00000310
/* 00864 80AE8CA4 E4600318 */ swc1 $f0, 0x0318($v1) ## 00000318
/* 00868 80AE8CA8 E46002E8 */ swc1 $f0, 0x02E8($v1) ## 000002E8
/* 0086C 80AE8CAC E46002D0 */ swc1 $f0, 0x02D0($v1) ## 000002D0
/* 00870 80AE8CB0 E46002D8 */ swc1 $f0, 0x02D8($v1) ## 000002D8
/* 00874 80AE8CB4 E46002A8 */ swc1 $f0, 0x02A8($v1) ## 000002A8
/* 00878 80AE8CB8 E4600290 */ swc1 $f0, 0x0290($v1) ## 00000290
/* 0087C 80AE8CBC E4600298 */ swc1 $f0, 0x0298($v1) ## 00000298
/* 00880 80AE8CC0 E4600268 */ swc1 $f0, 0x0268($v1) ## 00000268
/* 00884 80AE8CC4 E4600228 */ swc1 $f0, 0x0228($v1) ## 00000228
/* 00888 80AE8CC8 E4600250 */ swc1 $f0, 0x0250($v1) ## 00000250
/* 0088C 80AE8CCC E4600258 */ swc1 $f0, 0x0258($v1) ## 00000258
/* 00890 80AE8CD0 E46202F8 */ swc1 $f2, 0x02F8($v1) ## 000002F8
/* 00894 80AE8CD4 E4620300 */ swc1 $f2, 0x0300($v1) ## 00000300
/* 00898 80AE8CD8 E46202B8 */ swc1 $f2, 0x02B8($v1) ## 000002B8
/* 0089C 80AE8CDC E46202C0 */ swc1 $f2, 0x02C0($v1) ## 000002C0
/* 008A0 80AE8CE0 E4620278 */ swc1 $f2, 0x0278($v1) ## 00000278
/* 008A4 80AE8CE4 E4620280 */ swc1 $f2, 0x0280($v1) ## 00000280
/* 008A8 80AE8CE8 E4620238 */ swc1 $f2, 0x0238($v1) ## 00000238
/* 008AC 80AE8CEC E4620240 */ swc1 $f2, 0x0240($v1) ## 00000240
/* 008B0 80AE8CF0 03E00008 */ jr $ra
/* 008B4 80AE8CF4 AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C

View file

@ -1,43 +0,0 @@
glabel func_80AE8CF8
/* 008B8 80AE8CF8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 008BC 80AE8CFC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 008C0 80AE8D00 AFBF0014 */ sw $ra, 0x0014($sp)
/* 008C4 80AE8D04 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 008C8 80AE8D08 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 008CC 80AE8D0C 00037980 */ sll $t7, $v1, 6
/* 008D0 80AE8D10 A08E0371 */ sb $t6, 0x0371($a0) ## 00000371
/* 008D4 80AE8D14 A48001E8 */ sh $zero, 0x01E8($a0) ## 000001E8
/* 008D8 80AE8D18 008F1021 */ addu $v0, $a0, $t7
/* 008DC 80AE8D1C E4800368 */ swc1 $f0, 0x0368($a0) ## 00000368
/* 008E0 80AE8D20 E4800364 */ swc1 $f0, 0x0364($a0) ## 00000364
/* 008E4 80AE8D24 E4800250 */ swc1 $f0, 0x0250($a0) ## 00000250
/* 008E8 80AE8D28 E4800258 */ swc1 $f0, 0x0258($a0) ## 00000258
/* 008EC 80AE8D2C E4800228 */ swc1 $f0, 0x0228($a0) ## 00000228
/* 008F0 80AE8D30 3C1880AF */ lui $t8, %hi(func_80AE98F8) ## $t8 = 80AF0000
/* 008F4 80AE8D34 271898F8 */ addiu $t8, $t8, %lo(func_80AE98F8) ## $t8 = 80AE98F8
/* 008F8 80AE8D38 E4400310 */ swc1 $f0, 0x0310($v0) ## 00000310
/* 008FC 80AE8D3C E4400318 */ swc1 $f0, 0x0318($v0) ## 00000318
/* 00900 80AE8D40 E44002E8 */ swc1 $f0, 0x02E8($v0) ## 000002E8
/* 00904 80AE8D44 E44002D0 */ swc1 $f0, 0x02D0($v0) ## 000002D0
/* 00908 80AE8D48 E44002D8 */ swc1 $f0, 0x02D8($v0) ## 000002D8
/* 0090C 80AE8D4C E44002A8 */ swc1 $f0, 0x02A8($v0) ## 000002A8
/* 00910 80AE8D50 E4400290 */ swc1 $f0, 0x0290($v0) ## 00000290
/* 00914 80AE8D54 E4400298 */ swc1 $f0, 0x0298($v0) ## 00000298
/* 00918 80AE8D58 E4400268 */ swc1 $f0, 0x0268($v0) ## 00000268
/* 0091C 80AE8D5C E4400228 */ swc1 $f0, 0x0228($v0) ## 00000228
/* 00920 80AE8D60 E4400250 */ swc1 $f0, 0x0250($v0) ## 00000250
/* 00924 80AE8D64 E4400258 */ swc1 $f0, 0x0258($v0) ## 00000258
/* 00928 80AE8D68 AC98014C */ sw $t8, 0x014C($a0) ## 0000014C
/* 0092C 80AE8D6C AFA40018 */ sw $a0, 0x0018($sp)
/* 00930 80AE8D70 0C00BE0A */ jal Audio_PlayActorSound2
/* 00934 80AE8D74 24053996 */ addiu $a1, $zero, 0x3996 ## $a1 = 00003996
/* 00938 80AE8D78 8FA40018 */ lw $a0, 0x0018($sp)
/* 0093C 80AE8D7C 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 00940 80AE8D80 8C990004 */ lw $t9, 0x0004($a0) ## 00000004
/* 00944 80AE8D84 03214024 */ and $t0, $t9, $at
/* 00948 80AE8D88 AC880004 */ sw $t0, 0x0004($a0) ## 00000004
/* 0094C 80AE8D8C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00950 80AE8D90 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00954 80AE8D94 03E00008 */ jr $ra
/* 00958 80AE8D98 00000000 */ nop

View file

@ -1,76 +0,0 @@
.late_rodata
glabel D_80AEA8AC
.float 2500.0
glabel D_80AEA8B0
.float 0.15
.text
glabel func_80AE8D9C
/* 0095C 80AE8D9C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00960 80AE8DA0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00964 80AE8DA4 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 00968 80AE8DA8 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 0096C 80AE8DAC A08E0376 */ sb $t6, 0x0376($a0) ## 00000376
/* 00970 80AE8DB0 A48001F6 */ sh $zero, 0x01F6($a0) ## 000001F6
/* 00974 80AE8DB4 3C0180AF */ lui $at, %hi(D_80AEA8AC) ## $at = 80AF0000
/* 00978 80AE8DB8 E48201F8 */ swc1 $f2, 0x01F8($a0) ## 000001F8
/* 0097C 80AE8DBC C424A8AC */ lwc1 $f4, %lo(D_80AEA8AC)($at)
/* 00980 80AE8DC0 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00984 80AE8DC4 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
/* 00988 80AE8DC8 3C0180AF */ lui $at, %hi(D_80AEA8B0) ## $at = 80AF0000
/* 0098C 80AE8DCC E4820200 */ swc1 $f2, 0x0200($a0) ## 00000200
/* 00990 80AE8DD0 E4820204 */ swc1 $f2, 0x0204($a0) ## 00000204
/* 00994 80AE8DD4 E482020C */ swc1 $f2, 0x020C($a0) ## 0000020C
/* 00998 80AE8DD8 E4820214 */ swc1 $f2, 0x0214($a0) ## 00000214
/* 0099C 80AE8DDC E48C0210 */ swc1 $f12, 0x0210($a0) ## 00000210
/* 009A0 80AE8DE0 E48401FC */ swc1 $f4, 0x01FC($a0) ## 000001FC
/* 009A4 80AE8DE4 E4860208 */ swc1 $f6, 0x0208($a0) ## 00000208
/* 009A8 80AE8DE8 C428A8B0 */ lwc1 $f8, %lo(D_80AEA8B0)($at)
/* 009AC 80AE8DEC 3C014500 */ lui $at, 0x4500 ## $at = 45000000
/* 009B0 80AE8DF0 44815000 */ mtc1 $at, $f10 ## $f10 = 2048.00
/* 009B4 80AE8DF4 46006006 */ mov.s $f0, $f12
/* 009B8 80AE8DF8 E480022C */ swc1 $f0, 0x022C($a0) ## 0000022C
/* 009BC 80AE8DFC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 009C0 80AE8E00 24830040 */ addiu $v1, $a0, 0x0040 ## $v1 = 00000040
/* 009C4 80AE8E04 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 009C8 80AE8E08 E482021C */ swc1 $f2, 0x021C($a0) ## 0000021C
/* 009CC 80AE8E0C E4820258 */ swc1 $f2, 0x0258($a0) ## 00000258
/* 009D0 80AE8E10 E4820254 */ swc1 $f2, 0x0254($a0) ## 00000254
/* 009D4 80AE8E14 E4820250 */ swc1 $f2, 0x0250($a0) ## 00000250
/* 009D8 80AE8E18 E4820248 */ swc1 $f2, 0x0248($a0) ## 00000248
/* 009DC 80AE8E1C E48C0230 */ swc1 $f12, 0x0230($a0) ## 00000230
/* 009E0 80AE8E20 E48C0234 */ swc1 $f12, 0x0234($a0) ## 00000234
/* 009E4 80AE8E24 E48C0238 */ swc1 $f12, 0x0238($a0) ## 00000238
/* 009E8 80AE8E28 E48C023C */ swc1 $f12, 0x023C($a0) ## 0000023C
/* 009EC 80AE8E2C E48C0240 */ swc1 $f12, 0x0240($a0) ## 00000240
/* 009F0 80AE8E30 E4880218 */ swc1 $f8, 0x0218($a0) ## 00000218
/* 009F4 80AE8E34 E48A0220 */ swc1 $f10, 0x0220($a0) ## 00000220
.L80AE8E38:
/* 009F8 80AE8E38 24420002 */ addiu $v0, $v0, 0x0002 ## $v0 = 00000003
/* 009FC 80AE8E3C E4620288 */ swc1 $f2, 0x0288($v1) ## 000002C8
/* 00A00 80AE8E40 E4620290 */ swc1 $f2, 0x0290($v1) ## 000002D0
/* 00A04 80AE8E44 E4620294 */ swc1 $f2, 0x0294($v1) ## 000002D4
/* 00A08 80AE8E48 E4620298 */ swc1 $f2, 0x0298($v1) ## 000002D8
/* 00A0C 80AE8E4C E46C0280 */ swc1 $f12, 0x0280($v1) ## 000002C0
/* 00A10 80AE8E50 E46C027C */ swc1 $f12, 0x027C($v1) ## 000002BC
/* 00A14 80AE8E54 E46C0278 */ swc1 $f12, 0x0278($v1) ## 000002B8
/* 00A18 80AE8E58 E46C0274 */ swc1 $f12, 0x0274($v1) ## 000002B4
/* 00A1C 80AE8E5C E46C0270 */ swc1 $f12, 0x0270($v1) ## 000002B0
/* 00A20 80AE8E60 E460026C */ swc1 $f0, 0x026C($v1) ## 000002AC
/* 00A24 80AE8E64 24630080 */ addiu $v1, $v1, 0x0080 ## $v1 = 000000C0
/* 00A28 80AE8E68 E46201C8 */ swc1 $f2, 0x01C8($v1) ## 00000288
/* 00A2C 80AE8E6C E46201D0 */ swc1 $f2, 0x01D0($v1) ## 00000290
/* 00A30 80AE8E70 E46201D4 */ swc1 $f2, 0x01D4($v1) ## 00000294
/* 00A34 80AE8E74 E46201D8 */ swc1 $f2, 0x01D8($v1) ## 00000298
/* 00A38 80AE8E78 E46C01C0 */ swc1 $f12, 0x01C0($v1) ## 00000280
/* 00A3C 80AE8E7C E46C01BC */ swc1 $f12, 0x01BC($v1) ## 0000027C
/* 00A40 80AE8E80 E46C01B8 */ swc1 $f12, 0x01B8($v1) ## 00000278
/* 00A44 80AE8E84 E46C01B4 */ swc1 $f12, 0x01B4($v1) ## 00000274
/* 00A48 80AE8E88 E46C01B0 */ swc1 $f12, 0x01B0($v1) ## 00000270
/* 00A4C 80AE8E8C 1445FFEA */ bne $v0, $a1, .L80AE8E38
/* 00A50 80AE8E90 E46001AC */ swc1 $f0, 0x01AC($v1) ## 0000026C
/* 00A54 80AE8E94 3C0F80AF */ lui $t7, %hi(func_80AE9D1C) ## $t7 = 80AF0000
/* 00A58 80AE8E98 25EF9D1C */ addiu $t7, $t7, %lo(func_80AE9D1C) ## $t7 = 80AE9D1C
/* 00A5C 80AE8E9C 03E00008 */ jr $ra
/* 00A60 80AE8EA0 AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C

View file

@ -1,306 +0,0 @@
.rdata
glabel D_80AEA79C
.asciz "\x1b[32m(%d)\x1b[m\n"
.balign 4
glabel D_80AEA7B4
.asciz "\x1b[31m( %d : LIFE %d : DAMAGE %d : %x )\x1b[m\n"
.balign 4
glabel D_80AEA7EC
.asciz "\x1b[32m(%d)\x1b[m\n"
.balign 4
.late_rodata
glabel jtbl_80AEA8B4
.word L80AE9170
.word L80AE9094
.word L80AE90DC
.word L80AE912C
.word L80AE91A8
.word L80AE91A8
.word L80AE91A8
.word L80AE91A8
.word L80AE91A8
.word L80AE91A8
.word L80AE8FD4
.word L80AE8FD8
.word L80AE8FE0
.word L80AE8FE8
.word L80AE8FF0
.text
glabel func_80AE8EA4
/* 00A64 80AE8EA4 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00A68 80AE8EA8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00A6C 80AE8EAC AFB00020 */ sw $s0, 0x0020($sp)
/* 00A70 80AE8EB0 AFA5004C */ sw $a1, 0x004C($sp)
/* 00A74 80AE8EB4 908201AD */ lbu $v0, 0x01AD($a0) ## 000001AD
/* 00A78 80AE8EB8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A7C 80AE8EBC 8CA71C44 */ lw $a3, 0x1C44($a1) ## 00001C44
/* 00A80 80AE8EC0 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000
/* 00A84 80AE8EC4 11E0001A */ beq $t7, $zero, .L80AE8F30
/* 00A88 80AE8EC8 3058FFFD */ andi $t8, $v0, 0xFFFD ## $t8 = 00000000
/* 00A8C 80AE8ECC A09801AD */ sb $t8, 0x01AD($a0) ## 000001AD
/* 00A90 80AE8ED0 3C0480AF */ lui $a0, %hi(D_80AEA79C) ## $a0 = 80AF0000
/* 00A94 80AE8ED4 2484A79C */ addiu $a0, $a0, %lo(D_80AEA79C) ## $a0 = 80AEA79C
/* 00A98 80AE8ED8 0C00084C */ jal osSyncPrintf
/* 00A9C 80AE8EDC 860501E8 */ lh $a1, 0x01E8($s0) ## 000001E8
/* 00AA0 80AE8EE0 861901C2 */ lh $t9, 0x01C2($s0) ## 000001C2
/* 00AA4 80AE8EE4 8FA4004C */ lw $a0, 0x004C($sp)
/* 00AA8 80AE8EE8 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFF4
/* 00AAC 80AE8EEC 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
/* 00AB0 80AE8EF0 00000000 */ nop
/* 00AB4 80AE8EF4 468021A0 */ cvt.s.w $f6, $f4
/* 00AB8 80AE8EF8 E7A6003C */ swc1 $f6, 0x003C($sp)
/* 00ABC 80AE8EFC 860801C4 */ lh $t0, 0x01C4($s0) ## 000001C4
/* 00AC0 80AE8F00 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
/* 00AC4 80AE8F04 00000000 */ nop
/* 00AC8 80AE8F08 468042A0 */ cvt.s.w $f10, $f8
/* 00ACC 80AE8F0C E7AA0040 */ swc1 $f10, 0x0040($sp)
/* 00AD0 80AE8F10 860901C6 */ lh $t1, 0x01C6($s0) ## 000001C6
/* 00AD4 80AE8F14 44898000 */ mtc1 $t1, $f16 ## $f16 = 0.00
/* 00AD8 80AE8F18 00000000 */ nop
/* 00ADC 80AE8F1C 468084A0 */ cvt.s.w $f18, $f16
/* 00AE0 80AE8F20 0C018B7D */ jal func_80062DF4
/* 00AE4 80AE8F24 E7B20044 */ swc1 $f18, 0x0044($sp)
/* 00AE8 80AE8F28 100000CC */ beq $zero, $zero, .L80AE925C
/* 00AEC 80AE8F2C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE8F30:
/* 00AF0 80AE8F30 92040161 */ lbu $a0, 0x0161($s0) ## 00000161
/* 00AF4 80AE8F34 308A0002 */ andi $t2, $a0, 0x0002 ## $t2 = 00000000
/* 00AF8 80AE8F38 5140009C */ beql $t2, $zero, .L80AE91AC
/* 00AFC 80AE8F3C 860B01F4 */ lh $t3, 0x01F4($s0) ## 000001F4
/* 00B00 80AE8F40 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
/* 00B04 80AE8F44 308BFFFD */ andi $t3, $a0, 0xFFFD ## $t3 = 00000000
/* 00B08 80AE8F48 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 00B0C 80AE8F4C 10400018 */ beq $v0, $zero, .L80AE8FB0
/* 00B10 80AE8F50 A20B0161 */ sb $t3, 0x0161($s0) ## 00000161
/* 00B14 80AE8F54 860C0176 */ lh $t4, 0x0176($s0) ## 00000176
/* 00B18 80AE8F58 8FA4004C */ lw $a0, 0x004C($sp)
/* 00B1C 80AE8F5C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00B20 80AE8F60 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
/* 00B24 80AE8F64 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFF4
/* 00B28 80AE8F68 468021A0 */ cvt.s.w $f6, $f4
/* 00B2C 80AE8F6C E7A6003C */ swc1 $f6, 0x003C($sp)
/* 00B30 80AE8F70 860D0178 */ lh $t5, 0x0178($s0) ## 00000178
/* 00B34 80AE8F74 448D4000 */ mtc1 $t5, $f8 ## $f8 = 0.00
/* 00B38 80AE8F78 00000000 */ nop
/* 00B3C 80AE8F7C 468042A0 */ cvt.s.w $f10, $f8
/* 00B40 80AE8F80 E7AA0040 */ swc1 $f10, 0x0040($sp)
/* 00B44 80AE8F84 860E017A */ lh $t6, 0x017A($s0) ## 0000017A
/* 00B48 80AE8F88 AFA70038 */ sw $a3, 0x0038($sp)
/* 00B4C 80AE8F8C A3A00037 */ sb $zero, 0x0037($sp)
/* 00B50 80AE8F90 448E8000 */ mtc1 $t6, $f16 ## $f16 = 0.00
/* 00B54 80AE8F94 00000000 */ nop
/* 00B58 80AE8F98 468084A0 */ cvt.s.w $f18, $f16
/* 00B5C 80AE8F9C 0C0177EB */ jal func_8005DFAC
/* 00B60 80AE8FA0 E7B20044 */ swc1 $f18, 0x0044($sp)
/* 00B64 80AE8FA4 93A30037 */ lbu $v1, 0x0037($sp)
/* 00B68 80AE8FA8 8FA70038 */ lw $a3, 0x0038($sp)
/* 00B6C 80AE8FAC 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
.L80AE8FB0:
/* 00B70 80AE8FB0 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 00B74 80AE8FB4 2DE1000F */ sltiu $at, $t7, 0x000F
/* 00B78 80AE8FB8 1020007B */ beq $at, $zero, .L80AE91A8
/* 00B7C 80AE8FBC 000F7880 */ sll $t7, $t7, 2
/* 00B80 80AE8FC0 3C0180AF */ lui $at, %hi(jtbl_80AEA8B4) ## $at = 80AF0000
/* 00B84 80AE8FC4 002F0821 */ addu $at, $at, $t7
/* 00B88 80AE8FC8 8C2FA8B4 */ lw $t7, %lo(jtbl_80AEA8B4)($at)
/* 00B8C 80AE8FCC 01E00008 */ jr $t7
/* 00B90 80AE8FD0 00000000 */ nop
glabel L80AE8FD4
/* 00B94 80AE8FD4 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
glabel L80AE8FD8
/* 00B98 80AE8FD8 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000002
/* 00B9C 80AE8FDC 306300FF */ andi $v1, $v1, 0x00FF ## $v1 = 00000002
glabel L80AE8FE0
/* 00BA0 80AE8FE0 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000003
/* 00BA4 80AE8FE4 306300FF */ andi $v1, $v1, 0x00FF ## $v1 = 00000003
glabel L80AE8FE8
/* 00BA8 80AE8FE8 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000004
/* 00BAC 80AE8FEC 306300FF */ andi $v1, $v1, 0x00FF ## $v1 = 00000004
glabel L80AE8FF0
/* 00BB0 80AE8FF0 3C0480AF */ lui $a0, %hi(D_80AEA7B4) ## $a0 = 80AF0000
/* 00BB4 80AE8FF4 860501E8 */ lh $a1, 0x01E8($s0) ## 000001E8
/* 00BB8 80AE8FF8 920600AF */ lbu $a2, 0x00AF($s0) ## 000000AF
/* 00BBC 80AE8FFC 920700B0 */ lbu $a3, 0x00B0($s0) ## 000000B0
/* 00BC0 80AE9000 A3A30037 */ sb $v1, 0x0037($sp)
/* 00BC4 80AE9004 AFA20010 */ sw $v0, 0x0010($sp)
/* 00BC8 80AE9008 0C00084C */ jal osSyncPrintf
/* 00BCC 80AE900C 2484A7B4 */ addiu $a0, $a0, %lo(D_80AEA7B4) ## $a0 = 80AEA7B4
/* 00BD0 80AE9010 A2000376 */ sb $zero, 0x0376($s0) ## 00000376
/* 00BD4 80AE9014 0C00D58A */ jal Actor_ApplyDamage
/* 00BD8 80AE9018 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BDC 80AE901C 24180028 */ addiu $t8, $zero, 0x0028 ## $t8 = 00000028
/* 00BE0 80AE9020 A61801F0 */ sh $t8, 0x01F0($s0) ## 000001F0
/* 00BE4 80AE9024 861901F0 */ lh $t9, 0x01F0($s0) ## 000001F0
/* 00BE8 80AE9028 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BEC 80AE902C 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 00BF0 80AE9030 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00BF4 80AE9034 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 00BF8 80AE9038 0C00D09B */ jal func_8003426C
/* 00BFC 80AE903C AFB90010 */ sw $t9, 0x0010($sp)
/* 00C00 80AE9040 86080378 */ lh $t0, 0x0378($s0) ## 00000378
/* 00C04 80AE9044 93A30037 */ lbu $v1, 0x0037($sp)
/* 00C08 80AE9048 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C0C 80AE904C 51000006 */ beql $t0, $zero, .L80AE9068
/* 00C10 80AE9050 920900AF */ lbu $t1, 0x00AF($s0) ## 000000AF
/* 00C14 80AE9054 0C2BA25A */ jal func_80AE8968
/* 00C18 80AE9058 8FA5004C */ lw $a1, 0x004C($sp)
/* 00C1C 80AE905C 1000007F */ beq $zero, $zero, .L80AE925C
/* 00C20 80AE9060 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00C24 80AE9064 920900AF */ lbu $t1, 0x00AF($s0) ## 000000AF
.L80AE9068:
/* 00C28 80AE9068 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C2C 80AE906C 11200005 */ beq $t1, $zero, .L80AE9084
/* 00C30 80AE9070 00000000 */ nop
/* 00C34 80AE9074 0C2BA2DE */ jal func_80AE8B78
/* 00C38 80AE9078 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C3C 80AE907C 10000077 */ beq $zero, $zero, .L80AE925C
/* 00C40 80AE9080 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE9084:
/* 00C44 80AE9084 0C2BA33E */ jal func_80AE8CF8
/* 00C48 80AE9088 A2030374 */ sb $v1, 0x0374($s0) ## 00000374
/* 00C4C 80AE908C 10000073 */ beq $zero, $zero, .L80AE925C
/* 00C50 80AE9090 8FBF0024 */ lw $ra, 0x0024($sp)
glabel L80AE9094
/* 00C54 80AE9094 0C00D58A */ jal Actor_ApplyDamage
/* 00C58 80AE9098 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C5C 80AE909C 920A00AF */ lbu $t2, 0x00AF($s0) ## 000000AF
/* 00C60 80AE90A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C64 80AE90A4 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 00C68 80AE90A8 15400002 */ bne $t2, $zero, .L80AE90B4
/* 00C6C 80AE90AC 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00C70 80AE90B0 A2000374 */ sb $zero, 0x0374($s0) ## 00000374
.L80AE90B4:
/* 00C74 80AE90B4 240B0050 */ addiu $t3, $zero, 0x0050 ## $t3 = 00000050
/* 00C78 80AE90B8 AFAB0010 */ sw $t3, 0x0010($sp)
/* 00C7C 80AE90BC 0C00D09B */ jal func_8003426C
/* 00C80 80AE90C0 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 00C84 80AE90C4 240C0014 */ addiu $t4, $zero, 0x0014 ## $t4 = 00000014
/* 00C88 80AE90C8 A60C01F2 */ sh $t4, 0x01F2($s0) ## 000001F2
/* 00C8C 80AE90CC 0C2BA367 */ jal func_80AE8D9C
/* 00C90 80AE90D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C94 80AE90D4 10000061 */ beq $zero, $zero, .L80AE925C
/* 00C98 80AE90D8 8FBF0024 */ lw $ra, 0x0024($sp)
glabel L80AE90DC
/* 00C9C 80AE90DC 0C00D58A */ jal Actor_ApplyDamage
/* 00CA0 80AE90E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CA4 80AE90E4 920D00AF */ lbu $t5, 0x00AF($s0) ## 000000AF
/* 00CA8 80AE90E8 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014
/* 00CAC 80AE90EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CB0 80AE90F0 15A00002 */ bne $t5, $zero, .L80AE90FC
/* 00CB4 80AE90F4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00CB8 80AE90F8 A2000374 */ sb $zero, 0x0374($s0) ## 00000374
.L80AE90FC:
/* 00CBC 80AE90FC 920E0114 */ lbu $t6, 0x0114($s0) ## 00000114
/* 00CC0 80AE9100 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00CC4 80AE9104 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 00CC8 80AE9108 15C00004 */ bne $t6, $zero, .L80AE911C
/* 00CCC 80AE910C 24180050 */ addiu $t8, $zero, 0x0050 ## $t8 = 00000050
/* 00CD0 80AE9110 A60F01F2 */ sh $t7, 0x01F2($s0) ## 000001F2
/* 00CD4 80AE9114 0C00D09B */ jal func_8003426C
/* 00CD8 80AE9118 AFB80010 */ sw $t8, 0x0010($sp)
.L80AE911C:
/* 00CDC 80AE911C 0C2BA367 */ jal func_80AE8D9C
/* 00CE0 80AE9120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CE4 80AE9124 1000004D */ beq $zero, $zero, .L80AE925C
/* 00CE8 80AE9128 8FBF0024 */ lw $ra, 0x0024($sp)
glabel L80AE912C
/* 00CEC 80AE912C 0C00D58A */ jal Actor_ApplyDamage
/* 00CF0 80AE9130 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CF4 80AE9134 921900AF */ lbu $t9, 0x00AF($s0) ## 000000AF
/* 00CF8 80AE9138 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CFC 80AE913C 24058000 */ addiu $a1, $zero, 0x8000 ## $a1 = FFFF8000
/* 00D00 80AE9140 17200003 */ bne $t9, $zero, .L80AE9150
/* 00D04 80AE9144 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00D08 80AE9148 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 00D0C 80AE914C A2080374 */ sb $t0, 0x0374($s0) ## 00000374
.L80AE9150:
/* 00D10 80AE9150 24090050 */ addiu $t1, $zero, 0x0050 ## $t1 = 00000050
/* 00D14 80AE9154 AFA90010 */ sw $t1, 0x0010($sp)
/* 00D18 80AE9158 0C00D09B */ jal func_8003426C
/* 00D1C 80AE915C 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 00D20 80AE9160 0C2BA367 */ jal func_80AE8D9C
/* 00D24 80AE9164 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D28 80AE9168 1000003C */ beq $zero, $zero, .L80AE925C
/* 00D2C 80AE916C 8FBF0024 */ lw $ra, 0x0024($sp)
glabel L80AE9170
/* 00D30 80AE9170 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D34 80AE9174 0C00BE0A */ jal Audio_PlayActorSound2
/* 00D38 80AE9178 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
/* 00D3C 80AE917C 240A0050 */ addiu $t2, $zero, 0x0050 ## $t2 = 00000050
/* 00D40 80AE9180 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00D44 80AE9184 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D48 80AE9188 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00D4C 80AE918C 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00D50 80AE9190 0C00D09B */ jal func_8003426C
/* 00D54 80AE9194 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 00D58 80AE9198 0C2BA367 */ jal func_80AE8D9C
/* 00D5C 80AE919C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D60 80AE91A0 1000002E */ beq $zero, $zero, .L80AE925C
/* 00D64 80AE91A4 8FBF0024 */ lw $ra, 0x0024($sp)
glabel L80AE91A8
.L80AE91A8:
/* 00D68 80AE91A8 860B01F4 */ lh $t3, 0x01F4($s0) ## 000001F4
.L80AE91AC:
/* 00D6C 80AE91AC 5560002B */ bnel $t3, $zero, .L80AE925C
/* 00D70 80AE91B0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00D74 80AE91B4 920C0114 */ lbu $t4, 0x0114($s0) ## 00000114
/* 00D78 80AE91B8 55800028 */ bnel $t4, $zero, .L80AE925C
/* 00D7C 80AE91BC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00D80 80AE91C0 80ED0A78 */ lb $t5, 0x0A78($a3) ## 00000A78
/* 00D84 80AE91C4 55A00025 */ bnel $t5, $zero, .L80AE925C
/* 00D88 80AE91C8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00D8C 80AE91CC 8CEE0680 */ lw $t6, 0x0680($a3) ## 00000680
/* 00D90 80AE91D0 31CF0080 */ andi $t7, $t6, 0x0080 ## $t7 = 00000000
/* 00D94 80AE91D4 55E00021 */ bnel $t7, $zero, .L80AE925C
/* 00D98 80AE91D8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00D9C 80AE91DC 92020162 */ lbu $v0, 0x0162($s0) ## 00000162
/* 00DA0 80AE91E0 3C0480AF */ lui $a0, %hi(D_80AEA7EC) ## $a0 = 80AF0000
/* 00DA4 80AE91E4 2484A7EC */ addiu $a0, $a0, %lo(D_80AEA7EC) ## $a0 = 80AEA7EC
/* 00DA8 80AE91E8 30580002 */ andi $t8, $v0, 0x0002 ## $t8 = 00000000
/* 00DAC 80AE91EC 17000005 */ bne $t8, $zero, .L80AE9204
/* 00DB0 80AE91F0 3049FFFD */ andi $t1, $v0, 0xFFFD ## $t1 = 00000000
/* 00DB4 80AE91F4 921901AE */ lbu $t9, 0x01AE($s0) ## 000001AE
/* 00DB8 80AE91F8 33280002 */ andi $t0, $t9, 0x0002 ## $t0 = 00000000
/* 00DBC 80AE91FC 51000017 */ beql $t0, $zero, .L80AE925C
/* 00DC0 80AE9200 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE9204:
/* 00DC4 80AE9204 920A01AE */ lbu $t2, 0x01AE($s0) ## 000001AE
/* 00DC8 80AE9208 A2090162 */ sb $t1, 0x0162($s0) ## 00000162
/* 00DCC 80AE920C 860501E8 */ lh $a1, 0x01E8($s0) ## 000001E8
/* 00DD0 80AE9210 314BFFFD */ andi $t3, $t2, 0xFFFD ## $t3 = 00000000
/* 00DD4 80AE9214 A20B01AE */ sb $t3, 0x01AE($s0) ## 000001AE
/* 00DD8 80AE9218 0C00084C */ jal osSyncPrintf
/* 00DDC 80AE921C AFA70038 */ sw $a3, 0x0038($sp)
/* 00DE0 80AE9220 8FA4004C */ lw $a0, 0x004C($sp)
/* 00DE4 80AE9224 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
/* 00DE8 80AE9228 8FA50038 */ lw $a1, 0x0038($sp)
/* 00DEC 80AE922C 0324C821 */ addu $t9, $t9, $a0
/* 00DF0 80AE9230 8F391D4C */ lw $t9, 0x1D4C($t9) ## 00011D4C
/* 00DF4 80AE9234 0320F809 */ jalr $ra, $t9
/* 00DF8 80AE9238 00000000 */ nop
/* 00DFC 80AE923C 10400006 */ beq $v0, $zero, .L80AE9258
/* 00E00 80AE9240 8FA70038 */ lw $a3, 0x0038($sp)
/* 00E04 80AE9244 ACF00118 */ sw $s0, 0x0118($a3) ## 00000118
/* 00E08 80AE9248 A2000376 */ sb $zero, 0x0376($s0) ## 00000376
/* 00E0C 80AE924C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E10 80AE9250 0C2BA204 */ jal func_80AE8810
/* 00E14 80AE9254 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
.L80AE9258:
/* 00E18 80AE9258 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE925C:
/* 00E1C 80AE925C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00E20 80AE9260 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 00E24 80AE9264 03E00008 */ jr $ra
/* 00E28 80AE9268 00000000 */ nop

View file

@ -1,127 +0,0 @@
.late_rodata
glabel D_80AEA8F0
.float 2500.0
glabel D_80AEA8F4
.float 0.15
.text
glabel func_80AE926C
/* 00E2C 80AE926C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00E30 80AE9270 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00E34 80AE9274 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E38 80AE9278 AFB30020 */ sw $s3, 0x0020($sp)
/* 00E3C 80AE927C AFB2001C */ sw $s2, 0x001C($sp)
/* 00E40 80AE9280 AFB10018 */ sw $s1, 0x0018($sp)
/* 00E44 80AE9284 AFB00014 */ sw $s0, 0x0014($sp)
/* 00E48 80AE9288 AFA5002C */ sw $a1, 0x002C($sp)
/* 00E4C 80AE928C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00E50 80AE9290 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 00E54 80AE9294 A48001F6 */ sh $zero, 0x01F6($a0) ## 000001F6
/* 00E58 80AE9298 3C0180AF */ lui $at, %hi(D_80AEA8F0) ## $at = 80AF0000
/* 00E5C 80AE929C E48201F8 */ swc1 $f2, 0x01F8($a0) ## 000001F8
/* 00E60 80AE92A0 C424A8F0 */ lwc1 $f4, %lo(D_80AEA8F0)($at)
/* 00E64 80AE92A4 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00E68 80AE92A8 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
/* 00E6C 80AE92AC 3C0180AF */ lui $at, %hi(D_80AEA8F4) ## $at = 80AF0000
/* 00E70 80AE92B0 E4820200 */ swc1 $f2, 0x0200($a0) ## 00000200
/* 00E74 80AE92B4 E4820204 */ swc1 $f2, 0x0204($a0) ## 00000204
/* 00E78 80AE92B8 E482020C */ swc1 $f2, 0x020C($a0) ## 0000020C
/* 00E7C 80AE92BC E4820214 */ swc1 $f2, 0x0214($a0) ## 00000214
/* 00E80 80AE92C0 E4800210 */ swc1 $f0, 0x0210($a0) ## 00000210
/* 00E84 80AE92C4 E48401FC */ swc1 $f4, 0x01FC($a0) ## 000001FC
/* 00E88 80AE92C8 E4860208 */ swc1 $f6, 0x0208($a0) ## 00000208
/* 00E8C 80AE92CC C428A8F4 */ lwc1 $f8, %lo(D_80AEA8F4)($at)
/* 00E90 80AE92D0 3C014500 */ lui $at, 0x4500 ## $at = 45000000
/* 00E94 80AE92D4 44815000 */ mtc1 $at, $f10 ## $f10 = 2048.00
/* 00E98 80AE92D8 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00E9C 80AE92DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00EA0 80AE92E0 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 00EA4 80AE92E4 E482021C */ swc1 $f2, 0x021C($a0) ## 0000021C
/* 00EA8 80AE92E8 E4880218 */ swc1 $f8, 0x0218($a0) ## 00000218
/* 00EAC 80AE92EC E48A0220 */ swc1 $f10, 0x0220($a0) ## 00000220
.L80AE92F0:
/* 00EB0 80AE92F0 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 00EB4 80AE92F4 2A210005 */ slti $at, $s1, 0x0005
/* 00EB8 80AE92F8 26100040 */ addiu $s0, $s0, 0x0040 ## $s0 = 00000040
/* 00EBC 80AE92FC E6020208 */ swc1 $f2, 0x0208($s0) ## 00000248
/* 00EC0 80AE9300 E6020210 */ swc1 $f2, 0x0210($s0) ## 00000250
/* 00EC4 80AE9304 E6020214 */ swc1 $f2, 0x0214($s0) ## 00000254
/* 00EC8 80AE9308 E6020218 */ swc1 $f2, 0x0218($s0) ## 00000258
/* 00ECC 80AE930C E6000200 */ swc1 $f0, 0x0200($s0) ## 00000240
/* 00ED0 80AE9310 E60001FC */ swc1 $f0, 0x01FC($s0) ## 0000023C
/* 00ED4 80AE9314 E60001F8 */ swc1 $f0, 0x01F8($s0) ## 00000238
/* 00ED8 80AE9318 E60001F4 */ swc1 $f0, 0x01F4($s0) ## 00000234
/* 00EDC 80AE931C E60001F0 */ swc1 $f0, 0x01F0($s0) ## 00000230
/* 00EE0 80AE9320 1420FFF3 */ bne $at, $zero, .L80AE92F0
/* 00EE4 80AE9324 E60001EC */ swc1 $f0, 0x01EC($s0) ## 0000022C
/* 00EE8 80AE9328 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 00EEC 80AE932C 02408025 */ or $s0, $s2, $zero ## $s0 = 00000000
.L80AE9330:
/* 00EF0 80AE9330 C6500200 */ lwc1 $f16, 0x0200($s2) ## 00000200
/* 00EF4 80AE9334 4600848D */ trunc.w.s $f18, $f16
/* 00EF8 80AE9338 440F9000 */ mfc1 $t7, $f18
/* 00EFC 80AE933C 00000000 */ nop
/* 00F00 80AE9340 000FC400 */ sll $t8, $t7, 16
/* 00F04 80AE9344 0018CC03 */ sra $t9, $t8, 16
/* 00F08 80AE9348 02390019 */ multu $s1, $t9
/* 00F0C 80AE934C 00002012 */ mflo $a0
/* 00F10 80AE9350 00042300 */ sll $a0, $a0, 12
/* 00F14 80AE9354 00042400 */ sll $a0, $a0, 16
/* 00F18 80AE9358 0C01DE0D */ jal Math_Coss
## coss?
/* 00F1C 80AE935C 00042403 */ sra $a0, $a0, 16
/* 00F20 80AE9360 C6440214 */ lwc1 $f4, 0x0214($s2) ## 00000214
/* 00F24 80AE9364 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 00F28 80AE9368 2A210005 */ slti $at, $s1, 0x0005
/* 00F2C 80AE936C 46040082 */ mul.s $f2, $f0, $f4
/* 00F30 80AE9370 26100040 */ addiu $s0, $s0, 0x0040 ## $s0 = 00000040
/* 00F34 80AE9374 E602020C */ swc1 $f2, 0x020C($s0) ## 0000024C
/* 00F38 80AE9378 1420FFED */ bne $at, $zero, .L80AE9330
/* 00F3C 80AE937C E6020204 */ swc1 $f2, 0x0204($s0) ## 00000244
/* 00F40 80AE9380 24110001 */ addiu $s1, $zero, 0x0001 ## $s1 = 00000001
/* 00F44 80AE9384 26500040 */ addiu $s0, $s2, 0x0040 ## $s0 = 00000040
/* 00F48 80AE9388 24130005 */ addiu $s3, $zero, 0x0005 ## $s3 = 00000005
.L80AE938C:
/* 00F4C 80AE938C C6460204 */ lwc1 $f6, 0x0204($s2) ## 00000204
/* 00F50 80AE9390 4600320D */ trunc.w.s $f8, $f6
/* 00F54 80AE9394 44094000 */ mfc1 $t1, $f8
/* 00F58 80AE9398 00000000 */ nop
/* 00F5C 80AE939C 00095400 */ sll $t2, $t1, 16
/* 00F60 80AE93A0 000A5C03 */ sra $t3, $t2, 16
/* 00F64 80AE93A4 022B0019 */ multu $s1, $t3
/* 00F68 80AE93A8 00002012 */ mflo $a0
/* 00F6C 80AE93AC 00042300 */ sll $a0, $a0, 12
/* 00F70 80AE93B0 00042400 */ sll $a0, $a0, 16
/* 00F74 80AE93B4 0C01DE0D */ jal Math_Coss
## coss?
/* 00F78 80AE93B8 00042403 */ sra $a0, $a0, 16
/* 00F7C 80AE93BC C64A021C */ lwc1 $f10, 0x021C($s2) ## 0000021C
/* 00F80 80AE93C0 460A0402 */ mul.s $f16, $f0, $f10
/* 00F84 80AE93C4 E6100250 */ swc1 $f16, 0x0250($s0) ## 00000290
/* 00F88 80AE93C8 C652020C */ lwc1 $f18, 0x020C($s2) ## 0000020C
/* 00F8C 80AE93CC 4600910D */ trunc.w.s $f4, $f18
/* 00F90 80AE93D0 440D2000 */ mfc1 $t5, $f4
/* 00F94 80AE93D4 00000000 */ nop
/* 00F98 80AE93D8 000D7400 */ sll $t6, $t5, 16
/* 00F9C 80AE93DC 000E7C03 */ sra $t7, $t6, 16
/* 00FA0 80AE93E0 022F0019 */ multu $s1, $t7
/* 00FA4 80AE93E4 00002012 */ mflo $a0
/* 00FA8 80AE93E8 00042300 */ sll $a0, $a0, 12
/* 00FAC 80AE93EC 00042400 */ sll $a0, $a0, 16
/* 00FB0 80AE93F0 0C01DE1C */ jal Math_Sins
## sins?
/* 00FB4 80AE93F4 00042403 */ sra $a0, $a0, 16
/* 00FB8 80AE93F8 C646021C */ lwc1 $f6, 0x021C($s2) ## 0000021C
/* 00FBC 80AE93FC 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002
/* 00FC0 80AE9400 26100040 */ addiu $s0, $s0, 0x0040 ## $s0 = 00000080
/* 00FC4 80AE9404 46060202 */ mul.s $f8, $f0, $f6
/* 00FC8 80AE9408 1633FFE0 */ bne $s1, $s3, .L80AE938C
/* 00FCC 80AE940C E6080218 */ swc1 $f8, 0x0218($s0) ## 00000298
/* 00FD0 80AE9410 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00FD4 80AE9414 8FB00014 */ lw $s0, 0x0014($sp)
/* 00FD8 80AE9418 8FB10018 */ lw $s1, 0x0018($sp)
/* 00FDC 80AE941C 8FB2001C */ lw $s2, 0x001C($sp)
/* 00FE0 80AE9420 8FB30020 */ lw $s3, 0x0020($sp)
/* 00FE4 80AE9424 03E00008 */ jr $ra
/* 00FE8 80AE9428 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000

View file

@ -1,106 +0,0 @@
glabel func_80AE942C
/* 00FEC 80AE942C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00FF0 80AE9430 AFBF002C */ sw $ra, 0x002C($sp)
/* 00FF4 80AE9434 AFB40028 */ sw $s4, 0x0028($sp)
/* 00FF8 80AE9438 AFB30024 */ sw $s3, 0x0024($sp)
/* 00FFC 80AE943C AFB20020 */ sw $s2, 0x0020($sp)
/* 01000 80AE9440 AFB1001C */ sw $s1, 0x001C($sp)
/* 01004 80AE9444 AFB00018 */ sw $s0, 0x0018($sp)
/* 01008 80AE9448 AFA50034 */ sw $a1, 0x0034($sp)
/* 0100C 80AE944C 908E0371 */ lbu $t6, 0x0371($a0) ## 00000371
/* 01010 80AE9450 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 01014 80AE9454 849301F6 */ lh $s3, 0x01F6($a0) ## 000001F6
/* 01018 80AE9458 15C00043 */ bne $t6, $zero, .L80AE9568
/* 0101C 80AE945C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 01020 80AE9460 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
.L80AE9464:
/* 01024 80AE9464 C6440200 */ lwc1 $f4, 0x0200($s2) ## 00000200
/* 01028 80AE9468 4600218D */ trunc.w.s $f6, $f4
/* 0102C 80AE946C 44183000 */ mfc1 $t8, $f6
/* 01030 80AE9470 00000000 */ nop
/* 01034 80AE9474 0018CC00 */ sll $t9, $t8, 16
/* 01038 80AE9478 00194403 */ sra $t0, $t9, 16
/* 0103C 80AE947C 02080019 */ multu $s0, $t0
/* 01040 80AE9480 00004812 */ mflo $t1
/* 01044 80AE9484 00095300 */ sll $t2, $t1, 12
/* 01048 80AE9488 026A2021 */ addu $a0, $s3, $t2
/* 0104C 80AE948C 00042400 */ sll $a0, $a0, 16
/* 01050 80AE9490 0C01DE0D */ jal Math_Coss
## coss?
/* 01054 80AE9494 00042403 */ sra $a0, $a0, 16
/* 01058 80AE9498 C6480214 */ lwc1 $f8, 0x0214($s2) ## 00000214
/* 0105C 80AE949C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 01060 80AE94A0 2A010005 */ slti $at, $s0, 0x0005
/* 01064 80AE94A4 46080082 */ mul.s $f2, $f0, $f8
/* 01068 80AE94A8 26310040 */ addiu $s1, $s1, 0x0040 ## $s1 = 00000040
/* 0106C 80AE94AC E622020C */ swc1 $f2, 0x020C($s1) ## 0000024C
/* 01070 80AE94B0 1420FFEC */ bne $at, $zero, .L80AE9464
/* 01074 80AE94B4 E6220204 */ swc1 $f2, 0x0204($s1) ## 00000244
/* 01078 80AE94B8 924B0371 */ lbu $t3, 0x0371($s2) ## 00000371
/* 0107C 80AE94BC 865301F6 */ lh $s3, 0x01F6($s2) ## 000001F6
/* 01080 80AE94C0 5560002A */ bnel $t3, $zero, .L80AE956C
/* 01084 80AE94C4 924F0376 */ lbu $t7, 0x0376($s2) ## 00000376
/* 01088 80AE94C8 924C0370 */ lbu $t4, 0x0370($s2) ## 00000370
/* 0108C 80AE94CC 24100001 */ addiu $s0, $zero, 0x0001 ## $s0 = 00000001
/* 01090 80AE94D0 26510040 */ addiu $s1, $s2, 0x0040 ## $s1 = 00000040
/* 01094 80AE94D4 15800024 */ bne $t4, $zero, .L80AE9568
/* 01098 80AE94D8 24140005 */ addiu $s4, $zero, 0x0005 ## $s4 = 00000005
.L80AE94DC:
/* 0109C 80AE94DC C64A0204 */ lwc1 $f10, 0x0204($s2) ## 00000204
/* 010A0 80AE94E0 4600540D */ trunc.w.s $f16, $f10
/* 010A4 80AE94E4 440E8000 */ mfc1 $t6, $f16
/* 010A8 80AE94E8 00000000 */ nop
/* 010AC 80AE94EC 000E7C00 */ sll $t7, $t6, 16
/* 010B0 80AE94F0 000FC403 */ sra $t8, $t7, 16
/* 010B4 80AE94F4 02180019 */ multu $s0, $t8
/* 010B8 80AE94F8 0000C812 */ mflo $t9
/* 010BC 80AE94FC 00194300 */ sll $t0, $t9, 12
/* 010C0 80AE9500 02682021 */ addu $a0, $s3, $t0
/* 010C4 80AE9504 00042400 */ sll $a0, $a0, 16
/* 010C8 80AE9508 0C01DE0D */ jal Math_Coss
## coss?
/* 010CC 80AE950C 00042403 */ sra $a0, $a0, 16
/* 010D0 80AE9510 C652021C */ lwc1 $f18, 0x021C($s2) ## 0000021C
/* 010D4 80AE9514 46120102 */ mul.s $f4, $f0, $f18
/* 010D8 80AE9518 E6240250 */ swc1 $f4, 0x0250($s1) ## 00000290
/* 010DC 80AE951C C646020C */ lwc1 $f6, 0x020C($s2) ## 0000020C
/* 010E0 80AE9520 4600320D */ trunc.w.s $f8, $f6
/* 010E4 80AE9524 440A4000 */ mfc1 $t2, $f8
/* 010E8 80AE9528 00000000 */ nop
/* 010EC 80AE952C 000A5C00 */ sll $t3, $t2, 16
/* 010F0 80AE9530 000B6403 */ sra $t4, $t3, 16
/* 010F4 80AE9534 020C0019 */ multu $s0, $t4
/* 010F8 80AE9538 00006812 */ mflo $t5
/* 010FC 80AE953C 000D7300 */ sll $t6, $t5, 12
/* 01100 80AE9540 026E2021 */ addu $a0, $s3, $t6
/* 01104 80AE9544 00042400 */ sll $a0, $a0, 16
/* 01108 80AE9548 0C01DE1C */ jal Math_Sins
## sins?
/* 0110C 80AE954C 00042403 */ sra $a0, $a0, 16
/* 01110 80AE9550 C64A021C */ lwc1 $f10, 0x021C($s2) ## 0000021C
/* 01114 80AE9554 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002
/* 01118 80AE9558 26310040 */ addiu $s1, $s1, 0x0040 ## $s1 = 00000080
/* 0111C 80AE955C 460A0402 */ mul.s $f16, $f0, $f10
/* 01120 80AE9560 1614FFDE */ bne $s0, $s4, .L80AE94DC
/* 01124 80AE9564 E6300218 */ swc1 $f16, 0x0218($s1) ## 00000298
.L80AE9568:
/* 01128 80AE9568 924F0376 */ lbu $t7, 0x0376($s2) ## 00000376
.L80AE956C:
/* 0112C 80AE956C 55E00009 */ bnel $t7, $zero, .L80AE9594
/* 01130 80AE9570 8FBF002C */ lw $ra, 0x002C($sp)
/* 01134 80AE9574 C65201F8 */ lwc1 $f18, 0x01F8($s2) ## 000001F8
/* 01138 80AE9578 865801F6 */ lh $t8, 0x01F6($s2) ## 000001F6
/* 0113C 80AE957C 4600910D */ trunc.w.s $f4, $f18
/* 01140 80AE9580 440A2000 */ mfc1 $t2, $f4
/* 01144 80AE9584 00000000 */ nop
/* 01148 80AE9588 030A5821 */ addu $t3, $t8, $t2
/* 0114C 80AE958C A64B01F6 */ sh $t3, 0x01F6($s2) ## 000001F6
/* 01150 80AE9590 8FBF002C */ lw $ra, 0x002C($sp)
.L80AE9594:
/* 01154 80AE9594 8FB00018 */ lw $s0, 0x0018($sp)
/* 01158 80AE9598 8FB1001C */ lw $s1, 0x001C($sp)
/* 0115C 80AE959C 8FB20020 */ lw $s2, 0x0020($sp)
/* 01160 80AE95A0 8FB30024 */ lw $s3, 0x0024($sp)
/* 01164 80AE95A4 8FB40028 */ lw $s4, 0x0028($sp)
/* 01168 80AE95A8 03E00008 */ jr $ra
/* 0116C 80AE95AC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000

View file

@ -1,53 +0,0 @@
glabel func_80AE95B0
/* 01170 80AE95B0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01174 80AE95B4 AFB00020 */ sw $s0, 0x0020($sp)
/* 01178 80AE95B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0117C 80AE95BC AFBF0024 */ sw $ra, 0x0024($sp)
/* 01180 80AE95C0 AFA5002C */ sw $a1, 0x002C($sp)
/* 01184 80AE95C4 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 01188 80AE95C8 AFA00010 */ sw $zero, 0x0010($sp)
/* 0118C 80AE95CC 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6
/* 01190 80AE95D0 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 01194 80AE95D4 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 01198 80AE95D8 240701F4 */ addiu $a3, $zero, 0x01F4 ## $a3 = 000001F4
/* 0119C 80AE95DC 860F01EA */ lh $t7, 0x01EA($s0) ## 000001EA
/* 011A0 80AE95E0 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 011A4 80AE95E4 3C014320 */ lui $at, 0x4320 ## $at = 43200000
/* 011A8 80AE95E8 15E0000C */ bne $t7, $zero, .L80AE961C
/* 011AC 80AE95EC A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
/* 011B0 80AE95F0 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
/* 011B4 80AE95F4 44813000 */ mtc1 $at, $f6 ## $f6 = 160.00
/* 011B8 80AE95F8 00000000 */ nop
/* 011BC 80AE95FC 4606203C */ c.lt.s $f4, $f6
/* 011C0 80AE9600 00000000 */ nop
/* 011C4 80AE9604 45020006 */ bc1fl .L80AE9620
/* 011C8 80AE9608 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 011CC 80AE960C 0C2BA191 */ jal func_80AE8644
/* 011D0 80AE9610 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 011D4 80AE9614 10000012 */ beq $zero, $zero, .L80AE9660
/* 011D8 80AE9618 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE961C:
/* 011DC 80AE961C 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
.L80AE9620:
/* 011E0 80AE9620 44815000 */ mtc1 $at, $f10 ## $f10 = 400.00
/* 011E4 80AE9624 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
/* 011E8 80AE9628 460A403C */ c.lt.s $f8, $f10
/* 011EC 80AE962C 00000000 */ nop
/* 011F0 80AE9630 4502000B */ bc1fl .L80AE9660
/* 011F4 80AE9634 8FBF0024 */ lw $ra, 0x0024($sp)
/* 011F8 80AE9638 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 011FC 80AE963C C6120068 */ lwc1 $f18, 0x0068($s0) ## 00000068
/* 01200 80AE9640 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01204 80AE9644 46128032 */ c.eq.s $f16, $f18
/* 01208 80AE9648 00000000 */ nop
/* 0120C 80AE964C 45020004 */ bc1fl .L80AE9660
/* 01210 80AE9650 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01214 80AE9654 0C2BA187 */ jal func_80AE861C
/* 01218 80AE9658 3C054000 */ lui $a1, 0x4000 ## $a1 = 40000000
/* 0121C 80AE965C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE9660:
/* 01220 80AE9660 8FB00020 */ lw $s0, 0x0020($sp)
/* 01224 80AE9664 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01228 80AE9668 03E00008 */ jr $ra
/* 0122C 80AE966C 00000000 */ nop

View file

@ -1,91 +0,0 @@
.late_rodata
glabel jtbl_80AEA8F8
.word L80AE96CC
.word L80AE96E4
.word L80AE9710
.word L80AE9738
.word L80AE9764
glabel D_80AEA90C
.float 0.8
.text
glabel func_80AE9670
/* 01230 80AE9670 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01234 80AE9674 AFB00020 */ sw $s0, 0x0020($sp)
/* 01238 80AE9678 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0123C 80AE967C AFBF0024 */ sw $ra, 0x0024($sp)
/* 01240 80AE9680 AFA5002C */ sw $a1, 0x002C($sp)
/* 01244 80AE9684 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 01248 80AE9688 AFA00010 */ sw $zero, 0x0010($sp)
/* 0124C 80AE968C 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6
/* 01250 80AE9690 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 01254 80AE9694 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 01258 80AE9698 240701F4 */ addiu $a3, $zero, 0x01F4 ## $a3 = 000001F4
/* 0125C 80AE969C 920F0370 */ lbu $t7, 0x0370($s0) ## 00000370
/* 01260 80AE96A0 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 01264 80AE96A4 25F8FFFF */ addiu $t8, $t7, 0xFFFF ## $t8 = FFFFFFFF
/* 01268 80AE96A8 2F010005 */ sltiu $at, $t8, 0x0005
/* 0126C 80AE96AC 10200032 */ beq $at, $zero, .L80AE9778
/* 01270 80AE96B0 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
/* 01274 80AE96B4 0018C080 */ sll $t8, $t8, 2
/* 01278 80AE96B8 3C0180AF */ lui $at, %hi(jtbl_80AEA8F8) ## $at = 80AF0000
/* 0127C 80AE96BC 00380821 */ addu $at, $at, $t8
/* 01280 80AE96C0 8C38A8F8 */ lw $t8, %lo(jtbl_80AEA8F8)($at)
/* 01284 80AE96C4 03000008 */ jr $t8
/* 01288 80AE96C8 00000000 */ nop
glabel L80AE96CC
/* 0128C 80AE96CC 861901EA */ lh $t9, 0x01EA($s0) ## 000001EA
/* 01290 80AE96D0 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 01294 80AE96D4 57200029 */ bnel $t9, $zero, .L80AE977C
/* 01298 80AE96D8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0129C 80AE96DC 10000026 */ beq $zero, $zero, .L80AE9778
/* 012A0 80AE96E0 A2080370 */ sb $t0, 0x0370($s0) ## 00000370
glabel L80AE96E4
/* 012A4 80AE96E4 860901EA */ lh $t1, 0x01EA($s0) ## 000001EA
/* 012A8 80AE96E8 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 012AC 80AE96EC 240A0005 */ addiu $t2, $zero, 0x0005 ## $t2 = 00000005
/* 012B0 80AE96F0 15200021 */ bne $t1, $zero, .L80AE9778
/* 012B4 80AE96F4 240B0003 */ addiu $t3, $zero, 0x0003 ## $t3 = 00000003
/* 012B8 80AE96F8 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50
/* 012BC 80AE96FC A60A01EA */ sh $t2, 0x01EA($s0) ## 000001EA
/* 012C0 80AE9700 A20B0370 */ sb $t3, 0x0370($s0) ## 00000370
/* 012C4 80AE9704 E6000340 */ swc1 $f0, 0x0340($s0) ## 00000340
/* 012C8 80AE9708 1000001B */ beq $zero, $zero, .L80AE9778
/* 012CC 80AE970C E6000338 */ swc1 $f0, 0x0338($s0) ## 00000338
glabel L80AE9710
/* 012D0 80AE9710 860C01EA */ lh $t4, 0x01EA($s0) ## 000001EA
/* 012D4 80AE9714 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002
/* 012D8 80AE9718 3C0144FA */ lui $at, 0x44FA ## $at = 44FA0000
/* 012DC 80AE971C 15800016 */ bne $t4, $zero, .L80AE9778
/* 012E0 80AE9720 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
/* 012E4 80AE9724 44812000 */ mtc1 $at, $f4 ## $f4 = 2000.00
/* 012E8 80AE9728 A60D01EA */ sh $t5, 0x01EA($s0) ## 000001EA
/* 012EC 80AE972C A20E0370 */ sb $t6, 0x0370($s0) ## 00000370
/* 012F0 80AE9730 10000011 */ beq $zero, $zero, .L80AE9778
/* 012F4 80AE9734 E6040328 */ swc1 $f4, 0x0328($s0) ## 00000328
glabel L80AE9738
/* 012F8 80AE9738 860F01EA */ lh $t7, 0x01EA($s0) ## 000001EA
/* 012FC 80AE973C 3C0180AF */ lui $at, %hi(D_80AEA90C) ## $at = 80AF0000
/* 01300 80AE9740 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
/* 01304 80AE9744 15E0000C */ bne $t7, $zero, .L80AE9778
/* 01308 80AE9748 24190005 */ addiu $t9, $zero, 0x0005 ## $t9 = 00000005
/* 0130C 80AE974C C420A90C */ lwc1 $f0, %lo(D_80AEA90C)($at)
/* 01310 80AE9750 A61801EA */ sh $t8, 0x01EA($s0) ## 000001EA
/* 01314 80AE9754 A2190370 */ sb $t9, 0x0370($s0) ## 00000370
/* 01318 80AE9758 E6000340 */ swc1 $f0, 0x0340($s0) ## 00000340
/* 0131C 80AE975C 10000006 */ beq $zero, $zero, .L80AE9778
/* 01320 80AE9760 E6000338 */ swc1 $f0, 0x0338($s0) ## 00000338
glabel L80AE9764
/* 01324 80AE9764 860801EA */ lh $t0, 0x01EA($s0) ## 000001EA
/* 01328 80AE9768 55000004 */ bnel $t0, $zero, .L80AE977C
/* 0132C 80AE976C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01330 80AE9770 0C2BA1D1 */ jal func_80AE8744
/* 01334 80AE9774 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80AE9778:
/* 01338 80AE9778 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE977C:
/* 0133C 80AE977C 8FB00020 */ lw $s0, 0x0020($sp)
/* 01340 80AE9780 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01344 80AE9784 03E00008 */ jr $ra
/* 01348 80AE9788 00000000 */ nop

View file

@ -1,71 +0,0 @@
glabel func_80AE978C
/* 0134C 80AE978C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01350 80AE9790 AFBF001C */ sw $ra, 0x001C($sp)
/* 01354 80AE9794 AFB10018 */ sw $s1, 0x0018($sp)
/* 01358 80AE9798 AFB00014 */ sw $s0, 0x0014($sp)
/* 0135C 80AE979C AFA50024 */ sw $a1, 0x0024($sp)
/* 01360 80AE97A0 8CB11C44 */ lw $s1, 0x1C44($a1) ## 00001C44
/* 01364 80AE97A4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01368 80AE97A8 24050078 */ addiu $a1, $zero, 0x0078 ## $a1 = 00000078
/* 0136C 80AE97AC C48C008C */ lwc1 $f12, 0x008C($a0) ## 0000008C
/* 01370 80AE97B0 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 01374 80AE97B4 0C02A800 */ jal func_800AA000
/* 01378 80AE97B8 24070078 */ addiu $a3, $zero, 0x0078 ## $a3 = 00000078
/* 0137C 80AE97BC 860F01E8 */ lh $t7, 0x01E8($s0) ## 000001E8
/* 01380 80AE97C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01384 80AE97C4 31F80007 */ andi $t8, $t7, 0x0007 ## $t8 = 00000000
/* 01388 80AE97C8 57000004 */ bnel $t8, $zero, .L80AE97DC
/* 0138C 80AE97CC 860801EE */ lh $t0, 0x01EE($s0) ## 000001EE
/* 01390 80AE97D0 0C00BE0A */ jal Audio_PlayActorSound2
/* 01394 80AE97D4 24053993 */ addiu $a1, $zero, 0x3993 ## $a1 = 00003993
/* 01398 80AE97D8 860801EE */ lh $t0, 0x01EE($s0) ## 000001EE
.L80AE97DC:
/* 0139C 80AE97DC 24190008 */ addiu $t9, $zero, 0x0008 ## $t9 = 00000008
/* 013A0 80AE97E0 A61901F4 */ sh $t9, 0x01F4($s0) ## 000001F4
/* 013A4 80AE97E4 11000007 */ beq $t0, $zero, .L80AE9804
/* 013A8 80AE97E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013AC 80AE97EC 8E290680 */ lw $t1, 0x0680($s1) ## 00000680
/* 013B0 80AE97F0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 013B4 80AE97F4 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 013B8 80AE97F8 312A0080 */ andi $t2, $t1, 0x0080 ## $t2 = 00000000
/* 013BC 80AE97FC 55400006 */ bnel $t2, $zero, .L80AE9818
/* 013C0 80AE9800 26240024 */ addiu $a0, $s1, 0x0024 ## $a0 = 00000024
.L80AE9804:
/* 013C4 80AE9804 0C2BA25A */ jal func_80AE8968
/* 013C8 80AE9808 8FA50024 */ lw $a1, 0x0024($sp)
/* 013CC 80AE980C 10000018 */ beq $zero, $zero, .L80AE9870
/* 013D0 80AE9810 8FBF001C */ lw $ra, 0x001C($sp)
/* 013D4 80AE9814 26240024 */ addiu $a0, $s1, 0x0024 ## $a0 = 00000024
.L80AE9818:
/* 013D8 80AE9818 0C01E107 */ jal Math_SmoothScaleMaxF
/* 013DC 80AE981C 8E05037C */ lw $a1, 0x037C($s0) ## 0000037C
/* 013E0 80AE9820 C6040380 */ lwc1 $f4, 0x0380($s0) ## 00000380
/* 013E4 80AE9824 C606036C */ lwc1 $f6, 0x036C($s0) ## 0000036C
/* 013E8 80AE9828 26240028 */ addiu $a0, $s1, 0x0028 ## $a0 = 00000028
/* 013EC 80AE982C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 013F0 80AE9830 46062200 */ add.s $f8, $f4, $f6
/* 013F4 80AE9834 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 013F8 80AE9838 44054000 */ mfc1 $a1, $f8
/* 013FC 80AE983C 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01400 80AE9840 00000000 */ nop
/* 01404 80AE9844 2624002C */ addiu $a0, $s1, 0x002C ## $a0 = 0000002C
/* 01408 80AE9848 8E050384 */ lw $a1, 0x0384($s0) ## 00000384
/* 0140C 80AE984C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01410 80AE9850 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01414 80AE9854 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 01418 80AE9858 2604036C */ addiu $a0, $s0, 0x036C ## $a0 = 0000036C
/* 0141C 80AE985C 3C05C25C */ lui $a1, 0xC25C ## $a1 = C25C0000
/* 01420 80AE9860 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01424 80AE9864 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01428 80AE9868 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 0142C 80AE986C 8FBF001C */ lw $ra, 0x001C($sp)
.L80AE9870:
/* 01430 80AE9870 8FB00014 */ lw $s0, 0x0014($sp)
/* 01434 80AE9874 8FB10018 */ lw $s1, 0x0018($sp)
/* 01438 80AE9878 03E00008 */ jr $ra
/* 0143C 80AE987C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View file

@ -1,43 +0,0 @@
.late_rodata
glabel D_80AEA910
.float 5000.0
glabel D_80AEA914
.float -5000.0
.text
glabel func_80AE9880
/* 01440 80AE9880 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01444 80AE9884 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01448 80AE9888 AFA5001C */ sw $a1, 0x001C($sp)
/* 0144C 80AE988C 90820114 */ lbu $v0, 0x0114($a0) ## 00000114
/* 01450 80AE9890 14400005 */ bne $v0, $zero, .L80AE98A8
/* 01454 80AE9894 304E0008 */ andi $t6, $v0, 0x0008 ## $t6 = 00000000
/* 01458 80AE9898 0C2BA311 */ jal func_80AE8C44
/* 0145C 80AE989C 00000000 */ nop
/* 01460 80AE98A0 10000012 */ beq $zero, $zero, .L80AE98EC
/* 01464 80AE98A4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80AE98A8:
/* 01468 80AE98A8 11C00009 */ beq $t6, $zero, .L80AE98D0
/* 0146C 80AE98AC 3C0180AF */ lui $at, %hi(D_80AEA914) ## $at = 80AF0000
/* 01470 80AE98B0 3C0180AF */ lui $at, %hi(D_80AEA910) ## $at = 80AF0000
/* 01474 80AE98B4 C420A910 */ lwc1 $f0, %lo(D_80AEA910)($at)
/* 01478 80AE98B8 24820040 */ addiu $v0, $a0, 0x0040 ## $v0 = 00000040
/* 0147C 80AE98BC E4400298 */ swc1 $f0, 0x0298($v0) ## 000002D8
/* 01480 80AE98C0 E44002D8 */ swc1 $f0, 0x02D8($v0) ## 00000318
/* 01484 80AE98C4 E4400318 */ swc1 $f0, 0x0318($v0) ## 00000358
/* 01488 80AE98C8 10000007 */ beq $zero, $zero, .L80AE98E8
/* 0148C 80AE98CC E4400258 */ swc1 $f0, 0x0258($v0) ## 00000298
.L80AE98D0:
/* 01490 80AE98D0 C420A914 */ lwc1 $f0, %lo(D_80AEA914)($at)
/* 01494 80AE98D4 24820040 */ addiu $v0, $a0, 0x0040 ## $v0 = 00000040
/* 01498 80AE98D8 E4400298 */ swc1 $f0, 0x0298($v0) ## 000002D8
/* 0149C 80AE98DC E44002D8 */ swc1 $f0, 0x02D8($v0) ## 00000318
/* 014A0 80AE98E0 E4400318 */ swc1 $f0, 0x0318($v0) ## 00000358
/* 014A4 80AE98E4 E4400258 */ swc1 $f0, 0x0258($v0) ## 00000298
.L80AE98E8:
/* 014A8 80AE98E8 8FBF0014 */ lw $ra, 0x0014($sp)
.L80AE98EC:
/* 014AC 80AE98EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 014B0 80AE98F0 03E00008 */ jr $ra
/* 014B4 80AE98F4 00000000 */ nop

View file

@ -1,281 +0,0 @@
.rdata
glabel D_80AEA808
.asciz "\x1b[32m%s\x1b[m\n"
.balign 4
.late_rodata
glabel D_80AEA918
.float 0.003
glabel jtbl_80AEA91C
.word L80AE9B4C
.word L80AE9AD4
.word L80AE9AEC
.word L80AE9B04
.word L80AE9B1C
.word L80AE9B34
.text
glabel func_80AE98F8
/* 014B8 80AE98F8 27BDFF50 */ addiu $sp, $sp, 0xFF50 ## $sp = FFFFFF50
/* 014BC 80AE98FC AFBF005C */ sw $ra, 0x005C($sp)
/* 014C0 80AE9900 AFB20058 */ sw $s2, 0x0058($sp)
/* 014C4 80AE9904 AFB10054 */ sw $s1, 0x0054($sp)
/* 014C8 80AE9908 AFB00050 */ sw $s0, 0x0050($sp)
/* 014CC 80AE990C F7B40048 */ sdc1 $f20, 0x0048($sp)
/* 014D0 80AE9910 848201E8 */ lh $v0, 0x01E8($a0) ## 000001E8
/* 014D4 80AE9914 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 014D8 80AE9918 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 014DC 80AE991C 28410028 */ slti $at, $v0, 0x0028
/* 014E0 80AE9920 10200030 */ beq $at, $zero, .L80AE99E4
/* 014E4 80AE9924 27B1009C */ addiu $s1, $sp, 0x009C ## $s1 = FFFFFFEC
/* 014E8 80AE9928 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 014EC 80AE992C 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 014F0 80AE9930 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 014F4 80AE9934 00801825 */ or $v1, $a0, $zero ## $v1 = 00000000
/* 014F8 80AE9938 24910228 */ addiu $s1, $a0, 0x0228 ## $s1 = 00000228
.L80AE993C:
/* 014FC 80AE993C 864E01E8 */ lh $t6, 0x01E8($s2) ## 000001E8
/* 01500 80AE9940 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 01504 80AE9944 44814000 */ mtc1 $at, $f8 ## $f8 = 25.00
/* 01508 80AE9948 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 0150C 80AE994C 260F003B */ addiu $t7, $s0, 0x003B ## $t7 = 0000003B
/* 01510 80AE9950 448F8000 */ mtc1 $t7, $f16 ## $f16 = 0.00
/* 01514 80AE9954 468021A0 */ cvt.s.w $f6, $f4
/* 01518 80AE9958 4406A000 */ mfc1 $a2, $f20
/* 0151C 80AE995C AFA3006C */ sw $v1, 0x006C($sp)
/* 01520 80AE9960 02202025 */ or $a0, $s1, $zero ## $a0 = 00000228
/* 01524 80AE9964 3C074248 */ lui $a3, 0x4248 ## $a3 = 42480000
/* 01528 80AE9968 468084A0 */ cvt.s.w $f18, $f16
/* 0152C 80AE996C 46083282 */ mul.s $f10, $f6, $f8
/* 01530 80AE9970 460A9101 */ sub.s $f4, $f18, $f10
/* 01534 80AE9974 44052000 */ mfc1 $a1, $f4
/* 01538 80AE9978 0C01E107 */ jal Math_SmoothScaleMaxF
/* 0153C 80AE997C 00000000 */ nop
/* 01540 80AE9980 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
/* 01544 80AE9984 03101023 */ subu $v0, $t8, $s0
/* 01548 80AE9988 00420019 */ multu $v0, $v0
/* 0154C 80AE998C 864801E8 */ lh $t0, 0x01E8($s2) ## 000001E8
/* 01550 80AE9990 3C0180AF */ lui $at, %hi(D_80AEA918) ## $at = 80AF0000
/* 01554 80AE9994 C424A918 */ lwc1 $f4, %lo(D_80AEA918)($at)
/* 01558 80AE9998 44888000 */ mtc1 $t0, $f16 ## $f16 = 0.00
/* 0155C 80AE999C 8FA3006C */ lw $v1, 0x006C($sp)
/* 01560 80AE99A0 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 01564 80AE99A4 468084A0 */ cvt.s.w $f18, $f16
/* 01568 80AE99A8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0156C 80AE99AC 26310040 */ addiu $s1, $s1, 0x0040 ## $s1 = 00000268
/* 01570 80AE99B0 0000C812 */ mflo $t9
/* 01574 80AE99B4 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
/* 01578 80AE99B8 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000040
/* 0157C 80AE99BC 46803220 */ cvt.s.w $f8, $f6
/* 01580 80AE99C0 46124282 */ mul.s $f10, $f8, $f18
/* 01584 80AE99C4 00000000 */ nop
/* 01588 80AE99C8 46045182 */ mul.s $f6, $f10, $f4
/* 0158C 80AE99CC 46143000 */ add.s $f0, $f6, $f20
/* 01590 80AE99D0 E4600200 */ swc1 $f0, 0x0200($v1) ## 00000240
/* 01594 80AE99D4 1601FFD9 */ bne $s0, $at, .L80AE993C
/* 01598 80AE99D8 E46001F8 */ swc1 $f0, 0x01F8($v1) ## 00000238
/* 0159C 80AE99DC 100000A4 */ beq $zero, $zero, .L80AE9C70
/* 015A0 80AE99E0 8FBF005C */ lw $ra, 0x005C($sp)
.L80AE99E4:
/* 015A4 80AE99E4 2841005F */ slti $at, $v0, 0x005F
/* 015A8 80AE99E8 14200061 */ bne $at, $zero, .L80AE9B70
/* 015AC 80AE99EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 015B0 80AE99F0 C6500024 */ lwc1 $f16, 0x0024($s2) ## 00000024
/* 015B4 80AE99F4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 015B8 80AE99F8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000268
/* 015BC 80AE99FC E7B0009C */ swc1 $f16, 0x009C($sp)
/* 015C0 80AE9A00 C6480028 */ lwc1 $f8, 0x0028($s2) ## 00000028
/* 015C4 80AE9A04 E7A800A0 */ swc1 $f8, 0x00A0($sp)
/* 015C8 80AE9A08 C652002C */ lwc1 $f18, 0x002C($s2) ## 0000002C
/* 015CC 80AE9A0C E7B200A4 */ swc1 $f18, 0x00A4($sp)
/* 015D0 80AE9A10 92420372 */ lbu $v0, 0x0372($s2) ## 00000372
/* 015D4 80AE9A14 10410005 */ beq $v0, $at, .L80AE9A2C
/* 015D8 80AE9A18 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 015DC 80AE9A1C 10410007 */ beq $v0, $at, .L80AE9A3C
/* 015E0 80AE9A20 27B1009C */ addiu $s1, $sp, 0x009C ## $s1 = FFFFFFEC
/* 015E4 80AE9A24 10000009 */ beq $zero, $zero, .L80AE9A4C
/* 015E8 80AE9A28 27B1009C */ addiu $s1, $sp, 0x009C ## $s1 = FFFFFFEC
.L80AE9A2C:
/* 015EC 80AE9A2C 0C007D52 */ jal Item_DropCollectible
/* 015F0 80AE9A30 24060015 */ addiu $a2, $zero, 0x0015 ## $a2 = 00000015
/* 015F4 80AE9A34 10000006 */ beq $zero, $zero, .L80AE9A50
/* 015F8 80AE9A38 92420373 */ lbu $v0, 0x0373($s2) ## 00000373
.L80AE9A3C:
/* 015FC 80AE9A3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 01600 80AE9A40 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFEC
/* 01604 80AE9A44 0C007D52 */ jal Item_DropCollectible
/* 01608 80AE9A48 24060016 */ addiu $a2, $zero, 0x0016 ## $a2 = 00000016
.L80AE9A4C:
/* 0160C 80AE9A4C 92420373 */ lbu $v0, 0x0373($s2) ## 00000373
.L80AE9A50:
/* 01610 80AE9A50 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01614 80AE9A54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 01618 80AE9A58 10410006 */ beq $v0, $at, .L80AE9A74
/* 0161C 80AE9A5C 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFEC
/* 01620 80AE9A60 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01624 80AE9A64 10410007 */ beq $v0, $at, .L80AE9A84
/* 01628 80AE9A68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 0162C 80AE9A6C 10000009 */ beq $zero, $zero, .L80AE9A94
/* 01630 80AE9A70 92490374 */ lbu $t1, 0x0374($s2) ## 00000374
.L80AE9A74:
/* 01634 80AE9A74 0C007D52 */ jal Item_DropCollectible
/* 01638 80AE9A78 24060018 */ addiu $a2, $zero, 0x0018 ## $a2 = 00000018
/* 0163C 80AE9A7C 10000005 */ beq $zero, $zero, .L80AE9A94
/* 01640 80AE9A80 92490374 */ lbu $t1, 0x0374($s2) ## 00000374
.L80AE9A84:
/* 01644 80AE9A84 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFEC
/* 01648 80AE9A88 0C007D52 */ jal Item_DropCollectible
/* 0164C 80AE9A8C 24060017 */ addiu $a2, $zero, 0x0017 ## $a2 = 00000017
/* 01650 80AE9A90 92490374 */ lbu $t1, 0x0374($s2) ## 00000374
.L80AE9A94:
/* 01654 80AE9A94 3C0580AF */ lui $a1, %hi(D_80AEA640) ## $a1 = 80AF0000
/* 01658 80AE9A98 3C0480AF */ lui $a0, %hi(D_80AEA808) ## $a0 = 80AF0000
/* 0165C 80AE9A9C 00095080 */ sll $t2, $t1, 2
/* 01660 80AE9AA0 00AA2821 */ addu $a1, $a1, $t2
/* 01664 80AE9AA4 8CA5A640 */ lw $a1, %lo(D_80AEA640)($a1)
/* 01668 80AE9AA8 0C00084C */ jal osSyncPrintf
/* 0166C 80AE9AAC 2484A808 */ addiu $a0, $a0, %lo(D_80AEA808) ## $a0 = 80AEA808
/* 01670 80AE9AB0 924B0374 */ lbu $t3, 0x0374($s2) ## 00000374
/* 01674 80AE9AB4 2D610006 */ sltiu $at, $t3, 0x0006
/* 01678 80AE9AB8 10200024 */ beq $at, $zero, .L80AE9B4C
/* 0167C 80AE9ABC 000B5880 */ sll $t3, $t3, 2
/* 01680 80AE9AC0 3C0180AF */ lui $at, %hi(jtbl_80AEA91C) ## $at = 80AF0000
/* 01684 80AE9AC4 002B0821 */ addu $at, $at, $t3
/* 01688 80AE9AC8 8C2BA91C */ lw $t3, %lo(jtbl_80AEA91C)($at)
/* 0168C 80AE9ACC 01600008 */ jr $t3
/* 01690 80AE9AD0 00000000 */ nop
glabel L80AE9AD4
/* 01694 80AE9AD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 01698 80AE9AD8 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFEC
/* 0169C 80AE9ADC 0C007D52 */ jal Item_DropCollectible
/* 016A0 80AE9AE0 2406000F */ addiu $a2, $zero, 0x000F ## $a2 = 0000000F
/* 016A4 80AE9AE4 1000001E */ beq $zero, $zero, .L80AE9B60
/* 016A8 80AE9AE8 00000000 */ nop
glabel L80AE9AEC
/* 016AC 80AE9AEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 016B0 80AE9AF0 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFEC
/* 016B4 80AE9AF4 0C007D52 */ jal Item_DropCollectible
/* 016B8 80AE9AF8 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 016BC 80AE9AFC 10000018 */ beq $zero, $zero, .L80AE9B60
/* 016C0 80AE9B00 00000000 */ nop
glabel L80AE9B04
/* 016C4 80AE9B04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 016C8 80AE9B08 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFEC
/* 016CC 80AE9B0C 0C007D52 */ jal Item_DropCollectible
/* 016D0 80AE9B10 24060012 */ addiu $a2, $zero, 0x0012 ## $a2 = 00000012
/* 016D4 80AE9B14 10000012 */ beq $zero, $zero, .L80AE9B60
/* 016D8 80AE9B18 00000000 */ nop
glabel L80AE9B1C
/* 016DC 80AE9B1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 016E0 80AE9B20 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFEC
/* 016E4 80AE9B24 0C007D52 */ jal Item_DropCollectible
/* 016E8 80AE9B28 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 016EC 80AE9B2C 1000000C */ beq $zero, $zero, .L80AE9B60
/* 016F0 80AE9B30 00000000 */ nop
glabel L80AE9B34
/* 016F4 80AE9B34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 016F8 80AE9B38 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFEC
/* 016FC 80AE9B3C 0C007D52 */ jal Item_DropCollectible
/* 01700 80AE9B40 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 01704 80AE9B44 10000006 */ beq $zero, $zero, .L80AE9B60
/* 01708 80AE9B48 00000000 */ nop
glabel L80AE9B4C
.L80AE9B4C:
/* 0170C 80AE9B4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 01710 80AE9B50 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 01714 80AE9B54 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFEC
/* 01718 80AE9B58 0C007E50 */ jal Item_DropCollectibleRandom
/* 0171C 80AE9B5C 240700C0 */ addiu $a3, $zero, 0x00C0 ## $a3 = 000000C0
.L80AE9B60:
/* 01720 80AE9B60 0C00B55C */ jal Actor_Kill
/* 01724 80AE9B64 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 01728 80AE9B68 10000041 */ beq $zero, $zero, .L80AE9C70
/* 0172C 80AE9B6C 8FBF005C */ lw $ra, 0x005C($sp)
.L80AE9B70:
/* 01730 80AE9B70 24010058 */ addiu $at, $zero, 0x0058 ## $at = 00000058
/* 01734 80AE9B74 1441002C */ bne $v0, $at, .L80AE9C28
/* 01738 80AE9B78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 0173C 80AE9B7C C64A0024 */ lwc1 $f10, 0x0024($s2) ## 00000024
/* 01740 80AE9B80 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 01744 80AE9B84 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
/* 01748 80AE9B88 E7AA0090 */ swc1 $f10, 0x0090($sp)
/* 0174C 80AE9B8C C6440028 */ lwc1 $f4, 0x0028($s2) ## 00000028
/* 01750 80AE9B90 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01754 80AE9B94 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064
/* 01758 80AE9B98 46062400 */ add.s $f16, $f4, $f6
/* 0175C 80AE9B9C 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
/* 01760 80AE9BA0 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 01764 80AE9BA4 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 01768 80AE9BA8 E7B00094 */ swc1 $f16, 0x0094($sp)
/* 0176C 80AE9BAC C648002C */ lwc1 $f8, 0x002C($s2) ## 0000002C
/* 01770 80AE9BB0 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 01774 80AE9BB4 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 01778 80AE9BB8 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 0177C 80AE9BBC 24090009 */ addiu $t1, $zero, 0x0009 ## $t1 = 00000009
/* 01780 80AE9BC0 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 01784 80AE9BC4 AFAA003C */ sw $t2, 0x003C($sp)
/* 01788 80AE9BC8 AFA90038 */ sw $t1, 0x0038($sp)
/* 0178C 80AE9BCC AFA80034 */ sw $t0, 0x0034($sp)
/* 01790 80AE9BD0 AFB90028 */ sw $t9, 0x0028($sp)
/* 01794 80AE9BD4 AFB80024 */ sw $t8, 0x0024($sp)
/* 01798 80AE9BD8 AFA00030 */ sw $zero, 0x0030($sp)
/* 0179C 80AE9BDC AFA0002C */ sw $zero, 0x002C($sp)
/* 017A0 80AE9BE0 AFAF0020 */ sw $t7, 0x0020($sp)
/* 017A4 80AE9BE4 AFAE001C */ sw $t6, 0x001C($sp)
/* 017A8 80AE9BE8 AFAD0018 */ sw $t5, 0x0018($sp)
/* 017AC 80AE9BEC AFA00014 */ sw $zero, 0x0014($sp)
/* 017B0 80AE9BF0 AFAC0010 */ sw $t4, 0x0010($sp)
/* 017B4 80AE9BF4 27A50090 */ addiu $a1, $sp, 0x0090 ## $a1 = FFFFFFE0
/* 017B8 80AE9BF8 27A60084 */ addiu $a2, $sp, 0x0084 ## $a2 = FFFFFFD4
/* 017BC 80AE9BFC 27A70078 */ addiu $a3, $sp, 0x0078 ## $a3 = FFFFFFC8
/* 017C0 80AE9C00 E7A00084 */ swc1 $f0, 0x0084($sp)
/* 017C4 80AE9C04 E7A00088 */ swc1 $f0, 0x0088($sp)
/* 017C8 80AE9C08 E7A0008C */ swc1 $f0, 0x008C($sp)
/* 017CC 80AE9C0C E7A00078 */ swc1 $f0, 0x0078($sp)
/* 017D0 80AE9C10 E7A0007C */ swc1 $f0, 0x007C($sp)
/* 017D4 80AE9C14 E7A00080 */ swc1 $f0, 0x0080($sp)
/* 017D8 80AE9C18 0C00A9AE */ jal EffectSsDeadDb_Spawn
/* 017DC 80AE9C1C E7A80098 */ swc1 $f8, 0x0098($sp)
/* 017E0 80AE9C20 10000013 */ beq $zero, $zero, .L80AE9C70
/* 017E4 80AE9C24 8FBF005C */ lw $ra, 0x005C($sp)
.L80AE9C28:
/* 017E8 80AE9C28 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 017EC 80AE9C2C 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 017F0 80AE9C30 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 017F4 80AE9C34 26440050 */ addiu $a0, $s2, 0x0050 ## $a0 = 00000050
/* 017F8 80AE9C38 4406A000 */ mfc1 $a2, $f20
/* 017FC 80AE9C3C 44050000 */ mfc1 $a1, $f0
/* 01800 80AE9C40 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01804 80AE9C44 8E470368 */ lw $a3, 0x0368($s2) ## 00000368
/* 01808 80AE9C48 3C053A83 */ lui $a1, 0x3A83 ## $a1 = 3A830000
/* 0180C 80AE9C4C 4406A000 */ mfc1 $a2, $f20
/* 01810 80AE9C50 3C073727 */ lui $a3, 0x3727 ## $a3 = 37270000
/* 01814 80AE9C54 34E7C5AC */ ori $a3, $a3, 0xC5AC ## $a3 = 3727C5AC
/* 01818 80AE9C58 34A5126F */ ori $a1, $a1, 0x126F ## $a1 = 3A83126F
/* 0181C 80AE9C5C 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01820 80AE9C60 26440368 */ addiu $a0, $s2, 0x0368 ## $a0 = 00000368
/* 01824 80AE9C64 C6520050 */ lwc1 $f18, 0x0050($s2) ## 00000050
/* 01828 80AE9C68 E6520058 */ swc1 $f18, 0x0058($s2) ## 00000058
/* 0182C 80AE9C6C 8FBF005C */ lw $ra, 0x005C($sp)
.L80AE9C70:
/* 01830 80AE9C70 D7B40048 */ ldc1 $f20, 0x0048($sp)
/* 01834 80AE9C74 8FB00050 */ lw $s0, 0x0050($sp)
/* 01838 80AE9C78 8FB10054 */ lw $s1, 0x0054($sp)
/* 0183C 80AE9C7C 8FB20058 */ lw $s2, 0x0058($sp)
/* 01840 80AE9C80 03E00008 */ jr $ra
/* 01844 80AE9C84 27BD00B0 */ addiu $sp, $sp, 0x00B0 ## $sp = 00000000

View file

@ -1,42 +0,0 @@
glabel func_80AE9C88
/* 01848 80AE9C88 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0184C 80AE9C8C AFBF0024 */ sw $ra, 0x0024($sp)
/* 01850 80AE9C90 AFB00020 */ sw $s0, 0x0020($sp)
/* 01854 80AE9C94 AFA5002C */ sw $a1, 0x002C($sp)
/* 01858 80AE9C98 848E01EA */ lh $t6, 0x01EA($a0) ## 000001EA
/* 0185C 80AE9C9C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01860 80AE9CA0 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 01864 80AE9CA4 15C00006 */ bne $t6, $zero, .L80AE9CC0
/* 01868 80AE9CA8 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 0186C 80AE9CAC 3C0F80AF */ lui $t7, %hi(func_80AE95B0) ## $t7 = 80AF0000
/* 01870 80AE9CB0 25EF95B0 */ addiu $t7, $t7, %lo(func_80AE95B0) ## $t7 = 80AE95B0
/* 01874 80AE9CB4 A0800375 */ sb $zero, 0x0375($a0) ## 00000375
/* 01878 80AE9CB8 10000013 */ beq $zero, $zero, .L80AE9D08
/* 0187C 80AE9CBC AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C
.L80AE9CC0:
/* 01880 80AE9CC0 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 01884 80AE9CC4 AFA00010 */ sw $zero, 0x0010($sp)
/* 01888 80AE9CC8 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 0188C 80AE9CCC 00A12821 */ addu $a1, $a1, $at
/* 01890 80AE9CD0 00052C00 */ sll $a1, $a1, 16
/* 01894 80AE9CD4 00052C03 */ sra $a1, $a1, 16
/* 01898 80AE9CD8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 0189C 80AE9CDC 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 018A0 80AE9CE0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 018A4 80AE9CE4 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068
/* 018A8 80AE9CE8 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6
/* 018AC 80AE9CEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 018B0 80AE9CF0 46062032 */ c.eq.s $f4, $f6
/* 018B4 80AE9CF4 A6180032 */ sh $t8, 0x0032($s0) ## 00000032
/* 018B8 80AE9CF8 45020004 */ bc1fl .L80AE9D0C
/* 018BC 80AE9CFC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 018C0 80AE9D00 0C2BA187 */ jal func_80AE861C
/* 018C4 80AE9D04 3C054000 */ lui $a1, 0x4000 ## $a1 = 40000000
.L80AE9D08:
/* 018C8 80AE9D08 8FBF0024 */ lw $ra, 0x0024($sp)
.L80AE9D0C:
/* 018CC 80AE9D0C 8FB00020 */ lw $s0, 0x0020($sp)
/* 018D0 80AE9D10 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 018D4 80AE9D14 03E00008 */ jr $ra
/* 018D8 80AE9D18 00000000 */ nop

View file

@ -1,31 +0,0 @@
glabel func_80AE9D1C
/* 018DC 80AE9D1C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 018E0 80AE9D20 AFBF0014 */ sw $ra, 0x0014($sp)
/* 018E4 80AE9D24 908E0114 */ lbu $t6, 0x0114($a0) ## 00000114
/* 018E8 80AE9D28 55C00013 */ bnel $t6, $zero, .L80AE9D78
/* 018EC 80AE9D2C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 018F0 80AE9D30 848F0378 */ lh $t7, 0x0378($a0) ## 00000378
/* 018F4 80AE9D34 A0800376 */ sb $zero, 0x0376($a0) ## 00000376
/* 018F8 80AE9D38 51E00006 */ beql $t7, $zero, .L80AE9D54
/* 018FC 80AE9D3C 909800AF */ lbu $t8, 0x00AF($a0) ## 000000AF
/* 01900 80AE9D40 0C2BA25A */ jal func_80AE8968
/* 01904 80AE9D44 00000000 */ nop
/* 01908 80AE9D48 1000000B */ beq $zero, $zero, .L80AE9D78
/* 0190C 80AE9D4C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01910 80AE9D50 909800AF */ lbu $t8, 0x00AF($a0) ## 000000AF
.L80AE9D54:
/* 01914 80AE9D54 3C1980AF */ lui $t9, %hi(func_80AE95B0) ## $t9 = 80AF0000
/* 01918 80AE9D58 273995B0 */ addiu $t9, $t9, %lo(func_80AE95B0) ## $t9 = 80AE95B0
/* 0191C 80AE9D5C 13000003 */ beq $t8, $zero, .L80AE9D6C
/* 01920 80AE9D60 00000000 */ nop
/* 01924 80AE9D64 10000003 */ beq $zero, $zero, .L80AE9D74
/* 01928 80AE9D68 AC99014C */ sw $t9, 0x014C($a0) ## 0000014C
.L80AE9D6C:
/* 0192C 80AE9D6C 0C2BA33E */ jal func_80AE8CF8
/* 01930 80AE9D70 00000000 */ nop
.L80AE9D74:
/* 01934 80AE9D74 8FBF0014 */ lw $ra, 0x0014($sp)
.L80AE9D78:
/* 01938 80AE9D78 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0193C 80AE9D7C 03E00008 */ jr $ra
/* 01940 80AE9D80 00000000 */ nop

View file

@ -1,37 +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 En_Rr_InitVars
.word 0x00DD0500, 0x00000435, 0x00D40000, 0x000023C4
.word EnRr_Init
.word EnRr_Destroy
.word EnRr_Update
.word EnRr_Draw
glabel D_80AEA640
.word D_80AEA720
.word D_80AEA72C
.word D_80AEA738
.word D_80AEA744
.word D_80AEA750
.word D_80AEA75C
glabel D_80AEA658
.word 0x0A000909, 0x01000000, 0x00000000, 0xFFCFFFFF, 0x00080000, 0xFFCFFFFF, 0x00000000, 0x01050100, 0x001E0037, 0x00000000, 0x00000000
glabel D_80AEA684
.word 0x0A000D0D, 0x01000000, 0x00000000, 0xFFCFFFFF, 0x00080000, 0xFFCFFFFF, 0x00000000, 0x01010100, 0x00140014, 0xFFF60000, 0x00000000
glabel D_80AEA6B0
.word 0x00F2F1F2, 0x10F2F210, 0xF1F2F424, 0x34BFD4CF, 0xEF24334A, 0x0000F1F4, 0xF2F2F8F4, 0xEA000000
glabel D_80AEA6D0
.word 0x89170037, 0x801F0002, 0x304C001E
glabel D_80AEA6DC
.word 0x00000000, 0x43FA0000, 0x443B8000, 0x447A0000, 0x447A0000
glabel D_80AEA6F0
.word 0x41C80000, 0x00000000, 0x00000000, 0xC1C80000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x41C80000, 0x00000000, 0x00000000, 0xC1C80000

View file

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

View file

@ -917,6 +917,7 @@ void func_80062B80(GlobalContext*, Vec3f*);
void func_80062CD4(GlobalContext* globalCtx, Vec3f* v);
void func_80062D60(GlobalContext* globalCtx, Vec3f* v);
void func_80062DAC(GlobalContext* globalCtx, Vec3f* v, Vec3f* arg2);
void func_80062DF4(GlobalContext* globalCtx, Vec3f* v);
void func_80062E14(GlobalContext* globalCtx, Vec3f* arg1, Vec3f* arg2);
s32 func_80062ECC(f32, f32, f32, Vec3f*, Vec3f*, Vec3f*, Vec3f*, Vec3f*);
void SaveContext_Init(void);

3
spec
View file

@ -2922,8 +2922,7 @@ endseg
beginseg
name "ovl_En_Rr"
include "build/src/overlays/actors/ovl_En_Rr/z_en_rr.o"
include "build/data/overlays/actors/z_en_rr.data.o"
include "build/data/overlays/actors/z_en_rr.reloc.o"
include "build/src/overlays/actors/ovl_En_Rr/ovl_En_Rr_reloc.o"
endseg
beginseg

View file

@ -1,15 +1,71 @@
/*
* File: z_en_rr.c
* Overlay: ovl_En_Rr
* Description: Like Like
*/
#include "z_en_rr.h"
#include "vt.h"
#define FLAGS 0x00000435
#define THIS ((EnRr*)thisx)
#define RR_MESSAGE_SHIELD (1 << 0)
#define RR_MESSAGE_TUNIC (1 << 1)
#define RR_MOUTH 4
#define RR_BASE 0
typedef enum {
/* 0 */ REACH_NONE,
/* 1 */ REACH_EXTEND,
/* 2 */ REACH_STOP,
/* 3 */ REACH_OPEN,
/* 4 */ REACH_GAPE,
/* 5 */ REACH_CLOSE
} EnRrReachState;
typedef enum {
/* 0x1 */ RR_DAMAGE_STUN = 1,
/* 0x2 */ RR_DAMAGE_FIRE,
/* 0x3 */ RR_DAMAGE_ICE,
/* 0x4 */ RR_DAMAGE_LIGHT_MAGIC,
/* 0xB */ RR_DAMAGE_LIGHT_ARROW = 11,
/* 0xC */ RR_DAMAGE_UNK_ARROW_1,
/* 0xD */ RR_DAMAGE_UNK_ARROW_2,
/* 0xE */ RR_DAMAGE_UNK_ARROW_3,
/* 0xF */ RR_DAMAGE_NORMAL
} EnRrDamageEffect;
typedef enum {
/* 0 */ RR_DROP_RANDOM_RUPEE,
/* 1 */ RR_DROP_MAGIC,
/* 2 */ RR_DROP_ARROW,
/* 3 */ RR_DROP_FLEXIBLE,
/* 4 */ RR_DROP_RUPEE_PURPLE,
/* 5 */ RR_DROP_RUPEE_RED
} EnRrDropType;
void EnRr_Init(Actor* thisx, GlobalContext* globalCtx);
void EnRr_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnRr_Update(Actor* thisx, GlobalContext* globalCtx);
void EnRr_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void EnRr_InitBodySegments(EnRr* this, GlobalContext* globalCtx);
void EnRr_SetupDamage(EnRr* this);
void EnRr_SetupDeath(EnRr* this);
void EnRr_Approach(EnRr* this, GlobalContext* globalCtx);
void EnRr_Reach(EnRr* this, GlobalContext* globalCtx);
void EnRr_GrabPlayer(EnRr* this, GlobalContext* globalCtx);
void EnRr_Damage(EnRr* this, GlobalContext* globalCtx);
void EnRr_Death(EnRr* this, GlobalContext* globalCtx);
void EnRr_Retreat(EnRr* this, GlobalContext* globalCtx);
void EnRr_Stunned(EnRr* this, GlobalContext* globalCtx);
extern Gfx D_06000470[];
const ActorInit En_Rr_InitVars = {
ACTOR_EN_RR,
ACTORTYPE_ENEMY,
@ -21,51 +77,775 @@ const ActorInit En_Rr_InitVars = {
(ActorFunc)EnRr_Update,
(ActorFunc)EnRr_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/EnRr_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/EnRr_Destroy.s")
static char* sDropNames[] = {
// "type 7", "small magic jar", "arrow", "fairy", "20 rupees", "50 rupees"
"タイプ7 ", "魔法の壷小", "", "妖精 ", "20ルピー ", "50ルピー ",
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE861C.s")
static ColliderCylinderInit_Set3 sCylinderInit1 = {
{ COLTYPE_UNK10, 0x00, 0x09, 0x09, COLSHAPE_CYLINDER },
{ 0x00, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x01, 0x05, 0x01 },
{ 30, 55, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8644.s")
static ColliderCylinderInit_Set3 sCylinderInit2 = {
{ COLTYPE_UNK10, 0x00, 0x0D, 0x0D, COLSHAPE_CYLINDER },
{ 0x00, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x01, 0x01, 0x01 },
{ 20, 20, -10, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8744.s")
static DamageTable sDamageTable = {
0x00, 0xF2, 0xF1, 0xF2, 0x10, 0xF2, 0xF2, 0x10, 0xF1, 0xF2, 0xF4, 0x24, 0x34, 0xBF, 0xD4, 0xCF,
0xEF, 0x24, 0x33, 0x4A, 0x00, 0x00, 0xF1, 0xF4, 0xF2, 0xF2, 0xF8, 0xF4, 0xEA, 0x00, 0x00, 0x00,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8810.s")
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 55, ICHAIN_CONTINUE),
ICHAIN_U8(unk_1F, 2, ICHAIN_CONTINUE),
ICHAIN_F32(unk_4C, 30, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8918.s")
void EnRr_Init(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
EnRr* this = THIS;
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8968.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.colChkInfo.damageTable = &sDamageTable;
this->actor.colChkInfo.health = 4;
Collider_InitCylinder(globalCtx, &this->collider1);
Collider_SetCylinder_Set3(globalCtx, &this->collider1, &this->actor, &sCylinderInit1);
Collider_InitCylinder(globalCtx, &this->collider2);
Collider_SetCylinder_Set3(globalCtx, &this->collider2, &this->actor, &sCylinderInit2);
Actor_SetHeight(&this->actor, 30.0f);
this->actor.scale.y = 0.013f;
this->actor.scale.x = this->actor.scale.z = 0.014f;
this->actor.colChkInfo.mass = 0xFF;
this->actor.velocity.y = this->actor.speedXZ = 0.0f;
this->actor.gravity = -0.4f;
this->actionTimer = 0;
this->eatenShield = 0;
this->eatenTunic = 0;
this->retreat = false;
this->grabTimer = 0;
this->invincibilityTimer = 0;
this->effectTimer = 0;
this->hasPlayer = false;
this->stopScroll = false;
this->ocTimer = 0;
this->reachState = this->isDead = false;
this->actionFunc = EnRr_Approach;
for (i = 0; i < 5; i++) {
this->bodySegs[i].height = this->bodySegs[i].heightTarget = this->bodySegs[i].scaleMod.x =
this->bodySegs[i].scaleMod.y = this->bodySegs[i].scaleMod.z = 0.0f;
}
EnRr_InitBodySegments(this, globalCtx);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8B78.s")
void EnRr_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnRr* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8C44.s")
Collider_DestroyCylinder(globalCtx, &this->collider1);
Collider_DestroyCylinder(globalCtx, &this->collider2);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8CF8.s")
void EnRr_SetSpeed(EnRr* this, f32 speed) {
this->actor.speedXZ = speed;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_LIKE_WALK);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8D9C.s")
void EnRr_SetupReach(EnRr* this) {
static f32 segmentHeights[] = { 0.0f, 500.0f, 750.0f, 1000.0f, 1000.0f };
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE8EA4.s")
this->reachState = 1;
this->actionTimer = 20;
this->segPhaseVelTarget = 2500.0f;
this->segMoveRate = 0.0f;
for (i = 0; i < 5; i++) {
this->bodySegs[i].heightTarget = segmentHeights[i];
this->bodySegs[i].scaleTarget.x = this->bodySegs[i].scaleTarget.z = 0.8f;
this->bodySegs[i].rotTarget.x = 6000.0f;
this->bodySegs[i].rotTarget.z = 0.0f;
}
this->actionFunc = EnRr_Reach;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_LIKE_UNARI);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE926C.s")
void EnRr_SetupNeutral(EnRr* this) {
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE942C.s")
this->reachState = 0;
this->segMoveRate = 0.0f;
this->segPhaseVelTarget = 2500.0f;
for (i = 0; i < 5; i++) {
this->bodySegs[i].heightTarget = 0.0f;
this->bodySegs[i].rotTarget.x = this->bodySegs[i].rotTarget.z = 0.0f;
this->bodySegs[i].scaleTarget.x = this->bodySegs[i].scaleTarget.z = 1.0f;
}
if (this->retreat) {
this->actionTimer = 100;
this->actionFunc = EnRr_Retreat;
} else {
this->actionTimer = 60;
this->actionFunc = EnRr_Approach;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE95B0.s")
void EnRr_SetupGrabPlayer(EnRr* this, Player* player) {
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE9670.s")
this->grabTimer = 100;
this->actor.flags &= ~1;
this->ocTimer = 8;
this->hasPlayer = true;
this->reachState = 0;
this->segMoveRate = this->swallowOffset = this->actor.speedXZ = 0.0f;
this->pulseSizeTarget = 0.15f;
this->segPhaseVelTarget = 5000.0f;
this->wobbleSizeTarget = 512.0f;
for (i = 0; i < 5; i++) {
this->bodySegs[i].heightTarget = 0.0f;
this->bodySegs[i].rotTarget.x = this->bodySegs[i].rotTarget.z = 0.0f;
this->bodySegs[i].scaleTarget.x = this->bodySegs[i].scaleTarget.z = 1.0f;
}
this->actionFunc = EnRr_GrabPlayer;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_LIKE_DRINK);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE978C.s")
u8 EnRr_GetMessage(u8 shield, u8 tunic) {
u8 messageIndex = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE9880.s")
if ((shield == PLAYER_SHIELD_DEKU) || (shield == PLAYER_SHIELD_HYLIAN)) {
messageIndex = RR_MESSAGE_SHIELD;
}
if ((tunic == 2 /* Goron tunic */) || (tunic == 3 /* Zora tunic */)) {
messageIndex |= RR_MESSAGE_TUNIC;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE98F8.s")
return messageIndex;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE9C88.s")
void EnRr_SetupReleasePlayer(EnRr* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
u8 shield;
u8 tunic;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/func_80AE9D1C.s")
this->actor.flags |= 1;
this->hasPlayer = false;
this->ocTimer = 110;
this->segMoveRate = 0.0f;
this->segPhaseVelTarget = 2500.0f;
this->wobbleSizeTarget = 2048.0f;
tunic = 0;
shield = PLAYER_SHIELD_NONE;
if (CUR_EQUIP_VALUE(EQUIP_SHIELD) != PLAYER_SHIELD_MIRROR) {
shield = Inventory_DeleteEquipment(globalCtx, EQUIP_SHIELD);
if (shield != PLAYER_SHIELD_NONE) {
this->eatenShield = shield;
this->retreat = true;
}
}
if (CUR_EQUIP_VALUE(EQUIP_TUNIC) != 1 /* Kokiri tunic*/) {
tunic = Inventory_DeleteEquipment(globalCtx, EQUIP_TUNIC);
if (tunic != 0) {
this->eatenTunic = tunic;
this->retreat = true;
}
}
player->actor.parent = NULL;
switch (EnRr_GetMessage(shield, tunic)) {
case RR_MESSAGE_SHIELD:
func_8010B680(globalCtx, 0x305F, NULL);
break;
case RR_MESSAGE_TUNIC:
func_8010B680(globalCtx, 0x3060, NULL);
break;
case RR_MESSAGE_TUNIC | RR_MESSAGE_SHIELD:
func_8010B680(globalCtx, 0x3061, NULL);
break;
}
osSyncPrintf(VT_FGCOL(YELLOW) "%s[%d] : Rr_Catch_Cancel" VT_RST "\n", "../z_en_rr.c", 650);
func_8002F6D4(globalCtx, &this->actor, 4.0f, this->actor.shape.rot.y, 12.0f, 8);
if (this->actor.dmgEffectTimer == 0) {
this->actionFunc = EnRr_Approach;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_LIKE_THROW);
} else if (this->actor.colChkInfo.health != 0) {
EnRr_SetupDamage(this);
} else {
EnRr_SetupDeath(this);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/EnRr_Update.s")
void EnRr_SetupDamage(EnRr* this) {
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Rr/EnRr_Draw.s")
this->reachState = 0;
this->actionTimer = 20;
this->segMoveRate = 0.0f;
this->segPhaseVelTarget = 2500.0f;
this->pulseSizeTarget = 0.0f;
this->wobbleSizeTarget = 0.0f;
for (i = 0; i < 5; i++) {
this->bodySegs[i].heightTarget = 0.0f;
this->bodySegs[i].rotTarget.x = this->bodySegs[i].rotTarget.z = 0.0f;
this->bodySegs[i].scaleTarget.x = this->bodySegs[i].scaleTarget.z = 1.0f;
}
this->actionFunc = EnRr_Damage;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_LIKE_DAMAGE);
}
void EnRr_SetupApproach(EnRr* this) {
s32 i;
this->segMoveRate = 0.0f;
this->pulseSizeTarget = 0.15f;
this->segPhaseVelTarget = 2500.0f;
this->wobbleSizeTarget = 2048.0f;
for (i = 0; i < 5; i++) {
this->bodySegs[i].heightTarget = 0.0f;
this->bodySegs[i].rotTarget.x = this->bodySegs[i].rotTarget.z = 0.0f;
this->bodySegs[i].scaleTarget.x = this->bodySegs[i].scaleTarget.z = 1.0f;
}
this->actionFunc = EnRr_Approach;
}
void EnRr_SetupDeath(EnRr* this) {
s32 i;
this->isDead = true;
this->frameCount = 0;
this->shrinkRate = 0.0f;
this->segMoveRate = 0.0f;
for (i = 0; i < 5; i++) {
this->bodySegs[i].heightTarget = 0.0f;
this->bodySegs[i].rotTarget.x = this->bodySegs[i].rotTarget.z = 0.0f;
}
this->actionFunc = EnRr_Death;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_LIKE_DEAD);
this->actor.flags &= ~1;
}
void EnRr_SetupStunned(EnRr* this) {
s32 i;
this->stopScroll = true;
this->segMovePhase = 0;
this->segPhaseVel = 0.0f;
this->segPhaseVelTarget = 2500.0f;
this->segPulsePhaseDiff = 0.0f;
this->segWobblePhaseDiffX = 0.0f;
this->segWobbleXTarget = 3.0f;
this->segWobblePhaseDiffZ = 0.0f;
this->segWobbleZTarget = 1.0f;
this->pulseSize = 0.0f;
this->pulseSizeTarget = 0.15f;
this->wobbleSize = 0.0f;
this->wobbleSizeTarget = 2048.0f;
for (i = 0; i < 5; i++) {
this->bodySegs[i].scaleMod.y = 0.0f;
this->bodySegs[i].rotTarget.x = 0.0f;
this->bodySegs[i].rotTarget.y = 0.0f;
this->bodySegs[i].rotTarget.z = 0.0f;
this->bodySegs[i].scale.x = this->bodySegs[i].scale.y = this->bodySegs[i].scale.z =
this->bodySegs[i].scaleTarget.x = this->bodySegs[i].scaleTarget.y = this->bodySegs[i].scaleTarget.z = 1.0f;
}
this->actionFunc = EnRr_Stunned;
}
void EnRr_CollisionCheck(EnRr* this, GlobalContext* globalCtx) {
Vec3f hitPos;
Player* player = PLAYER;
if (this->collider2.base.acFlags & 2) {
this->collider2.base.acFlags &= ~2;
// Kakin (not sure what this means)
osSyncPrintf(VT_FGCOL(GREEN) "カキン(%d)" VT_RST "\n", this->frameCount);
hitPos.x = this->collider2.body.bumper.unk_06.x;
hitPos.y = this->collider2.body.bumper.unk_06.y;
hitPos.z = this->collider2.body.bumper.unk_06.z;
func_80062DF4(globalCtx, &hitPos);
} else {
if (this->collider1.base.acFlags & 2) {
u8 dropType = RR_DROP_RANDOM_RUPEE;
this->collider1.base.acFlags &= ~2;
if (this->actor.colChkInfo.damageEffect != 0) {
hitPos.x = this->collider1.body.bumper.unk_06.x;
hitPos.y = this->collider1.body.bumper.unk_06.y;
hitPos.z = this->collider1.body.bumper.unk_06.z;
func_8005DFAC(globalCtx, NULL, &hitPos);
}
switch (this->actor.colChkInfo.damageEffect) {
case RR_DAMAGE_LIGHT_ARROW:
dropType++; // purple rupee
case RR_DAMAGE_UNK_ARROW_1:
dropType++; // flexible
case RR_DAMAGE_UNK_ARROW_2:
dropType++; // arrow
case RR_DAMAGE_UNK_ARROW_3:
dropType++; // magic jar
case RR_DAMAGE_NORMAL:
// ouch
osSyncPrintf(VT_FGCOL(RED) "いてっ( %d : LIFE %d : DAMAGE %d : %x )" VT_RST "\n",
this->frameCount, this->actor.colChkInfo.health, this->actor.colChkInfo.damage,
this->actor.colChkInfo.damageEffect);
this->stopScroll = false;
Actor_ApplyDamage(&this->actor);
this->invincibilityTimer = 40;
func_8003426C(&this->actor, 0x4000, 0xFF, 0x2000, this->invincibilityTimer);
if (this->hasPlayer) {
EnRr_SetupReleasePlayer(this, globalCtx);
} else if (this->actor.colChkInfo.health != 0) {
EnRr_SetupDamage(this);
} else {
this->dropType = dropType;
EnRr_SetupDeath(this);
}
return;
case RR_DAMAGE_FIRE: // Fire Arrow and Din's Fire
Actor_ApplyDamage(&this->actor);
if (this->actor.colChkInfo.health == 0) {
this->dropType = RR_DROP_RANDOM_RUPEE;
}
func_8003426C(&this->actor, 0x4000, 0xFF, 0x2000, 0x50);
this->effectTimer = 20;
EnRr_SetupStunned(this);
return;
case RR_DAMAGE_ICE: // Ice Arrow and unused ice magic
Actor_ApplyDamage(&this->actor);
if (this->actor.colChkInfo.health == 0) {
this->dropType = RR_DROP_RANDOM_RUPEE;
}
if (this->actor.dmgEffectTimer == 0) {
this->effectTimer = 20;
func_8003426C(&this->actor, 0, 0xFF, 0x2000, 0x50);
}
EnRr_SetupStunned(this);
return;
case RR_DAMAGE_LIGHT_MAGIC: // Unused light magic
Actor_ApplyDamage(&this->actor);
if (this->actor.colChkInfo.health == 0) {
this->dropType = RR_DROP_RUPEE_RED;
}
func_8003426C(&this->actor, -0x8000, 0xFF, 0x2000, 0x50);
EnRr_SetupStunned(this);
return;
case RR_DAMAGE_STUN: // Boomerang and Hookshot
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
func_8003426C(&this->actor, 0, 0xFF, 0x2000, 0x50);
EnRr_SetupStunned(this);
return;
}
}
if ((this->ocTimer == 0) && (this->actor.dmgEffectTimer == 0) && (player->invincibilityTimer == 0) &&
!(player->stateFlags2 & 0x80) && ((this->collider1.base.maskA & 2) || (this->collider2.base.maskA & 2))) {
this->collider1.base.maskA &= ~2;
this->collider2.base.maskA &= ~2;
// catch
osSyncPrintf(VT_FGCOL(GREEN) "キャッチ(%d)" VT_RST "\n", this->frameCount);
if (globalCtx->grabPlayer(globalCtx, player)) {
player->actor.parent = &this->actor;
this->stopScroll = false;
EnRr_SetupGrabPlayer(this, player);
}
}
}
}
void EnRr_InitBodySegments(EnRr* this, GlobalContext* globalCtx) {
s32 i;
this->segMovePhase = 0;
this->segPhaseVel = 0.0f;
this->segPhaseVelTarget = 2500.0f;
this->segPulsePhaseDiff = 0.0f;
this->segWobblePhaseDiffX = 0.0f;
this->segWobbleXTarget = 3.0f;
this->segWobblePhaseDiffZ = 0.0f;
this->segWobbleZTarget = 1.0f;
this->pulseSize = 0.0f;
this->pulseSizeTarget = 0.15f;
this->wobbleSize = 0.0f;
this->wobbleSizeTarget = 2048.0f;
for (i = 0; i < 5; i++) {
this->bodySegs[i].scaleMod.y = 0.0f;
this->bodySegs[i].rotTarget.x = 0.0f;
this->bodySegs[i].rotTarget.y = 0.0f;
this->bodySegs[i].rotTarget.z = 0.0f;
this->bodySegs[i].scale.x = this->bodySegs[i].scale.y = this->bodySegs[i].scale.z =
this->bodySegs[i].scaleTarget.x = this->bodySegs[i].scaleTarget.y = this->bodySegs[i].scaleTarget.z = 1.0f;
}
for (i = 0; i < 5; i++) {
this->bodySegs[i].scaleMod.x = this->bodySegs[i].scaleMod.z =
Math_Coss(i * (u32)(s16)this->segPulsePhaseDiff * 0x1000) * this->pulseSize;
}
for (i = 1; i < 5; i++) {
this->bodySegs[i].rotTarget.x = Math_Coss(i * (u32)(s16)this->segWobblePhaseDiffX * 0x1000) * this->wobbleSize;
this->bodySegs[i].rotTarget.z = Math_Sins(i * (u32)(s16)this->segWobblePhaseDiffZ * 0x1000) * this->wobbleSize;
}
}
void EnRr_UpdateBodySegments(EnRr* this, GlobalContext* globalCtx) {
s32 i;
s16 phase = this->segMovePhase;
if (!this->isDead) {
for (i = 0; i < 5; i++) {
this->bodySegs[i].scaleMod.x = this->bodySegs[i].scaleMod.z =
Math_Coss(phase + i * (s16)this->segPulsePhaseDiff * 0x1000) * this->pulseSize;
}
phase = this->segMovePhase;
if (!this->isDead && (this->reachState == 0)) {
for (i = 1; i < 5; i++) {
this->bodySegs[i].rotTarget.x =
Math_Coss(phase + i * (s16)this->segWobblePhaseDiffX * 0x1000) * this->wobbleSize;
this->bodySegs[i].rotTarget.z =
Math_Sins(phase + i * (s16)this->segWobblePhaseDiffZ * 0x1000) * this->wobbleSize;
}
}
}
if (!this->stopScroll) {
this->segMovePhase += (s16)this->segPhaseVel;
}
}
void EnRr_Approach(EnRr* this, GlobalContext* globalCtx) {
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 0xA, 0x1F4, 0);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
if ((this->actionTimer == 0) && (this->actor.xzDistFromLink < 160.0f)) {
EnRr_SetupReach(this);
} else if ((this->actor.xzDistFromLink < 400.0f) && (this->actor.speedXZ == 0.0f)) {
EnRr_SetSpeed(this, 2.0f);
}
}
void EnRr_Reach(EnRr* this, GlobalContext* globalCtx) {
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 0xA, 0x1F4, 0);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
switch (this->reachState) {
case REACH_EXTEND:
if (this->actionTimer == 0) {
this->reachState = REACH_STOP;
}
break;
case REACH_STOP:
if (this->actionTimer == 0) {
this->actionTimer = 5;
this->bodySegs[RR_MOUTH].scaleTarget.x = this->bodySegs[RR_MOUTH].scaleTarget.z = 1.5f;
this->reachState = REACH_OPEN;
}
break;
case REACH_OPEN:
if (this->actionTimer == 0) {
this->actionTimer = 2;
this->bodySegs[RR_MOUTH].heightTarget = 2000.0f;
this->reachState = REACH_GAPE;
}
break;
case REACH_GAPE:
if (this->actionTimer == 0) {
this->actionTimer = 20;
this->bodySegs[RR_MOUTH].scaleTarget.x = this->bodySegs[RR_MOUTH].scaleTarget.z = 0.8f;
this->reachState = REACH_CLOSE;
}
break;
case REACH_CLOSE:
if (this->actionTimer == 0) {
EnRr_SetupNeutral(this);
}
break;
}
}
void EnRr_GrabPlayer(EnRr* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
func_800AA000(this->actor.xyzDistFromLinkSq, 120, 2, 120);
if ((this->frameCount % 8) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_LIKE_EAT);
}
this->ocTimer = 8;
if ((this->grabTimer == 0) || !(player->stateFlags2 & 0x80)) {
EnRr_SetupReleasePlayer(this, globalCtx);
} else {
Math_SmoothScaleMaxF(&player->actor.posRot.pos.x, this->mouthPos.x, 1.0f, 30.0f);
Math_SmoothScaleMaxF(&player->actor.posRot.pos.y, this->mouthPos.y + this->swallowOffset, 1.0f, 30.0f);
Math_SmoothScaleMaxF(&player->actor.posRot.pos.z, this->mouthPos.z, 1.0f, 30.0f);
Math_SmoothScaleMaxF(&this->swallowOffset, -55.0f, 1.0f, 5.0f);
}
}
void EnRr_Damage(EnRr* this, GlobalContext* globalCtx) {
s32 i;
if (this->actor.dmgEffectTimer == 0) {
EnRr_SetupApproach(this);
} else if ((this->actor.dmgEffectTimer & 8) != 0) {
for (i = 1; i < 5; i++) {
this->bodySegs[i].rotTarget.z = 5000.0f;
}
} else {
for (i = 1; i < 5; i++) {
this->bodySegs[i].rotTarget.z = -5000.0f;
}
}
}
void EnRr_Death(EnRr* this, GlobalContext* globalCtx) {
s32 pad;
s32 i;
if (this->frameCount < 40) {
for (i = 0; i < 5; i++) {
Math_SmoothScaleMaxF(&this->bodySegs[i].heightTarget, i + 59 - (this->frameCount * 25.0f), 1.0f, 50.0f);
this->bodySegs[i].scaleTarget.x = this->bodySegs[i].scaleTarget.z =
(SQ(4 - i) * (f32)this->frameCount * 0.003f) + 1.0f;
}
} else if (this->frameCount >= 95) {
Vec3f dropPos;
dropPos.x = this->actor.posRot.pos.x;
dropPos.y = this->actor.posRot.pos.y;
dropPos.z = this->actor.posRot.pos.z;
switch (this->eatenShield) {
case PLAYER_SHIELD_DEKU:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_SHIELD_DEKU);
break;
case PLAYER_SHIELD_HYLIAN:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_SHIELD_HYLIAN);
break;
}
switch (this->eatenTunic) {
case PLAYER_TUNIC_GORON + 1:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_TUNIC_GORON);
break;
case PLAYER_TUNIC_ZORA + 1:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_TUNIC_ZORA);
break;
}
// dropped
osSyncPrintf(VT_FGCOL(GREEN) "「%s」が出た" VT_RST "\n", sDropNames[this->dropType]);
switch (this->dropType) {
case RR_DROP_MAGIC:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_MAGIC_SMALL);
break;
case RR_DROP_ARROW:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_ARROWS_SINGLE);
break;
case RR_DROP_FLEXIBLE:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_FLEXIBLE);
break;
case RR_DROP_RUPEE_PURPLE:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_RUPEE_PURPLE);
break;
case RR_DROP_RUPEE_RED:
Item_DropCollectible(globalCtx, &dropPos, ITEM00_RUPEE_RED);
break;
case RR_DROP_RANDOM_RUPEE:
default:
Item_DropCollectibleRandom(globalCtx, &this->actor, &dropPos, 12 << 4);
break;
}
Actor_Kill(&this->actor);
} else if (this->frameCount == 88) {
Vec3f pos;
Vec3f vel;
Vec3f accel;
pos.x = this->actor.posRot.pos.x;
pos.y = this->actor.posRot.pos.y + 20.0f;
pos.z = this->actor.posRot.pos.z;
vel.x = 0.0f;
vel.y = 0.0f;
vel.z = 0.0f;
accel.x = 0.0f;
accel.y = 0.0f;
accel.z = 0.0f;
EffectSsDeadDb_Spawn(globalCtx, &pos, &vel, &accel, 100, 0, 255, 255, 255, 255, 255, 0, 0, 1, 9, true);
} else {
Math_SmoothScaleMaxF(&this->actor.scale.x, 0.0f, 1.0f, this->shrinkRate);
Math_SmoothScaleMaxF(&this->shrinkRate, 0.001f, 1.0f, 0.00001f);
this->actor.scale.z = this->actor.scale.x;
}
}
void EnRr_Retreat(EnRr* this, GlobalContext* globalCtx) {
if (this->actionTimer == 0) {
this->retreat = false;
this->actionFunc = EnRr_Approach;
} else {
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.yawTowardsLink + 0x8000, 0xA, 0x3E8, 0);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
if (this->actor.speedXZ == 0.0f) {
EnRr_SetSpeed(this, 2.0f);
}
}
}
void EnRr_Stunned(EnRr* this, GlobalContext* globalCtx) {
if (this->actor.dmgEffectTimer == 0) {
this->stopScroll = false;
if (this->hasPlayer) {
EnRr_SetupReleasePlayer(this, globalCtx);
} else if (this->actor.colChkInfo.health != 0) {
this->actionFunc = EnRr_Approach;
} else {
EnRr_SetupDeath(this);
}
}
}
void EnRr_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnRr* this = THIS;
s32 i;
this->frameCount++;
if (!this->stopScroll) {
this->scrollTimer++;
}
if (this->actionTimer != 0) {
this->actionTimer--;
}
if (this->grabTimer != 0) {
this->grabTimer--;
}
if (this->ocTimer != 0) {
this->ocTimer--;
}
if (this->invincibilityTimer != 0) {
this->invincibilityTimer--;
}
if (this->effectTimer != 0) {
this->effectTimer--;
}
Actor_SetHeight(&this->actor, 30.0f);
EnRr_UpdateBodySegments(this, globalCtx);
if (!this->isDead && ((this->actor.dmgEffectTimer == 0) || !(this->actor.dmgEffectParams & 0x4000))) {
EnRr_CollisionCheck(this, globalCtx);
}
this->actionFunc(this, globalCtx);
if (this->hasPlayer == 0x3F80) { // checks if 1.0f has been stored to hasPlayer's address
__assert("0", "../z_en_rr.c", 1355);
}
Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.1f);
Actor_MoveForward(&this->actor);
Collider_CylinderUpdate(&this->actor, &this->collider1);
this->collider2.dim.pos.x = this->mouthPos.x;
this->collider2.dim.pos.y = this->mouthPos.y;
this->collider2.dim.pos.z = this->mouthPos.z;
if (!this->isDead && (this->invincibilityTimer == 0)) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
if (this->ocTimer == 0) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
}
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
} else {
this->collider2.base.maskA &= ~2;
this->collider2.base.acFlags &= ~2;
this->collider1.base.maskA &= ~2;
this->collider1.base.acFlags &= ~2;
}
func_8002E4B4(globalCtx, &this->actor, 20.0f, 30.0f, 20.0f, 7);
if (!this->stopScroll) {
Math_SmoothScaleMaxF(&this->segPhaseVel, this->segPhaseVelTarget, 1.0f, 50.0f);
Math_SmoothScaleMaxF(&this->segPulsePhaseDiff, 4.0f, 1.0f, 5.0f);
Math_SmoothScaleMaxF(&this->segWobblePhaseDiffX, this->segWobbleXTarget, 1.0f, 0.04f);
Math_SmoothScaleMaxF(&this->segWobblePhaseDiffZ, this->segWobbleZTarget, 1.0f, 0.01f);
Math_SmoothScaleMaxF(&this->pulseSize, this->pulseSizeTarget, 1.0f, 0.0015f);
Math_SmoothScaleMaxF(&this->wobbleSize, this->wobbleSizeTarget, 1.0f, 20.0f);
for (i = 0; i < 5; i++) {
Math_SmoothScaleMaxMinS(&this->bodySegs[i].rot.x, this->bodySegs[i].rotTarget.x, 5,
this->segMoveRate * 1000.0f, 0);
Math_SmoothScaleMaxMinS(&this->bodySegs[i].rot.z, this->bodySegs[i].rotTarget.z, 5,
this->segMoveRate * 1000.0f, 0);
Math_SmoothScaleMaxF(&this->bodySegs[i].scale.x, this->bodySegs[i].scaleTarget.x, 1.0f,
this->segMoveRate * 0.2f);
this->bodySegs[i].scale.z = this->bodySegs[i].scale.x;
Math_SmoothScaleMaxF(&this->bodySegs[i].height, this->bodySegs[i].heightTarget, 1.0f,
this->segMoveRate * 300.0f);
}
Math_SmoothScaleMaxF(&this->segMoveRate, 1.0f, 1.0f, 0.2f);
}
}
static Vec3f sEffectOffsets[] = {
{ 25.0f, 0.0f, 0.0f },
{ -25.0f, 0.0f, 0.0f },
{ 0.0f, 0.0f, 25.0f },
{ 0.0f, 0.0f, -25.0f },
};
void EnRr_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
Vec3f zeroVec;
EnRr* this = THIS;
s32 i;
Mtx* segMtx = Graph_Alloc(globalCtx->state.gfxCtx, 4 * sizeof(Mtx));
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_rr.c", 1478);
if (1) {}
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x0C, segMtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (this->scrollTimer * 0) & 0x7F,
(this->scrollTimer * 0) & 0x3F, 32, 16, 1, (this->scrollTimer * 0) & 0x3F,
(this->scrollTimer * -6) & 0x7F, 32, 16));
Matrix_Push();
Matrix_Scale((1.0f + this->bodySegs[RR_BASE].scaleMod.x) * this->bodySegs[RR_BASE].scale.x,
(1.0f + this->bodySegs[RR_BASE].scaleMod.y) * this->bodySegs[RR_BASE].scale.y,
(1.0f + this->bodySegs[RR_BASE].scaleMod.z) * this->bodySegs[RR_BASE].scale.z, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_rr.c", 1501),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
Matrix_Pull();
zeroVec.x = 0.0f;
zeroVec.y = 0.0f;
zeroVec.z = 0.0f;
for (i = 1; i < 5; i++) {
Matrix_Translate(0.0f, this->bodySegs[i].height + 1000.0f, 0.0f, MTXMODE_APPLY);
Matrix_RotateRPY(this->bodySegs[i].rot.x, this->bodySegs[i].rot.y, this->bodySegs[i].rot.z, MTXMODE_APPLY);
Matrix_Push();
Matrix_Scale((1.0f + this->bodySegs[i].scaleMod.x) * this->bodySegs[i].scale.x,
(1.0f + this->bodySegs[i].scaleMod.y) * this->bodySegs[i].scale.y,
(1.0f + this->bodySegs[i].scaleMod.z) * this->bodySegs[i].scale.z, MTXMODE_APPLY);
Matrix_ToMtx(segMtx, "../z_en_rr.c", 1527);
Matrix_Pull();
segMtx++;
Matrix_MultVec3f(&zeroVec, &this->effectPos[i]);
}
this->effectPos[0] = this->actor.posRot.pos;
Matrix_MultVec3f(&zeroVec, &this->mouthPos);
gSPDisplayList(POLY_XLU_DISP++, D_06000470);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_rr.c", 1551);
if (this->effectTimer != 0) {
Vec3f effectPos;
s16 effectTimer = this->effectTimer - 1;
this->actor.dmgEffectTimer++;
if ((effectTimer & 1) == 0) {
s32 segIndex = 4 - (effectTimer >> 2);
s32 offIndex = (effectTimer >> 1) & 3;
effectPos.x = this->effectPos[segIndex].x + sEffectOffsets[offIndex].x + Math_Rand_CenteredFloat(10.0f);
effectPos.y = this->effectPos[segIndex].y + sEffectOffsets[offIndex].y + Math_Rand_CenteredFloat(10.0f);
effectPos.z = this->effectPos[segIndex].z + sEffectOffsets[offIndex].z + Math_Rand_CenteredFloat(10.0f);
if (this->actor.dmgEffectParams & 0x4000) {
EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &effectPos, 100, 0, 0, -1);
} else {
EffectSsEnIce_SpawnFlyingVec3f(globalCtx, &this->actor, &effectPos, 150, 150, 150, 250, 235, 245, 255,
3.0f);
}
}
}
}

View file

@ -6,9 +6,57 @@
struct EnRr;
typedef void (*EnRrActionFunc)(struct EnRr*, GlobalContext*);
typedef struct {
/* 0x00 */ f32 height;
/* 0x04 */ f32 heightTarget;
/* 0x08 */ Vec3f scale;
/* 0x14 */ Vec3f scaleTarget;
/* 0x20 */ Vec3f scaleMod;
/* 0x2C */ Vec3f rotTarget;
/* 0x38 */ Vec3s rot;
} EnRrBodySegment; // size = 0x40
typedef struct EnRr {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x2278];
/* 0x014C */ EnRrActionFunc actionFunc;
/* 0x0150 */ ColliderCylinder collider1;
/* 0x019C */ ColliderCylinder collider2;
/* 0x01E8 */ s16 frameCount;
/* 0x01EA */ s16 actionTimer;
/* 0x01EC */ s16 scrollTimer;
/* 0x01EE */ s16 grabTimer;
/* 0x01F0 */ s16 invincibilityTimer;
/* 0x01F2 */ s16 effectTimer;
/* 0x01F4 */ s16 ocTimer;
/* 0x01F6 */ s16 segMovePhase; // phase angle for wobble and pulsing motion
/* 0x01F8 */ f32 segPhaseVel; // rate at which motion phase changes
/* 0x01FC */ f32 segPhaseVelTarget;
/* 0x0200 */ f32 segPulsePhaseDiff; // Phase diff between segment pulses. Affects how wave-y the pulse is.
/* 0x0204 */ f32 segWobblePhaseDiffX; // Phase diff between segment X rot. Affects how circular the wobble is.
/* 0x0208 */ f32 segWobbleXTarget;
/* 0x020C */ f32 segWobblePhaseDiffZ; // Phase diff between segment Z rot. Affects how circular the wobble is.
/* 0x0210 */ f32 segWobbleZTarget;
/* 0x0214 */ f32 pulseSize; // Amplitude of the scale pulsations
/* 0x0218 */ f32 pulseSizeTarget;
/* 0x021C */ f32 wobbleSize; // Amplitude of the wobbling motion
/* 0x0220 */ f32 wobbleSizeTarget;
/* 0x0224 */ EnRrBodySegment bodySegs[5];
/* 0x0364 */ f32 segMoveRate;
/* 0x0368 */ f32 shrinkRate;
/* 0x036C */ f32 swallowOffset;
/* 0x0370 */ u8 reachState;
/* 0x0371 */ u8 isDead;
/* 0x0372 */ u8 eatenShield;
/* 0x0373 */ u8 eatenTunic;
/* 0x0374 */ u8 dropType;
/* 0x0375 */ u8 retreat;
/* 0x0376 */ u8 stopScroll;
/* 0x0378 */ s16 hasPlayer;
/* 0x037C */ Vec3f mouthPos;
/* 0x0388 */ Vec3f effectPos[5];
/* 0x03C4 */ char unk_3C4[0x2000]; //! @bug This is a huge amount of wasted memory.
} EnRr; // size = 0x23C4
extern const ActorInit En_Rr_InitVars;

View file

@ -1343,6 +1343,9 @@ D_04049FE0 = 0x04049FE0;
D_06000AE8 = 0x06000AE8;
D_06001678 = 0x06001678;
// z_en_rr
D_06000470 = 0x06000470;
// z_bg_haka_tubo
D_060108B8 = 0x060108B8;
D_0600FE40 = 0x0600FE40;