1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

En_Syateki_Niw (#270)

* All matching, apart from the ones that aren't.

* Fix conflcit and 1 func

* Bugz

* Conflict 2

* Header

* Remove asm

* PR

* PR

* undefined syms

* PR
This commit is contained in:
Kelebek1 2020-08-20 23:34:18 +01:00 committed by GitHub
parent 296b20e925
commit 4bd417aeba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 981 additions and 2158 deletions

View File

@ -1,12 +0,0 @@
glabel EnSyatekiNiw_Destroy
/* 0017C 80B11A6C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00180 80B11A70 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00184 80B11A74 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00188 80B11A78 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0018C 80B11A7C 0C0170EB */ jal Collider_DestroyCylinder
/* 00190 80B11A80 24C502FC */ addiu $a1, $a2, 0x02FC ## $a1 = 000002FC
/* 00194 80B11A84 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00198 80B11A88 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0019C 80B11A8C 03E00008 */ jr $ra
/* 001A0 80B11A90 00000000 */ nop

View File

@ -1,45 +0,0 @@
glabel EnSyatekiNiw_Draw
/* 01820 80B13110 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 01824 80B13114 3C0E80B1 */ lui $t6, %hi(D_80B136DC) ## $t6 = 80B10000
/* 01828 80B13118 8DCE36DC */ lw $t6, %lo(D_80B136DC)($t6)
/* 0182C 80B1311C AFBF002C */ sw $ra, 0x002C($sp)
/* 01830 80B13120 AFB10028 */ sw $s1, 0x0028($sp)
/* 01834 80B13124 AFB00024 */ sw $s0, 0x0024($sp)
/* 01838 80B13128 AFAE0030 */ sw $t6, 0x0030($sp)
/* 0183C 80B1312C 8C980250 */ lw $t8, 0x0250($a0) ## 00000250
/* 01840 80B13130 3C0F80B1 */ lui $t7, %hi(func_80B128F8) ## $t7 = 80B10000
/* 01844 80B13134 25EF28F8 */ addiu $t7, $t7, %lo(func_80B128F8) ## $t7 = 80B128F8
/* 01848 80B13138 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0184C 80B1313C 11F80019 */ beq $t7, $t8, .L80B131A4
/* 01850 80B13140 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01854 80B13144 0C024F46 */ jal func_80093D18
/* 01858 80B13148 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 0185C 80B1314C 86190260 */ lh $t9, 0x0260($s0) ## 00000260
/* 01860 80B13150 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01864 80B13154 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF8
/* 01868 80B13158 13200003 */ beq $t9, $zero, .L80B13168
/* 0186C 80B1315C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01870 80B13160 0C00988C */ jal func_80026230
/* 01874 80B13164 24070014 */ addiu $a3, $zero, 0x0014 ## $a3 = 00000014
.L80B13168:
/* 01878 80B13168 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
/* 0187C 80B1316C 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
/* 01880 80B13170 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
/* 01884 80B13174 3C0880B1 */ lui $t0, %hi(func_80B12FE0) ## $t0 = 80B10000
/* 01888 80B13178 25082FE0 */ addiu $t0, $t0, %lo(func_80B12FE0) ## $t0 = 80B12FE0
/* 0188C 80B1317C AFA80010 */ sw $t0, 0x0010($sp)
/* 01890 80B13180 AFB00018 */ sw $s0, 0x0018($sp)
/* 01894 80B13184 AFA00014 */ sw $zero, 0x0014($sp)
/* 01898 80B13188 0C0286B2 */ jal SkelAnime_DrawSV
/* 0189C 80B1318C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 018A0 80B13190 0C009982 */ jal func_80026608
/* 018A4 80B13194 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 018A8 80B13198 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 018AC 80B1319C 0C2C4D19 */ jal func_80B13464
/* 018B0 80B131A0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
.L80B131A4:
/* 018B4 80B131A4 8FBF002C */ lw $ra, 0x002C($sp)
/* 018B8 80B131A8 8FB00024 */ lw $s0, 0x0024($sp)
/* 018BC 80B131AC 8FB10028 */ lw $s1, 0x0028($sp)
/* 018C0 80B131B0 03E00008 */ jr $ra
/* 018C4 80B131B4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View File

@ -1,127 +0,0 @@
.rdata
glabel D_80B136E0
.asciz "\n\n"
.balign 4
glabel D_80B136E4
.asciz "\x1b[32m \n\x1b[m"
.balign 4
glabel D_80B13710
.asciz "\n\n"
.balign 4
glabel D_80B13714
.asciz "\x1b[32m \n\x1b[m"
.balign 4
.text
glabel EnSyatekiNiw_Init
/* 00000 80B118F0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00004 80B118F4 AFA5003C */ sw $a1, 0x003C($sp)
/* 00008 80B118F8 AFBF002C */ sw $ra, 0x002C($sp)
/* 0000C 80B118FC AFB00028 */ sw $s0, 0x0028($sp)
/* 00010 80B11900 3C0580B1 */ lui $a1, %hi(D_80B1368C) ## $a1 = 80B10000
/* 00014 80B11904 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00018 80B11908 0C01E037 */ jal Actor_ProcessInitChain
/* 0001C 80B1190C 24A5368C */ addiu $a1, $a1, %lo(D_80B1368C) ## $a1 = 80B1368C
/* 00020 80B11910 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
/* 00024 80B11914 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 00028 80B11918 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 0002C 80B1191C 01C17824 */ and $t7, $t6, $at
/* 00030 80B11920 AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004
/* 00034 80B11924 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 00038 80B11928 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 0003C 80B1192C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00040 80B11930 0C00AC78 */ jal ActorShape_Init
/* 00044 80B11934 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
/* 00048 80B11938 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
/* 0004C 80B1193C 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 00050 80B11940 26180190 */ addiu $t8, $s0, 0x0190 ## $t8 = 00000190
/* 00054 80B11944 261901F0 */ addiu $t9, $s0, 0x01F0 ## $t9 = 000001F0
/* 00058 80B11948 24080010 */ addiu $t0, $zero, 0x0010 ## $t0 = 00000010
/* 0005C 80B1194C AFA80018 */ sw $t0, 0x0018($sp)
/* 00060 80B11950 AFB90014 */ sw $t9, 0x0014($sp)
/* 00064 80B11954 AFB80010 */ sw $t8, 0x0010($sp)
/* 00068 80B11958 24E700E8 */ addiu $a3, $a3, 0x00E8 ## $a3 = 060000E8
/* 0006C 80B1195C 24C62530 */ addiu $a2, $a2, 0x2530 ## $a2 = 06002530
/* 00070 80B11960 8FA4003C */ lw $a0, 0x003C($sp)
/* 00074 80B11964 0C0291BE */ jal SkelAnime_InitSV
/* 00078 80B11968 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 0007C 80B1196C 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
/* 00080 80B11970 260502FC */ addiu $a1, $s0, 0x02FC ## $a1 = 000002FC
/* 00084 80B11974 A609029E */ sh $t1, 0x029E($s0) ## 0000029E
/* 00088 80B11978 860A029E */ lh $t2, 0x029E($s0) ## 0000029E
/* 0008C 80B1197C 05430003 */ bgezl $t2, .L80B1198C
/* 00090 80B11980 8FA4003C */ lw $a0, 0x003C($sp)
/* 00094 80B11984 A600029E */ sh $zero, 0x029E($s0) ## 0000029E
/* 00098 80B11988 8FA4003C */ lw $a0, 0x003C($sp)
.L80B1198C:
/* 0009C 80B1198C 0C0170D9 */ jal Collider_InitCylinder
/* 000A0 80B11990 AFA50030 */ sw $a1, 0x0030($sp)
/* 000A4 80B11994 3C0780B1 */ lui $a3, %hi(D_80B13660) ## $a3 = 80B10000
/* 000A8 80B11998 8FA50030 */ lw $a1, 0x0030($sp)
/* 000AC 80B1199C 24E73660 */ addiu $a3, $a3, %lo(D_80B13660) ## $a3 = 80B13660
/* 000B0 80B119A0 8FA4003C */ lw $a0, 0x003C($sp)
/* 000B4 80B119A4 0C01712B */ jal Collider_SetCylinder
/* 000B8 80B119A8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000BC 80B119AC 860B029E */ lh $t3, 0x029E($s0) ## 0000029E
/* 000C0 80B119B0 3C0480B1 */ lui $a0, %hi(D_80B13710) ## $a0 = 80B10000
/* 000C4 80B119B4 1560000D */ bne $t3, $zero, .L80B119EC
/* 000C8 80B119B8 00000000 */ nop
/* 000CC 80B119BC 3C0480B1 */ lui $a0, %hi(D_80B136E0) ## $a0 = 80B10000
/* 000D0 80B119C0 0C00084C */ jal osSyncPrintf
/* 000D4 80B119C4 248436E0 */ addiu $a0, $a0, %lo(D_80B136E0) ## $a0 = 80B136E0
/* 000D8 80B119C8 3C0480B1 */ lui $a0, %hi(D_80B136E4) ## $a0 = 80B10000
/* 000DC 80B119CC 0C00084C */ jal osSyncPrintf
/* 000E0 80B119D0 248436E4 */ addiu $a0, $a0, %lo(D_80B136E4) ## $a0 = 80B136E4
/* 000E4 80B119D4 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 000E8 80B119D8 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 000EC 80B119DC 0C00B58B */ jal Actor_SetScale
/* 000F0 80B119E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000F4 80B119E4 1000000D */ beq $zero, $zero, .L80B11A1C
/* 000F8 80B119E8 26020024 */ addiu $v0, $s0, 0x0024 ## $v0 = 00000024
.L80B119EC:
/* 000FC 80B119EC 0C00084C */ jal osSyncPrintf
/* 00100 80B119F0 24843710 */ addiu $a0, $a0, %lo(D_80B13710) ## $a0 = 00003710
/* 00104 80B119F4 3C0480B1 */ lui $a0, %hi(D_80B13714) ## $a0 = 80B10000
/* 00108 80B119F8 0C00084C */ jal osSyncPrintf
/* 0010C 80B119FC 24843714 */ addiu $a0, $a0, %lo(D_80B13714) ## $a0 = 80B13714
/* 00110 80B11A00 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 00114 80B11A04 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 00118 80B11A08 A20C00AE */ sb $t4, 0x00AE($s0) ## 000000AE
/* 0011C 80B11A0C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 00120 80B11A10 0C00B58B */ jal Actor_SetScale
/* 00124 80B11A14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00128 80B11A18 26020024 */ addiu $v0, $s0, 0x0024 ## $v0 = 00000024
.L80B11A1C:
/* 0012C 80B11A1C 8C4E0000 */ lw $t6, 0x0000($v0) ## 00000024
/* 00130 80B11A20 3C1980B1 */ lui $t9, %hi(func_80B11DEC) ## $t9 = 80B10000
/* 00134 80B11A24 27391DEC */ addiu $t9, $t9, %lo(func_80B11DEC) ## $t9 = 80B11DEC
/* 00138 80B11A28 AE0E02DC */ sw $t6, 0x02DC($s0) ## 000002DC
/* 0013C 80B11A2C 8C4D0004 */ lw $t5, 0x0004($v0) ## 00000028
/* 00140 80B11A30 AE0D02E0 */ sw $t5, 0x02E0($s0) ## 000002E0
/* 00144 80B11A34 8C4E0008 */ lw $t6, 0x0008($v0) ## 0000002C
/* 00148 80B11A38 AE0E02E4 */ sw $t6, 0x02E4($s0) ## 000002E4
/* 0014C 80B11A3C 8C580000 */ lw $t8, 0x0000($v0) ## 00000024
/* 00150 80B11A40 AE1802E8 */ sw $t8, 0x02E8($s0) ## 000002E8
/* 00154 80B11A44 8C4F0004 */ lw $t7, 0x0004($v0) ## 00000028
/* 00158 80B11A48 AE0F02EC */ sw $t7, 0x02EC($s0) ## 000002EC
/* 0015C 80B11A4C 8C580008 */ lw $t8, 0x0008($v0) ## 0000002C
/* 00160 80B11A50 AE190250 */ sw $t9, 0x0250($s0) ## 00000250
/* 00164 80B11A54 AE1802F0 */ sw $t8, 0x02F0($s0) ## 000002F0
/* 00168 80B11A58 8FBF002C */ lw $ra, 0x002C($sp)
/* 0016C 80B11A5C 8FB00028 */ lw $s0, 0x0028($sp)
/* 00170 80B11A60 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00174 80B11A64 03E00008 */ jr $ra
/* 00178 80B11A68 00000000 */ nop

View File

@ -1,279 +0,0 @@
.late_rodata
glabel D_80B13788
.word 0xC61C4000
glabel jtbl_80B1378C
.word L80B11B74
.word L80B11B80
.word L80B11BB4
.word L80B11C14
.word L80B11C48
.word L80B11C5C
glabel D_80B137A4
.float 7000.0
glabel D_80B137A8
.float 7000.0
glabel D_80B137AC
.word 0x46C35000
glabel D_80B137B0
.float 6000.0
glabel D_80B137B4
.word 0xC61C4000
glabel D_80B137B8
.word 0xC61C4000
glabel D_80B137BC
.float 10000.0
glabel D_80B137C0
.float 3000.0
glabel D_80B137C4
.word 0x465AC000
glabel D_80B137C8
.float 10000.0
.text
glabel func_80B11A94
/* 001A4 80B11A94 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 001A8 80B11A98 AFBF001C */ sw $ra, 0x001C($sp)
/* 001AC 80B11A9C AFB00018 */ sw $s0, 0x0018($sp)
/* 001B0 80B11AA0 AFA50024 */ sw $a1, 0x0024($sp)
/* 001B4 80B11AA4 AFA60028 */ sw $a2, 0x0028($sp)
/* 001B8 80B11AA8 848E0254 */ lh $t6, 0x0254($a0) ## 00000254
/* 001BC 80B11AAC 00063400 */ sll $a2, $a2, 16
/* 001C0 80B11AB0 00063403 */ sra $a2, $a2, 16
/* 001C4 80B11AB4 15C0001D */ bne $t6, $zero, .L80B11B2C
/* 001C8 80B11AB8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 001CC 80B11ABC 14C00004 */ bne $a2, $zero, .L80B11AD0
/* 001D0 80B11AC0 3C0180B1 */ lui $at, %hi(D_80B13788) ## $at = 80B10000
/* 001D4 80B11AC4 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 001D8 80B11AC8 10000004 */ beq $zero, $zero, .L80B11ADC
/* 001DC 80B11ACC E4820264 */ swc1 $f2, 0x0264($a0) ## 00000264
.L80B11AD0:
/* 001E0 80B11AD0 C4243788 */ lwc1 $f4, %lo(D_80B13788)($at)
/* 001E4 80B11AD4 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 001E8 80B11AD8 E6040264 */ swc1 $f4, 0x0264($s0) ## 00000264
.L80B11ADC:
/* 001EC 80B11ADC 860F028E */ lh $t7, 0x028E($s0) ## 0000028E
/* 001F0 80B11AE0 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
/* 001F4 80B11AE4 A6190254 */ sh $t9, 0x0254($s0) ## 00000254
/* 001F8 80B11AE8 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 001FC 80B11AEC A618028E */ sh $t8, 0x028E($s0) ## 0000028E
/* 00200 80B11AF0 8608028E */ lh $t0, 0x028E($s0) ## 0000028E
/* 00204 80B11AF4 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000
/* 00208 80B11AF8 5520000D */ bnel $t1, $zero, .L80B11B30
/* 0020C 80B11AFC 860C0258 */ lh $t4, 0x0258($s0) ## 00000258
/* 00210 80B11B00 14C0000A */ bne $a2, $zero, .L80B11B2C
/* 00214 80B11B04 E6020264 */ swc1 $f2, 0x0264($s0) ## 00000264
/* 00218 80B11B08 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 0021C 80B11B0C 44816000 */ mtc1 $at, $f12 ## $f12 = 30.00
/* 00220 80B11B10 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 00224 80B11B14 A7A6002A */ sh $a2, 0x002A($sp)
/* 00228 80B11B18 4600018D */ trunc.w.s $f6, $f0
/* 0022C 80B11B1C 87A6002A */ lh $a2, 0x002A($sp)
/* 00230 80B11B20 440B3000 */ mfc1 $t3, $f6
/* 00234 80B11B24 00000000 */ nop
/* 00238 80B11B28 A60B0254 */ sh $t3, 0x0254($s0) ## 00000254
.L80B11B2C:
/* 0023C 80B11B2C 860C0258 */ lh $t4, 0x0258($s0) ## 00000258
.L80B11B30:
/* 00240 80B11B30 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00244 80B11B34 55800056 */ bnel $t4, $zero, .L80B11C90
/* 00248 80B11B38 C6000264 */ lwc1 $f0, 0x0264($s0) ## 00000264
/* 0024C 80B11B3C 860D0292 */ lh $t5, 0x0292($s0) ## 00000292
/* 00250 80B11B40 2CC10006 */ sltiu $at, $a2, 0x0006
/* 00254 80B11B44 0006C880 */ sll $t9, $a2, 2
/* 00258 80B11B48 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
/* 0025C 80B11B4C A60E0292 */ sh $t6, 0x0292($s0) ## 00000292
/* 00260 80B11B50 860F0292 */ lh $t7, 0x0292($s0) ## 00000292
/* 00264 80B11B54 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
/* 00268 80B11B58 1020004C */ beq $at, $zero, .L80B11C8C
/* 0026C 80B11B5C A6180292 */ sh $t8, 0x0292($s0) ## 00000292
/* 00270 80B11B60 3C0180B1 */ lui $at, %hi(jtbl_80B1378C) ## $at = 80B10000
/* 00274 80B11B64 00390821 */ addu $at, $at, $t9
/* 00278 80B11B68 8C39378C */ lw $t9, %lo(jtbl_80B1378C)($at)
/* 0027C 80B11B6C 03200008 */ jr $t9
/* 00280 80B11B70 00000000 */ nop
glabel L80B11B74
/* 00284 80B11B74 E602026C */ swc1 $f2, 0x026C($s0) ## 0000026C
/* 00288 80B11B78 10000044 */ beq $zero, $zero, .L80B11C8C
/* 0028C 80B11B7C E6020268 */ swc1 $f2, 0x0268($s0) ## 00000268
glabel L80B11B80
/* 00290 80B11B80 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
/* 00294 80B11B84 A6080258 */ sh $t0, 0x0258($s0) ## 00000258
/* 00298 80B11B88 3C0180B1 */ lui $at, %hi(D_80B137A4) ## $at = 80B10000
/* 0029C 80B11B8C C42837A4 */ lwc1 $f8, %lo(D_80B137A4)($at)
/* 002A0 80B11B90 86090292 */ lh $t1, 0x0292($s0) ## 00000292
/* 002A4 80B11B94 3C0180B1 */ lui $at, %hi(D_80B137A8) ## $at = 80B10000
/* 002A8 80B11B98 E608026C */ swc1 $f8, 0x026C($s0) ## 0000026C
/* 002AC 80B11B9C C42A37A8 */ lwc1 $f10, %lo(D_80B137A8)($at)
/* 002B0 80B11BA0 1520003A */ bne $t1, $zero, .L80B11C8C
/* 002B4 80B11BA4 E60A0268 */ swc1 $f10, 0x0268($s0) ## 00000268
/* 002B8 80B11BA8 E602026C */ swc1 $f2, 0x026C($s0) ## 0000026C
/* 002BC 80B11BAC 10000037 */ beq $zero, $zero, .L80B11C8C
/* 002C0 80B11BB0 E6020268 */ swc1 $f2, 0x0268($s0) ## 00000268
glabel L80B11BB4
/* 002C4 80B11BB4 3C0180B1 */ lui $at, %hi(D_80B137AC) ## $at = 80B10000
/* 002C8 80B11BB8 C42037AC */ lwc1 $f0, %lo(D_80B137AC)($at)
/* 002CC 80B11BBC 3C0180B1 */ lui $at, %hi(D_80B137B0) ## $at = 80B10000
/* 002D0 80B11BC0 C42237B0 */ lwc1 $f2, %lo(D_80B137B0)($at)
/* 002D4 80B11BC4 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
/* 002D8 80B11BC8 A60A0258 */ sh $t2, 0x0258($s0) ## 00000258
/* 002DC 80B11BCC 3C0180B1 */ lui $at, %hi(D_80B137B4) ## $at = 80B10000
/* 002E0 80B11BD0 C43037B4 */ lwc1 $f16, %lo(D_80B137B4)($at)
/* 002E4 80B11BD4 3C0180B1 */ lui $at, %hi(D_80B137B8) ## $at = 80B10000
/* 002E8 80B11BD8 860B0292 */ lh $t3, 0x0292($s0) ## 00000292
/* 002EC 80B11BDC E610026C */ swc1 $f16, 0x026C($s0) ## 0000026C
/* 002F0 80B11BE0 C43237B8 */ lwc1 $f18, %lo(D_80B137B8)($at)
/* 002F4 80B11BE4 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
/* 002F8 80B11BE8 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
/* 002FC 80B11BEC E6020284 */ swc1 $f2, 0x0284($s0) ## 00000284
/* 00300 80B11BF0 E602027C */ swc1 $f2, 0x027C($s0) ## 0000027C
/* 00304 80B11BF4 15600025 */ bne $t3, $zero, .L80B11C8C
/* 00308 80B11BF8 E6120268 */ swc1 $f18, 0x0268($s0) ## 00000268
/* 0030C 80B11BFC 3C0145FA */ lui $at, 0x45FA ## $at = 45FA0000
/* 00310 80B11C00 44810000 */ mtc1 $at, $f0 ## $f0 = 8000.00
/* 00314 80B11C04 00000000 */ nop
/* 00318 80B11C08 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
/* 0031C 80B11C0C 1000001F */ beq $zero, $zero, .L80B11C8C
/* 00320 80B11C10 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
glabel L80B11C14
/* 00324 80B11C14 3C0180B1 */ lui $at, %hi(D_80B137BC) ## $at = 80B10000
/* 00328 80B11C18 C42037BC */ lwc1 $f0, %lo(D_80B137BC)($at)
/* 0032C 80B11C1C 860D0292 */ lh $t5, 0x0292($s0) ## 00000292
/* 00330 80B11C20 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 00334 80B11C24 A60C0258 */ sh $t4, 0x0258($s0) ## 00000258
/* 00338 80B11C28 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
/* 0033C 80B11C2C 15A00017 */ bne $t5, $zero, .L80B11C8C
/* 00340 80B11C30 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
/* 00344 80B11C34 3C0180B1 */ lui $at, %hi(D_80B137C0) ## $at = 80B10000
/* 00348 80B11C38 C42037C0 */ lwc1 $f0, %lo(D_80B137C0)($at)
/* 0034C 80B11C3C E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
/* 00350 80B11C40 10000012 */ beq $zero, $zero, .L80B11C8C
/* 00354 80B11C44 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
glabel L80B11C48
/* 00358 80B11C48 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 0035C 80B11C4C A60E0256 */ sh $t6, 0x0256($s0) ## 00000256
/* 00360 80B11C50 860F0256 */ lh $t7, 0x0256($s0) ## 00000256
/* 00364 80B11C54 1000000D */ beq $zero, $zero, .L80B11C8C
/* 00368 80B11C58 A60F0254 */ sh $t7, 0x0254($s0) ## 00000254
glabel L80B11C5C
/* 0036C 80B11C5C 3C0180B1 */ lui $at, %hi(D_80B137C4) ## $at = 80B10000
/* 00370 80B11C60 C42037C4 */ lwc1 $f0, %lo(D_80B137C4)($at)
/* 00374 80B11C64 86190292 */ lh $t9, 0x0292($s0) ## 00000292
/* 00378 80B11C68 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005
/* 0037C 80B11C6C A6180258 */ sh $t8, 0x0258($s0) ## 00000258
/* 00380 80B11C70 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
/* 00384 80B11C74 17200005 */ bne $t9, $zero, .L80B11C8C
/* 00388 80B11C78 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
/* 0038C 80B11C7C 3C0180B1 */ lui $at, %hi(D_80B137C8) ## $at = 80B10000
/* 00390 80B11C80 C42037C8 */ lwc1 $f0, %lo(D_80B137C8)($at)
/* 00394 80B11C84 E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
/* 00398 80B11C88 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
.L80B11C8C:
/* 0039C 80B11C8C C6000264 */ lwc1 $f0, 0x0264($s0) ## 00000264
.L80B11C90:
/* 003A0 80B11C90 C60402BC */ lwc1 $f4, 0x02BC($s0) ## 000002BC
/* 003A4 80B11C94 260402BC */ addiu $a0, $s0, 0x02BC ## $a0 = 000002BC
/* 003A8 80B11C98 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 003AC 80B11C9C 46002032 */ c.eq.s $f4, $f0
/* 003B0 80B11CA0 00000000 */ nop
/* 003B4 80B11CA4 45030005 */ bc1tl .L80B11CBC
/* 003B8 80B11CA8 C600026C */ lwc1 $f0, 0x026C($s0) ## 0000026C
/* 003BC 80B11CAC 44050000 */ mfc1 $a1, $f0
/* 003C0 80B11CB0 0C01E107 */ jal Math_SmoothScaleMaxF
/* 003C4 80B11CB4 3C07457A */ lui $a3, 0x457A ## $a3 = 457A0000
/* 003C8 80B11CB8 C600026C */ lwc1 $f0, 0x026C($s0) ## 0000026C
.L80B11CBC:
/* 003CC 80B11CBC C60602A4 */ lwc1 $f6, 0x02A4($s0) ## 000002A4
/* 003D0 80B11CC0 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 003D4 80B11CC4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 003D8 80B11CC8 46003032 */ c.eq.s $f6, $f0
/* 003DC 80B11CCC 260402A4 */ addiu $a0, $s0, 0x02A4 ## $a0 = 000002A4
/* 003E0 80B11CD0 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
/* 003E4 80B11CD4 45030005 */ bc1tl .L80B11CEC
/* 003E8 80B11CD8 C6000280 */ lwc1 $f0, 0x0280($s0) ## 00000280
/* 003EC 80B11CDC 44050000 */ mfc1 $a1, $f0
/* 003F0 80B11CE0 0C01E107 */ jal Math_SmoothScaleMaxF
/* 003F4 80B11CE4 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
/* 003F8 80B11CE8 C6000280 */ lwc1 $f0, 0x0280($s0) ## 00000280
.L80B11CEC:
/* 003FC 80B11CEC C60802A8 */ lwc1 $f8, 0x02A8($s0) ## 000002A8
/* 00400 80B11CF0 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 00404 80B11CF4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 00408 80B11CF8 46004032 */ c.eq.s $f8, $f0
/* 0040C 80B11CFC 260402A8 */ addiu $a0, $s0, 0x02A8 ## $a0 = 000002A8
/* 00410 80B11D00 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
/* 00414 80B11D04 45030005 */ bc1tl .L80B11D1C
/* 00418 80B11D08 C6000284 */ lwc1 $f0, 0x0284($s0) ## 00000284
/* 0041C 80B11D0C 44050000 */ mfc1 $a1, $f0
/* 00420 80B11D10 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00424 80B11D14 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
/* 00428 80B11D18 C6000284 */ lwc1 $f0, 0x0284($s0) ## 00000284
.L80B11D1C:
/* 0042C 80B11D1C C60A02AC */ lwc1 $f10, 0x02AC($s0) ## 000002AC
/* 00430 80B11D20 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 00434 80B11D24 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 00438 80B11D28 46005032 */ c.eq.s $f10, $f0
/* 0043C 80B11D2C 260402AC */ addiu $a0, $s0, 0x02AC ## $a0 = 000002AC
/* 00440 80B11D30 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
/* 00444 80B11D34 45030005 */ bc1tl .L80B11D4C
/* 00448 80B11D38 C6000268 */ lwc1 $f0, 0x0268($s0) ## 00000268
/* 0044C 80B11D3C 44050000 */ mfc1 $a1, $f0
/* 00450 80B11D40 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00454 80B11D44 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
/* 00458 80B11D48 C6000268 */ lwc1 $f0, 0x0268($s0) ## 00000268
.L80B11D4C:
/* 0045C 80B11D4C C61002B0 */ lwc1 $f16, 0x02B0($s0) ## 000002B0
/* 00460 80B11D50 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 00464 80B11D54 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 00468 80B11D58 46008032 */ c.eq.s $f16, $f0
/* 0046C 80B11D5C 260402B0 */ addiu $a0, $s0, 0x02B0 ## $a0 = 000002B0
/* 00470 80B11D60 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
/* 00474 80B11D64 45030005 */ bc1tl .L80B11D7C
/* 00478 80B11D68 C6000278 */ lwc1 $f0, 0x0278($s0) ## 00000278
/* 0047C 80B11D6C 44050000 */ mfc1 $a1, $f0
/* 00480 80B11D70 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00484 80B11D74 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
/* 00488 80B11D78 C6000278 */ lwc1 $f0, 0x0278($s0) ## 00000278
.L80B11D7C:
/* 0048C 80B11D7C C61202B4 */ lwc1 $f18, 0x02B4($s0) ## 000002B4
/* 00490 80B11D80 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 00494 80B11D84 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 00498 80B11D88 46009032 */ c.eq.s $f18, $f0
/* 0049C 80B11D8C 260402B4 */ addiu $a0, $s0, 0x02B4 ## $a0 = 000002B4
/* 004A0 80B11D90 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
/* 004A4 80B11D94 45030005 */ bc1tl .L80B11DAC
/* 004A8 80B11D98 C600027C */ lwc1 $f0, 0x027C($s0) ## 0000027C
/* 004AC 80B11D9C 44050000 */ mfc1 $a1, $f0
/* 004B0 80B11DA0 0C01E107 */ jal Math_SmoothScaleMaxF
/* 004B4 80B11DA4 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
/* 004B8 80B11DA8 C600027C */ lwc1 $f0, 0x027C($s0) ## 0000027C
.L80B11DAC:
/* 004BC 80B11DAC C60402B8 */ lwc1 $f4, 0x02B8($s0) ## 000002B8
/* 004C0 80B11DB0 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 004C4 80B11DB4 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 004C8 80B11DB8 46002032 */ c.eq.s $f4, $f0
/* 004CC 80B11DBC 260402B8 */ addiu $a0, $s0, 0x02B8 ## $a0 = 000002B8
/* 004D0 80B11DC0 3C0745DA */ lui $a3, 0x45DA ## $a3 = 45DA0000
/* 004D4 80B11DC4 45030005 */ bc1tl .L80B11DDC
/* 004D8 80B11DC8 8FBF001C */ lw $ra, 0x001C($sp)
/* 004DC 80B11DCC 44050000 */ mfc1 $a1, $f0
/* 004E0 80B11DD0 0C01E107 */ jal Math_SmoothScaleMaxF
/* 004E4 80B11DD4 34E7C000 */ ori $a3, $a3, 0xC000 ## $a3 = 45DAC000
/* 004E8 80B11DD8 8FBF001C */ lw $ra, 0x001C($sp)
.L80B11DDC:
/* 004EC 80B11DDC 8FB00018 */ lw $s0, 0x0018($sp)
/* 004F0 80B11DE0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 004F4 80B11DE4 03E00008 */ jr $ra
/* 004F8 80B11DE8 00000000 */ nop

View File

@ -1,40 +0,0 @@
glabel func_80B11DEC
/* 004FC 80B11DEC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00500 80B11DF0 AFB00028 */ sw $s0, 0x0028($sp)
/* 00504 80B11DF4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00508 80B11DF8 AFBF002C */ sw $ra, 0x002C($sp)
/* 0050C 80B11DFC 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00510 80B11E00 AFA50034 */ sw $a1, 0x0034($sp)
/* 00514 80B11E04 0C028800 */ jal SkelAnime_GetFrameCount
/* 00518 80B11E08 248400E8 */ addiu $a0, $a0, 0x00E8 ## $a0 = 060000E8
/* 0051C 80B11E0C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00520 80B11E10 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 00524 80B11E14 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
/* 00528 80B11E18 468021A0 */ cvt.s.w $f6, $f4
/* 0052C 80B11E1C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00530 80B11E20 24A500E8 */ addiu $a1, $a1, 0x00E8 ## $a1 = 060000E8
/* 00534 80B11E24 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00538 80B11E28 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0053C 80B11E2C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00540 80B11E30 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00544 80B11E34 AFA00014 */ sw $zero, 0x0014($sp)
/* 00548 80B11E38 0C029468 */ jal SkelAnime_ChangeAnim
/* 0054C 80B11E3C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00550 80B11E40 860E029E */ lh $t6, 0x029E($s0) ## 0000029E
/* 00554 80B11E44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00558 80B11E48 11C00003 */ beq $t6, $zero, .L80B11E58
/* 0055C 80B11E4C 00000000 */ nop
/* 00560 80B11E50 0C00B58B */ jal Actor_SetScale
/* 00564 80B11E54 8E0502F4 */ lw $a1, 0x02F4($s0) ## 000002F4
.L80B11E58:
/* 00568 80B11E58 3C0F80B1 */ lui $t7, %hi(func_80B11E78) ## $t7 = 80B10000
/* 0056C 80B11E5C 25EF1E78 */ addiu $t7, $t7, %lo(func_80B11E78) ## $t7 = 80B11E78
/* 00570 80B11E60 AE0F0250 */ sw $t7, 0x0250($s0) ## 00000250
/* 00574 80B11E64 8FBF002C */ lw $ra, 0x002C($sp)
/* 00578 80B11E68 8FB00028 */ lw $s0, 0x0028($sp)
/* 0057C 80B11E6C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00580 80B11E70 03E00008 */ jr $ra
/* 00584 80B11E74 00000000 */ nop

View File

@ -1,376 +0,0 @@
.late_rodata
glabel D_80B137CC
.word 0x407F5C29
glabel D_80B137D0
.word 0x4622F983
glabel D_80B137D4
.float 0.2
.text
glabel func_80B11E78
/* 00588 80B11E78 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78
/* 0058C 80B11E7C 3C0F80B1 */ lui $t7, %hi(D_80B13698) ## $t7 = 80B10000
/* 00590 80B11E80 AFBF0034 */ sw $ra, 0x0034($sp)
/* 00594 80B11E84 AFB00030 */ sw $s0, 0x0030($sp)
/* 00598 80B11E88 AFA5008C */ sw $a1, 0x008C($sp)
/* 0059C 80B11E8C 25EF3698 */ addiu $t7, $t7, %lo(D_80B13698) ## $t7 = 80B13698
/* 005A0 80B11E90 8DF90000 */ lw $t9, 0x0000($t7) ## 80B13698
/* 005A4 80B11E94 27AE007C */ addiu $t6, $sp, 0x007C ## $t6 = FFFFFFF4
/* 005A8 80B11E98 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1369C
/* 005AC 80B11E9C ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 005B0 80B11EA0 8DF90008 */ lw $t9, 0x0008($t7) ## 80B136A0
/* 005B4 80B11EA4 3C0980B1 */ lui $t1, %hi(D_80B136A4) ## $t1 = 80B10000
/* 005B8 80B11EA8 252936A4 */ addiu $t1, $t1, %lo(D_80B136A4) ## $t1 = 80B136A4
/* 005BC 80B11EAC ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 005C0 80B11EB0 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 005C4 80B11EB4 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B136A4
/* 005C8 80B11EB8 27A80070 */ addiu $t0, $sp, 0x0070 ## $t0 = FFFFFFE8
/* 005CC 80B11EBC 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B136A8
/* 005D0 80B11EC0 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 005D4 80B11EC4 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B136AC
/* 005D8 80B11EC8 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 005DC 80B11ECC 3C0C80B1 */ lui $t4, %hi(D_80B136B0) ## $t4 = 80B10000
/* 005E0 80B11ED0 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 005E4 80B11ED4 3C0D80B1 */ lui $t5, %hi(D_80B136B4) ## $t5 = 80B10000
/* 005E8 80B11ED8 8D8C36B0 */ lw $t4, %lo(D_80B136B0)($t4)
/* 005EC 80B11EDC 8DAD36B4 */ lw $t5, %lo(D_80B136B4)($t5)
/* 005F0 80B11EE0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005F4 80B11EE4 AFAC006C */ sw $t4, 0x006C($sp)
/* 005F8 80B11EE8 AFAD0068 */ sw $t5, 0x0068($sp)
/* 005FC 80B11EEC 848E029C */ lh $t6, 0x029C($a0) ## 0000029C
/* 00600 80B11EF0 51C0000E */ beql $t6, $zero, .L80B11F2C
/* 00604 80B11EF4 A7A0004A */ sh $zero, 0x004A($sp)
/* 00608 80B11EF8 848F029E */ lh $t7, 0x029E($a0) ## 0000029E
/* 0060C 80B11EFC 55E0000B */ bnel $t7, $zero, .L80B11F2C
/* 00610 80B11F00 A7A0004A */ sh $zero, 0x004A($sp)
/* 00614 80B11F04 94980088 */ lhu $t8, 0x0088($a0) ## 00000088
/* 00618 80B11F08 3C0880B1 */ lui $t0, %hi(func_80B123A8) ## $t0 = 80B10000
/* 0061C 80B11F0C 250823A8 */ addiu $t0, $t0, %lo(func_80B123A8) ## $t0 = 80B123A8
/* 00620 80B11F10 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
/* 00624 80B11F14 53200005 */ beql $t9, $zero, .L80B11F2C
/* 00628 80B11F18 A7A0004A */ sh $zero, 0x004A($sp)
/* 0062C 80B11F1C A480029C */ sh $zero, 0x029C($a0) ## 0000029C
/* 00630 80B11F20 1000011C */ beq $zero, $zero, .L80B12394
/* 00634 80B11F24 AC880250 */ sw $t0, 0x0250($a0) ## 00000250
/* 00638 80B11F28 A7A0004A */ sh $zero, 0x004A($sp)
.L80B11F2C:
/* 0063C 80B11F2C 8609025E */ lh $t1, 0x025E($s0) ## 0000025E
/* 00640 80B11F30 5520009F */ bnel $t1, $zero, .L80B121B0
/* 00644 80B11F34 860D025C */ lh $t5, 0x025C($s0) ## 0000025C
/* 00648 80B11F38 860A025C */ lh $t2, 0x025C($s0) ## 0000025C
/* 0064C 80B11F3C 5540009C */ bnel $t2, $zero, .L80B121B0
/* 00650 80B11F40 860D025C */ lh $t5, 0x025C($s0) ## 0000025C
/* 00654 80B11F44 860B0294 */ lh $t3, 0x0294($s0) ## 00000294
/* 00658 80B11F48 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
/* 0065C 80B11F4C A60C0294 */ sh $t4, 0x0294($s0) ## 00000294
/* 00660 80B11F50 860D0294 */ lh $t5, 0x0294($s0) ## 00000294
/* 00664 80B11F54 29A10008 */ slti $at, $t5, 0x0008
/* 00668 80B11F58 1420007A */ bne $at, $zero, .L80B12144
/* 0066C 80B11F5C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00670 80B11F60 44816000 */ mtc1 $at, $f12 ## $f12 = 30.00
/* 00674 80B11F64 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 00678 80B11F68 00000000 */ nop
/* 0067C 80B11F6C 4600010D */ trunc.w.s $f4, $f0
/* 00680 80B11F70 3C0180B1 */ lui $at, %hi(D_80B137CC) ## $at = 80B10000
/* 00684 80B11F74 440F2000 */ mfc1 $t7, $f4
/* 00688 80B11F78 00000000 */ nop
/* 0068C 80B11F7C A60F025E */ sh $t7, 0x025E($s0) ## 0000025E
/* 00690 80B11F80 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 00694 80B11F84 C42C37CC */ lwc1 $f12, %lo(D_80B137CC)($at)
/* 00698 80B11F88 4600018D */ trunc.w.s $f6, $f0
/* 0069C 80B11F8C 8602029E */ lh $v0, 0x029E($s0) ## 0000029E
/* 006A0 80B11F90 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 006A4 80B11F94 44193000 */ mfc1 $t9, $f6
/* 006A8 80B11F98 10400006 */ beq $v0, $zero, .L80B11FB4
/* 006AC 80B11F9C A6190294 */ sh $t9, 0x0294($s0) ## 00000294
/* 006B0 80B11FA0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 006B4 80B11FA4 50410042 */ beql $v0, $at, .L80B120B0
/* 006B8 80B11FA8 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 006BC 80B11FAC 10000080 */ beq $zero, $zero, .L80B121B0
/* 006C0 80B11FB0 860D025C */ lh $t5, 0x025C($s0) ## 0000025C
.L80B11FB4:
/* 006C4 80B11FB4 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
/* 006C8 80B11FB8 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 006CC 80B11FBC 00000000 */ nop
/* 006D0 80B11FC0 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 006D4 80B11FC4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 006D8 80B11FC8 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00
/* 006DC 80B11FCC 4608003C */ c.lt.s $f0, $f8
/* 006E0 80B11FD0 00000000 */ nop
/* 006E4 80B11FD4 45020004 */ bc1fl .L80B11FE8
/* 006E8 80B11FD8 460C0380 */ add.s $f14, $f0, $f12
/* 006EC 80B11FDC 10000002 */ beq $zero, $zero, .L80B11FE8
/* 006F0 80B11FE0 460C0381 */ sub.s $f14, $f0, $f12
/* 006F4 80B11FE4 460C0380 */ add.s $f14, $f0, $f12
.L80B11FE8:
/* 006F8 80B11FE8 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 006FC 80B11FEC E7AE0050 */ swc1 $f14, 0x0050($sp)
/* 00700 80B11FF0 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00704 80B11FF4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00708 80B11FF8 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00
/* 0070C 80B11FFC 460A003C */ c.lt.s $f0, $f10
/* 00710 80B12000 C7AE0050 */ lwc1 $f14, 0x0050($sp)
/* 00714 80B12004 45020004 */ bc1fl .L80B12018
/* 00718 80B12008 460C0080 */ add.s $f2, $f0, $f12
/* 0071C 80B1200C 10000002 */ beq $zero, $zero, .L80B12018
/* 00720 80B12010 460C0081 */ sub.s $f2, $f0, $f12
/* 00724 80B12014 460C0080 */ add.s $f2, $f0, $f12
.L80B12018:
/* 00728 80B12018 C61002DC */ lwc1 $f16, 0x02DC($s0) ## 000002DC
/* 0072C 80B1201C 3C01C316 */ lui $at, 0xC316 ## $at = C3160000
/* 00730 80B12020 44816000 */ mtc1 $at, $f12 ## $f12 = -150.00
/* 00734 80B12024 460E8000 */ add.s $f0, $f16, $f14
/* 00738 80B12028 C61202E4 */ lwc1 $f18, 0x02E4($s0) ## 000002E4
/* 0073C 80B1202C 3C014316 */ lui $at, 0x4316 ## $at = 43160000
/* 00740 80B12030 460C003C */ c.lt.s $f0, $f12
/* 00744 80B12034 E60002E8 */ swc1 $f0, 0x02E8($s0) ## 000002E8
/* 00748 80B12038 46029100 */ add.s $f4, $f18, $f2
/* 0074C 80B1203C 44810000 */ mtc1 $at, $f0 ## $f0 = 150.00
/* 00750 80B12040 3C01C270 */ lui $at, 0xC270 ## $at = C2700000
/* 00754 80B12044 45000002 */ bc1f .L80B12050
/* 00758 80B12048 E60402F0 */ swc1 $f4, 0x02F0($s0) ## 000002F0
/* 0075C 80B1204C E60C02E8 */ swc1 $f12, 0x02E8($s0) ## 000002E8
.L80B12050:
/* 00760 80B12050 C60602E8 */ lwc1 $f6, 0x02E8($s0) ## 000002E8
/* 00764 80B12054 44811000 */ mtc1 $at, $f2 ## $f2 = -60.00
/* 00768 80B12058 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
/* 0076C 80B1205C 4606003C */ c.lt.s $f0, $f6
/* 00770 80B12060 00000000 */ nop
/* 00774 80B12064 45020003 */ bc1fl .L80B12074
/* 00778 80B12068 C60002F0 */ lwc1 $f0, 0x02F0($s0) ## 000002F0
/* 0077C 80B1206C E60002E8 */ swc1 $f0, 0x02E8($s0) ## 000002E8
/* 00780 80B12070 C60002F0 */ lwc1 $f0, 0x02F0($s0) ## 000002F0
.L80B12074:
/* 00784 80B12074 4602003C */ c.lt.s $f0, $f2
/* 00788 80B12078 00000000 */ nop
/* 0078C 80B1207C 45020004 */ bc1fl .L80B12090
/* 00790 80B12080 44811000 */ mtc1 $at, $f2 ## $f2 = -40.00
/* 00794 80B12084 E60202F0 */ swc1 $f2, 0x02F0($s0) ## 000002F0
/* 00798 80B12088 C60002F0 */ lwc1 $f0, 0x02F0($s0) ## 000002F0
/* 0079C 80B1208C 44811000 */ mtc1 $at, $f2 ## $f2 = -40.00
.L80B12090:
/* 007A0 80B12090 00000000 */ nop
/* 007A4 80B12094 4600103C */ c.lt.s $f2, $f0
/* 007A8 80B12098 00000000 */ nop
/* 007AC 80B1209C 45020044 */ bc1fl .L80B121B0
/* 007B0 80B120A0 860D025C */ lh $t5, 0x025C($s0) ## 0000025C
/* 007B4 80B120A4 10000041 */ beq $zero, $zero, .L80B121AC
/* 007B8 80B120A8 E60202F0 */ swc1 $f2, 0x02F0($s0) ## 000002F0
/* 007BC 80B120AC 3C014248 */ lui $at, 0x4248 ## $at = 42480000
.L80B120B0:
/* 007C0 80B120B0 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00
/* 007C4 80B120B4 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 007C8 80B120B8 00000000 */ nop
/* 007CC 80B120BC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 007D0 80B120C0 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 007D4 80B120C4 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00
/* 007D8 80B120C8 4608003C */ c.lt.s $f0, $f8
/* 007DC 80B120CC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 007E0 80B120D0 44816000 */ mtc1 $at, $f12 ## $f12 = 30.00
/* 007E4 80B120D4 45020004 */ bc1fl .L80B120E8
/* 007E8 80B120D8 46020380 */ add.s $f14, $f0, $f2
/* 007EC 80B120DC 10000002 */ beq $zero, $zero, .L80B120E8
/* 007F0 80B120E0 46020381 */ sub.s $f14, $f0, $f2
/* 007F4 80B120E4 46020380 */ add.s $f14, $f0, $f2
.L80B120E8:
/* 007F8 80B120E8 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 007FC 80B120EC E7AE0050 */ swc1 $f14, 0x0050($sp)
/* 00800 80B120F0 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00804 80B120F4 C7AE0050 */ lwc1 $f14, 0x0050($sp)
/* 00808 80B120F8 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 0080C 80B120FC 460A003C */ c.lt.s $f0, $f10
/* 00810 80B12100 00000000 */ nop
/* 00814 80B12104 45020006 */ bc1fl .L80B12120
/* 00818 80B12108 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00
/* 0081C 80B1210C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00820 80B12110 44818000 */ mtc1 $at, $f16 ## $f16 = 30.00
/* 00824 80B12114 10000004 */ beq $zero, $zero, .L80B12128
/* 00828 80B12118 46100081 */ sub.s $f2, $f0, $f16
/* 0082C 80B1211C 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00
.L80B12120:
/* 00830 80B12120 00000000 */ nop
/* 00834 80B12124 46120080 */ add.s $f2, $f0, $f18
.L80B12128:
/* 00838 80B12128 C60402DC */ lwc1 $f4, 0x02DC($s0) ## 000002DC
/* 0083C 80B1212C C60802E4 */ lwc1 $f8, 0x02E4($s0) ## 000002E4
/* 00840 80B12130 460E2180 */ add.s $f6, $f4, $f14
/* 00844 80B12134 46024280 */ add.s $f10, $f8, $f2
/* 00848 80B12138 E60602E8 */ swc1 $f6, 0x02E8($s0) ## 000002E8
/* 0084C 80B1213C 1000001B */ beq $zero, $zero, .L80B121AC
/* 00850 80B12140 E60A02F0 */ swc1 $f10, 0x02F0($s0) ## 000002F0
.L80B12144:
/* 00854 80B12144 96090088 */ lhu $t1, 0x0088($s0) ## 00000088
/* 00858 80B12148 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
/* 0085C 80B1214C A608025C */ sh $t0, 0x025C($s0) ## 0000025C
/* 00860 80B12150 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
/* 00864 80B12154 11400015 */ beq $t2, $zero, .L80B121AC
/* 00868 80B12158 3C014020 */ lui $at, 0x4020 ## $at = 40200000
/* 0086C 80B1215C 44818000 */ mtc1 $at, $f16 ## $f16 = 2.50
/* 00870 80B12160 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00874 80B12164 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
/* 00878 80B12168 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 0087C 80B1216C E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
/* 00880 80B12170 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00884 80B12174 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
/* 00888 80B12178 00000000 */ nop
/* 0088C 80B1217C 4612003C */ c.lt.s $f0, $f18
/* 00890 80B12180 00000000 */ nop
/* 00894 80B12184 4502000A */ bc1fl .L80B121B0
/* 00898 80B12188 860D025C */ lh $t5, 0x025C($s0) ## 0000025C
/* 0089C 80B1218C 860B029E */ lh $t3, 0x029E($s0) ## 0000029E
/* 008A0 80B12190 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 008A4 80B12194 55600006 */ bnel $t3, $zero, .L80B121B0
/* 008A8 80B12198 860D025C */ lh $t5, 0x025C($s0) ## 0000025C
/* 008AC 80B1219C 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 008B0 80B121A0 240C000C */ addiu $t4, $zero, 0x000C ## $t4 = 0000000C
/* 008B4 80B121A4 A60C025C */ sh $t4, 0x025C($s0) ## 0000025C
/* 008B8 80B121A8 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
.L80B121AC:
/* 008BC 80B121AC 860D025C */ lh $t5, 0x025C($s0) ## 0000025C
.L80B121B0:
/* 008C0 80B121B0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 008C4 80B121B4 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 008C8 80B121B8 11A00048 */ beq $t5, $zero, .L80B122DC
/* 008CC 80B121BC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 008D0 80B121C0 A7AE004A */ sh $t6, 0x004A($sp)
/* 008D4 80B121C4 8E0702CC */ lw $a3, 0x02CC($s0) ## 000002CC
/* 008D8 80B121C8 0C01E107 */ jal Math_SmoothScaleMaxF
/* 008DC 80B121CC 8E0502E8 */ lw $a1, 0x02E8($s0) ## 000002E8
/* 008E0 80B121D0 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 008E4 80B121D4 8E0502F0 */ lw $a1, 0x02F0($s0) ## 000002F0
/* 008E8 80B121D8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 008EC 80B121DC 0C01E107 */ jal Math_SmoothScaleMaxF
/* 008F0 80B121E0 8E0702CC */ lw $a3, 0x02CC($s0) ## 000002CC
/* 008F4 80B121E4 3C073E99 */ lui $a3, 0x3E99 ## $a3 = 3E990000
/* 008F8 80B121E8 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E99999A
/* 008FC 80B121EC 260402CC */ addiu $a0, $s0, 0x02CC ## $a0 = 000002CC
/* 00900 80B121F0 3C054040 */ lui $a1, 0x4040 ## $a1 = 40400000
/* 00904 80B121F4 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00908 80B121F8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0090C 80B121FC C60602E8 */ lwc1 $f6, 0x02E8($s0) ## 000002E8
/* 00910 80B12200 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 00914 80B12204 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00918 80B12208 44811000 */ mtc1 $at, $f2 ## $f2 = 10.00
/* 0091C 80B1220C 46083301 */ sub.s $f12, $f6, $f8
/* 00920 80B12210 C60A02F0 */ lwc1 $f10, 0x02F0($s0) ## 000002F0
/* 00924 80B12214 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 00928 80B12218 46006005 */ abs.s $f0, $f12
/* 0092C 80B1221C 46105381 */ sub.s $f14, $f10, $f16
/* 00930 80B12220 4602003C */ c.lt.s $f0, $f2
/* 00934 80B12224 46007005 */ abs.s $f0, $f14
/* 00938 80B12228 45020004 */ bc1fl .L80B1223C
/* 0093C 80B1222C 4602003C */ c.lt.s $f0, $f2
/* 00940 80B12230 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 00944 80B12234 00000000 */ nop
/* 00948 80B12238 4602003C */ c.lt.s $f0, $f2
.L80B1223C:
/* 0094C 80B1223C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00950 80B12240 45020004 */ bc1fl .L80B12254
/* 00954 80B12244 46006032 */ c.eq.s $f12, $f0
/* 00958 80B12248 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
/* 0095C 80B1224C 00000000 */ nop
/* 00960 80B12250 46006032 */ c.eq.s $f12, $f0
.L80B12254:
/* 00964 80B12254 00000000 */ nop
/* 00968 80B12258 45000007 */ bc1f .L80B12278
/* 0096C 80B1225C 00000000 */ nop
/* 00970 80B12260 46007032 */ c.eq.s $f14, $f0
/* 00974 80B12264 240F0007 */ addiu $t7, $zero, 0x0007 ## $t7 = 00000007
/* 00978 80B12268 45000003 */ bc1f .L80B12278
/* 0097C 80B1226C 00000000 */ nop
/* 00980 80B12270 A600025C */ sh $zero, 0x025C($s0) ## 0000025C
/* 00984 80B12274 A60F0294 */ sh $t7, 0x0294($s0) ## 00000294
.L80B12278:
/* 00988 80B12278 0C03F494 */ jal Math_atan2f
/* 0098C 80B1227C 00000000 */ nop
/* 00990 80B12280 3C0180B1 */ lui $at, %hi(D_80B137D0) ## $at = 80B10000
/* 00994 80B12284 C43237D0 */ lwc1 $f18, %lo(D_80B137D0)($at)
/* 00998 80B12288 C60802D0 */ lwc1 $f8, 0x02D0($s0) ## 000002D0
/* 0099C 80B1228C AFA00010 */ sw $zero, 0x0010($sp)
/* 009A0 80B12290 46120102 */ mul.s $f4, $f0, $f18
/* 009A4 80B12294 4600428D */ trunc.w.s $f10, $f8
/* 009A8 80B12298 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 009AC 80B1229C 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003
/* 009B0 80B122A0 44075000 */ mfc1 $a3, $f10
/* 009B4 80B122A4 4600218D */ trunc.w.s $f6, $f4
/* 009B8 80B122A8 00073C00 */ sll $a3, $a3, 16
/* 009BC 80B122AC 00073C03 */ sra $a3, $a3, 16
/* 009C0 80B122B0 44053000 */ mfc1 $a1, $f6
/* 009C4 80B122B4 00000000 */ nop
/* 009C8 80B122B8 00052C00 */ sll $a1, $a1, 16
/* 009CC 80B122BC 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 009D0 80B122C0 00052C03 */ sra $a1, $a1, 16
/* 009D4 80B122C4 3C05461C */ lui $a1, 0x461C ## $a1 = 461C0000
/* 009D8 80B122C8 34A54000 */ ori $a1, $a1, 0x4000 ## $a1 = 461C4000
/* 009DC 80B122CC 260402D0 */ addiu $a0, $s0, 0x02D0 ## $a0 = 000002D0
/* 009E0 80B122D0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 009E4 80B122D4 0C01E107 */ jal Math_SmoothScaleMaxF
/* 009E8 80B122D8 3C07447A */ lui $a3, 0x447A ## $a3 = 447A0000
.L80B122DC:
/* 009EC 80B122DC 86080260 */ lh $t0, 0x0260($s0) ## 00000260
/* 009F0 80B122E0 8FA9008C */ lw $t1, 0x008C($sp)
/* 009F4 80B122E4 3C0A0001 */ lui $t2, 0x0001 ## $t2 = 00010000
/* 009F8 80B122E8 15000007 */ bne $t0, $zero, .L80B12308
/* 009FC 80B122EC 01495021 */ addu $t2, $t2, $t1
/* 00A00 80B122F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A04 80B122F4 8FA5008C */ lw $a1, 0x008C($sp)
/* 00A08 80B122F8 0C2C46A5 */ jal func_80B11A94
/* 00A0C 80B122FC 87A6004A */ lh $a2, 0x004A($sp)
/* 00A10 80B12300 10000025 */ beq $zero, $zero, .L80B12398
/* 00A14 80B12304 8FBF0034 */ lw $ra, 0x0034($sp)
.L80B12308:
/* 00A18 80B12308 8D4A1DE4 */ lw $t2, 0x1DE4($t2) ## 00001DE4
/* 00A1C 80B1230C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00A20 80B12310 260C0024 */ addiu $t4, $s0, 0x0024 ## $t4 = 00000024
/* 00A24 80B12314 314B0003 */ andi $t3, $t2, 0x0003 ## $t3 = 00000000
/* 00A28 80B12318 5560001F */ bnel $t3, $zero, .L80B12398
/* 00A2C 80B1231C 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00A30 80B12320 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
/* 00A34 80B12324 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00A38 80B12328 AFAC003C */ sw $t4, 0x003C($sp)
/* 00A3C 80B1232C 3C0180B1 */ lui $at, %hi(D_80B137D4) ## $at = 80B10000
/* 00A40 80B12330 C43037D4 */ lwc1 $f16, %lo(D_80B137D4)($at)
/* 00A44 80B12334 8FAD003C */ lw $t5, 0x003C($sp)
/* 00A48 80B12338 E7A00080 */ swc1 $f0, 0x0080($sp)
/* 00A4C 80B1233C E7B00074 */ swc1 $f16, 0x0074($sp)
/* 00A50 80B12340 8DAF0000 */ lw $t7, 0x0000($t5) ## 00000000
/* 00A54 80B12344 27A5005C */ addiu $a1, $sp, 0x005C ## $a1 = FFFFFFD4
/* 00A58 80B12348 27B8006C */ addiu $t8, $sp, 0x006C ## $t8 = FFFFFFE4
/* 00A5C 80B1234C ACAF0000 */ sw $t7, 0x0000($a1) ## FFFFFFD4
/* 00A60 80B12350 8DAE0004 */ lw $t6, 0x0004($t5) ## 00000004
/* 00A64 80B12354 27B90068 */ addiu $t9, $sp, 0x0068 ## $t9 = FFFFFFE0
/* 00A68 80B12358 24080258 */ addiu $t0, $zero, 0x0258 ## $t0 = 00000258
/* 00A6C 80B1235C ACAE0004 */ sw $t6, 0x0004($a1) ## FFFFFFD8
/* 00A70 80B12360 8DAF0008 */ lw $t7, 0x0008($t5) ## 00000008
/* 00A74 80B12364 24090028 */ addiu $t1, $zero, 0x0028 ## $t1 = 00000028
/* 00A78 80B12368 240A001E */ addiu $t2, $zero, 0x001E ## $t2 = 0000001E
/* 00A7C 80B1236C ACAF0008 */ sw $t7, 0x0008($a1) ## FFFFFFDC
/* 00A80 80B12370 AFAA0020 */ sw $t2, 0x0020($sp)
/* 00A84 80B12374 AFA9001C */ sw $t1, 0x001C($sp)
/* 00A88 80B12378 AFA80018 */ sw $t0, 0x0018($sp)
/* 00A8C 80B1237C AFB90014 */ sw $t9, 0x0014($sp)
/* 00A90 80B12380 AFB80010 */ sw $t8, 0x0010($sp)
/* 00A94 80B12384 8FA4008C */ lw $a0, 0x008C($sp)
/* 00A98 80B12388 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFF4
/* 00A9C 80B1238C 0C00A0DB */ jal func_8002836C
/* 00AA0 80B12390 27A70070 */ addiu $a3, $sp, 0x0070 ## $a3 = FFFFFFE8
.L80B12394:
/* 00AA4 80B12394 8FBF0034 */ lw $ra, 0x0034($sp)
.L80B12398:
/* 00AA8 80B12398 8FB00030 */ lw $s0, 0x0030($sp)
/* 00AAC 80B1239C 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000
/* 00AB0 80B123A0 03E00008 */ jr $ra
/* 00AB4 80B123A4 00000000 */ nop

View File

@ -1,59 +0,0 @@
.late_rodata
glabel D_80B137D8
.word 0xC61C4000
glabel D_80B137DC
.float 6000.0
glabel D_80B137E0
.float 10000.0
.text
glabel func_80B123A8
/* 00AB8 80B123A8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00ABC 80B123AC AFB00028 */ sw $s0, 0x0028($sp)
/* 00AC0 80B123B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AC4 80B123B4 AFBF002C */ sw $ra, 0x002C($sp)
/* 00AC8 80B123B8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00ACC 80B123BC AFA50034 */ sw $a1, 0x0034($sp)
/* 00AD0 80B123C0 0C028800 */ jal SkelAnime_GetFrameCount
/* 00AD4 80B123C4 248400E8 */ addiu $a0, $a0, 0x00E8 ## $a0 = 060000E8
/* 00AD8 80B123C8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00ADC 80B123CC 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 00AE0 80B123D0 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
/* 00AE4 80B123D4 468021A0 */ cvt.s.w $f6, $f4
/* 00AE8 80B123D8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00AEC 80B123DC 24A500E8 */ addiu $a1, $a1, 0x00E8 ## $a1 = 060000E8
/* 00AF0 80B123E0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00AF4 80B123E4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00AF8 80B123E8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00AFC 80B123EC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00B00 80B123F0 AFA00014 */ sw $zero, 0x0014($sp)
/* 00B04 80B123F4 0C029468 */ jal SkelAnime_ChangeAnim
/* 00B08 80B123F8 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00B0C 80B123FC 3C0180B1 */ lui $at, %hi(D_80B137D8) ## $at = 80B10000
/* 00B10 80B12400 C42037D8 */ lwc1 $f0, %lo(D_80B137D8)($at)
/* 00B14 80B12404 3C0180B1 */ lui $at, %hi(D_80B137DC) ## $at = 80B10000
/* 00B18 80B12408 C42237DC */ lwc1 $f2, %lo(D_80B137DC)($at)
/* 00B1C 80B1240C 3C0180B1 */ lui $at, %hi(D_80B137E0) ## $at = 80B10000
/* 00B20 80B12410 E6000288 */ swc1 $f0, 0x0288($s0) ## 00000288
/* 00B24 80B12414 E602027C */ swc1 $f2, 0x027C($s0) ## 0000027C
/* 00B28 80B12418 E60202B8 */ swc1 $f2, 0x02B8($s0) ## 000002B8
/* 00B2C 80B1241C C42A37E0 */ lwc1 $f10, %lo(D_80B137E0)($at)
/* 00B30 80B12420 3C0E80B1 */ lui $t6, %hi(func_80B12460) ## $t6 = 80B10000
/* 00B34 80B12424 25CE2460 */ addiu $t6, $t6, %lo(func_80B12460) ## $t6 = 80B12460
/* 00B38 80B12428 AE0E0250 */ sw $t6, 0x0250($s0) ## 00000250
/* 00B3C 80B1242C E60002B0 */ swc1 $f0, 0x02B0($s0) ## 000002B0
/* 00B40 80B12430 E6000268 */ swc1 $f0, 0x0268($s0) ## 00000268
/* 00B44 80B12434 E60002A8 */ swc1 $f0, 0x02A8($s0) ## 000002A8
/* 00B48 80B12438 E60002A4 */ swc1 $f0, 0x02A4($s0) ## 000002A4
/* 00B4C 80B1243C E600026C */ swc1 $f0, 0x026C($s0) ## 0000026C
/* 00B50 80B12440 E60202AC */ swc1 $f2, 0x02AC($s0) ## 000002AC
/* 00B54 80B12444 E6020284 */ swc1 $f2, 0x0284($s0) ## 00000284
/* 00B58 80B12448 E60A02B4 */ swc1 $f10, 0x02B4($s0) ## 000002B4
/* 00B5C 80B1244C 8FBF002C */ lw $ra, 0x002C($sp)
/* 00B60 80B12450 8FB00028 */ lw $s0, 0x0028($sp)
/* 00B64 80B12454 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00B68 80B12458 03E00008 */ jr $ra
/* 00B6C 80B1245C 00000000 */ nop

View File

@ -1,335 +0,0 @@
.late_rodata
glabel jtbl_80B137E4
.word L80B124AC
.word L80B124C4
.word L80B1257C
.word L80B12620
.word L80B12670
.word L80B126E8
.word L80B12798
glabel D_80B13800
.float 5000.0
glabel D_80B13804
.word 0xC59C4000
glabel D_80B13808
.word 0xBE99999A
glabel D_80B1380C
.float 10000.0
glabel D_80B13810
.word 0x465AC000
glabel D_80B13814
.float 5000.0
glabel D_80B13818
.word 0x4622F983
.text
glabel func_80B12460
/* 00B70 80B12460 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00B74 80B12464 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B78 80B12468 AFB00020 */ sw $s0, 0x0020($sp)
/* 00B7C 80B1246C AFA50034 */ sw $a1, 0x0034($sp)
/* 00B80 80B12470 8CA81C44 */ lw $t0, 0x1C44($a1) ## 00001C44
/* 00B84 80B12474 240F000A */ addiu $t7, $zero, 0x000A ## $t7 = 0000000A
/* 00B88 80B12478 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00B8C 80B1247C A50F0110 */ sh $t7, 0x0110($t0) ## 00000110
/* 00B90 80B12480 9498029A */ lhu $t8, 0x029A($a0) ## 0000029A
/* 00B94 80B12484 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B98 80B12488 46000406 */ mov.s $f16, $f0
/* 00B9C 80B1248C 2F010007 */ sltiu $at, $t8, 0x0007
/* 00BA0 80B12490 102000D9 */ beq $at, $zero, .L80B127F8
/* 00BA4 80B12494 0018C080 */ sll $t8, $t8, 2
/* 00BA8 80B12498 3C0180B1 */ lui $at, %hi(jtbl_80B137E4) ## $at = 80B10000
/* 00BAC 80B1249C 00380821 */ addu $at, $at, $t8
/* 00BB0 80B124A0 8C3837E4 */ lw $t8, %lo(jtbl_80B137E4)($at)
/* 00BB4 80B124A4 03000008 */ jr $t8
/* 00BB8 80B124A8 00000000 */ nop
glabel L80B124AC
/* 00BBC 80B124AC 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
/* 00BC0 80B124B0 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 00BC4 80B124B4 A6190296 */ sh $t9, 0x0296($s0) ## 00000296
/* 00BC8 80B124B8 E60002CC */ swc1 $f0, 0x02CC($s0) ## 000002CC
/* 00BCC 80B124BC 100000CE */ beq $zero, $zero, .L80B127F8
/* 00BD0 80B124C0 A609029A */ sh $t1, 0x029A($s0) ## 0000029A
glabel L80B124C4
/* 00BD4 80B124C4 860A025C */ lh $t2, 0x025C($s0) ## 0000025C
/* 00BD8 80B124C8 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00BDC 80B124CC 44810000 */ mtc1 $at, $f0 ## $f0 = 2.00
/* 00BE0 80B124D0 3C014060 */ lui $at, 0x4060 ## $at = 40600000
/* 00BE4 80B124D4 15400005 */ bne $t2, $zero, .L80B124EC
/* 00BE8 80B124D8 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 00BEC 80B124DC 44812000 */ mtc1 $at, $f4 ## $f4 = 3.50
/* 00BF0 80B124E0 240B0003 */ addiu $t3, $zero, 0x0003 ## $t3 = 00000003
/* 00BF4 80B124E4 A60B025C */ sh $t3, 0x025C($s0) ## 0000025C
/* 00BF8 80B124E8 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
.L80B124EC:
/* 00BFC 80B124EC 860C025A */ lh $t4, 0x025A($s0) ## 0000025A
/* 00C00 80B124F0 3C0180B1 */ lui $at, %hi(D_80B13804) ## $at = 80B10000
/* 00C04 80B124F4 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
/* 00C08 80B124F8 5580000A */ bnel $t4, $zero, .L80B12524
/* 00C0C 80B124FC 86090298 */ lh $t1, 0x0298($s0) ## 00000298
/* 00C10 80B12500 860D0298 */ lh $t5, 0x0298($s0) ## 00000298
/* 00C14 80B12504 24190005 */ addiu $t9, $zero, 0x0005 ## $t9 = 00000005
/* 00C18 80B12508 A619025A */ sh $t9, 0x025A($s0) ## 0000025A
/* 00C1C 80B1250C 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
/* 00C20 80B12510 A60E0298 */ sh $t6, 0x0298($s0) ## 00000298
/* 00C24 80B12514 860F0298 */ lh $t7, 0x0298($s0) ## 00000298
/* 00C28 80B12518 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
/* 00C2C 80B1251C A6180298 */ sh $t8, 0x0298($s0) ## 00000298
/* 00C30 80B12520 86090298 */ lh $t1, 0x0298($s0) ## 00000298
.L80B12524:
/* 00C34 80B12524 15200004 */ bne $t1, $zero, .L80B12538
/* 00C38 80B12528 00000000 */ nop
/* 00C3C 80B1252C 3C0180B1 */ lui $at, %hi(D_80B13800) ## $at = 80B10000
/* 00C40 80B12530 10000002 */ beq $zero, $zero, .L80B1253C
/* 00C44 80B12534 C4303800 */ lwc1 $f16, %lo(D_80B13800)($at)
.L80B12538:
/* 00C48 80B12538 C4303804 */ lwc1 $f16, %lo(D_80B13804)($at)
.L80B1253C:
/* 00C4C 80B1253C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00C50 80B12540 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 00C54 80B12544 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00C58 80B12548 3C0180B1 */ lui $at, %hi(D_80B13808) ## $at = 80B10000
/* 00C5C 80B1254C 4608303C */ c.lt.s $f6, $f8
/* 00C60 80B12550 00000000 */ nop
/* 00C64 80B12554 450200A9 */ bc1fl .L80B127FC
/* 00C68 80B12558 C5120024 */ lwc1 $f18, 0x0024($t0) ## 00000024
/* 00C6C 80B1255C E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 00C70 80B12560 C42A3808 */ lwc1 $f10, %lo(D_80B13808)($at)
/* 00C74 80B12564 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00C78 80B12568 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00
/* 00C7C 80B1256C A60A029A */ sh $t2, 0x029A($s0) ## 0000029A
/* 00C80 80B12570 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C
/* 00C84 80B12574 100000A0 */ beq $zero, $zero, .L80B127F8
/* 00C88 80B12578 E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
glabel L80B1257C
/* 00C8C 80B1257C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00C90 80B12580 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
/* 00C94 80B12584 C504002C */ lwc1 $f4, 0x002C($t0) ## 0000002C
/* 00C98 80B12588 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 00C9C 80B1258C 3C0142DC */ lui $at, 0x42DC ## $at = 42DC0000
/* 00CA0 80B12590 46062201 */ sub.s $f8, $f4, $f6
/* 00CA4 80B12594 460A403C */ c.lt.s $f8, $f10
/* 00CA8 80B12598 00000000 */ nop
/* 00CAC 80B1259C 45020003 */ bc1fl .L80B125AC
/* 00CB0 80B125A0 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
/* 00CB4 80B125A4 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 00CB8 80B125A8 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
.L80B125AC:
/* 00CBC 80B125AC 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000001
/* 00CC0 80B125B0 51800092 */ beql $t4, $zero, .L80B127FC
/* 00CC4 80B125B4 C5120024 */ lwc1 $f18, 0x0024($t0) ## 00000024
/* 00CC8 80B125B8 44819000 */ mtc1 $at, $f18 ## $f18 = 110.00
/* 00CCC 80B125BC C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 00CD0 80B125C0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00CD4 80B125C4 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00CD8 80B125C8 4604903C */ c.lt.s $f18, $f4
/* 00CDC 80B125CC 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 00CE0 80B125D0 4502008A */ bc1fl .L80B127FC
/* 00CE4 80B125D4 C5120024 */ lwc1 $f18, 0x0024($t0) ## 00000024
/* 00CE8 80B125D8 A6000256 */ sh $zero, 0x0256($s0) ## 00000256
/* 00CEC 80B125DC A6000290 */ sh $zero, 0x0290($s0) ## 00000290
/* 00CF0 80B125E0 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 00CF4 80B125E4 860D0256 */ lh $t5, 0x0256($s0) ## 00000256
/* 00CF8 80B125E8 860E0290 */ lh $t6, 0x0290($s0) ## 00000290
/* 00CFC 80B125EC E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 00D00 80B125F0 E600006C */ swc1 $f0, 0x006C($s0) ## 0000006C
/* 00D04 80B125F4 E6000284 */ swc1 $f0, 0x0284($s0) ## 00000284
/* 00D08 80B125F8 E600027C */ swc1 $f0, 0x027C($s0) ## 0000027C
/* 00D0C 80B125FC E6000278 */ swc1 $f0, 0x0278($s0) ## 00000278
/* 00D10 80B12600 E6000280 */ swc1 $f0, 0x0280($s0) ## 00000280
/* 00D14 80B12604 E6000288 */ swc1 $f0, 0x0288($s0) ## 00000288
/* 00D18 80B12608 A60F0296 */ sh $t7, 0x0296($s0) ## 00000296
/* 00D1C 80B1260C A618029A */ sh $t8, 0x029A($s0) ## 0000029A
/* 00D20 80B12610 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 00D24 80B12614 A60D0254 */ sh $t5, 0x0254($s0) ## 00000254
/* 00D28 80B12618 10000077 */ beq $zero, $zero, .L80B127F8
/* 00D2C 80B1261C A60E028E */ sh $t6, 0x028E($s0) ## 0000028E
glabel L80B12620
/* 00D30 80B12620 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00D34 80B12624 44815000 */ mtc1 $at, $f10 ## $f10 = 50.00
/* 00D38 80B12628 C508002C */ lwc1 $f8, 0x002C($t0) ## 0000002C
/* 00D3C 80B1262C C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 00D40 80B12630 24020014 */ addiu $v0, $zero, 0x0014 ## $v0 = 00000014
/* 00D44 80B12634 460A4481 */ sub.s $f18, $f8, $f10
/* 00D48 80B12638 2419003C */ addiu $t9, $zero, 0x003C ## $t9 = 0000003C
/* 00D4C 80B1263C 3C0180B1 */ lui $at, %hi(D_80B1380C) ## $at = 80B10000
/* 00D50 80B12640 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004
/* 00D54 80B12644 4604903C */ c.lt.s $f18, $f4
/* 00D58 80B12648 00000000 */ nop
/* 00D5C 80B1264C 4502006B */ bc1fl .L80B127FC
/* 00D60 80B12650 C5120024 */ lwc1 $f18, 0x0024($t0) ## 00000024
/* 00D64 80B12654 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 00D68 80B12658 A6190262 */ sh $t9, 0x0262($s0) ## 00000262
/* 00D6C 80B1265C A602025A */ sh $v0, 0x025A($s0) ## 0000025A
/* 00D70 80B12660 C426380C */ lwc1 $f6, %lo(D_80B1380C)($at)
/* 00D74 80B12664 A609029A */ sh $t1, 0x029A($s0) ## 0000029A
/* 00D78 80B12668 10000063 */ beq $zero, $zero, .L80B127F8
/* 00D7C 80B1266C E6060264 */ swc1 $f6, 0x0264($s0) ## 00000264
glabel L80B12670
/* 00D80 80B12670 860A025A */ lh $t2, 0x025A($s0) ## 0000025A
/* 00D84 80B12674 3C0180B1 */ lui $at, %hi(D_80B13810) ## $at = 80B10000
/* 00D88 80B12678 240B0004 */ addiu $t3, $zero, 0x0004 ## $t3 = 00000004
/* 00D8C 80B1267C 1540005E */ bne $t2, $zero, .L80B127F8
/* 00D90 80B12680 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D94 80B12684 C4223810 */ lwc1 $f2, %lo(D_80B13810)($at)
/* 00D98 80B12688 A60B0296 */ sh $t3, 0x0296($s0) ## 00000296
/* 00D9C 80B1268C 3C0180B1 */ lui $at, %hi(D_80B13814) ## $at = 80B10000
/* 00DA0 80B12690 C4283814 */ lwc1 $f8, %lo(D_80B13814)($at)
/* 00DA4 80B12694 E600026C */ swc1 $f0, 0x026C($s0) ## 0000026C
/* 00DA8 80B12698 E6000268 */ swc1 $f0, 0x0268($s0) ## 00000268
/* 00DAC 80B1269C E6000284 */ swc1 $f0, 0x0284($s0) ## 00000284
/* 00DB0 80B126A0 E600027C */ swc1 $f0, 0x027C($s0) ## 0000027C
/* 00DB4 80B126A4 E6020280 */ swc1 $f2, 0x0280($s0) ## 00000280
/* 00DB8 80B126A8 E6020278 */ swc1 $f2, 0x0278($s0) ## 00000278
/* 00DBC 80B126AC E6080264 */ swc1 $f8, 0x0264($s0) ## 00000264
/* 00DC0 80B126B0 E7B00028 */ swc1 $f16, 0x0028($sp)
/* 00DC4 80B126B4 AFA8002C */ sw $t0, 0x002C($sp)
/* 00DC8 80B126B8 0C00BE0A */ jal Audio_PlayActorSound2
/* 00DCC 80B126BC 24052813 */ addiu $a1, $zero, 0x2813 ## $a1 = 00002813
/* 00DD0 80B126C0 8FA8002C */ lw $t0, 0x002C($sp)
/* 00DD4 80B126C4 C7B00028 */ lwc1 $f16, 0x0028($sp)
/* 00DD8 80B126C8 240C001E */ addiu $t4, $zero, 0x001E ## $t4 = 0000001E
/* 00DDC 80B126CC A60C025A */ sh $t4, 0x025A($s0) ## 0000025A
/* 00DE0 80B126D0 8602025A */ lh $v0, 0x025A($s0) ## 0000025A
/* 00DE4 80B126D4 240D0005 */ addiu $t5, $zero, 0x0005 ## $t5 = 00000005
/* 00DE8 80B126D8 A60D029A */ sh $t5, 0x029A($s0) ## 0000029A
/* 00DEC 80B126DC A6020256 */ sh $v0, 0x0256($s0) ## 00000256
/* 00DF0 80B126E0 10000045 */ beq $zero, $zero, .L80B127F8
/* 00DF4 80B126E4 A6020254 */ sh $v0, 0x0254($s0) ## 00000254
glabel L80B126E8
/* 00DF8 80B126E8 8603025A */ lh $v1, 0x025A($s0) ## 0000025A
/* 00DFC 80B126EC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00E00 80B126F0 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 00E04 80B126F4 1461000A */ bne $v1, $at, .L80B12720
/* 00E08 80B126F8 00000000 */ nop
/* 00E0C 80B126FC A6000258 */ sh $zero, 0x0258($s0) ## 00000258
/* 00E10 80B12700 86020258 */ lh $v0, 0x0258($s0) ## 00000258
/* 00E14 80B12704 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00E18 80B12708 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 00E1C 80B1270C A60E0296 */ sh $t6, 0x0296($s0) ## 00000296
/* 00E20 80B12710 8603025A */ lh $v1, 0x025A($s0) ## 0000025A
/* 00E24 80B12714 A6020256 */ sh $v0, 0x0256($s0) ## 00000256
/* 00E28 80B12718 A6020254 */ sh $v0, 0x0254($s0) ## 00000254
/* 00E2C 80B1271C E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
.L80B12720:
/* 00E30 80B12720 14600035 */ bne $v1, $zero, .L80B127F8
/* 00E34 80B12724 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00E38 80B12728 C512002C */ lwc1 $f18, 0x002C($t0) ## 0000002C
/* 00E3C 80B1272C 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 00E40 80B12730 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00E44 80B12734 3C078013 */ lui $a3, %hi(D_801333E0)
/* 00E48 80B12738 46049181 */ sub.s $f6, $f18, $f4
/* 00E4C 80B1273C 3C0F8013 */ lui $t7, %hi(D_801333E8)
/* 00E50 80B12740 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 00E54 80B12744 25EF33E8 */ addiu $t7, %lo(D_801333E8)
/* 00E58 80B12748 4608303C */ c.lt.s $f6, $f8
/* 00E5C 80B1274C 2404680B */ addiu $a0, $zero, 0x680B ## $a0 = 0000680B
/* 00E60 80B12750 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4
/* 00E64 80B12754 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00E68 80B12758 45020028 */ bc1fl .L80B127FC
/* 00E6C 80B1275C C5120024 */ lwc1 $f18, 0x0024($t0) ## 00000024
/* 00E70 80B12760 AFA70010 */ sw $a3, 0x0010($sp)
/* 00E74 80B12764 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00E78 80B12768 AFA8002C */ sw $t0, 0x002C($sp)
/* 00E7C 80B1276C 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00E80 80B12770 E7B00028 */ swc1 $f16, 0x0028($sp)
/* 00E84 80B12774 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00E88 80B12778 8FA8002C */ lw $t0, 0x002C($sp)
/* 00E8C 80B1277C C7B00028 */ lwc1 $f16, 0x0028($sp)
/* 00E90 80B12780 24020014 */ addiu $v0, $zero, 0x0014 ## $v0 = 00000014
/* 00E94 80B12784 24180006 */ addiu $t8, $zero, 0x0006 ## $t8 = 00000006
/* 00E98 80B12788 A602025E */ sh $v0, 0x025E($s0) ## 0000025E
/* 00E9C 80B1278C A618029A */ sh $t8, 0x029A($s0) ## 0000029A
/* 00EA0 80B12790 10000019 */ beq $zero, $zero, .L80B127F8
/* 00EA4 80B12794 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
glabel L80B12798
/* 00EA8 80B12798 8619025E */ lh $t9, 0x025E($s0) ## 0000025E
/* 00EAC 80B1279C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00EB0 80B127A0 24020014 */ addiu $v0, $zero, 0x0014 ## $v0 = 00000014
/* 00EB4 80B127A4 17210014 */ bne $t9, $at, .L80B127F8
/* 00EB8 80B127A8 8FA90034 */ lw $t1, 0x0034($sp)
/* 00EBC 80B127AC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00EC0 80B127B0 00290821 */ addu $at, $at, $t1
/* 00EC4 80B127B4 A0221E15 */ sb $v0, 0x1E15($at) ## 00011E15
/* 00EC8 80B127B8 8FAB0034 */ lw $t3, 0x0034($sp)
/* 00ECC 80B127BC 3C0A8016 */ lui $t2, %hi(gSaveContext)
/* 00ED0 80B127C0 8D4AE660 */ lw $t2, %lo(gSaveContext)($t2)
/* 00ED4 80B127C4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00ED8 80B127C8 002B0821 */ addu $at, $at, $t3
/* 00EDC 80B127CC A42A1E1A */ sh $t2, 0x1E1A($at) ## 00011E1A
/* 00EE0 80B127D0 8FAC0034 */ lw $t4, 0x0034($sp)
/* 00EE4 80B127D4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00EE8 80B127D8 240D0014 */ addiu $t5, $zero, 0x0014 ## $t5 = 00000014
/* 00EEC 80B127DC 002C0821 */ addu $at, $at, $t4
/* 00EF0 80B127E0 A0201E5C */ sb $zero, 0x1E5C($at) ## 00011E5C
/* 00EF4 80B127E4 A50D0110 */ sh $t5, 0x0110($t0) ## 00000110
/* 00EF8 80B127E8 3C0E80B1 */ lui $t6, %hi(func_80B128D8) ## $t6 = 80B10000
/* 00EFC 80B127EC 25CE28D8 */ addiu $t6, $t6, %lo(func_80B128D8) ## $t6 = 80B128D8
/* 00F00 80B127F0 A602025E */ sh $v0, 0x025E($s0) ## 0000025E
/* 00F04 80B127F4 AE0E0250 */ sw $t6, 0x0250($s0) ## 00000250
.L80B127F8:
/* 00F08 80B127F8 C5120024 */ lwc1 $f18, 0x0024($t0) ## 00000024
.L80B127FC:
/* 00F0C 80B127FC C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 00F10 80B12800 C508002C */ lwc1 $f8, 0x002C($t0) ## 0000002C
/* 00F14 80B12804 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 00F18 80B12808 460A9301 */ sub.s $f12, $f18, $f10
/* 00F1C 80B1280C E7B00028 */ swc1 $f16, 0x0028($sp)
/* 00F20 80B12810 0C03F494 */ jal Math_atan2f
/* 00F24 80B12814 46064381 */ sub.s $f14, $f8, $f6
/* 00F28 80B12818 3C0180B1 */ lui $at, %hi(D_80B13818) ## $at = 80B10000
/* 00F2C 80B1281C C4283818 */ lwc1 $f8, %lo(D_80B13818)($at)
/* 00F30 80B12820 C7B00028 */ lwc1 $f16, 0x0028($sp)
/* 00F34 80B12824 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00F38 80B12828 46080282 */ mul.s $f10, $f0, $f8
/* 00F3C 80B1282C 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 00F40 80B12830 4600548D */ trunc.w.s $f18, $f10
/* 00F44 80B12834 44189000 */ mfc1 $t8, $f18
/* 00F48 80B12838 C61202CC */ lwc1 $f18, 0x02CC($s0) ## 000002CC
/* 00F4C 80B1283C AFA00010 */ sw $zero, 0x0010($sp)
/* 00F50 80B12840 0018CC00 */ sll $t9, $t8, 16
/* 00F54 80B12844 00194C03 */ sra $t1, $t9, 16
/* 00F58 80B12848 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
/* 00F5C 80B1284C 00000000 */ nop
/* 00F60 80B12850 468021A0 */ cvt.s.w $f6, $f4
/* 00F64 80B12854 4600910D */ trunc.w.s $f4, $f18
/* 00F68 80B12858 46103200 */ add.s $f8, $f6, $f16
/* 00F6C 80B1285C 44072000 */ mfc1 $a3, $f4
/* 00F70 80B12860 4600428D */ trunc.w.s $f10, $f8
/* 00F74 80B12864 00073C00 */ sll $a3, $a3, 16
/* 00F78 80B12868 00073C03 */ sra $a3, $a3, 16
/* 00F7C 80B1286C 44055000 */ mfc1 $a1, $f10
/* 00F80 80B12870 00000000 */ nop
/* 00F84 80B12874 00052C00 */ sll $a1, $a1, 16
/* 00F88 80B12878 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00F8C 80B1287C 00052C03 */ sra $a1, $a1, 16
/* 00F90 80B12880 3C05453B */ lui $a1, 0x453B ## $a1 = 453B0000
/* 00F94 80B12884 34A58000 */ ori $a1, $a1, 0x8000 ## $a1 = 453B8000
/* 00F98 80B12888 260402CC */ addiu $a0, $s0, 0x02CC ## $a0 = 000002CC
/* 00F9C 80B1288C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00FA0 80B12890 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00FA4 80B12894 3C0743FA */ lui $a3, 0x43FA ## $a3 = 43FA0000
/* 00FA8 80B12898 86060296 */ lh $a2, 0x0296($s0) ## 00000296
/* 00FAC 80B1289C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00FB0 80B128A0 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A
/* 00FB4 80B128A4 14C10005 */ bne $a2, $at, .L80B128BC
/* 00FB8 80B128A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00FBC 80B128AC A60C0256 */ sh $t4, 0x0256($s0) ## 00000256
/* 00FC0 80B128B0 860D0256 */ lh $t5, 0x0256($s0) ## 00000256
/* 00FC4 80B128B4 86060296 */ lh $a2, 0x0296($s0) ## 00000296
/* 00FC8 80B128B8 A60D0254 */ sh $t5, 0x0254($s0) ## 00000254
.L80B128BC:
/* 00FCC 80B128BC 0C2C46A5 */ jal func_80B11A94
/* 00FD0 80B128C0 8FA50034 */ lw $a1, 0x0034($sp)
/* 00FD4 80B128C4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00FD8 80B128C8 8FB00020 */ lw $s0, 0x0020($sp)
/* 00FDC 80B128CC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00FE0 80B128D0 03E00008 */ jr $ra
/* 00FE4 80B128D4 00000000 */ nop

View File

@ -1,10 +0,0 @@
glabel func_80B128D8
/* 00FE8 80B128D8 AFA50004 */ sw $a1, 0x0004($sp)
/* 00FEC 80B128DC 848E025E */ lh $t6, 0x025E($a0) ## 0000025E
/* 00FF0 80B128E0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00FF4 80B128E4 15C10002 */ bne $t6, $at, .L80B128F0
/* 00FF8 80B128E8 3C018016 */ lui $at, %hi(gSaveContext+0x13ce)
/* 00FFC 80B128EC A420FA2E */ sh $zero, %lo(gSaveContext+0x13ce)($at)
.L80B128F0:
/* 01000 80B128F0 03E00008 */ jr $ra
/* 01004 80B128F4 00000000 */ nop

View File

@ -1,75 +0,0 @@
.late_rodata
glabel D_80B1381C
.float 1.99000000954
glabel D_80B13820
.word 0xC61C4000
.text
glabel func_80B128F8
/* 01008 80B128F8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0100C 80B128FC AFB00018 */ sw $s0, 0x0018($sp)
/* 01010 80B12900 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01014 80B12904 AFBF001C */ sw $ra, 0x001C($sp)
/* 01018 80B12908 AFA5002C */ sw $a1, 0x002C($sp)
/* 0101C 80B1290C 0C00B56E */ jal Actor_SetHeight
/* 01020 80B12910 8E0502D4 */ lw $a1, 0x02D4($s0) ## 000002D4
/* 01024 80B12914 8FA4002C */ lw $a0, 0x002C($sp)
/* 01028 80B12918 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0102C 80B1291C 27A60026 */ addiu $a2, $sp, 0x0026 ## $a2 = FFFFFFFE
/* 01030 80B12920 0C00BCDD */ jal func_8002F374
/* 01034 80B12924 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFFC
/* 01038 80B12928 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 0103C 80B1292C 44812000 */ mtc1 $at, $f4 ## $f4 = 200.00
/* 01040 80B12930 C60000EC */ lwc1 $f0, 0x00EC($s0) ## 000000EC
/* 01044 80B12934 3C014448 */ lui $at, 0x4448 ## $at = 44480000
/* 01048 80B12938 4600203C */ c.lt.s $f4, $f0
/* 0104C 80B1293C 00000000 */ nop
/* 01050 80B12940 45020026 */ bc1fl .L80B129DC
/* 01054 80B12944 8FBF001C */ lw $ra, 0x001C($sp)
/* 01058 80B12948 44813000 */ mtc1 $at, $f6 ## $f6 = 800.00
/* 0105C 80B1294C 87A20026 */ lh $v0, 0x0026($sp)
/* 01060 80B12950 4606003C */ c.lt.s $f0, $f6
/* 01064 80B12954 00000000 */ nop
/* 01068 80B12958 45020020 */ bc1fl .L80B129DC
/* 0106C 80B1295C 8FBF001C */ lw $ra, 0x001C($sp)
/* 01070 80B12960 1840001D */ blez $v0, .L80B129D8
/* 01074 80B12964 28410140 */ slti $at, $v0, 0x0140
/* 01078 80B12968 1020001B */ beq $at, $zero, .L80B129D8
/* 0107C 80B1296C 87A20024 */ lh $v0, 0x0024($sp)
/* 01080 80B12970 18400019 */ blez $v0, .L80B129D8
/* 01084 80B12974 284100F0 */ slti $at, $v0, 0x00F0
/* 01088 80B12978 10200017 */ beq $at, $zero, .L80B129D8
/* 0108C 80B1297C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 01090 80B12980 44814000 */ mtc1 $at, $f8 ## $f8 = 5.00
/* 01094 80B12984 3C0180B1 */ lui $at, %hi(D_80B1381C) ## $at = 80B10000
/* 01098 80B12988 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
/* 0109C 80B1298C 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 010A0 80B12990 C42C381C */ lwc1 $f12, %lo(D_80B1381C)($at)
/* 010A4 80B12994 4600028D */ trunc.w.s $f10, $f0
/* 010A8 80B12998 3C0145FA */ lui $at, 0x45FA ## $at = 45FA0000
/* 010AC 80B1299C 44816000 */ mtc1 $at, $f12 ## $f12 = 8000.00
/* 010B0 80B129A0 440F5000 */ mfc1 $t7, $f10
/* 010B4 80B129A4 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 010B8 80B129A8 A60F0298 */ sh $t7, 0x0298($s0) ## 00000298
/* 010BC 80B129AC 3C0180B1 */ lui $at, %hi(D_80B13820) ## $at = 80B10000
/* 010C0 80B129B0 C4303820 */ lwc1 $f16, %lo(D_80B13820)($at)
/* 010C4 80B129B4 3C0880B1 */ lui $t0, %hi(func_80B129EC) ## $t0 = 80B10000
/* 010C8 80B129B8 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
/* 010CC 80B129BC 46100480 */ add.s $f18, $f0, $f16
/* 010D0 80B129C0 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
/* 010D4 80B129C4 250829EC */ addiu $t0, $t0, %lo(func_80B129EC) ## $t0 = 80B129EC
/* 010D8 80B129C8 A6180262 */ sh $t8, 0x0262($s0) ## 00000262
/* 010DC 80B129CC E61202D8 */ swc1 $f18, 0x02D8($s0) ## 000002D8
/* 010E0 80B129D0 A619025E */ sh $t9, 0x025E($s0) ## 0000025E
/* 010E4 80B129D4 AE080250 */ sw $t0, 0x0250($s0) ## 00000250
.L80B129D8:
/* 010E8 80B129D8 8FBF001C */ lw $ra, 0x001C($sp)
.L80B129DC:
/* 010EC 80B129DC 8FB00018 */ lw $s0, 0x0018($sp)
/* 010F0 80B129E0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 010F4 80B129E4 03E00008 */ jr $ra
/* 010F8 80B129E8 00000000 */ nop

View File

@ -1,131 +0,0 @@
.late_rodata
glabel D_80B13824
.float 5000.0
glabel D_80B13828
.word 0xC59C4000
.text
glabel func_80B129EC
/* 010FC 80B129EC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 01100 80B129F0 AFB00020 */ sw $s0, 0x0020($sp)
/* 01104 80B129F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01108 80B129F8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0110C 80B129FC AFA5003C */ sw $a1, 0x003C($sp)
/* 01110 80B12A00 0C00B56E */ jal Actor_SetHeight
/* 01114 80B12A04 8E0502D4 */ lw $a1, 0x02D4($s0) ## 000002D4
/* 01118 80B12A08 8FA4003C */ lw $a0, 0x003C($sp)
/* 0111C 80B12A0C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01120 80B12A10 27A6002E */ addiu $a2, $sp, 0x002E ## $a2 = FFFFFFF6
/* 01124 80B12A14 0C00BCDD */ jal func_8002F374
/* 01128 80B12A18 27A7002C */ addiu $a3, $sp, 0x002C ## $a3 = FFFFFFF4
/* 0112C 80B12A1C 860E025E */ lh $t6, 0x025E($s0) ## 0000025E
/* 01130 80B12A20 3C01C28C */ lui $at, 0xC28C ## $at = C28C0000
/* 01134 80B12A24 11C00010 */ beq $t6, $zero, .L80B12A68
/* 01138 80B12A28 00000000 */ nop
/* 0113C 80B12A2C C60400EC */ lwc1 $f4, 0x00EC($s0) ## 000000EC
/* 01140 80B12A30 44813000 */ mtc1 $at, $f6 ## $f6 = -70.00
/* 01144 80B12A34 87A2002E */ lh $v0, 0x002E($sp)
/* 01148 80B12A38 4606203C */ c.lt.s $f4, $f6
/* 0114C 80B12A3C 00000000 */ nop
/* 01150 80B12A40 45010009 */ bc1t .L80B12A68
/* 01154 80B12A44 00000000 */ nop
/* 01158 80B12A48 04400007 */ bltz $v0, .L80B12A68
/* 0115C 80B12A4C 28410141 */ slti $at, $v0, 0x0141
/* 01160 80B12A50 10200005 */ beq $at, $zero, .L80B12A68
/* 01164 80B12A54 87A2002C */ lh $v0, 0x002C($sp)
/* 01168 80B12A58 04400003 */ bltz $v0, .L80B12A68
/* 0116C 80B12A5C 284100F1 */ slti $at, $v0, 0x00F1
/* 01170 80B12A60 54200006 */ bnel $at, $zero, .L80B12A7C
/* 01174 80B12A64 8618025C */ lh $t8, 0x025C($s0) ## 0000025C
.L80B12A68:
/* 01178 80B12A68 0C00B55C */ jal Actor_Kill
/* 0117C 80B12A6C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01180 80B12A70 10000048 */ beq $zero, $zero, .L80B12B94
/* 01184 80B12A74 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01188 80B12A78 8618025C */ lh $t8, 0x025C($s0) ## 0000025C
.L80B12A7C:
/* 0118C 80B12A7C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 01190 80B12A80 A60F02A0 */ sh $t7, 0x02A0($s0) ## 000002A0
/* 01194 80B12A84 57000022 */ bnel $t8, $zero, .L80B12B10
/* 01198 80B12A88 86080298 */ lh $t0, 0x0298($s0) ## 00000298
/* 0119C 80B12A8C 86190298 */ lh $t9, 0x0298($s0) ## 00000298
/* 011A0 80B12A90 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 011A4 80B12A94 44816000 */ mtc1 $at, $f12 ## $f12 = 4.00
/* 011A8 80B12A98 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
/* 011AC 80B12A9C A6080298 */ sh $t0, 0x0298($s0) ## 00000298
/* 011B0 80B12AA0 86090298 */ lh $t1, 0x0298($s0) ## 00000298
/* 011B4 80B12AA4 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
/* 011B8 80B12AA8 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 011BC 80B12AAC A60A0298 */ sh $t2, 0x0298($s0) ## 00000298
/* 011C0 80B12AB0 4600020D */ trunc.w.s $f8, $f0
/* 011C4 80B12AB4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 011C8 80B12AB8 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
/* 011CC 80B12ABC 440E4000 */ mfc1 $t6, $f8
/* 011D0 80B12AC0 00000000 */ nop
/* 011D4 80B12AC4 25CF0005 */ addiu $t7, $t6, 0x0005 ## $t7 = 00000005
/* 011D8 80B12AC8 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 011DC 80B12ACC A60F025C */ sh $t7, 0x025C($s0) ## 0000025C
/* 011E0 80B12AD0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 011E4 80B12AD4 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 011E8 80B12AD8 00000000 */ nop
/* 011EC 80B12ADC 460A003C */ c.lt.s $f0, $f10
/* 011F0 80B12AE0 00000000 */ nop
/* 011F4 80B12AE4 4502000A */ bc1fl .L80B12B10
/* 011F8 80B12AE8 86080298 */ lh $t0, 0x0298($s0) ## 00000298
/* 011FC 80B12AEC 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
/* 01200 80B12AF0 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 01204 80B12AF4 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
/* 01208 80B12AF8 53200005 */ beql $t9, $zero, .L80B12B10
/* 0120C 80B12AFC 86080298 */ lh $t0, 0x0298($s0) ## 00000298
/* 01210 80B12B00 44818000 */ mtc1 $at, $f16 ## $f16 = 4.00
/* 01214 80B12B04 00000000 */ nop
/* 01218 80B12B08 E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
/* 0121C 80B12B0C 86080298 */ lh $t0, 0x0298($s0) ## 00000298
.L80B12B10:
/* 01220 80B12B10 3C0180B1 */ lui $at, %hi(D_80B13828) ## $at = 80B10000
/* 01224 80B12B14 15000004 */ bne $t0, $zero, .L80B12B28
/* 01228 80B12B18 00000000 */ nop
/* 0122C 80B12B1C 3C0180B1 */ lui $at, %hi(D_80B13824) ## $at = 80B10000
/* 01230 80B12B20 10000002 */ beq $zero, $zero, .L80B12B2C
/* 01234 80B12B24 C4223824 */ lwc1 $f2, %lo(D_80B13824)($at)
.L80B12B28:
/* 01238 80B12B28 C4223828 */ lwc1 $f2, %lo(D_80B13828)($at)
.L80B12B2C:
/* 0123C 80B12B2C C61202D8 */ lwc1 $f18, 0x02D8($s0) ## 000002D8
/* 01240 80B12B30 C60602CC */ lwc1 $f6, 0x02CC($s0) ## 000002CC
/* 01244 80B12B34 AFA00010 */ sw $zero, 0x0010($sp)
/* 01248 80B12B38 46029000 */ add.s $f0, $f18, $f2
/* 0124C 80B12B3C 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 01250 80B12B40 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003
/* 01254 80B12B44 4600320D */ trunc.w.s $f8, $f6
/* 01258 80B12B48 4600010D */ trunc.w.s $f4, $f0
/* 0125C 80B12B4C 44074000 */ mfc1 $a3, $f8
/* 01260 80B12B50 44052000 */ mfc1 $a1, $f4
/* 01264 80B12B54 00073C00 */ sll $a3, $a3, 16
/* 01268 80B12B58 00073C03 */ sra $a3, $a3, 16
/* 0126C 80B12B5C 00052C00 */ sll $a1, $a1, 16
/* 01270 80B12B60 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 01274 80B12B64 00052C03 */ sra $a1, $a1, 16
/* 01278 80B12B68 3C05453B */ lui $a1, 0x453B ## $a1 = 453B0000
/* 0127C 80B12B6C 34A58000 */ ori $a1, $a1, 0x8000 ## $a1 = 453B8000
/* 01280 80B12B70 260402CC */ addiu $a0, $s0, 0x02CC ## $a0 = 000002CC
/* 01284 80B12B74 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01288 80B12B78 0C01E107 */ jal Math_SmoothScaleMaxF
/* 0128C 80B12B7C 3C0743FA */ lui $a3, 0x43FA ## $a3 = 43FA0000
/* 01290 80B12B80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01294 80B12B84 8FA5003C */ lw $a1, 0x003C($sp)
/* 01298 80B12B88 0C2C46A5 */ jal func_80B11A94
/* 0129C 80B12B8C 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 012A0 80B12B90 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B12B94:
/* 012A4 80B12B94 8FB00020 */ lw $s0, 0x0020($sp)
/* 012A8 80B12B98 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 012AC 80B12B9C 03E00008 */ jr $ra
/* 012B0 80B12BA0 00000000 */ nop

View File

@ -1,59 +0,0 @@
glabel func_80B12BA4
/* 012B4 80B12BA4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 012B8 80B12BA8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 012BC 80B12BAC AFA5001C */ sw $a1, 0x001C($sp)
/* 012C0 80B12BB0 9082030D */ lbu $v0, 0x030D($a0) ## 0000030D
/* 012C4 80B12BB4 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
/* 012C8 80B12BB8 51C0002B */ beql $t6, $zero, .L80B12C68
/* 012CC 80B12BBC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 012D0 80B12BC0 8483029E */ lh $v1, 0x029E($a0) ## 0000029E
/* 012D4 80B12BC4 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000
/* 012D8 80B12BC8 A08F030D */ sb $t7, 0x030D($a0) ## 0000030D
/* 012DC 80B12BCC 10600005 */ beq $v1, $zero, .L80B12BE4
/* 012E0 80B12BD0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 012E4 80B12BD4 10620016 */ beq $v1, $v0, .L80B12C30
/* 012E8 80B12BD8 2409001E */ addiu $t1, $zero, 0x001E ## $t1 = 0000001E
/* 012EC 80B12BDC 10000022 */ beq $zero, $zero, .L80B12C68
/* 012F0 80B12BE0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B12BE4:
/* 012F4 80B12BE4 8498029C */ lh $t8, 0x029C($a0) ## 0000029C
/* 012F8 80B12BE8 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E
/* 012FC 80B12BEC 24052812 */ addiu $a1, $zero, 0x2812 ## $a1 = 00002812
/* 01300 80B12BF0 5700001D */ bnel $t8, $zero, .L80B12C68
/* 01304 80B12BF4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01308 80B12BF8 A4990262 */ sh $t9, 0x0262($a0) ## 00000262
/* 0130C 80B12BFC 0C00BE0A */ jal Audio_PlayActorSound2
/* 01310 80B12C00 AFA40018 */ sw $a0, 0x0018($sp)
/* 01314 80B12C04 8FA40018 */ lw $a0, 0x0018($sp)
/* 01318 80B12C08 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 0131C 80B12C0C 44812000 */ mtc1 $at, $f4 ## $f4 = -3.00
/* 01320 80B12C10 3C0880B1 */ lui $t0, %hi(func_80B123A8) ## $t0 = 80B10000
/* 01324 80B12C14 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 01328 80B12C18 250823A8 */ addiu $t0, $t0, %lo(func_80B123A8) ## $t0 = 80B123A8
/* 0132C 80B12C1C A482029C */ sh $v0, 0x029C($a0) ## 0000029C
/* 01330 80B12C20 A48202A0 */ sh $v0, 0x02A0($a0) ## 000002A0
/* 01334 80B12C24 AC880250 */ sw $t0, 0x0250($a0) ## 00000250
/* 01338 80B12C28 1000000E */ beq $zero, $zero, .L80B12C64
/* 0133C 80B12C2C E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C
.L80B12C30:
/* 01340 80B12C30 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 01344 80B12C34 A4890262 */ sh $t1, 0x0262($a0) ## 00000262
/* 01348 80B12C38 A08A02F8 */ sb $t2, 0x02F8($a0) ## 000002F8
/* 0134C 80B12C3C AFA40018 */ sw $a0, 0x0018($sp)
/* 01350 80B12C40 0C00BE0A */ jal Audio_PlayActorSound2
/* 01354 80B12C44 24052812 */ addiu $a1, $zero, 0x2812 ## $a1 = 00002812
/* 01358 80B12C48 8FA40018 */ lw $a0, 0x0018($sp)
/* 0135C 80B12C4C 240B0064 */ addiu $t3, $zero, 0x0064 ## $t3 = 00000064
/* 01360 80B12C50 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 01364 80B12C54 A48B0260 */ sh $t3, 0x0260($a0) ## 00000260
/* 01368 80B12C58 848C0260 */ lh $t4, 0x0260($a0) ## 00000260
/* 0136C 80B12C5C A48202A0 */ sh $v0, 0x02A0($a0) ## 000002A0
/* 01370 80B12C60 A48C025E */ sh $t4, 0x025E($a0) ## 0000025E
.L80B12C64:
/* 01374 80B12C64 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B12C68:
/* 01378 80B12C68 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0137C 80B12C6C 03E00008 */ jr $ra
/* 01380 80B12C70 00000000 */ nop

View File

@ -1,80 +0,0 @@
glabel func_80B12FE0
/* 016F0 80B12FE0 27BDFFF0 */ addiu $sp, $sp, 0xFFF0 ## $sp = FFFFFFF0
/* 016F4 80B12FE4 3C0F80B1 */ lui $t7, %hi(D_80B136D0) ## $t7 = 80B10000
/* 016F8 80B12FE8 AFA40010 */ sw $a0, 0x0010($sp)
/* 016FC 80B12FEC AFA60018 */ sw $a2, 0x0018($sp)
/* 01700 80B12FF0 AFA7001C */ sw $a3, 0x001C($sp)
/* 01704 80B12FF4 25EF36D0 */ addiu $t7, $t7, %lo(D_80B136D0) ## $t7 = 80B136D0
/* 01708 80B12FF8 8DF90000 */ lw $t9, 0x0000($t7) ## 80B136D0
/* 0170C 80B12FFC 27AE0000 */ addiu $t6, $sp, 0x0000 ## $t6 = FFFFFFF0
/* 01710 80B13000 8DF80004 */ lw $t8, 0x0004($t7) ## 80B136D4
/* 01714 80B13004 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0
/* 01718 80B13008 8DF90008 */ lw $t9, 0x0008($t7) ## 80B136D8
/* 0171C 80B1300C 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
/* 01720 80B13010 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4
/* 01724 80B13014 14A1000A */ bne $a1, $at, .L80B13040
/* 01728 80B13018 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8
/* 0172C 80B1301C 8FA20024 */ lw $v0, 0x0024($sp)
/* 01730 80B13020 8FA30020 */ lw $v1, 0x0020($sp)
/* 01734 80B13024 C44402BC */ lwc1 $f4, 0x02BC($v0) ## 000002BC
/* 01738 80B13028 84680002 */ lh $t0, 0x0002($v1) ## 00000002
/* 0173C 80B1302C 4600218D */ trunc.w.s $f6, $f4
/* 01740 80B13030 440C3000 */ mfc1 $t4, $f6
/* 01744 80B13034 00000000 */ nop
/* 01748 80B13038 010C6821 */ addu $t5, $t0, $t4
/* 0174C 80B1303C A46D0002 */ sh $t5, 0x0002($v1) ## 00000002
.L80B13040:
/* 01750 80B13040 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
/* 01754 80B13044 8FA20024 */ lw $v0, 0x0024($sp)
/* 01758 80B13048 14A10016 */ bne $a1, $at, .L80B130A4
/* 0175C 80B1304C 8FA30020 */ lw $v1, 0x0020($sp)
/* 01760 80B13050 C44802B8 */ lwc1 $f8, 0x02B8($v0) ## 000002B8
/* 01764 80B13054 846E0000 */ lh $t6, 0x0000($v1) ## 00000000
/* 01768 80B13058 846B0002 */ lh $t3, 0x0002($v1) ## 00000002
/* 0176C 80B1305C 4600428D */ trunc.w.s $f10, $f8
/* 01770 80B13060 84790004 */ lh $t9, 0x0004($v1) ## 00000004
/* 01774 80B13064 44095000 */ mfc1 $t1, $f10
/* 01778 80B13068 00000000 */ nop
/* 0177C 80B1306C 01C95021 */ addu $t2, $t6, $t1
/* 01780 80B13070 A46A0000 */ sh $t2, 0x0000($v1) ## 00000000
/* 01784 80B13074 C45002B4 */ lwc1 $f16, 0x02B4($v0) ## 000002B4
/* 01788 80B13078 4600848D */ trunc.w.s $f18, $f16
/* 0178C 80B1307C 440F9000 */ mfc1 $t7, $f18
/* 01790 80B13080 00000000 */ nop
/* 01794 80B13084 016FC021 */ addu $t8, $t3, $t7
/* 01798 80B13088 A4780002 */ sh $t8, 0x0002($v1) ## 00000002
/* 0179C 80B1308C C44402B0 */ lwc1 $f4, 0x02B0($v0) ## 000002B0
/* 017A0 80B13090 4600218D */ trunc.w.s $f6, $f4
/* 017A4 80B13094 44083000 */ mfc1 $t0, $f6
/* 017A8 80B13098 00000000 */ nop
/* 017AC 80B1309C 03286021 */ addu $t4, $t9, $t0
/* 017B0 80B130A0 A46C0004 */ sh $t4, 0x0004($v1) ## 00000004
.L80B130A4:
/* 017B4 80B130A4 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 017B8 80B130A8 54A10017 */ bnel $a1, $at, .L80B13108
/* 017BC 80B130AC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 017C0 80B130B0 C44802AC */ lwc1 $f8, 0x02AC($v0) ## 000002AC
/* 017C4 80B130B4 846D0000 */ lh $t5, 0x0000($v1) ## 00000000
/* 017C8 80B130B8 846A0002 */ lh $t2, 0x0002($v1) ## 00000002
/* 017CC 80B130BC 4600428D */ trunc.w.s $f10, $f8
/* 017D0 80B130C0 84780004 */ lh $t8, 0x0004($v1) ## 00000004
/* 017D4 80B130C4 440E5000 */ mfc1 $t6, $f10
/* 017D8 80B130C8 00000000 */ nop
/* 017DC 80B130CC 01AE4821 */ addu $t1, $t5, $t6
/* 017E0 80B130D0 A4690000 */ sh $t1, 0x0000($v1) ## 00000000
/* 017E4 80B130D4 C45002A8 */ lwc1 $f16, 0x02A8($v0) ## 000002A8
/* 017E8 80B130D8 4600848D */ trunc.w.s $f18, $f16
/* 017EC 80B130DC 440B9000 */ mfc1 $t3, $f18
/* 017F0 80B130E0 00000000 */ nop
/* 017F4 80B130E4 014B7821 */ addu $t7, $t2, $t3
/* 017F8 80B130E8 A46F0002 */ sh $t7, 0x0002($v1) ## 00000002
/* 017FC 80B130EC C44402A4 */ lwc1 $f4, 0x02A4($v0) ## 000002A4
/* 01800 80B130F0 4600218D */ trunc.w.s $f6, $f4
/* 01804 80B130F4 44193000 */ mfc1 $t9, $f6
/* 01808 80B130F8 00000000 */ nop
/* 0180C 80B130FC 03194021 */ addu $t0, $t8, $t9
/* 01810 80B13100 A4680004 */ sh $t0, 0x0004($v1) ## 00000004
/* 01814 80B13104 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B13108:
/* 01818 80B13108 03E00008 */ jr $ra
/* 0181C 80B1310C 27BD0010 */ addiu $sp, $sp, 0x0010 ## $sp = 00000000

View File

@ -1,66 +0,0 @@
glabel func_80B131B8
/* 018C8 80B131B8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 018CC 80B131BC AFBF0014 */ sw $ra, 0x0014($sp)
/* 018D0 80B131C0 24830348 */ addiu $v1, $a0, 0x0348 ## $v1 = 00000348
/* 018D4 80B131C4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B131C8:
/* 018D8 80B131C8 906E0000 */ lbu $t6, 0x0000($v1) ## 00000348
/* 018DC 80B131CC 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 018E0 80B131D0 00021400 */ sll $v0, $v0, 16
/* 018E4 80B131D4 15C0002D */ bne $t6, $zero, .L80B1328C
/* 018E8 80B131D8 00021403 */ sra $v0, $v0, 16
/* 018EC 80B131DC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 018F0 80B131E0 A06F0000 */ sb $t7, 0x0000($v1) ## 00000348
/* 018F4 80B131E4 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000
/* 018F8 80B131E8 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 018FC 80B131EC 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00
/* 01900 80B131F0 AC790004 */ sw $t9, 0x0004($v1) ## 0000034C
/* 01904 80B131F4 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004
/* 01908 80B131F8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 0190C 80B131FC 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00
/* 01910 80B13200 AC780008 */ sw $t8, 0x0008($v1) ## 00000350
/* 01914 80B13204 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008
/* 01918 80B13208 AC79000C */ sw $t9, 0x000C($v1) ## 00000354
/* 0191C 80B1320C 8CC90000 */ lw $t1, 0x0000($a2) ## 00000000
/* 01920 80B13210 AC690010 */ sw $t1, 0x0010($v1) ## 00000358
/* 01924 80B13214 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004
/* 01928 80B13218 AC680014 */ sw $t0, 0x0014($v1) ## 0000035C
/* 0192C 80B1321C 8CC90008 */ lw $t1, 0x0008($a2) ## 00000008
/* 01930 80B13220 AC690018 */ sw $t1, 0x0018($v1) ## 00000360
/* 01934 80B13224 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000
/* 01938 80B13228 AC6B001C */ sw $t3, 0x001C($v1) ## 00000364
/* 0193C 80B1322C 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004
/* 01940 80B13230 AC6A0020 */ sw $t2, 0x0020($v1) ## 00000368
/* 01944 80B13234 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008
/* 01948 80B13238 A0600034 */ sb $zero, 0x0034($v1) ## 0000037C
/* 0194C 80B1323C AC6B0024 */ sw $t3, 0x0024($v1) ## 0000036C
/* 01950 80B13240 C7A40030 */ lwc1 $f4, 0x0030($sp)
/* 01954 80B13244 46062203 */ div.s $f8, $f4, $f6
/* 01958 80B13248 E468002C */ swc1 $f8, 0x002C($v1) ## 00000374
/* 0195C 80B1324C 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 01960 80B13250 AFA30018 */ sw $v1, 0x0018($sp)
/* 01964 80B13254 4600028D */ trunc.w.s $f10, $f0
/* 01968 80B13258 8FA30018 */ lw $v1, 0x0018($sp)
/* 0196C 80B1325C 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01970 80B13260 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00
/* 01974 80B13264 440F5000 */ mfc1 $t7, $f10
/* 01978 80B13268 00000000 */ nop
/* 0197C 80B1326C 25F80028 */ addiu $t8, $t7, 0x0028 ## $t8 = 00000028
/* 01980 80B13270 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 01984 80B13274 A4780028 */ sh $t8, 0x0028($v1) ## 00000028
/* 01988 80B13278 4600040D */ trunc.w.s $f16, $f0
/* 0198C 80B1327C 8FA30018 */ lw $v1, 0x0018($sp)
/* 01990 80B13280 44088000 */ mfc1 $t0, $f16
/* 01994 80B13284 10000004 */ beq $zero, $zero, .L80B13298
/* 01998 80B13288 A468002A */ sh $t0, 0x002A($v1) ## 0000002A
.L80B1328C:
/* 0199C 80B1328C 28410005 */ slti $at, $v0, 0x0005
/* 019A0 80B13290 1420FFCD */ bne $at, $zero, .L80B131C8
/* 019A4 80B13294 24630038 */ addiu $v1, $v1, 0x0038 ## $v1 = 00000038
.L80B13298:
/* 019A8 80B13298 8FBF0014 */ lw $ra, 0x0014($sp)
/* 019AC 80B1329C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 019B0 80B132A0 03E00008 */ jr $ra
/* 019B4 80B132A4 00000000 */ nop

View File

@ -1,130 +0,0 @@
.late_rodata
glabel D_80B13830
.float 3.14159274101
glabel D_80B13834
.float 0.05
glabel D_80B13838
.float 0.2
.text
glabel func_80B132A8
/* 019B8 80B132A8 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 019BC 80B132AC F7BE0038 */ sdc1 $f30, 0x0038($sp)
/* 019C0 80B132B0 3C0180B1 */ lui $at, %hi(D_80B13830) ## $at = 80B10000
/* 019C4 80B132B4 C43E3830 */ lwc1 $f30, %lo(D_80B13830)($at)
/* 019C8 80B132B8 F7BC0030 */ sdc1 $f28, 0x0030($sp)
/* 019CC 80B132BC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 019D0 80B132C0 4481E000 */ mtc1 $at, $f28 ## $f28 = 0.50
/* 019D4 80B132C4 F7BA0028 */ sdc1 $f26, 0x0028($sp)
/* 019D8 80B132C8 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000
/* 019DC 80B132CC 4481D000 */ mtc1 $at, $f26 ## $f26 = -0.50
/* 019E0 80B132D0 F7B80020 */ sdc1 $f24, 0x0020($sp)
/* 019E4 80B132D4 3C0180B1 */ lui $at, %hi(D_80B13834) ## $at = 80B10000
/* 019E8 80B132D8 C4383834 */ lwc1 $f24, %lo(D_80B13834)($at)
/* 019EC 80B132DC F7B60018 */ sdc1 $f22, 0x0018($sp)
/* 019F0 80B132E0 F7B40010 */ sdc1 $f20, 0x0010($sp)
/* 019F4 80B132E4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 019F8 80B132E8 AFB30050 */ sw $s3, 0x0050($sp)
/* 019FC 80B132EC AFB2004C */ sw $s2, 0x004C($sp)
/* 01A00 80B132F0 AFB10048 */ sw $s1, 0x0048($sp)
/* 01A04 80B132F4 AFB00044 */ sw $s0, 0x0044($sp)
/* 01A08 80B132F8 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 01A0C 80B132FC 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 01A10 80B13300 AFBF0054 */ sw $ra, 0x0054($sp)
/* 01A14 80B13304 AFA5005C */ sw $a1, 0x005C($sp)
/* 01A18 80B13308 24900348 */ addiu $s0, $a0, 0x0348 ## $s0 = 00000348
/* 01A1C 80B1330C 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 01A20 80B13310 24120001 */ addiu $s2, $zero, 0x0001 ## $s2 = 00000001
/* 01A24 80B13314 24130BB8 */ addiu $s3, $zero, 0x0BB8 ## $s3 = 00000BB8
.L80B13318:
/* 01A28 80B13318 920E0000 */ lbu $t6, 0x0000($s0) ## 00000348
/* 01A2C 80B1331C 51C0003F */ beql $t6, $zero, .L80B1341C
/* 01A30 80B13320 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 01A34 80B13324 C6000010 */ lwc1 $f0, 0x0010($s0) ## 00000358
/* 01A38 80B13328 C6040004 */ lwc1 $f4, 0x0004($s0) ## 0000034C
/* 01A3C 80B1332C C6020014 */ lwc1 $f2, 0x0014($s0) ## 0000035C
/* 01A40 80B13330 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000350
/* 01A44 80B13334 C60C0018 */ lwc1 $f12, 0x0018($s0) ## 00000360
/* 01A48 80B13338 C610000C */ lwc1 $f16, 0x000C($s0) ## 00000354
/* 01A4C 80B1333C 46002180 */ add.s $f6, $f4, $f0
/* 01A50 80B13340 C604001C */ lwc1 $f4, 0x001C($s0) ## 00000364
/* 01A54 80B13344 920F0034 */ lbu $t7, 0x0034($s0) ## 0000037C
/* 01A58 80B13348 46024280 */ add.s $f10, $f8, $f2
/* 01A5C 80B1334C C6080020 */ lwc1 $f8, 0x0020($s0) ## 00000368
/* 01A60 80B13350 E6060004 */ swc1 $f6, 0x0004($s0) ## 0000034C
/* 01A64 80B13354 460C8480 */ add.s $f18, $f16, $f12
/* 01A68 80B13358 C6100024 */ lwc1 $f16, 0x0024($s0) ## 0000036C
/* 01A6C 80B1335C E60A0008 */ swc1 $f10, 0x0008($s0) ## 00000350
/* 01A70 80B13360 46040180 */ add.s $f6, $f0, $f4
/* 01A74 80B13364 E612000C */ swc1 $f18, 0x000C($s0) ## 00000354
/* 01A78 80B13368 92190000 */ lbu $t9, 0x0000($s0) ## 00000348
/* 01A7C 80B1336C 46081280 */ add.s $f10, $f2, $f8
/* 01A80 80B13370 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 01A84 80B13374 A2180034 */ sb $t8, 0x0034($s0) ## 0000037C
/* 01A88 80B13378 46106480 */ add.s $f18, $f12, $f16
/* 01A8C 80B1337C E6060010 */ swc1 $f6, 0x0010($s0) ## 00000358
/* 01A90 80B13380 E60A0014 */ swc1 $f10, 0x0014($s0) ## 0000035C
/* 01A94 80B13384 16590024 */ bne $s2, $t9, .L80B13418
/* 01A98 80B13388 E6120018 */ swc1 $f18, 0x0018($s0) ## 00000360
/* 01A9C 80B1338C 8608002A */ lh $t0, 0x002A($s0) ## 00000372
/* 01AA0 80B13390 4405A000 */ mfc1 $a1, $f20
/* 01AA4 80B13394 4406B000 */ mfc1 $a2, $f22
/* 01AA8 80B13398 4407C000 */ mfc1 $a3, $f24
/* 01AAC 80B1339C 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
/* 01AB0 80B133A0 A609002A */ sh $t1, 0x002A($s0) ## 00000372
/* 01AB4 80B133A4 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01AB8 80B133A8 26040010 */ addiu $a0, $s0, 0x0010 ## $a0 = 00000358
/* 01ABC 80B133AC 4405A000 */ mfc1 $a1, $f20
/* 01AC0 80B133B0 4406B000 */ mfc1 $a2, $f22
/* 01AC4 80B133B4 4407C000 */ mfc1 $a3, $f24
/* 01AC8 80B133B8 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01ACC 80B133BC 26040018 */ addiu $a0, $s0, 0x0018 ## $a0 = 00000360
/* 01AD0 80B133C0 C6040014 */ lwc1 $f4, 0x0014($s0) ## 0000035C
/* 01AD4 80B133C4 461A203C */ c.lt.s $f4, $f26
/* 01AD8 80B133C8 00000000 */ nop
/* 01ADC 80B133CC 45020003 */ bc1fl .L80B133DC
/* 01AE0 80B133D0 860A002A */ lh $t2, 0x002A($s0) ## 00000372
/* 01AE4 80B133D4 E61C0014 */ swc1 $f28, 0x0014($s0) ## 0000035C
/* 01AE8 80B133D8 860A002A */ lh $t2, 0x002A($s0) ## 00000372
.L80B133DC:
/* 01AEC 80B133DC 01530019 */ multu $t2, $s3
/* 01AF0 80B133E0 00002012 */ mflo $a0
/* 01AF4 80B133E4 00042400 */ sll $a0, $a0, 16
/* 01AF8 80B133E8 0C01DE1C */ jal Math_Sins
## sins?
/* 01AFC 80B133EC 00042403 */ sra $a0, $a0, 16
/* 01B00 80B133F0 461E0182 */ mul.s $f6, $f0, $f30
/* 01B04 80B133F4 3C0180B1 */ lui $at, %hi(D_80B13838) ## $at = 80B10000
/* 01B08 80B133F8 C4283838 */ lwc1 $f8, %lo(D_80B13838)($at)
/* 01B0C 80B133FC 860B0028 */ lh $t3, 0x0028($s0) ## 00000370
/* 01B10 80B13400 920C0034 */ lbu $t4, 0x0034($s0) ## 0000037C
/* 01B14 80B13404 46083282 */ mul.s $f10, $f6, $f8
/* 01B18 80B13408 016C082A */ slt $at, $t3, $t4
/* 01B1C 80B1340C 10200002 */ beq $at, $zero, .L80B13418
/* 01B20 80B13410 E60A0030 */ swc1 $f10, 0x0030($s0) ## 00000378
/* 01B24 80B13414 A2000000 */ sb $zero, 0x0000($s0) ## 00000348
.L80B13418:
/* 01B28 80B13418 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002
.L80B1341C:
/* 01B2C 80B1341C 00118C00 */ sll $s1, $s1, 16
/* 01B30 80B13420 00118C03 */ sra $s1, $s1, 16
/* 01B34 80B13424 2A210005 */ slti $at, $s1, 0x0005
/* 01B38 80B13428 1420FFBB */ bne $at, $zero, .L80B13318
/* 01B3C 80B1342C 26100038 */ addiu $s0, $s0, 0x0038 ## $s0 = 00000380
/* 01B40 80B13430 8FBF0054 */ lw $ra, 0x0054($sp)
/* 01B44 80B13434 D7B40010 */ ldc1 $f20, 0x0010($sp)
/* 01B48 80B13438 D7B60018 */ ldc1 $f22, 0x0018($sp)
/* 01B4C 80B1343C D7B80020 */ ldc1 $f24, 0x0020($sp)
/* 01B50 80B13440 D7BA0028 */ ldc1 $f26, 0x0028($sp)
/* 01B54 80B13444 D7BC0030 */ ldc1 $f28, 0x0030($sp)
/* 01B58 80B13448 D7BE0038 */ ldc1 $f30, 0x0038($sp)
/* 01B5C 80B1344C 8FB00044 */ lw $s0, 0x0044($sp)
/* 01B60 80B13450 8FB10048 */ lw $s1, 0x0048($sp)
/* 01B64 80B13454 8FB2004C */ lw $s2, 0x004C($sp)
/* 01B68 80B13458 8FB30050 */ lw $s3, 0x0050($sp)
/* 01B6C 80B1345C 03E00008 */ jr $ra
/* 01B70 80B13460 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000

View File

@ -1,137 +0,0 @@
.rdata
glabel D_80B13740
.asciz "../z_en_syateki_niw.c"
.balign 4
glabel D_80B13758
.asciz "../z_en_syateki_niw.c"
.balign 4
glabel D_80B13770
.asciz "../z_en_syateki_niw.c"
.balign 4
.text
glabel func_80B13464
/* 01B74 80B13464 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
/* 01B78 80B13468 AFBF0054 */ sw $ra, 0x0054($sp)
/* 01B7C 80B1346C AFBE0050 */ sw $s8, 0x0050($sp)
/* 01B80 80B13470 AFB7004C */ sw $s7, 0x004C($sp)
/* 01B84 80B13474 AFB60048 */ sw $s6, 0x0048($sp)
/* 01B88 80B13478 AFB50044 */ sw $s5, 0x0044($sp)
/* 01B8C 80B1347C AFB40040 */ sw $s4, 0x0040($sp)
/* 01B90 80B13480 AFB3003C */ sw $s3, 0x003C($sp)
/* 01B94 80B13484 AFB20038 */ sw $s2, 0x0038($sp)
/* 01B98 80B13488 AFB10034 */ sw $s1, 0x0034($sp)
/* 01B9C 80B1348C AFB00030 */ sw $s0, 0x0030($sp)
/* 01BA0 80B13490 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 01BA4 80B13494 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 01BA8 80B13498 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 01BAC 80B1349C 8CB20000 */ lw $s2, 0x0000($a1) ## 00000000
/* 01BB0 80B134A0 00A0B825 */ or $s7, $a1, $zero ## $s7 = 00000000
/* 01BB4 80B134A4 24910348 */ addiu $s1, $a0, 0x0348 ## $s1 = 00000348
/* 01BB8 80B134A8 3C0680B1 */ lui $a2, %hi(D_80B13740) ## $a2 = 80B10000
/* 01BBC 80B134AC 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
/* 01BC0 80B134B0 24C63740 */ addiu $a2, $a2, %lo(D_80B13740) ## $a2 = 80B13740
/* 01BC4 80B134B4 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFDC
/* 01BC8 80B134B8 240704D2 */ addiu $a3, $zero, 0x04D2 ## $a3 = 000004D2
/* 01BCC 80B134BC 0C031AB1 */ jal Graph_OpenDisps
/* 01BD0 80B134C0 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 01BD4 80B134C4 0C024F61 */ jal func_80093D84
/* 01BD8 80B134C8 8EE40000 */ lw $a0, 0x0000($s7) ## 00000000
/* 01BDC 80B134CC 3C01C47A */ lui $at, 0xC47A ## $at = C47A0000
/* 01BE0 80B134D0 4481C000 */ mtc1 $at, $f24 ## $f24 = -1000.00
/* 01BE4 80B134D4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01BE8 80B134D8 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 01BEC 80B134DC 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 01BF0 80B134E0 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 01BF4 80B134E4 241E0001 */ addiu $s8, $zero, 0x0001 ## $s8 = 00000001
/* 01BF8 80B134E8 3C16DE00 */ lui $s6, 0xDE00 ## $s6 = DE000000
.L80B134EC:
/* 01BFC 80B134EC 922E0000 */ lbu $t6, 0x0000($s1) ## 00000348
/* 01C00 80B134F0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01C04 80B134F4 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 01C08 80B134F8 17CE0033 */ bne $s8, $t6, .L80B135C8
/* 01C0C 80B134FC 02E18021 */ addu $s0, $s7, $at
/* 01C10 80B13500 3C150600 */ lui $s5, 0x0600 ## $s5 = 06000000
/* 01C14 80B13504 1680000A */ bne $s4, $zero, .L80B13530
/* 01C18 80B13508 26B52428 */ addiu $s5, $s5, 0x2428 ## $s5 = 06002428
/* 01C1C 80B1350C 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 01C20 80B13510 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 01C24 80B13514 248423B0 */ addiu $a0, $a0, 0x23B0 ## $a0 = 060023B0
/* 01C28 80B13518 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 01C2C 80B1351C AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
/* 01C30 80B13520 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
/* 01C34 80B13524 329400FF */ andi $s4, $s4, 0x00FF ## $s4 = 00000001
/* 01C38 80B13528 AC440004 */ sw $a0, 0x0004($v0) ## 00000004
/* 01C3C 80B1352C AC560000 */ sw $s6, 0x0000($v0) ## 00000000
.L80B13530:
/* 01C40 80B13530 C62C0004 */ lwc1 $f12, 0x0004($s1) ## 0000034C
/* 01C44 80B13534 C62E0008 */ lwc1 $f14, 0x0008($s1) ## 00000350
/* 01C48 80B13538 8E26000C */ lw $a2, 0x000C($s1) ## 00000354
/* 01C4C 80B1353C 0C034261 */ jal Matrix_Translate
/* 01C50 80B13540 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 01C54 80B13544 0C0347F5 */ jal func_800D1FD4
/* 01C58 80B13548 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C5C 80B1354C C62C002C */ lwc1 $f12, 0x002C($s1) ## 00000374
/* 01C60 80B13550 4406B000 */ mfc1 $a2, $f22
/* 01C64 80B13554 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01C68 80B13558 0C0342A3 */ jal Matrix_Scale
/* 01C6C 80B1355C 46006386 */ mov.s $f14, $f12
/* 01C70 80B13560 C62C0030 */ lwc1 $f12, 0x0030($s1) ## 00000378
/* 01C74 80B13564 0C0343B5 */ jal Matrix_RotateZ
/* 01C78 80B13568 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 01C7C 80B1356C 4406A000 */ mfc1 $a2, $f20
/* 01C80 80B13570 4600A306 */ mov.s $f12, $f20
/* 01C84 80B13574 4600C386 */ mov.s $f14, $f24
/* 01C88 80B13578 0C034261 */ jal Matrix_Translate
/* 01C8C 80B1357C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01C90 80B13580 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 01C94 80B13584 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 01C98 80B13588 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 01C9C 80B1358C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 01CA0 80B13590 AE5802D0 */ sw $t8, 0x02D0($s2) ## 000002D0
/* 01CA4 80B13594 3C0580B1 */ lui $a1, %hi(D_80B13758) ## $a1 = 80B10000
/* 01CA8 80B13598 24A53758 */ addiu $a1, $a1, %lo(D_80B13758) ## $a1 = 80B13758
/* 01CAC 80B1359C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 01CB0 80B135A0 240604E3 */ addiu $a2, $zero, 0x04E3 ## $a2 = 000004E3
/* 01CB4 80B135A4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 01CB8 80B135A8 0C0346A2 */ jal Matrix_NewMtx
/* 01CBC 80B135AC 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 01CC0 80B135B0 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 01CC4 80B135B4 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 01CC8 80B135B8 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 01CCC 80B135BC AE4802D0 */ sw $t0, 0x02D0($s2) ## 000002D0
/* 01CD0 80B135C0 AC550004 */ sw $s5, 0x0004($v0) ## 00000004
/* 01CD4 80B135C4 AC560000 */ sw $s6, 0x0000($v0) ## 00000000
.L80B135C8:
/* 01CD8 80B135C8 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001
/* 01CDC 80B135CC 00139C00 */ sll $s3, $s3, 16
/* 01CE0 80B135D0 00139C03 */ sra $s3, $s3, 16
/* 01CE4 80B135D4 2A610005 */ slti $at, $s3, 0x0005
/* 01CE8 80B135D8 1420FFC4 */ bne $at, $zero, .L80B134EC
/* 01CEC 80B135DC 26310038 */ addiu $s1, $s1, 0x0038 ## $s1 = 00000380
/* 01CF0 80B135E0 3C0680B1 */ lui $a2, %hi(D_80B13770) ## $a2 = 80B10000
/* 01CF4 80B135E4 24C63770 */ addiu $a2, $a2, %lo(D_80B13770) ## $a2 = 80B13770
/* 01CF8 80B135E8 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFDC
/* 01CFC 80B135EC 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 01D00 80B135F0 0C031AD5 */ jal Graph_CloseDisps
/* 01D04 80B135F4 240704E9 */ addiu $a3, $zero, 0x04E9 ## $a3 = 000004E9
/* 01D08 80B135F8 8FBF0054 */ lw $ra, 0x0054($sp)
/* 01D0C 80B135FC D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 01D10 80B13600 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 01D14 80B13604 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 01D18 80B13608 8FB00030 */ lw $s0, 0x0030($sp)
/* 01D1C 80B1360C 8FB10034 */ lw $s1, 0x0034($sp)
/* 01D20 80B13610 8FB20038 */ lw $s2, 0x0038($sp)
/* 01D24 80B13614 8FB3003C */ lw $s3, 0x003C($sp)
/* 01D28 80B13618 8FB40040 */ lw $s4, 0x0040($sp)
/* 01D2C 80B1361C 8FB50044 */ lw $s5, 0x0044($sp)
/* 01D30 80B13620 8FB60048 */ lw $s6, 0x0048($sp)
/* 01D34 80B13624 8FB7004C */ lw $s7, 0x004C($sp)
/* 01D38 80B13628 8FBE0050 */ lw $s8, 0x0050($sp)
/* 01D3C 80B1362C 03E00008 */ jr $ra
/* 01D40 80B13630 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
/* 01D44 80B13634 00000000 */ nop
/* 01D48 80B13638 00000000 */ nop
/* 01D4C 80B1363C 00000000 */ nop

View File

@ -1,38 +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_Syateki_Niw_InitVars
.word 0x01430600, 0x00000010, 0x00130000, 0x00000460
.word EnSyatekiNiw_Init
.word EnSyatekiNiw_Destroy
.word EnSyatekiNiw_Update
.word EnSyatekiNiw_Draw
glabel D_80B13660
.word 0x05000939, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x000A0014, 0x00040000, 0x00000000
glabel D_80B1368C
.word 0x801F0001, 0xB86CFC18, 0x304C0000
glabel D_80B13698
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B136A4
.word 0x00000000, 0x3E4CCCCD, 0x00000000
glabel D_80B136B0
.word 0x000000FF
glabel D_80B136B4
.word 0x000000FF
glabel D_80B136B8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B136C4
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B136D0
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B136DC
.word 0x000000FF

299
diff.py
View File

@ -21,7 +21,7 @@ def fail(msg):
MISSING_PREREQUISITES = (
"Missing prerequisite python module {}. "
"Run `python3 -m pip install --user colorama ansiwrap attrs watchdog python-Levenshtein cxxfilt` to install prerequisites (python-Levenshtein only needed for --algorithm=levenshtein, cxxfilt only needed with --source)."
"Run `python3 -m pip install --user colorama ansiwrap attrs watchdog python-Levenshtein cxxfilt` to install prerequisites (cxxfilt only needed with --source)."
)
try:
@ -60,6 +60,11 @@ parser.add_argument(
action="store_true",
help="Show source code (if possible). Only works with -o and -e.",
)
parser.add_argument(
"--inlines",
action="store_true",
help="Show inline function calls (if possible). Only works with -o and -e.",
)
parser.add_argument(
"--base-asm",
dest="base_asm",
@ -137,7 +142,7 @@ parser.add_argument(
parser.add_argument(
"--algorithm",
dest="algorithm",
default="difflib",
default="levenshtein",
choices=["levenshtein", "difflib"],
help="Diff algorithm to use.",
)
@ -185,7 +190,7 @@ COLOR_ROTATION = [
]
BUFFER_CMD = ["tail", "-c", str(10 ** 9)]
LESS_CMD = ["less", "-Ric"]
LESS_CMD = ["less", "-SRic", "-#6"]
DEBOUNCE_DELAY = 0.1
FS_WATCH_EXTENSIONS = [".c", ".h"]
@ -270,17 +275,22 @@ def maybe_get_objdump_source_flags():
if not args.source:
return []
return [
flags = [
"--source",
"--source-comment=| ",
"-l",
]
if args.inlines:
flags.append("--inlines")
return flags
def run_objdump(cmd):
flags, target, restrict = cmd
out = subprocess.check_output(
[objdump_executable] + flags + [target], universal_newlines=True
[objdump_executable] + arch_flags + flags + [target], universal_newlines=True
)
if restrict is not None:
return restrict_to_function(out, restrict)
@ -431,12 +441,13 @@ def ansi_ljust(s, width):
if arch == "mips":
re_int = re.compile(r"[0-9]+")
re_comments = re.compile(r"<.*?>")
re_regs = re.compile(r"\$?\b(a[0-3]|t[0-9]|s[0-8]|at|v[01]|f[12]?[0-9]|f3[01]|fp)\b")
re_comment = re.compile(r"<.*?>")
re_reg = re.compile(r"\$?\b(a[0-3]|t[0-9]|s[0-8]|at|v[01]|f[12]?[0-9]|f3[01]|k[01]|fp|ra)\b")
re_sprel = re.compile(r"(?<=,)([0-9]+|0x[0-9a-f]+)\(sp\)")
re_large_imm = re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}")
re_imm = re.compile(r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(sp)|%(lo|hi)\([^)]*\)")
forbidden = set(string.ascii_letters + "_")
arch_flags = ["-m", "mips:4300"]
branch_likely_instructions = {
"beql",
"bnel",
@ -455,13 +466,14 @@ if arch == "mips":
instructions_with_address_immediates = branch_instructions.union({"jal", "j"})
elif arch == "aarch64":
re_int = re.compile(r"[0-9]+")
re_comments = re.compile(r"(<.*?>|//.*$)")
re_comment = re.compile(r"(<.*?>|//.*$)")
# GPRs and FP registers: X0-X30, W0-W30, [DSHQ]0..31
# The zero registers and SP should not be in this list.
re_regs = re.compile(r"\$?\b([dshq][12]?[0-9]|[dshq]3[01]|[xw][12]?[0-9]|[xw]30)\b")
re_reg = re.compile(r"\$?\b([dshq][12]?[0-9]|[dshq]3[01]|[xw][12]?[0-9]|[xw]30)\b")
re_sprel = re.compile(r"sp, #-?(0x[0-9a-fA-F]+|[0-9]+)\b")
re_large_imm = re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}")
re_imm = re.compile(r"(?<!sp, )#-?(0x[0-9a-fA-F]+|[0-9]+)\b")
arch_flags = []
forbidden = set(string.ascii_letters + "_")
branch_likely_instructions = set()
branch_instructions = {"bl", "b", "b.eq", "b.ne", "b.cs", "b.hs", "b.cc", "b.lo", "b.mi", "b.pl", "b.vs", "b.vc", "b.hi", "b.ls", "b.ge", "b.lt", "b.gt", "b.le", "cbz", "cbnz", "tbz", "tbnz"}
@ -500,11 +512,18 @@ def parse_relocated_line(line):
return before, imm, after
def process_reloc(row, prev):
def process_mips_reloc(row, prev):
before, imm, after = parse_relocated_line(prev)
repl = row.split()[-1]
if imm != "0":
if before.strip() == "jal" and not imm.startswith("0x"):
# MIPS uses relocations with addends embedded in the code as immediates.
# If there is an immediate, show it as part of the relocation. Ideally
# we'd show this addend in both %lo/%hi, but annoyingly objdump's output
# doesn't include enough information to pair up %lo's and %hi's...
# TODO: handle unambiguous cases where all addends for a symbol are the
# same, or show "+???".
mnemonic = prev.split()[0]
if mnemonic in instructions_with_address_immediates and not imm.startswith("0x"):
imm = "0x" + imm
repl += "+" + imm if int(imm, 0) > 0 else imm
if "R_MIPS_LO16" in row:
@ -519,27 +538,39 @@ def process_reloc(row, prev):
return before + repl + after
def cleanup_whitespace(line):
return "".join(f"{o:<8s}" for o in line.strip().split("\t"))
Line = collections.namedtuple(
"Line",
[
"mnemonic",
"diff_row",
"original",
"line_num",
"branch_target",
"source_lines",
"comment",
],
)
def process(lines):
mnemonics = []
diff_rows = []
rows_with_imms = []
skip_next = False
originals = []
line_nums = []
branch_targets = []
source_lines = collections.defaultdict(list)
comments = []
source_lines = []
if not args.diff_obj:
lines = lines[7:]
if lines and not lines[-1]:
lines.pop()
output = []
for row in lines:
if args.diff_obj and (">:" in row or not row):
continue
if args.source and (row and row[0] != " "):
source_lines[len(mnemonics)].append(row)
source_lines.append(row)
continue
if "R_AARCH64_" in row:
@ -548,13 +579,15 @@ def process(lines):
if "R_MIPS_" in row:
# N.B. Don't transform the diff rows, they already ignore immediates
# if diff_rows[-1] != '<delay-slot>':
# diff_rows[-1] = process_reloc(row, rows_with_imms[-1])
originals[-1] = process_reloc(row, originals[-1])
# if output[-1].diff_row != "<delay-slot>":
# output[-1] = output[-1].replace(diff_row=process_mips_reloc(row, output[-1].row_with_imm))
new_original = process_mips_reloc(row, output[-1].original)
output[-1] = output[-1]._replace(original=new_original)
continue
comments.append(re.search(re_comments, row))
row = re.sub(re_comments, "", row)
m_comment = re.search(re_comment, row)
comment = m_comment[0] if m_comment else None
row = re.sub(re_comment, "", row)
row = row.rstrip()
tabs = row.split("\t")
row = "\t".join(tabs[2:])
@ -570,7 +603,7 @@ def process(lines):
mnemonic = "<delay-slot>"
if mnemonic in branch_likely_instructions:
skip_next = True
row = re.sub(re_regs, "<reg>", row)
row = re.sub(re_reg, "<reg>", row)
row = re.sub(re_sprel, "addr(sp)", row)
row_with_imm = row
if mnemonic in instructions_with_address_immediates:
@ -580,28 +613,35 @@ def process(lines):
else:
row = normalize_imms(row)
mnemonics.append(mnemonic)
rows_with_imms.append(row_with_imm)
diff_rows.append(row)
originals.append(original)
line_nums.append(line_num)
branch_target = None
if mnemonic in branch_instructions:
target = row_parts[1].strip().split(",")[-1]
if mnemonic in branch_likely_instructions:
target = hex(int(target, 16) - 4)[2:]
branch_targets.append(target.strip())
else:
branch_targets.append(None)
branch_target = target.strip()
output.append(
Line(
mnemonic=mnemonic,
diff_row=row,
original=original,
line_num=line_num,
branch_target=branch_target,
source_lines=source_lines,
comment=comment,
)
)
source_lines = []
if args.stop_jrra and mnemonic == "jr" and row_parts[1].strip() == "ra":
break
# Cleanup whitespace
originals = [original.strip() for original in originals]
originals = [
"".join(f"{o:<8s}" for o in original.split("\t")) for original in originals
# Cleanup whitespace, after relocation fixups have happened
output = [
line._replace(original=cleanup_whitespace(line.original)) for line in output
]
# return diff_rows, diff_rows, line_nums
return mnemonics, diff_rows, originals, line_nums, branch_targets, source_lines, comments
return output
def format_single_line_diff(line1, line2, column_width):
@ -704,20 +744,13 @@ def diff_sequences(seq1, seq2):
def do_diff(basedump, mydump):
asm_lines1 = basedump.split("\n")
asm_lines2 = mydump.split("\n")
output = []
# TODO: status line?
# output.append(sha1sum(mydump))
mnemonics1, asm_lines1, originals1, line_nums1, branch_targets1, _, _ = process(
asm_lines1
)
mnemonics2, asm_lines2, originals2, line_nums2, branch_targets2, source_lines2, comments2 = process(
asm_lines2
)
lines1 = process(basedump.split("\n"))
lines2 = process(mydump.split("\n"))
sc1 = SymbolColorer(0)
sc2 = SymbolColorer(0)
@ -729,68 +762,56 @@ def do_diff(basedump, mydump):
bts2 = set()
if args.show_branches:
for (bts, btset, sc) in [
(branch_targets1, bts1, sc5),
(branch_targets2, bts2, sc6),
for (lines, btset, sc) in [
(lines1, bts1, sc5),
(lines2, bts2, sc6),
]:
for bt in bts:
for line in lines:
bt = line.branch_target
if bt is not None:
btset.add(bt + ":")
sc.color_symbol(bt + ":")
for (tag, i1, i2, j1, j2) in diff_sequences(mnemonics1, mnemonics2):
lines1 = asm_lines1[i1:i2]
lines2 = asm_lines2[j1:j2]
for k, (line1, line2) in enumerate(itertools.zip_longest(lines1, lines2)):
for (tag, i1, i2, j1, j2) in diff_sequences(
[line.mnemonic for line in lines1], [line.mnemonic for line in lines2]
):
for line1, line2 in itertools.zip_longest(lines1[i1:i2], lines2[j1:j2]):
if tag == "replace":
if line1 is None:
tag = "insert"
elif line2 is None:
tag = "delete"
elif tag == "insert":
assert line1 is None
elif tag == "delete":
assert line2 is None
try:
original1 = originals1[i1 + k]
line_num1 = line_nums1[i1 + k]
except:
original1 = ""
line_num1 = ""
try:
original2 = originals2[j1 + k]
line_num2 = line_nums2[j1 + k]
except:
original2 = ""
line_num2 = ""
has1 = has2 = True
line_color1 = line_color2 = sym_color = Fore.RESET
line_prefix = " "
if line1 == line2:
if not line1:
has1 = has2 = False
if maybe_normalize_large_imms(original1) == maybe_normalize_large_imms(
original2
):
out1 = original1
out2 = original2
elif line1 == "<delay-slot>":
out1 = f"{Style.DIM}{original1}"
out2 = f"{Style.DIM}{original2}"
if line1 and line2 and line1.diff_row == line2.diff_row:
if maybe_normalize_large_imms(
line1.original
) == maybe_normalize_large_imms(line2.original):
out1 = line1.original
out2 = line2.original
elif line1.diff_row == "<delay-slot>":
out1 = f"{Style.BRIGHT}{Fore.LIGHTBLACK_EX}{line1.original}"
out2 = f"{Style.BRIGHT}{Fore.LIGHTBLACK_EX}{line2.original}"
else:
mnemonic = original1.split()[0]
out1, out2 = original1, original2
mnemonic = line1.original.split()[0]
out1, out2 = line1.original, line2.original
branch1 = branch2 = ""
if mnemonic in instructions_with_address_immediates:
out1, branch1 = split_off_branch(original1)
out2, branch2 = split_off_branch(original2)
out1, branch1 = split_off_branch(line1.original)
out2, branch2 = split_off_branch(line2.original)
branchless1 = out1
branchless2 = out2
out1, out2 = color_imms(out1, out2)
same_relative_target = False
if branch_targets1[i1 + k] is not None and branch_targets2[j1 + k] is not None:
relative_target1 = eval_line_num(branch_targets1[i1 + k]) - eval_line_num(line_num1)
relative_target2 = eval_line_num(branch_targets2[j1 + k]) - eval_line_num(line_num2)
if line1.branch_target is not None and line2.branch_target is not None:
relative_target1 = eval_line_num(line1.branch_target) - eval_line_num(line1.line_num)
relative_target2 = eval_line_num(line2.branch_target) - eval_line_num(line2.line_num)
same_relative_target = relative_target1 == relative_target2
if not same_relative_target:
@ -805,14 +826,10 @@ def do_diff(basedump, mydump):
line_prefix = "i"
else:
out1 = re.sub(
re_sprel,
lambda s: sc3.color_symbol(s.group()),
out1,
re_sprel, lambda s: sc3.color_symbol(s.group()), out1,
)
out2 = re.sub(
re_sprel,
lambda s: sc4.color_symbol(s.group()),
out2,
re_sprel, lambda s: sc4.color_symbol(s.group()), out2,
)
if normalize_stack(branchless1) == normalize_stack(branchless2):
# only stack differences (luckily stack and imm
@ -823,76 +840,80 @@ def do_diff(basedump, mydump):
else:
# regs differences and maybe imms as well
out1 = re.sub(
re_regs, lambda s: sc1.color_symbol(s.group()), out1
re_reg, lambda s: sc1.color_symbol(s.group()), out1
)
out2 = re.sub(
re_regs, lambda s: sc2.color_symbol(s.group()), out2
re_reg, lambda s: sc2.color_symbol(s.group()), out2
)
line_color1 = line_color2 = sym_color = Fore.YELLOW
line_prefix = "r"
elif tag in ["replace", "equal"]:
elif line1 and line2:
line_prefix = "|"
line_color1 = Fore.LIGHTBLUE_EX
line_color2 = Fore.LIGHTBLUE_EX
sym_color = Fore.LIGHTBLUE_EX
out1 = original1
out2 = original2
elif tag == "delete":
out1 = line1.original
out2 = line2.original
elif line1:
line_prefix = "<"
line_color1 = line_color2 = sym_color = Fore.RED
has2 = False
out1 = original1
out1 = line1.original
out2 = ""
elif tag == "insert":
elif line2:
line_prefix = ">"
line_color1 = line_color2 = sym_color = Fore.GREEN
has1 = False
out1 = ""
out2 = original2
out2 = line2.original
in_arrow1 = " "
in_arrow2 = " "
out_arrow1 = ""
out_arrow2 = ""
line_num1 = line_num1 if has1 else ""
line_num2 = line_num2 if has2 else ""
if args.show_branches and has1:
if line_num1 in bts1:
in_arrow1 = sc5.color_symbol(line_num1, "~>") + line_color1
if branch_targets1[i1 + k] is not None:
out_arrow1 = " " + sc5.color_symbol(
branch_targets1[i1 + k] + ":", "~>"
)
if args.show_branches and has2:
if line_num2 in bts2:
in_arrow2 = sc6.color_symbol(line_num2, "~>") + line_color2
if branch_targets2[j1 + k] is not None:
out_arrow2 = " " + sc6.color_symbol(
branch_targets2[j1 + k] + ":", "~>"
)
if args.show_branches and line1:
if line1.line_num in bts1:
in_arrow1 = sc5.color_symbol(line1.line_num, "~>") + line_color1
if line1.branch_target is not None:
out_arrow1 = " " + sc5.color_symbol(line1.branch_target + ":", "~>")
if args.show_branches and line2:
if line2.line_num in bts2:
in_arrow2 = sc6.color_symbol(line2.line_num, "~>") + line_color2
if line2.branch_target is not None:
out_arrow2 = " " + sc6.color_symbol(line2.branch_target + ":", "~>")
if args.source and has2 and comments2[j1 + k] is not None:
out2 += f" {comments2[j1 + k][0]}"
if args.source and line2 and line2.comment:
out2 += f" {line2.comment}"
line_num1 = line1.line_num if line1 else ""
line_num2 = line2.line_num if line2 else ""
out1 = f"{line_color1}{line_num1} {in_arrow1} {out1}{Style.RESET_ALL}{out_arrow1}"
out2 = f"{line_color2}{line_num2} {in_arrow2} {out2}{Style.RESET_ALL}{out_arrow2}"
mid = f"{sym_color}{line_prefix} "
for source_line in source_lines2[j1 + k]:
color = Style.DIM
# File names and function names
if source_line and source_line[0] != "|":
color += Style.BRIGHT
# Function names
if source_line.endswith("():"):
# Underline. Colorama does not provide this feature, unfortunately.
color += "\u001b[4m"
try:
source_line = cxxfilt.demangle(source_line[:-3], external_only=False)
except:
pass
output.append(format_single_line_diff("", f" {color}{source_line}{Style.RESET_ALL}", args.column_width))
if line2:
for source_line in line2.source_lines:
color = Style.DIM
# File names and function names
if source_line and source_line[0] != "|":
color += Style.BRIGHT
# Function names
if source_line.endswith("():"):
# Underline. Colorama does not provide this feature, unfortunately.
color += "\u001b[4m"
try:
source_line = cxxfilt.demangle(
source_line[:-3], external_only=False
)
except:
pass
output.append(
format_single_line_diff(
"",
f" {color}{source_line}{Style.RESET_ALL}",
args.column_width,
)
)
output.append(format_single_line_diff(out1, mid + out2, args.column_width))

5
spec
View File

@ -3179,8 +3179,11 @@ endseg
beginseg
name "ovl_En_Syateki_Niw"
include "build/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.o"
include "build/data/overlays/actors/z_en_syateki_niw.data.o"
#ifdef NON_MATCHING
include "build/src/overlays/actors/ovl_En_Syateki_Niw/ovl_En_Syateki_Niw_reloc.o"
#else
include "build/data/overlays/actors/z_en_syateki_niw.reloc.o"
#endif
endseg
beginseg

View File

@ -1,4 +1,11 @@
/*
* File: z_en_syateki_niw.c
* Overlay: ovl_En_Syateki_Niw
* Description: Hopping Cucco
*/
#include "z_en_syateki_niw.h"
#include <vt.h>
#define FLAGS 0x00000010
@ -9,7 +16,22 @@ void EnSyatekiNiw_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnSyatekiNiw_Update(Actor* thisx, GlobalContext* globalCtx);
void EnSyatekiNiw_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void func_80B11DEC(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B132A8(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B129EC(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B13464(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B123A8(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B11E78(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B12460(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B128D8(EnSyatekiNiw* this, GlobalContext* globalCtx);
void func_80B131B8(EnSyatekiNiw* this, Vec3f* arg1, Vec3f* arg2, Vec3f* arg3, f32 arg4);
extern AnimationHeader D_060000E8;
extern Gfx D_060023B0[];
extern Gfx D_06002428[];
extern SkeletonHeader D_06002530;
const ActorInit En_Syateki_Niw_InitVars = {
ACTOR_EN_SYATEKI_NIW,
ACTORTYPE_PROP,
@ -21,37 +43,750 @@ const ActorInit En_Syateki_Niw_InitVars = {
(ActorFunc)EnSyatekiNiw_Update,
(ActorFunc)EnSyatekiNiw_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/EnSyatekiNiw_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/EnSyatekiNiw_Destroy.s")
static ColliderCylinderInit sCylinderInit = {
{ COLTYPE_UNK5, 0x00, 0x09, 0x39, 0x20, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
{ 10, 20, 4, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B11A94.s")
static InitChainEntry sInitChain[] = {
ICHAIN_U8(unk_1F, 1, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, 64536, ICHAIN_CONTINUE),
ICHAIN_F32(unk_4C, 0, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B11DEC.s")
void EnSyatekiNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
EnSyatekiNiw* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B11E78.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.flags &= ~1;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f);
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable,
this->transitionDrawTable, 16);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B123A8.s")
this->unk_29E = this->actor.params;
if (this->unk_29E < 0) {
this->unk_29E = 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B12460.s")
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
if (this->unk_29E == 0) {
osSyncPrintf("\n\n");
// Archery range chicken
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 射的場鶏 ☆☆☆☆☆ \n" VT_RST);
Actor_SetScale(&this->actor, 0.01f);
} else {
osSyncPrintf("\n\n");
// Bomb chicken
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ ボムにわ! ☆☆☆☆☆ \n" VT_RST);
this->actor.colChkInfo.mass = 0xFF;
Actor_SetScale(&this->actor, 0.01f);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B128D8.s")
this->unk_2DC = this->actor.posRot.pos;
this->unk_2E8 = this->actor.posRot.pos;
this->actionFunc = func_80B11DEC;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B128F8.s")
void EnSyatekiNiw_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnSyatekiNiw* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B129EC.s")
Collider_DestroyCylinder(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B12BA4.s")
void func_80B11A94(EnSyatekiNiw* this, GlobalContext* globalCtx, s16 arg2) {
if (this->unk_254 == 0) {
if (arg2 == 0) {
this->unk_264 = 0.0f;
} else {
this->unk_264 = -10000.0f;
}
this->unk_28E += 1;
this->unk_254 = 3;
if (!(this->unk_28E & 1)) {
this->unk_264 = 0.0f;
if (arg2 == 0) {
this->unk_254 = Math_Rand_ZeroFloat(30.0f);
}
}
}
if (this->unk_258 == 0) {
this->unk_292++;
this->unk_292 &= 1;
switch (arg2) {
case 0:
this->unk_26C = 0.0f;
this->unk_268 = 0.0f;
break;
case 1:
this->unk_258 = 3;
this->unk_26C = 7000.0f;
this->unk_268 = 7000.0f;
if (this->unk_292 == 0) {
this->unk_26C = 0.0f;
this->unk_268 = 0.0f;
}
break;
case 2:
this->unk_258 = 2;
this->unk_268 = this->unk_26C = -10000.0f;
this->unk_280 = this->unk_278 = 25000.0f;
this->unk_284 = this->unk_27C = 6000.0f;
if (this->unk_292 == 0) {
this->unk_278 = 8000.0f;
this->unk_280 = 8000.0f;
}
break;
case 3:
this->unk_258 = 2;
this->unk_278 = 10000.0f;
this->unk_280 = 10000.0f;
if (this->unk_292 == 0) {
this->unk_278 = 3000.0f;
this->unk_280 = 3000.0f;
}
break;
case 4:
this->unk_254 = this->unk_256 = 5;
break;
case 5:
this->unk_258 = 5;
this->unk_278 = 14000.0f;
this->unk_280 = 14000.0f;
if (this->unk_292 == 0) {
this->unk_278 = 10000.0f;
this->unk_280 = 10000.0f;
}
break;
}
}
if (this->unk_264 != this->unk_2BC.x) {
Math_SmoothScaleMaxF(&this->unk_2BC.x, this->unk_264, 0.5f, 4000.0f);
}
if (this->unk_26C != this->unk_2A4.x) {
Math_SmoothScaleMaxF(&this->unk_2A4.x, this->unk_26C, 0.8f, 7000.0f);
}
if (this->unk_280 != this->unk_2A4.y) {
Math_SmoothScaleMaxF(&this->unk_2A4.y, this->unk_280, 0.8f, 7000.0f);
}
if (this->unk_284 != this->unk_2A4.z) {
Math_SmoothScaleMaxF(&this->unk_2A4.z, this->unk_284, 0.8f, 7000.0f);
}
if (this->unk_268 != this->unk_2B0.x) {
Math_SmoothScaleMaxF(&this->unk_2B0.x, this->unk_268, 0.8f, 7000.0f);
}
if (this->unk_278 != this->unk_2B0.y) {
Math_SmoothScaleMaxF(&this->unk_2B0.y, this->unk_278, 0.8f, 7000.0f);
}
if (this->unk_27C != this->unk_2B0.z) {
Math_SmoothScaleMaxF(&this->unk_2B0.z, this->unk_27C, 0.8f, 7000.0f);
}
}
void func_80B11DEC(EnSyatekiNiw* this, GlobalContext* globalCtx) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060000E8.genericHeader),
0, -10.0f);
if (this->unk_29E != 0) {
Actor_SetScale(&this->actor, this->unk_2F4);
}
this->actionFunc = func_80B11E78;
}
void func_80B11E78(EnSyatekiNiw* this, GlobalContext* globalCtx) {
Vec3f dustVelocity = { 0.0f, 0.0f, 0.0f };
Vec3f dustAccel = { 0.0f, 0.2f, 0.0f };
Color_RGBA8_n dustPrimColor = { 0, 0, 0, 255 };
Color_RGBA8_n dustEnvColor = { 0, 0, 0, 255 };
Vec3f dustPos;
f32 tmpf2;
f32 sp4C;
f32 sp50;
f32 tmpf1;
s16 sp4A;
if ((this->unk_29C != 0) && (this->unk_29E == 0) && (this->actor.bgCheckFlags & 1)) {
this->unk_29C = 0;
this->actionFunc = func_80B123A8;
return;
}
sp4A = 0;
if ((this->unk_25E == 0) && (this->unk_25C == 0)) {
this->unk_294++;
if (this->unk_294 >= 8) {
this->unk_25E = Math_Rand_ZeroFloat(30.0f);
this->unk_294 = Math_Rand_ZeroFloat(3.99f);
switch (this->unk_29E) {
case 0:
sp50 = Math_Rand_CenteredFloat(100.0f);
if (sp50 < 0.0f) {
sp50 -= 100.0f;
} else {
sp50 += 100.0f;
}
sp4C = Math_Rand_CenteredFloat(100.0f);
if (sp4C < 0.0f) {
sp4C -= 100.0f;
} else {
sp4C += 100.0f;
}
this->unk_2E8.x = this->unk_2DC.x + sp50;
this->unk_2E8.z = this->unk_2DC.z + sp4C;
if (this->unk_2E8.x < -150.0f) {
this->unk_2E8.x = -150.0f;
}
if (this->unk_2E8.x > 150.0f) {
this->unk_2E8.x = 150.0f;
}
if (this->unk_2E8.z < -60.0f) {
this->unk_2E8.z = -60.0f;
}
if (this->unk_2E8.z > -40.0f) {
this->unk_2E8.z = -40.0f;
}
break;
case 1:
sp50 = Math_Rand_CenteredFloat(50.0f);
if (sp50 < 0.0f) {
sp50 -= 50.0f;
} else {
sp50 += 50.0f;
}
sp4C = Math_Rand_CenteredFloat(30.0f);
if (sp4C < 0.0f) {
sp4C -= 30.0f;
} else {
sp4C += 30.0f;
}
this->unk_2E8.x = this->unk_2DC.x + sp50;
this->unk_2E8.z = this->unk_2DC.z + sp4C;
break;
}
} else {
this->unk_25C = 4;
if (this->actor.bgCheckFlags & 1) {
this->actor.velocity.y = 2.5f;
if ((Math_Rand_ZeroFloat(10.0f) < 1.0f) && (this->unk_29E == 0)) {
this->unk_25C = 0xC;
this->actor.velocity.y = 10.0f;
}
}
}
}
if (this->unk_25C != 0) {
sp4A = 1;
Math_SmoothScaleMaxF(&this->actor.posRot.pos.x, this->unk_2E8.x, 1.0f, this->unk_2C8.y);
Math_SmoothScaleMaxF(&this->actor.posRot.pos.z, this->unk_2E8.z, 1.0f, this->unk_2C8.y);
Math_SmoothScaleMaxF(&this->unk_2C8.y, 3.0f, 1.0f, 0.3f);
tmpf1 = this->unk_2E8.x - this->actor.posRot.pos.x;
tmpf2 = this->unk_2E8.z - this->actor.posRot.pos.z;
if (fabsf(tmpf1) < 10.0f) {
tmpf1 = 0;
}
if (fabsf(tmpf2) < 10.0f) {
tmpf2 = 0.0f;
}
if ((tmpf1 == 0.0f) && (tmpf2 == 0.0f)) {
this->unk_25C = 0;
this->unk_294 = 7;
}
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, Math_atan2f(tmpf1, tmpf2) * 10430.378f, 3, this->unk_2C8.z,
0);
Math_SmoothScaleMaxF(&this->unk_2C8.z, 10000.0f, 1.0f, 1000.0f);
}
if (this->unk_260 == 0) {
func_80B11A94(this, globalCtx, sp4A);
return;
}
if ((globalCtx->gameplayFrames % 4) == 0) {
dustVelocity.y = Math_Rand_CenteredFloat(5.0f);
dustAccel.y = 0.2f;
dustPos = this->actor.posRot.pos;
func_8002836C(globalCtx, &dustPos, &dustVelocity, &dustAccel, &dustPrimColor, &dustEnvColor, 0x258, 0x28, 0x1E);
}
}
void func_80B123A8(EnSyatekiNiw* this, GlobalContext* globalCtx) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060000E8.genericHeader),
0, -10.0f);
this->unk_27C = 6000.0f;
this->unk_288 = -10000.0f;
this->unk_2B0.z = 6000.0f;
this->unk_2B0.y = 10000.0f;
this->actionFunc = func_80B12460;
this->unk_2A4.z = 6000.0f;
this->unk_284 = 6000.0f;
this->unk_2B0.x = -10000.0f;
this->unk_268 = -10000.0f;
this->unk_2A4.y = -10000.0f;
this->unk_2A4.x = -10000.0f;
this->unk_26C = -10000.0f;
}
void func_80B12460(EnSyatekiNiw* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
f32 phi_f16 = 0.0f;
player->actor.freezeTimer = 10;
switch (this->unk_29A) {
case 0:
this->unk_296 = 2;
this->unk_2C8.y = 0.0f;
this->unk_29A = 1;
break;
case 1:
this->actor.speedXZ = 2.0f;
if (this->unk_25C == 0) {
this->unk_25C = 3;
this->actor.velocity.y = 3.5f;
}
if (this->unk_25A == 0) {
this->unk_298++;
this->unk_298 &= 1;
this->unk_25A = 5;
}
phi_f16 = (this->unk_298 == 0) ? 5000.0f : -5000.0f;
if (this->actor.posRot.pos.z > 100.0f) {
this->actor.speedXZ = 2.0f;
this->actor.gravity = -0.3f;
this->actor.velocity.y = 5.0f;
this->unk_29A = 2;
}
break;
case 2:
if ((player->actor.posRot.pos.z - 40.0f) < this->actor.posRot.pos.z) {
this->actor.speedXZ = 0.0f;
}
if ((this->actor.bgCheckFlags & 1) && (this->actor.posRot.pos.z > 110.0f)) {
this->actor.velocity.y = 0.0f;
this->actor.gravity = 0.0f;
this->unk_284 = 0.0f;
this->unk_27C = 0.0f;
this->unk_278 = 0.0f;
this->unk_280 = 0.0f;
this->unk_288 = 0.0f;
this->actor.speedXZ = 0.5f;
this->unk_254 = this->unk_256 = 0;
this->unk_28E = this->unk_290 = 0;
this->unk_296 = 1;
this->unk_29A = 3;
}
break;
case 3:
if ((player->actor.posRot.pos.z - 50.0f) < this->actor.posRot.pos.z) {
this->actor.speedXZ = 0.0f;
this->unk_262 = 0x3C;
this->unk_25A = 0x14;
this->unk_264 = 10000.0f;
this->unk_29A = 4;
}
break;
case 4:
if (this->unk_25A == 0) {
this->unk_296 = 4;
this->unk_264 = 5000.0f;
this->unk_26C = 0.0f;
this->unk_268 = 0.0f;
this->unk_284 = 0.0f;
this->unk_27C = 0.0f;
this->unk_280 = 14000.0f;
this->unk_278 = 14000.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHICKEN_CRY_M);
this->unk_254 = this->unk_256 = this->unk_25A = 0x1E;
this->unk_29A = 5;
}
break;
case 5:
if (this->unk_25A == 1) {
this->unk_258 = 0;
this->unk_296 = 5;
this->unk_256 = this->unk_258;
this->unk_254 = this->unk_258;
this->actor.speedXZ = 1.0f;
}
if ((this->unk_25A == 0) && ((player->actor.posRot.pos.z - 30.0f) < this->actor.posRot.pos.z)) {
Audio_PlaySoundGeneral(NA_SE_VO_LI_DOWN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
this->unk_25E = 0x14;
this->unk_29A = 6;
this->actor.speedXZ = 0.0f;
}
break;
case 6:
if (this->unk_25E == 1) {
globalCtx->sceneLoadFlag = 0x14;
globalCtx->nextEntranceIndex = gSaveContext.entranceIndex;
globalCtx->unk_11E5C = 0;
player->actor.freezeTimer = 20;
this->unk_25E = 0x14;
this->actionFunc = func_80B128D8;
}
break;
}
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y,
(s16)(Math_atan2f(player->actor.posRot.pos.x - this->actor.posRot.pos.x,
player->actor.posRot.pos.z - this->actor.posRot.pos.z) *
10430.378f) +
phi_f16,
5, this->unk_2C8.y, 0);
Math_SmoothScaleMaxF(&this->unk_2C8.y, 3000.0f, 1.0f, 500.0f);
if (this->unk_296 == 2) {
this->unk_256 = 10;
this->unk_254 = this->unk_256;
}
func_80B11A94(this, globalCtx, this->unk_296);
}
void func_80B128D8(EnSyatekiNiw* this, GlobalContext* globalCtx) {
if (this->unk_25E == 1) {
gSaveContext.timer1State = 0;
}
}
void func_80B128F8(EnSyatekiNiw* this, GlobalContext* globalCtx) {
s16 sp26;
s16 sp24;
Actor_SetHeight(&this->actor, this->unk_2D4);
func_8002F374(globalCtx, &this->actor, &sp26, &sp24);
if ((this->actor.projectedPos.z > 200.0f) && (this->actor.projectedPos.z < 800.0f) && (sp26 > 0) &&
(sp26 < 0x140) && (sp24 > 0) && (sp24 < 0xF0)) {
this->actor.speedXZ = 5.0f;
this->unk_298 = Math_Rand_ZeroFloat(1.99f);
this->unk_2D8 = Math_Rand_CenteredFloat(8000.0f) + -10000.0f;
this->unk_262 = 0x1E;
this->unk_25E = 0x64;
this->actionFunc = func_80B129EC;
}
}
void func_80B129EC(EnSyatekiNiw* this, GlobalContext* globalCtx) {
s32 pad;
f32 phi_f2;
s16 sp2E;
s16 sp2C;
f32 tmpf2;
Actor_SetHeight(&this->actor, this->unk_2D4);
func_8002F374(globalCtx, &this->actor, &sp2E, &sp2C);
if ((this->unk_25E == 0) || (this->actor.projectedPos.z < -70.0f) || (sp2E < 0) || (sp2E >= 0x141) || (sp2C < 0) ||
(sp2C >= 0xF1)) {
Actor_Kill(&this->actor);
return;
}
this->unk_2A0 = 1;
if (this->unk_25C == 0) {
this->unk_298++;
this->unk_298 &= 1;
this->unk_25C = (s16)Math_Rand_CenteredFloat(4.0f) + 5;
if ((Math_Rand_ZeroFloat(5.0f) < 1.0f) && (this->actor.bgCheckFlags & 1)) {
this->actor.velocity.y = 4.0f;
}
}
phi_f2 = (this->unk_298 == 0) ? 5000.0f : -5000.0f;
tmpf2 = this->unk_2D8 + phi_f2;
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, tmpf2, 3, this->unk_2C8.y, 0);
Math_SmoothScaleMaxF(&this->unk_2C8.y, 3000.0f, 1.0f, 500.0f);
func_80B11A94(this, globalCtx, 2);
}
void func_80B12BA4(EnSyatekiNiw* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & 2) {
this->collider.base.acFlags &= ~2;
switch (this->unk_29E) {
case 0:
if (this->unk_29C == 0) {
this->unk_262 = 0x1E;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHICKEN_CRY_A);
this->unk_29C = 1;
this->unk_2A0 = 1;
this->actionFunc = func_80B123A8;
this->actor.gravity = -3.0f;
}
break;
case 1:
this->unk_262 = 0x1E;
this->unk_2F8 = 1;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHICKEN_CRY_A);
this->unk_260 = 100;
this->unk_2A0 = 1;
this->unk_25E = this->unk_260;
break;
}
}
}
#ifdef NON_MATCHING
// Regalloc in the switch, tmp in v1 rather than s0
void EnSyatekiNiw_Update(Actor* thisx, GlobalContext* globalCtx) {
s16 i;
s32 tmp;
EnSyatekiNiw* this = THIS;
Vec3f sp90 = { 0.0f, 0.0f, 0.0f };
Vec3f sp84 = { 0.0f, 0.0f, 0.0f };
Vec3f sp78;
Vec3f sp6C;
Vec3f sp60;
func_80B132A8(this, globalCtx);
this->unk_28C++;
if (this->unk_254 != 0) {
this->unk_254--;
}
if (this->unk_258 != 0) {
this->unk_258--;
}
if (this->unk_25A != 0) {
this->unk_25A--;
}
if (this->unk_25C != 0) {
this->unk_25C--;
}
if (this->unk_25E != 0) {
this->unk_25E--;
}
if (this->unk_262 != 0) {
this->unk_262--;
}
if (this->unk_260 != 0) {
this->unk_260--;
}
this->actor.shape.rot = this->actor.posRot.rot;
this->actor.shape.unk_10 = 15.0f;
this->actionFunc(this, globalCtx);
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 20.0f, 20.0f, 60.0f, 0x1D);
if (this->unk_2A0 != 0) {
for (i = 0; i < 20; i++) {
sp78.x = Math_Rand_CenteredFloat(10.0f) + this->actor.posRot.pos.x;
sp78.y = Math_Rand_CenteredFloat(10.0f) + (this->actor.posRot.pos.y + 20.0f);
sp78.z = Math_Rand_CenteredFloat(10.0f) + this->actor.posRot.pos.z;
sp6C.x = Math_Rand_CenteredFloat(3.0f);
sp6C.y = (Math_Rand_ZeroFloat(2.0f) * 0.5f) + 2.0f;
sp6C.z = Math_Rand_CenteredFloat(3.0f);
sp60.z = sp60.x = 0.0f;
sp60.y = -0.15f;
func_80B131B8(this, &sp78, &sp6C, &sp60, Math_Rand_ZeroFloat(8.0f) + 8.0f);
}
this->unk_2A0 = 0;
}
func_80B12BA4(this, globalCtx);
if (this->unk_262 == 0) {
if (this->actionFunc == func_80B11E78) {
this->unk_262 = 0x12C;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHICKEN_CRY_N);
} else {
this->unk_262 = 0x1E;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHICKEN_CRY_A);
}
}
tmp = 0;
switch (this->unk_29E) {
case 0:
if (globalCtx->unk_11E5C != 0) {
tmp = 1;
}
break;
case 1:
tmp = 1;
break;
}
if (tmp) {
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
}
#else
Vec3f D_80B136B8 = { 0.0f, 0.0f, 0.0f };
Vec3f D_80B136C4 = { 0.0f, 0.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/EnSyatekiNiw_Update.s")
#endif
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B12FE0.s")
s32 SyatekiNiw_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
Actor* thisx) {
EnSyatekiNiw* this = THIS;
Vec3f sp0 = { 0.0f, 0.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/EnSyatekiNiw_Draw.s")
if (limbIndex == 13) {
rot->y += (s16)this->unk_2BC.x;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B131B8.s")
if (limbIndex == 11) {
rot->x += (s16)this->unk_2B0.z;
rot->y += (s16)this->unk_2B0.y;
rot->z += (s16)this->unk_2B0.x;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B132A8.s")
if (limbIndex == 7) {
rot->x += (s16)this->unk_2A4.z;
rot->y += (s16)this->unk_2A4.y;
rot->z += (s16)this->unk_2A4.x;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Syateki_Niw/func_80B13464.s")
return 0;
}
void EnSyatekiNiw_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnSyatekiNiw* this = THIS;
Color_RGBA8 sp30 = { 0, 0, 0, 255 };
if (this->actionFunc != func_80B128F8) {
func_80093D18(globalCtx->state.gfxCtx);
if (this->unk_260 != 0) {
func_80026230(globalCtx, &sp30, 0, 0x14);
}
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
SyatekiNiw_OverrideLimbDraw, NULL, &this->actor);
func_80026608(globalCtx);
func_80B13464(this, globalCtx);
}
}
void func_80B131B8(EnSyatekiNiw* this, Vec3f* arg1, Vec3f* arg2, Vec3f* arg3, f32 arg4) {
s16 i;
EnSyatekiNiw_1* ptr = &this->unk_348[0];
for (i = 0; i < 5; i++, ptr++) {
if (ptr->unk_00 == 0) {
ptr->unk_00 = 1;
ptr->unk_04 = *arg1;
ptr->unk_10 = *arg2;
ptr->unk_1C = *arg3;
ptr->unk_34 = 0;
ptr->unk_2C = (arg4 / 1000.0f);
ptr->unk_28 = (s16)Math_Rand_ZeroFloat(20.0f) + 0x28;
ptr->unk_2A = Math_Rand_ZeroFloat(1000.0f);
return;
}
}
}
void func_80B132A8(EnSyatekiNiw* this, GlobalContext* globalCtx) {
s16 i;
EnSyatekiNiw_1* ptr = &this->unk_348[0];
for (i = 0; i < 5; i++, ptr++) {
if (ptr->unk_00 != 0) {
ptr->unk_04.x += ptr->unk_10.x;
ptr->unk_04.y += ptr->unk_10.y;
ptr->unk_04.z += ptr->unk_10.z;
ptr->unk_34++;
ptr->unk_10.x += ptr->unk_1C.x;
ptr->unk_10.y += ptr->unk_1C.y;
ptr->unk_10.z += ptr->unk_1C.z;
if (ptr->unk_00 == 1) {
ptr->unk_2A++;
Math_SmoothScaleMaxF(&ptr->unk_10.x, 0.0f, 1.0f, 0.05f);
Math_SmoothScaleMaxF(&ptr->unk_10.z, 0.0f, 1.0f, 0.05f);
if (ptr->unk_10.y < -0.5f) {
ptr->unk_10.y = 0.5f;
}
ptr->unk_30 = (Math_Sins(ptr->unk_2A * 3000) * M_PI) * 0.2f;
if (ptr->unk_28 < ptr->unk_34) {
ptr->unk_00 = 0;
}
}
}
}
}
void func_80B13464(EnSyatekiNiw* this, GlobalContext* globalCtx) {
s32 pad;
s16 i;
EnSyatekiNiw_1* ptr = &this->unk_348[0];
u8 flag = 0;
{
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_en_syateki_niw.c", 1234);
func_80093D84(globalCtx->state.gfxCtx);
for (i = 0; i < 5; i++, ptr++) {
if (ptr->unk_00 == 1) {
if (flag == 0) {
gSPDisplayList(gfxCtx->polyXlu.p++, D_060023B0);
flag++;
}
Matrix_Translate(ptr->unk_04.x, ptr->unk_04.y, ptr->unk_04.z, MTXMODE_NEW);
func_800D1FD4(&globalCtx->mf_11DA0);
Matrix_Scale(ptr->unk_2C, ptr->unk_2C, 1.0f, MTXMODE_APPLY);
Matrix_RotateZ(ptr->unk_30, MTXMODE_APPLY);
Matrix_Translate(0.0f, -1000.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(gfxCtx, "../z_en_syateki_niw.c", 1251),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06002428);
}
}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_en_syateki_niw.c", 1257);
}
}

View File

@ -6,9 +6,66 @@
struct EnSyatekiNiw;
typedef void (*EnSyatekiNiwActionFunc)(struct EnSyatekiNiw*, GlobalContext*);
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x0C */ Vec3f unk_04;
/* 0x10 */ Vec3f unk_10;
/* 0x1C */ Vec3f unk_1C;
/* 0x28 */ s16 unk_28;
/* 0x2A */ s16 unk_2A;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ u8 unk_34;
} EnSyatekiNiw_1; // size = 0x38
typedef struct EnSyatekiNiw {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x314];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s limbDrawTable[16];
/* 0x01F0 */ Vec3s transitionDrawTable[16];
/* 0x0250 */ EnSyatekiNiwActionFunc actionFunc;
/* 0x0254 */ s16 unk_254;
/* 0x0256 */ s16 unk_256;
/* 0x0258 */ s16 unk_258;
/* 0x025A */ s16 unk_25A;
/* 0x025C */ s16 unk_25C;
/* 0x025E */ s16 unk_25E;
/* 0x0260 */ s16 unk_260;
/* 0x0262 */ s16 unk_262;
/* 0x0264 */ f32 unk_264;
/* 0x0268 */ f32 unk_268;
/* 0x026C */ f32 unk_26C;
/* 0x0270 */ char unk_270[0x8];
/* 0x0278 */ f32 unk_278;
/* 0x027C */ f32 unk_27C;
/* 0x0284 */ f32 unk_280;
/* 0x0280 */ f32 unk_284;
/* 0x0288 */ f32 unk_288;
/* 0x028C */ s16 unk_28C;
/* 0x028E */ s16 unk_28E;
/* 0x0290 */ s16 unk_290;
/* 0x0292 */ s16 unk_292;
/* 0x0294 */ s16 unk_294;
/* 0x0296 */ s16 unk_296;
/* 0x0298 */ s16 unk_298;
/* 0x029C */ s16 unk_29A;
/* 0x029C */ s16 unk_29C;
/* 0x029E */ s16 unk_29E;
/* 0x02A0 */ s16 unk_2A0;
/* 0x02A4 */ Vec3f unk_2A4;
/* 0x02B0 */ Vec3f unk_2B0;
/* 0x02BC */ Vec3f unk_2BC;
/* 0x02C8 */ Vec3f unk_2C8;
/* 0x02D4 */ f32 unk_2D4;
/* 0x02D8 */ f32 unk_2D8;
/* 0x02DC */ Vec3f unk_2DC;
/* 0x02E8 */ Vec3f unk_2E8;
/* 0x02F4 */ f32 unk_2F4;
/* 0x02F8 */ u8 unk_2F8;
/* 0x02FC */ ColliderCylinder collider;
/* 0x0348 */ EnSyatekiNiw_1 unk_348[5];
} EnSyatekiNiw; // size = 0x0460
extern const ActorInit En_Syateki_Niw_InitVars;

View File

@ -770,6 +770,12 @@ D_04010050 = 0x04010050;
D_06000660 = 0x06000660;
D_06000FC0 = 0x06000FC0;
// z_en_syateki_niw
D_060000E8 = 0x060000E8;
D_060023B0 = 0x060023B0;
D_06002428 = 0x06002428;
D_06002530 = 0x06002530;
// z_eff_ss_blast
D_0401A0B0 = 0x0401A0B0;