mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-25 22:26:12 +00:00
en_sb OK (#159)
* en_sb OK * en_sb done * remove asm * remove diff.txt * pr changes * pr changes 2 * merge master and add description
This commit is contained in:
parent
d48792870c
commit
442b15c79f
35 changed files with 464 additions and 1398 deletions
|
@ -1,16 +0,0 @@
|
|||
glabel EnSb_Destroy
|
||||
/* 000E4 80AF78D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 000E8 80AF78D8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000EC 80AF78DC AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 000F0 80AF78E0 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 000F4 80AF78E4 0C0295BC */ jal SkelAnime_Free
|
||||
/* 000F8 80AF78E8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 000FC 80AF78EC 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00100 80AF78F0 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00104 80AF78F4 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 00108 80AF78F8 24A50194 */ addiu $a1, $a1, 0x0194 ## $a1 = 00000194
|
||||
/* 0010C 80AF78FC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00110 80AF7900 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00114 80AF7904 03E00008 */ jr $ra
|
||||
/* 00118 80AF7908 00000000 */ nop
|
|
@ -1,83 +0,0 @@
|
|||
glabel EnSb_Draw
|
||||
/* 01088 80AF8878 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 0108C 80AF887C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 01090 80AF8880 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 01094 80AF8884 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01098 80AF8888 AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 0109C 80AF888C 0C00BAF3 */ jal func_8002EBCC
|
||||
/* 010A0 80AF8890 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 010A4 80AF8894 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
|
||||
/* 010A8 80AF8898 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
|
||||
/* 010AC 80AF889C 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
|
||||
/* 010B0 80AF88A0 3C0E80B0 */ lui $t6, %hi(func_80AF8828) ## $t6 = 80B00000
|
||||
/* 010B4 80AF88A4 25CE8828 */ addiu $t6, $t6, %lo(func_80AF8828) ## $t6 = 80AF8828
|
||||
/* 010B8 80AF88A8 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 010BC 80AF88AC AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 010C0 80AF88B0 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 010C4 80AF88B4 0C0286B2 */ jal SkelAnime_DrawSV
|
||||
/* 010C8 80AF88B8 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 010CC 80AF88BC 860301F8 */ lh $v1, 0x01F8($s0) ## 000001F8
|
||||
/* 010D0 80AF88C0 10600035 */ beq $v1, $zero, .L80AF8998
|
||||
/* 010D4 80AF88C4 2462FFFF */ addiu $v0, $v1, 0xFFFF ## $v0 = FFFFFFFF
|
||||
/* 010D8 80AF88C8 920F0114 */ lbu $t7, 0x0114($s0) ## 00000114
|
||||
/* 010DC 80AF88CC 00021400 */ sll $v0, $v0, 16
|
||||
/* 010E0 80AF88D0 00021403 */ sra $v0, $v0, 16
|
||||
/* 010E4 80AF88D4 30590001 */ andi $t9, $v0, 0x0001 ## $t9 = 00000001
|
||||
/* 010E8 80AF88D8 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 010EC 80AF88DC 1720002E */ bne $t9, $zero, .L80AF8998
|
||||
/* 010F0 80AF88E0 A2180114 */ sb $t8, 0x0114($s0) ## 00000114
|
||||
/* 010F4 80AF88E4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 010F8 80AF88E8 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
|
||||
/* 010FC 80AF88EC 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 01100 80AF88F0 A7A2003A */ sh $v0, 0x003A($sp)
|
||||
/* 01104 80AF88F4 87A2003A */ lh $v0, 0x003A($sp)
|
||||
/* 01108 80AF88F8 3C0A80B0 */ lui $t2, %hi(D_80AF8A28) ## $t2 = 80B00000
|
||||
/* 0110C 80AF88FC 254A8A28 */ addiu $t2, $t2, %lo(D_80AF8A28) ## $t2 = 80AF8A28
|
||||
/* 01110 80AF8900 30480003 */ andi $t0, $v0, 0x0003 ## $t0 = 00000000
|
||||
/* 01114 80AF8904 00084880 */ sll $t1, $t0, 2
|
||||
/* 01118 80AF8908 01284823 */ subu $t1, $t1, $t0
|
||||
/* 0111C 80AF890C 00094880 */ sll $t1, $t1, 2
|
||||
/* 01120 80AF8910 012A1821 */ addu $v1, $t1, $t2
|
||||
/* 01124 80AF8914 C4660000 */ lwc1 $f6, 0x0000($v1) ## 00000000
|
||||
/* 01128 80AF8918 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 0112C 80AF891C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 01130 80AF8920 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
|
||||
/* 01134 80AF8924 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 01138 80AF8928 AFA30034 */ sw $v1, 0x0034($sp)
|
||||
/* 0113C 80AF892C 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 01140 80AF8930 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 01144 80AF8934 E7AA0040 */ swc1 $f10, 0x0040($sp)
|
||||
/* 01148 80AF8938 8FAB0034 */ lw $t3, 0x0034($sp)
|
||||
/* 0114C 80AF893C C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
|
||||
/* 01150 80AF8940 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 01154 80AF8944 C5720004 */ lwc1 $f18, 0x0004($t3) ## 00000004
|
||||
/* 01158 80AF8948 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
|
||||
/* 0115C 80AF894C 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 01160 80AF8950 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 01164 80AF8954 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 01168 80AF8958 E7A60044 */ swc1 $f6, 0x0044($sp)
|
||||
/* 0116C 80AF895C 8FAC0034 */ lw $t4, 0x0034($sp)
|
||||
/* 01170 80AF8960 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 01174 80AF8964 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF
|
||||
/* 01178 80AF8968 C58A0008 */ lwc1 $f10, 0x0008($t4) ## 00000008
|
||||
/* 0117C 80AF896C AFAD0018 */ sw $t5, 0x0018($sp)
|
||||
/* 01180 80AF8970 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 01184 80AF8974 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 01188 80AF8978 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0118C 80AF897C 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 01190 80AF8980 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 01194 80AF8984 46100480 */ add.s $f18, $f0, $f16
|
||||
/* 01198 80AF8988 27A60040 */ addiu $a2, $sp, 0x0040 ## $a2 = FFFFFFF0
|
||||
/* 0119C 80AF898C 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
|
||||
/* 011A0 80AF8990 0C00A935 */ jal func_8002A4D4
|
||||
/* 011A4 80AF8994 E7B20048 */ swc1 $f18, 0x0048($sp)
|
||||
.L80AF8998:
|
||||
/* 011A8 80AF8998 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 011AC 80AF899C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 011B0 80AF89A0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 011B4 80AF89A4 03E00008 */ jr $ra
|
||||
/* 011B8 80AF89A8 00000000 */ nop
|
||||
/* 011BC 80AF89AC 00000000 */ nop
|
|
@ -1,66 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80AF8A8C
|
||||
.float -0.35
|
||||
|
||||
.text
|
||||
glabel EnSb_Init
|
||||
/* 00000 80AF77F0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 80AF77F4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00008 80AF77F8 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 0000C 80AF77FC AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00010 80AF7800 3C0580B0 */ lui $a1, %hi(D_80AF8A1C) ## $a1 = 80B00000
|
||||
/* 00014 80AF7804 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 80AF7808 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 0001C 80AF780C 24A58A1C */ addiu $a1, $a1, %lo(D_80AF8A1C) ## $a1 = 80AF8A1C
|
||||
/* 00020 80AF7810 3C0E80B0 */ lui $t6, %hi(D_80AF89FC) ## $t6 = 80B00000
|
||||
/* 00024 80AF7814 25CE89FC */ addiu $t6, $t6, %lo(D_80AF89FC) ## $t6 = 80AF89FC
|
||||
/* 00028 80AF7818 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002
|
||||
/* 0002C 80AF781C AE0E0098 */ sw $t6, 0x0098($s0) ## 00000098
|
||||
/* 00030 80AF7820 A20F00AF */ sb $t7, 0x00AF($s0) ## 000000AF
|
||||
/* 00034 80AF7824 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 00038 80AF7828 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
|
||||
/* 0003C 80AF782C 24E70194 */ addiu $a3, $a3, 0x0194 ## $a3 = 06000194
|
||||
/* 00040 80AF7830 24C62BF0 */ addiu $a2, $a2, 0x2BF0 ## $a2 = 06002BF0
|
||||
/* 00044 80AF7834 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00048 80AF7838 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 0004C 80AF783C AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00050 80AF7840 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00054 80AF7844 0C0291BE */ jal SkelAnime_InitSV
|
||||
/* 00058 80AF7848 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 0005C 80AF784C 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 00060 80AF7850 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 00064 80AF7854 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00068 80AF7858 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0006C 80AF785C 3C0780B0 */ lui $a3, %hi(D_80AF89D0) ## $a3 = 80B00000
|
||||
/* 00070 80AF7860 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 00074 80AF7864 24E789D0 */ addiu $a3, $a3, %lo(D_80AF89D0) ## $a3 = 80AF89D0
|
||||
/* 00078 80AF7868 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0007C 80AF786C 0C017114 */ jal Collider_SetCylinder_Set3
|
||||
/* 00080 80AF7870 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00084 80AF7874 3C053BC4 */ lui $a1, 0x3BC4 ## $a1 = 3BC40000
|
||||
/* 00088 80AF7878 A60001FC */ sh $zero, 0x01FC($s0) ## 000001FC
|
||||
/* 0008C 80AF787C A20000AE */ sb $zero, 0x00AE($s0) ## 000000AE
|
||||
/* 00090 80AF7880 34A59BA6 */ ori $a1, $a1, 0x9BA6 ## $a1 = 3BC49BA6
|
||||
/* 00094 80AF7884 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00098 80AF7888 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0009C 80AF788C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 000A0 80AF7890 A60000B6 */ sh $zero, 0x00B6($s0) ## 000000B6
|
||||
/* 000A4 80AF7894 3C0180B0 */ lui $at, %hi(D_80AF8A8C) ## $at = 80B00000
|
||||
/* 000A8 80AF7898 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
|
||||
/* 000AC 80AF789C C4268A8C */ lwc1 $f6, %lo(D_80AF8A8C)($at)
|
||||
/* 000B0 80AF78A0 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 000B4 80AF78A4 44814000 */ mtc1 $at, $f8 ## $f8 = -1.00
|
||||
/* 000B8 80AF78A8 A60001F8 */ sh $zero, 0x01F8($s0) ## 000001F8
|
||||
/* 000BC 80AF78AC A2000204 */ sb $zero, 0x0204($s0) ## 00000204
|
||||
/* 000C0 80AF78B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 000C4 80AF78B4 E606006C */ swc1 $f6, 0x006C($s0) ## 0000006C
|
||||
/* 000C8 80AF78B8 0C2BDE6F */ jal func_80AF79BC
|
||||
/* 000CC 80AF78BC E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060
|
||||
/* 000D0 80AF78C0 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 000D4 80AF78C4 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 000D8 80AF78C8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 000DC 80AF78CC 03E00008 */ jr $ra
|
||||
/* 000E0 80AF78D0 00000000 */ nop
|
|
@ -1,112 +0,0 @@
|
|||
glabel EnSb_Update
|
||||
/* 00EBC 80AF86AC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00EC0 80AF86B0 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00EC4 80AF86B4 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 00EC8 80AF86B8 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 00ECC 80AF86BC 848E01FC */ lh $t6, 0x01FC($a0) ## 000001FC
|
||||
/* 00ED0 80AF86C0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00ED4 80AF86C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00ED8 80AF86C8 11C00023 */ beq $t6, $zero, .L80AF8758
|
||||
/* 00EDC 80AF86CC 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000
|
||||
/* 00EE0 80AF86D0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00EE4 80AF86D4 C4860084 */ lwc1 $f6, 0x0084($a0) ## 00000084
|
||||
/* 00EE8 80AF86D8 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 00EEC 80AF86DC 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 00EF0 80AF86E0 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00EF4 80AF86E4 260501E0 */ addiu $a1, $s0, 0x01E0 ## $a1 = 000001E0
|
||||
/* 00EF8 80AF86E8 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
|
||||
/* 00EFC 80AF86EC 45020004 */ bc1fl .L80AF8700
|
||||
/* 00F00 80AF86F0 A618001C */ sh $t8, 0x001C($s0) ## 0000001C
|
||||
/* 00F04 80AF86F4 10000002 */ beq $zero, $zero, .L80AF8700
|
||||
/* 00F08 80AF86F8 A48F001C */ sh $t7, 0x001C($a0) ## 0000001C
|
||||
/* 00F0C 80AF86FC A618001C */ sh $t8, 0x001C($s0) ## 0000001C
|
||||
.L80AF8700:
|
||||
/* 00F10 80AF8700 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F14 80AF8704 0C00CC17 */ jal func_8003305C
|
||||
/* 00F18 80AF8708 8607001C */ lh $a3, 0x001C($s0) ## 0000001C
|
||||
/* 00F1C 80AF870C 50400042 */ beql $v0, $zero, .L80AF8818
|
||||
/* 00F20 80AF8710 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00F24 80AF8714 92190204 */ lbu $t9, 0x0204($s0) ## 00000204
|
||||
/* 00F28 80AF8718 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
|
||||
/* 00F2C 80AF871C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00F30 80AF8720 17200007 */ bne $t9, $zero, .L80AF8740
|
||||
/* 00F34 80AF8724 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00F38 80AF8728 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00F3C 80AF872C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00F40 80AF8730 0C007E50 */ jal Item_DropCollectibleRandom
|
||||
|
||||
/* 00F44 80AF8734 24070080 */ addiu $a3, $zero, 0x0080 ## $a3 = 00000080
|
||||
/* 00F48 80AF8738 10000003 */ beq $zero, $zero, .L80AF8748
|
||||
/* 00F4C 80AF873C 00000000 */ nop
|
||||
.L80AF8740:
|
||||
/* 00F50 80AF8740 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 00F54 80AF8744 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008
|
||||
.L80AF8748:
|
||||
/* 00F58 80AF8748 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00F5C 80AF874C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F60 80AF8750 10000031 */ beq $zero, $zero, .L80AF8818
|
||||
/* 00F64 80AF8754 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80AF8758:
|
||||
/* 00F68 80AF8758 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 00F6C 80AF875C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F70 80AF8760 3C053BC4 */ lui $a1, 0x3BC4 ## $a1 = 3BC40000
|
||||
/* 00F74 80AF8764 34A59BA6 */ ori $a1, $a1, 0x9BA6 ## $a1 = 3BC49BA6
|
||||
/* 00F78 80AF8768 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00F7C 80AF876C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F80 80AF8770 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00F84 80AF8774 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F88 80AF8778 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
|
||||
/* 00F8C 80AF877C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F90 80AF8780 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00F94 80AF8784 0320F809 */ jalr $ra, $t9
|
||||
/* 00F98 80AF8788 00000000 */ nop
|
||||
/* 00F9C 80AF878C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00FA0 80AF8790 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00
|
||||
/* 00FA4 80AF8794 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
|
||||
/* 00FA8 80AF8798 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 00FAC 80AF879C 44060000 */ mfc1 $a2, $f0
|
||||
/* 00FB0 80AF87A0 44070000 */ mfc1 $a3, $f0
|
||||
/* 00FB4 80AF87A4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00FB8 80AF87A8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00FBC 80AF87AC 0C00B92D */ jal func_8002E4B4
|
||||
/* 00FC0 80AF87B0 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00FC4 80AF87B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00FC8 80AF87B8 0C2BE0F5 */ jal func_80AF83D4
|
||||
/* 00FCC 80AF87BC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00FD0 80AF87C0 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 00FD4 80AF87C4 AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00FD8 80AF87C8 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 00FDC 80AF87CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00FE0 80AF87D0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00FE4 80AF87D4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00FE8 80AF87D8 02212821 */ addu $a1, $s1, $at
|
||||
/* 00FEC 80AF87DC AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00FF0 80AF87E0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00FF4 80AF87E4 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 00FF8 80AF87E8 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 00FFC 80AF87EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01000 80AF87F0 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 01004 80AF87F4 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 01008 80AF87F8 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 0100C 80AF87FC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01010 80AF8800 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 01014 80AF8804 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 01018 80AF8808 8FA60028 */ lw $a2, 0x0028($sp)
|
||||
/* 0101C 80AF880C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 01020 80AF8810 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 01024 80AF8814 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80AF8818:
|
||||
/* 01028 80AF8818 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 0102C 80AF881C 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 01030 80AF8820 03E00008 */ jr $ra
|
||||
/* 01034 80AF8824 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
|
@ -1,47 +0,0 @@
|
|||
glabel func_80AF790C
|
||||
/* 0011C 80AF790C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00120 80AF7910 AFBF0044 */ sw $ra, 0x0044($sp)
|
||||
/* 00124 80AF7914 AFB30040 */ sw $s3, 0x0040($sp)
|
||||
/* 00128 80AF7918 AFB2003C */ sw $s2, 0x003C($sp)
|
||||
/* 0012C 80AF791C AFB10038 */ sw $s1, 0x0038($sp)
|
||||
/* 00130 80AF7920 AFB00034 */ sw $s0, 0x0034($sp)
|
||||
/* 00134 80AF7924 F7B80028 */ sdc1 $f24, 0x0028($sp)
|
||||
/* 00138 80AF7928 F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 0013C 80AF792C F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 00140 80AF7930 C4A60084 */ lwc1 $f6, 0x0084($a1) ## 00000084
|
||||
/* 00144 80AF7934 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00148 80AF7938 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
|
||||
/* 0014C 80AF793C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00150 80AF7940 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00154 80AF7944 24B10024 */ addiu $s1, $a1, 0x0024 ## $s1 = 00000024
|
||||
/* 00158 80AF7948 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
|
||||
/* 0015C 80AF794C 45020012 */ bc1fl .L80AF7998
|
||||
/* 00160 80AF7950 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
/* 00164 80AF7954 4481C000 */ mtc1 $at, $f24 ## $f24 = 0.25
|
||||
/* 00168 80AF7958 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 0016C 80AF795C 4481B000 */ mtc1 $at, $f22 ## $f22 = 30.00
|
||||
/* 00170 80AF7960 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00174 80AF7964 4481A000 */ mtc1 $at, $f20 ## $f20 = 10.00
|
||||
/* 00178 80AF7968 2413000A */ addiu $s3, $zero, 0x000A ## $s3 = 0000000A
|
||||
/* 0017C 80AF796C 4406A000 */ mfc1 $a2, $f20
|
||||
.L80AF7970:
|
||||
/* 00180 80AF7970 4407A000 */ mfc1 $a3, $f20
|
||||
/* 00184 80AF7974 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 00188 80AF7978 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024
|
||||
/* 0018C 80AF797C E7B60010 */ swc1 $f22, 0x0010($sp)
|
||||
/* 00190 80AF7980 0C00A4F9 */ jal func_800293E4
|
||||
/* 00194 80AF7984 E7B80014 */ swc1 $f24, 0x0014($sp)
|
||||
/* 00198 80AF7988 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 0019C 80AF798C 5613FFF8 */ bnel $s0, $s3, .L80AF7970
|
||||
/* 001A0 80AF7990 4406A000 */ mfc1 $a2, $f20
|
||||
/* 001A4 80AF7994 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
.L80AF7998:
|
||||
/* 001A8 80AF7998 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 001AC 80AF799C D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 001B0 80AF79A0 D7B80028 */ ldc1 $f24, 0x0028($sp)
|
||||
/* 001B4 80AF79A4 8FB00034 */ lw $s0, 0x0034($sp)
|
||||
/* 001B8 80AF79A8 8FB10038 */ lw $s1, 0x0038($sp)
|
||||
/* 001BC 80AF79AC 8FB2003C */ lw $s2, 0x003C($sp)
|
||||
/* 001C0 80AF79B0 8FB30040 */ lw $s3, 0x0040($sp)
|
||||
/* 001C4 80AF79B4 03E00008 */ jr $ra
|
||||
/* 001C8 80AF79B8 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
|
@ -1,33 +0,0 @@
|
|||
glabel func_80AF79BC
|
||||
/* 001CC 80AF79BC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 001D0 80AF79C0 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 001D4 80AF79C4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 001D8 80AF79C8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 001DC 80AF79CC 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 001E0 80AF79D0 2484004C */ addiu $a0, $a0, 0x004C ## $a0 = 0600004C
|
||||
/* 001E4 80AF79D4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 001E8 80AF79D8 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 001EC 80AF79DC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 001F0 80AF79E0 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 001F4 80AF79E4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 001F8 80AF79E8 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 001FC 80AF79EC AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 00200 80AF79F0 24A5004C */ addiu $a1, $a1, 0x004C ## $a1 = 0600004C
|
||||
/* 00204 80AF79F4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00208 80AF79F8 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 0020C 80AF79FC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00210 80AF7A00 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00214 80AF7A04 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00218 80AF7A08 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 0021C 80AF7A0C 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 00220 80AF7A10 3C1880AF */ lui $t8, %hi(func_80AF7D48) ## $t8 = 80AF0000
|
||||
/* 00224 80AF7A14 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00228 80AF7A18 27187D48 */ addiu $t8, $t8, %lo(func_80AF7D48) ## $t8 = 80AF7D48
|
||||
/* 0022C 80AF7A1C A44F01FA */ sh $t7, 0x01FA($v0) ## 000001FA
|
||||
/* 00230 80AF7A20 AC580190 */ sw $t8, 0x0190($v0) ## 00000190
|
||||
/* 00234 80AF7A24 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00238 80AF7A28 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 0023C 80AF7A2C 03E00008 */ jr $ra
|
||||
/* 00240 80AF7A30 00000000 */ nop
|
|
@ -1,35 +0,0 @@
|
|||
glabel func_80AF7A34
|
||||
/* 00244 80AF7A34 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00248 80AF7A38 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 0024C 80AF7A3C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00250 80AF7A40 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00254 80AF7A44 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00258 80AF7A48 24840194 */ addiu $a0, $a0, 0x0194 ## $a0 = 06000194
|
||||
/* 0025C 80AF7A4C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00260 80AF7A50 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00264 80AF7A54 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00268 80AF7A58 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0026C 80AF7A5C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00270 80AF7A60 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 00274 80AF7A64 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 00278 80AF7A68 24A50194 */ addiu $a1, $a1, 0x0194 ## $a1 = 06000194
|
||||
/* 0027C 80AF7A6C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00280 80AF7A70 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00284 80AF7A74 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00288 80AF7A78 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 0028C 80AF7A7C 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00290 80AF7A80 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00294 80AF7A84 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00298 80AF7A88 3C0F80AF */ lui $t7, %hi(func_80AF7DC8) ## $t7 = 80AF0000
|
||||
/* 0029C 80AF7A8C 25EF7DC8 */ addiu $t7, $t7, %lo(func_80AF7DC8) ## $t7 = 80AF7DC8
|
||||
/* 002A0 80AF7A90 24053849 */ addiu $a1, $zero, 0x3849 ## $a1 = 00003849
|
||||
/* 002A4 80AF7A94 A48001FA */ sh $zero, 0x01FA($a0) ## 000001FA
|
||||
/* 002A8 80AF7A98 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 002AC 80AF7A9C AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
|
||||
/* 002B0 80AF7AA0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 002B4 80AF7AA4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 002B8 80AF7AA8 03E00008 */ jr $ra
|
||||
/* 002BC 80AF7AAC 00000000 */ nop
|
|
@ -1,32 +0,0 @@
|
|||
glabel func_80AF7AB0
|
||||
/* 002C0 80AF7AB0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 002C4 80AF7AB4 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 002C8 80AF7AB8 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 002CC 80AF7ABC 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 002D0 80AF7AC0 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 002D4 80AF7AC4 24842C8C */ addiu $a0, $a0, 0x2C8C ## $a0 = 06002C8C
|
||||
/* 002D8 80AF7AC8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 002DC 80AF7ACC 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 002E0 80AF7AD0 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 002E4 80AF7AD4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 002E8 80AF7AD8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 002EC 80AF7ADC 24A52C8C */ addiu $a1, $a1, 0x2C8C ## $a1 = 06002C8C
|
||||
/* 002F0 80AF7AE0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 002F4 80AF7AE4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 002F8 80AF7AE8 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 002FC 80AF7AEC E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00300 80AF7AF0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00304 80AF7AF4 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00308 80AF7AF8 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 0030C 80AF7AFC 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 00310 80AF7B00 3C0F80AF */ lui $t7, %hi(func_80AF7E90) ## $t7 = 80AF0000
|
||||
/* 00314 80AF7B04 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 00318 80AF7B08 25EF7E90 */ addiu $t7, $t7, %lo(func_80AF7E90) ## $t7 = 80AF7E90
|
||||
/* 0031C 80AF7B0C A44E01FA */ sh $t6, 0x01FA($v0) ## 000001FA
|
||||
/* 00320 80AF7B10 AC4F0190 */ sw $t7, 0x0190($v0) ## 00000190
|
||||
/* 00324 80AF7B14 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00328 80AF7B18 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 0032C 80AF7B1C 03E00008 */ jr $ra
|
||||
/* 00330 80AF7B20 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
glabel func_80AF7B24
|
||||
/* 00334 80AF7B24 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00338 80AF7B28 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 0033C 80AF7B2C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00340 80AF7B30 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00344 80AF7B34 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00348 80AF7B38 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 0034C 80AF7B3C 24840124 */ addiu $a0, $a0, 0x0124 ## $a0 = 06000124
|
||||
/* 00350 80AF7B40 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 00354 80AF7B44 C6060084 */ lwc1 $f6, 0x0084($s0) ## 00000084
|
||||
/* 00358 80AF7B48 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 0035C 80AF7B4C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00360 80AF7B50 4606603C */ c.lt.s $f12, $f6
|
||||
/* 00364 80AF7B54 44076000 */ mfc1 $a3, $f12
|
||||
/* 00368 80AF7B58 24A50124 */ addiu $a1, $a1, 0x0124 ## $a1 = 06000124
|
||||
/* 0036C 80AF7B5C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00370 80AF7B60 45000005 */ bc1f .L80AF7B78
|
||||
/* 00374 80AF7B64 468020A0 */ cvt.s.w $f2, $f4
|
||||
/* 00378 80AF7B68 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0037C 80AF7B6C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
|
||||
/* 00380 80AF7B70 10000003 */ beq $zero, $zero, .L80AF7B80
|
||||
/* 00384 80AF7B74 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
.L80AF7B78:
|
||||
/* 00388 80AF7B78 46006006 */ mov.s $f0, $f12
|
||||
/* 0038C 80AF7B7C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
.L80AF7B80:
|
||||
/* 00390 80AF7B80 44060000 */ mfc1 $a2, $f0
|
||||
/* 00394 80AF7B84 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 00398 80AF7B88 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 0039C 80AF7B8C E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 003A0 80AF7B90 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 003A4 80AF7B94 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 003A8 80AF7B98 3C1880B0 */ lui $t8, %hi(func_80AF803C) ## $t8 = 80B00000
|
||||
/* 003AC 80AF7B9C 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
|
||||
/* 003B0 80AF7BA0 2718803C */ addiu $t8, $t8, %lo(func_80AF803C) ## $t8 = 80AF803C
|
||||
/* 003B4 80AF7BA4 A60F01FA */ sh $t7, 0x01FA($s0) ## 000001FA
|
||||
/* 003B8 80AF7BA8 AE180190 */ sw $t8, 0x0190($s0) ## 00000190
|
||||
/* 003BC 80AF7BAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003C0 80AF7BB0 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 003C4 80AF7BB4 24053849 */ addiu $a1, $zero, 0x3849 ## $a1 = 00003849
|
||||
/* 003C8 80AF7BB8 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 003CC 80AF7BBC 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 003D0 80AF7BC0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 003D4 80AF7BC4 03E00008 */ jr $ra
|
||||
/* 003D8 80AF7BC8 00000000 */ nop
|
|
@ -1,33 +0,0 @@
|
|||
glabel func_80AF7BCC
|
||||
/* 003DC 80AF7BCC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 003E0 80AF7BD0 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 003E4 80AF7BD4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 003E8 80AF7BD8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 003EC 80AF7BDC 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 003F0 80AF7BE0 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 060000B4
|
||||
/* 003F4 80AF7BE4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 003F8 80AF7BE8 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 003FC 80AF7BEC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00400 80AF7BF0 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00404 80AF7BF4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00408 80AF7BF8 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 0040C 80AF7BFC AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 00410 80AF7C00 24A500B4 */ addiu $a1, $a1, 0x00B4 ## $a1 = 060000B4
|
||||
/* 00414 80AF7C04 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00418 80AF7C08 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 0041C 80AF7C0C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00420 80AF7C10 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00424 80AF7C14 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00428 80AF7C18 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 0042C 80AF7C1C 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 00430 80AF7C20 3C1880B0 */ lui $t8, %hi(func_80AF80E4) ## $t8 = 80B00000
|
||||
/* 00434 80AF7C24 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 00438 80AF7C28 271880E4 */ addiu $t8, $t8, %lo(func_80AF80E4) ## $t8 = 80AF80E4
|
||||
/* 0043C 80AF7C2C A44F01FA */ sh $t7, 0x01FA($v0) ## 000001FA
|
||||
/* 00440 80AF7C30 AC580190 */ sw $t8, 0x0190($v0) ## 00000190
|
||||
/* 00444 80AF7C34 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00448 80AF7C38 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 0044C 80AF7C3C 03E00008 */ jr $ra
|
||||
/* 00450 80AF7C40 00000000 */ nop
|
|
@ -1,79 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80AF8A90
|
||||
.float 2.1
|
||||
|
||||
glabel D_80AF8A94
|
||||
.float 1.4
|
||||
|
||||
.text
|
||||
glabel func_80AF7C44
|
||||
/* 00454 80AF7C44 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00458 80AF7C48 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 0045C 80AF7C4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00460 80AF7C50 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00464 80AF7C54 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00468 80AF7C58 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 0046C 80AF7C5C 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00470 80AF7C60 2484004C */ addiu $a0, $a0, 0x004C ## $a0 = 0600004C
|
||||
/* 00474 80AF7C64 860E01FA */ lh $t6, 0x01FA($s0) ## 000001FA
|
||||
/* 00478 80AF7C68 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 0047C 80AF7C6C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00480 80AF7C70 11C1000C */ beq $t6, $at, .L80AF7CA4
|
||||
/* 00484 80AF7C74 46802020 */ cvt.s.w $f0, $f4
|
||||
/* 00488 80AF7C78 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 0048C 80AF7C7C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00490 80AF7C80 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002
|
||||
/* 00494 80AF7C84 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 00498 80AF7C88 24A5004C */ addiu $a1, $a1, 0x004C ## $a1 = 0600004C
|
||||
/* 0049C 80AF7C8C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 004A0 80AF7C90 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 004A4 80AF7C94 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 004A8 80AF7C98 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 004AC 80AF7C9C 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 004B0 80AF7CA0 E7A60018 */ swc1 $f6, 0x0018($sp)
|
||||
.L80AF7CA4:
|
||||
/* 004B4 80AF7CA4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 004B8 80AF7CA8 A61801FA */ sh $t8, 0x01FA($s0) ## 000001FA
|
||||
/* 004BC 80AF7CAC 8FB90034 */ lw $t9, 0x0034($sp)
|
||||
/* 004C0 80AF7CB0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 004C4 80AF7CB4 2408003C */ addiu $t0, $zero, 0x003C ## $t0 = 0000003C
|
||||
/* 004C8 80AF7CB8 1320001B */ beq $t9, $zero, .L80AF7D28
|
||||
/* 004CC 80AF7CBC 3C0980B0 */ lui $t1, %hi(func_80AF8224) ## $t1 = 80B00000
|
||||
/* 004D0 80AF7CC0 C6080084 */ lwc1 $f8, 0x0084($s0) ## 00000084
|
||||
/* 004D4 80AF7CC4 4608003C */ c.lt.s $f0, $f8
|
||||
/* 004D8 80AF7CC8 00000000 */ nop
|
||||
/* 004DC 80AF7CCC 4502000D */ bc1fl .L80AF7D04
|
||||
/* 004E0 80AF7CD0 C6060060 */ lwc1 $f6, 0x0060($s0) ## 00000060
|
||||
/* 004E4 80AF7CD4 C6100060 */ lwc1 $f16, 0x0060($s0) ## 00000060
|
||||
/* 004E8 80AF7CD8 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000
|
||||
/* 004EC 80AF7CDC 44815000 */ mtc1 $at, $f10 ## $f10 = -5.00
|
||||
/* 004F0 80AF7CE0 4600803C */ c.lt.s $f16, $f0
|
||||
/* 004F4 80AF7CE4 3C0180B0 */ lui $at, %hi(D_80AF8A90) ## $at = 80B00000
|
||||
/* 004F8 80AF7CE8 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
|
||||
/* 004FC 80AF7CEC 4500000E */ bc1f .L80AF7D28
|
||||
/* 00500 80AF7CF0 00000000 */ nop
|
||||
/* 00504 80AF7CF4 C4328A90 */ lwc1 $f18, %lo(D_80AF8A90)($at)
|
||||
/* 00508 80AF7CF8 1000000B */ beq $zero, $zero, .L80AF7D28
|
||||
/* 0050C 80AF7CFC E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
|
||||
/* 00510 80AF7D00 C6060060 */ lwc1 $f6, 0x0060($s0) ## 00000060
|
||||
.L80AF7D04:
|
||||
/* 00514 80AF7D04 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
|
||||
/* 00518 80AF7D08 44812000 */ mtc1 $at, $f4 ## $f4 = -6.00
|
||||
/* 0051C 80AF7D0C 4600303C */ c.lt.s $f6, $f0
|
||||
/* 00520 80AF7D10 3C0180B0 */ lui $at, %hi(D_80AF8A94) ## $at = 80B00000
|
||||
/* 00524 80AF7D14 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
|
||||
/* 00528 80AF7D18 45000003 */ bc1f .L80AF7D28
|
||||
/* 0052C 80AF7D1C 00000000 */ nop
|
||||
/* 00530 80AF7D20 C4288A94 */ lwc1 $f8, %lo(D_80AF8A94)($at)
|
||||
/* 00534 80AF7D24 E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060
|
||||
.L80AF7D28:
|
||||
/* 00538 80AF7D28 25298224 */ addiu $t1, $t1, %lo(func_80AF8224) ## $t1 = 80AF8224
|
||||
/* 0053C 80AF7D2C A60801FE */ sh $t0, 0x01FE($s0) ## 000001FE
|
||||
/* 00540 80AF7D30 AE090190 */ sw $t1, 0x0190($s0) ## 00000190
|
||||
/* 00544 80AF7D34 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00548 80AF7D38 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 0054C 80AF7D3C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00550 80AF7D40 03E00008 */ jr $ra
|
||||
/* 00554 80AF7D44 00000000 */ nop
|
|
@ -1,35 +0,0 @@
|
|||
glabel func_80AF7D48
|
||||
/* 00558 80AF7D48 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0055C 80AF7D4C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00560 80AF7D50 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00564 80AF7D54 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00568 80AF7D58 00807025 */ or $t6, $a0, $zero ## $t6 = 00000000
|
||||
/* 0056C 80AF7D5C 85C5008A */ lh $a1, 0x008A($t6) ## 0000008A
|
||||
/* 00570 80AF7D60 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00574 80AF7D64 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 00578 80AF7D68 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 0057C 80AF7D6C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00580 80AF7D70 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
|
||||
/* 00584 80AF7D74 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00588 80AF7D78 3C014320 */ lui $at, 0x4320 ## $at = 43200000
|
||||
/* 0058C 80AF7D7C 44812000 */ mtc1 $at, $f4 ## $f4 = 160.00
|
||||
/* 00590 80AF7D80 C4800090 */ lwc1 $f0, 0x0090($a0) ## 00000090
|
||||
/* 00594 80AF7D84 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 00598 80AF7D88 4604003E */ c.le.s $f0, $f4
|
||||
/* 0059C 80AF7D8C 00000000 */ nop
|
||||
/* 005A0 80AF7D90 4502000A */ bc1fl .L80AF7DBC
|
||||
/* 005A4 80AF7D94 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 005A8 80AF7D98 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
|
||||
/* 005AC 80AF7D9C 00000000 */ nop
|
||||
/* 005B0 80AF7DA0 4600303C */ c.lt.s $f6, $f0
|
||||
/* 005B4 80AF7DA4 00000000 */ nop
|
||||
/* 005B8 80AF7DA8 45020004 */ bc1fl .L80AF7DBC
|
||||
/* 005BC 80AF7DAC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 005C0 80AF7DB0 0C2BDE8D */ jal func_80AF7A34
|
||||
/* 005C4 80AF7DB4 00000000 */ nop
|
||||
/* 005C8 80AF7DB8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80AF7DBC:
|
||||
/* 005CC 80AF7DBC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 005D0 80AF7DC0 03E00008 */ jr $ra
|
||||
/* 005D4 80AF7DC4 00000000 */ nop
|
|
@ -1,56 +0,0 @@
|
|||
glabel func_80AF7DC8
|
||||
/* 005D8 80AF7DC8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 005DC 80AF7DCC AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 005E0 80AF7DD0 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 005E4 80AF7DD4 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 005E8 80AF7DD8 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
|
||||
/* 005EC 80AF7DDC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 005F0 80AF7DE0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 005F4 80AF7DE4 24840194 */ addiu $a0, $a0, 0x0194 ## $a0 = 06000194
|
||||
/* 005F8 80AF7DE8 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 005FC 80AF7DEC E7A4002C */ swc1 $f4, 0x002C($sp)
|
||||
/* 00600 80AF7DF0 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
|
||||
/* 00604 80AF7DF4 C7A6002C */ lwc1 $f6, 0x002C($sp)
|
||||
/* 00608 80AF7DF8 240E000F */ addiu $t6, $zero, 0x000F ## $t6 = 0000000F
|
||||
/* 0060C 80AF7DFC 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00610 80AF7E00 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 00614 80AF7E04 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00618 80AF7E08 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
|
||||
/* 0061C 80AF7E0C 4606503E */ c.le.s $f10, $f6
|
||||
/* 00620 80AF7E10 00000000 */ nop
|
||||
/* 00624 80AF7E14 45020007 */ bc1fl .L80AF7E34
|
||||
/* 00628 80AF7E18 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
/* 0062C 80AF7E1C A60E01FE */ sh $t6, 0x01FE($s0) ## 000001FE
|
||||
/* 00630 80AF7E20 0C2BDEAC */ jal func_80AF7AB0
|
||||
/* 00634 80AF7E24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00638 80AF7E28 10000015 */ beq $zero, $zero, .L80AF7E80
|
||||
/* 0063C 80AF7E2C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00640 80AF7E30 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
.L80AF7E34:
|
||||
/* 00644 80AF7E34 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00648 80AF7E38 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0064C 80AF7E3C 3C014320 */ lui $at, 0x4320 ## $at = 43200000
|
||||
/* 00650 80AF7E40 44818000 */ mtc1 $at, $f16 ## $f16 = 160.00
|
||||
/* 00654 80AF7E44 C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090
|
||||
/* 00658 80AF7E48 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 0065C 80AF7E4C 4600803C */ c.lt.s $f16, $f0
|
||||
/* 00660 80AF7E50 00000000 */ nop
|
||||
/* 00664 80AF7E54 45010007 */ bc1t .L80AF7E74
|
||||
/* 00668 80AF7E58 00000000 */ nop
|
||||
/* 0066C 80AF7E5C 44819000 */ mtc1 $at, $f18 ## $f18 = 40.00
|
||||
/* 00670 80AF7E60 00000000 */ nop
|
||||
/* 00674 80AF7E64 4612003E */ c.le.s $f0, $f18
|
||||
/* 00678 80AF7E68 00000000 */ nop
|
||||
/* 0067C 80AF7E6C 45020004 */ bc1fl .L80AF7E80
|
||||
/* 00680 80AF7E70 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80AF7E74:
|
||||
/* 00684 80AF7E74 0C2BDE6F */ jal func_80AF79BC
|
||||
/* 00688 80AF7E78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0068C 80AF7E7C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80AF7E80:
|
||||
/* 00690 80AF7E80 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00694 80AF7E84 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00698 80AF7E88 03E00008 */ jr $ra
|
||||
/* 0069C 80AF7E8C 00000000 */ nop
|
|
@ -1,51 +0,0 @@
|
|||
glabel func_80AF7E90
|
||||
/* 006A0 80AF7E90 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 006A4 80AF7E94 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 006A8 80AF7E98 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 006AC 80AF7E9C AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 006B0 80AF7EA0 848E01FE */ lh $t6, 0x01FE($a0) ## 000001FE
|
||||
/* 006B4 80AF7EA4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 006B8 80AF7EA8 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 006BC 80AF7EAC A7AE002E */ sh $t6, 0x002E($sp)
|
||||
/* 006C0 80AF7EB0 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
/* 006C4 80AF7EB4 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 006C8 80AF7EB8 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 006CC 80AF7EBC 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 006D0 80AF7EC0 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
|
||||
/* 006D4 80AF7EC4 3C014320 */ lui $at, 0x4320 ## $at = 43200000
|
||||
/* 006D8 80AF7EC8 44812000 */ mtc1 $at, $f4 ## $f4 = 160.00
|
||||
/* 006DC 80AF7ECC C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090
|
||||
/* 006E0 80AF7ED0 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 006E4 80AF7ED4 4600203C */ c.lt.s $f4, $f0
|
||||
/* 006E8 80AF7ED8 00000000 */ nop
|
||||
/* 006EC 80AF7EDC 45010007 */ bc1t .L80AF7EFC
|
||||
/* 006F0 80AF7EE0 00000000 */ nop
|
||||
/* 006F4 80AF7EE4 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
|
||||
/* 006F8 80AF7EE8 00000000 */ nop
|
||||
/* 006FC 80AF7EEC 4606003E */ c.le.s $f0, $f6
|
||||
/* 00700 80AF7EF0 00000000 */ nop
|
||||
/* 00704 80AF7EF4 45020004 */ bc1fl .L80AF7F08
|
||||
/* 00708 80AF7EF8 87A2002E */ lh $v0, 0x002E($sp)
|
||||
.L80AF7EFC:
|
||||
/* 0070C 80AF7EFC 0C2BDE6F */ jal func_80AF79BC
|
||||
/* 00710 80AF7F00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00714 80AF7F04 87A2002E */ lh $v0, 0x002E($sp)
|
||||
.L80AF7F08:
|
||||
/* 00718 80AF7F08 3C1980AF */ lui $t9, %hi(func_80AF7F44) ## $t9 = 80AF0000
|
||||
/* 0071C 80AF7F0C 27397F44 */ addiu $t9, $t9, %lo(func_80AF7F44) ## $t9 = 80AF7F44
|
||||
/* 00720 80AF7F10 10400003 */ beq $v0, $zero, .L80AF7F20
|
||||
/* 00724 80AF7F14 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 00728 80AF7F18 10000005 */ beq $zero, $zero, .L80AF7F30
|
||||
/* 0072C 80AF7F1C A60F01FE */ sh $t7, 0x01FE($s0) ## 000001FE
|
||||
.L80AF7F20:
|
||||
/* 00730 80AF7F20 8618008A */ lh $t8, 0x008A($s0) ## 0000008A
|
||||
/* 00734 80AF7F24 A60001FE */ sh $zero, 0x01FE($s0) ## 000001FE
|
||||
/* 00738 80AF7F28 AE190190 */ sw $t9, 0x0190($s0) ## 00000190
|
||||
/* 0073C 80AF7F2C A6180200 */ sh $t8, 0x0200($s0) ## 00000200
|
||||
.L80AF7F30:
|
||||
/* 00740 80AF7F30 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00744 80AF7F34 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00748 80AF7F38 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 0074C 80AF7F3C 03E00008 */ jr $ra
|
||||
/* 00750 80AF7F40 00000000 */ nop
|
|
@ -1,78 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80AF8A60
|
||||
.asciz "アタァ〜ック!!\n"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80AF8A98
|
||||
.float -0.35
|
||||
|
||||
.text
|
||||
glabel func_80AF7F44
|
||||
/* 00754 80AF7F44 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00758 80AF7F48 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 0075C 80AF7F4C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00760 80AF7F50 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00764 80AF7F54 84850200 */ lh $a1, 0x0200($a0) ## 00000200
|
||||
/* 00768 80AF7F58 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 0076C 80AF7F5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00770 80AF7F60 00A12821 */ addu $a1, $a1, $at
|
||||
/* 00774 80AF7F64 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00778 80AF7F68 00052C03 */ sra $a1, $a1, 16
|
||||
/* 0077C 80AF7F6C 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
|
||||
/* 00780 80AF7F70 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00784 80AF7F74 A7A5002E */ sh $a1, 0x002E($sp)
|
||||
/* 00788 80AF7F78 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 0078C 80AF7F7C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00790 80AF7F80 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00794 80AF7F84 24071F40 */ addiu $a3, $zero, 0x1F40 ## $a3 = 00001F40
|
||||
/* 00798 80AF7F88 87A5002E */ lh $a1, 0x002E($sp)
|
||||
/* 0079C 80AF7F8C 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
|
||||
/* 007A0 80AF7F90 54AF0026 */ bnel $a1, $t7, .L80AF802C
|
||||
/* 007A4 80AF7F94 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 007A8 80AF7F98 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 007AC 80AF7F9C C6060084 */ lwc1 $f6, 0x0084($s0) ## 00000084
|
||||
/* 007B0 80AF7FA0 86180200 */ lh $t8, 0x0200($s0) ## 00000200
|
||||
/* 007B4 80AF7FA4 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 007B8 80AF7FA8 4606203C */ c.lt.s $f4, $f6
|
||||
/* 007BC 80AF7FAC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 007C0 80AF7FB0 A6180032 */ sh $t8, 0x0032($s0) ## 00000032
|
||||
/* 007C4 80AF7FB4 4502000C */ bc1fl .L80AF7FE8
|
||||
/* 007C8 80AF7FB8 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00
|
||||
/* 007CC 80AF7FBC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 007D0 80AF7FC0 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
|
||||
/* 007D4 80AF7FC4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 007D8 80AF7FC8 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
|
||||
/* 007DC 80AF7FCC 3C0180B0 */ lui $at, %hi(D_80AF8A98) ## $at = 80B00000
|
||||
/* 007E0 80AF7FD0 E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060
|
||||
/* 007E4 80AF7FD4 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
|
||||
/* 007E8 80AF7FD8 C4308A98 */ lwc1 $f16, %lo(D_80AF8A98)($at)
|
||||
/* 007EC 80AF7FDC 10000009 */ beq $zero, $zero, .L80AF8004
|
||||
/* 007F0 80AF7FE0 E610006C */ swc1 $f16, 0x006C($s0) ## 0000006C
|
||||
/* 007F4 80AF7FE4 44819000 */ mtc1 $at, $f18 ## $f18 = -0.00
|
||||
.L80AF7FE8:
|
||||
/* 007F8 80AF7FE8 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 007FC 80AF7FEC 44812000 */ mtc1 $at, $f4 ## $f4 = 6.00
|
||||
/* 00800 80AF7FF0 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
|
||||
/* 00804 80AF7FF4 44813000 */ mtc1 $at, $f6 ## $f6 = -2.00
|
||||
/* 00808 80AF7FF8 E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
|
||||
/* 0080C 80AF7FFC E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
|
||||
/* 00810 80AF8000 E606006C */ swc1 $f6, 0x006C($s0) ## 0000006C
|
||||
.L80AF8004:
|
||||
/* 00814 80AF8004 0C2BDE43 */ jal func_80AF790C
|
||||
/* 00818 80AF8008 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 0081C 80AF800C 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
|
||||
/* 00820 80AF8010 A6190202 */ sh $t9, 0x0202($s0) ## 00000202
|
||||
/* 00824 80AF8014 0C2BDEC9 */ jal func_80AF7B24
|
||||
/* 00828 80AF8018 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0082C 80AF801C 3C0480B0 */ lui $a0, %hi(D_80AF8A60) ## $a0 = 80B00000
|
||||
/* 00830 80AF8020 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00834 80AF8024 24848A60 */ addiu $a0, $a0, %lo(D_80AF8A60) ## $a0 = 80AF8A60
|
||||
/* 00838 80AF8028 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80AF802C:
|
||||
/* 0083C 80AF802C 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00840 80AF8030 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00844 80AF8034 03E00008 */ jr $ra
|
||||
/* 00848 80AF8038 00000000 */ nop
|
|
@ -1,53 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80AF8A9C
|
||||
.float -0.1
|
||||
|
||||
.text
|
||||
glabel func_80AF803C
|
||||
/* 0084C 80AF803C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00850 80AF8040 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00854 80AF8044 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00858 80AF8048 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 0085C 80AF804C 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
/* 00860 80AF8050 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD
|
||||
/* 00864 80AF8054 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00868 80AF8058 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
|
||||
/* 0086C 80AF805C 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00870 80AF8060 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00874 80AF8064 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00878 80AF8068 3C0180B0 */ lui $at, %hi(D_80AF8A9C) ## $at = 80B00000
|
||||
/* 0087C 80AF806C C4248A9C */ lwc1 $f4, %lo(D_80AF8A9C)($at)
|
||||
/* 00880 80AF8070 C4E60060 */ lwc1 $f6, 0x0060($a3) ## 00000060
|
||||
/* 00884 80AF8074 4604303E */ c.le.s $f6, $f4
|
||||
/* 00888 80AF8078 00000000 */ nop
|
||||
/* 0088C 80AF807C 45030006 */ bc1tl .L80AF8098
|
||||
/* 00890 80AF8080 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00894 80AF8084 94EE0088 */ lhu $t6, 0x0088($a3) ## 00000088
|
||||
/* 00898 80AF8088 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
|
||||
/* 0089C 80AF808C 51E00012 */ beql $t7, $zero, .L80AF80D8
|
||||
/* 008A0 80AF8090 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 008A4 80AF8094 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
.L80AF8098:
|
||||
/* 008A8 80AF8098 C4EA0084 */ lwc1 $f10, 0x0084($a3) ## 00000084
|
||||
/* 008AC 80AF809C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 008B0 80AF80A0 2405387B */ addiu $a1, $zero, 0x387B ## $a1 = 0000387B
|
||||
/* 008B4 80AF80A4 460A403C */ c.lt.s $f8, $f10
|
||||
/* 008B8 80AF80A8 00000000 */ nop
|
||||
/* 008BC 80AF80AC 45030005 */ bc1tl .L80AF80C4
|
||||
/* 008C0 80AF80B0 94F80088 */ lhu $t8, 0x0088($a3) ## 00000088
|
||||
/* 008C4 80AF80B4 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 008C8 80AF80B8 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 008CC 80AF80BC 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 008D0 80AF80C0 94F80088 */ lhu $t8, 0x0088($a3) ## 00000088
|
||||
.L80AF80C4:
|
||||
/* 008D4 80AF80C4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 008D8 80AF80C8 3319FFFD */ andi $t9, $t8, 0xFFFD ## $t9 = 00000000
|
||||
/* 008DC 80AF80CC 0C2BDEF3 */ jal func_80AF7BCC
|
||||
/* 008E0 80AF80D0 A4F90088 */ sh $t9, 0x0088($a3) ## 00000088
|
||||
/* 008E4 80AF80D4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80AF80D8:
|
||||
/* 008E8 80AF80D8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 008EC 80AF80DC 03E00008 */ jr $ra
|
||||
/* 008F0 80AF80E0 00000000 */ nop
|
|
@ -1,99 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80AF8A74
|
||||
.asciz "\x1B[31m攻撃終了!!\x1B[m\n"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80AF8AA0
|
||||
.float -0.35
|
||||
|
||||
.text
|
||||
glabel func_80AF80E4
|
||||
/* 008F4 80AF80E4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 008F8 80AF80E8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 008FC 80AF80EC AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00900 80AF80F0 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00904 80AF80F4 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
|
||||
/* 00908 80AF80F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0090C 80AF80FC 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00910 80AF8100 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 060000B4
|
||||
/* 00914 80AF8104 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00918 80AF8108 E7A40028 */ swc1 $f4, 0x0028($sp)
|
||||
/* 0091C 80AF810C 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
|
||||
/* 00920 80AF8110 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
/* 00924 80AF8114 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD
|
||||
/* 00928 80AF8118 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 0092C 80AF811C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 00930 80AF8120 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00934 80AF8124 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00938 80AF8128 E7A80024 */ swc1 $f8, 0x0024($sp)
|
||||
/* 0093C 80AF812C C7AA0028 */ lwc1 $f10, 0x0028($sp)
|
||||
/* 00940 80AF8130 C7B00024 */ lwc1 $f16, 0x0024($sp)
|
||||
/* 00944 80AF8134 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00948 80AF8138 46105032 */ c.eq.s $f10, $f16
|
||||
/* 0094C 80AF813C 00000000 */ nop
|
||||
/* 00950 80AF8140 45020034 */ bc1fl .L80AF8214
|
||||
/* 00954 80AF8144 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00958 80AF8148 86020202 */ lh $v0, 0x0202($s0) ## 00000202
|
||||
/* 0095C 80AF814C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00960 80AF8150 50400023 */ beql $v0, $zero, .L80AF81E0
|
||||
/* 00964 80AF8154 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
|
||||
/* 00968 80AF8158 C6120084 */ lwc1 $f18, 0x0084($s0) ## 00000084
|
||||
/* 0096C 80AF815C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00970 80AF8160 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00974 80AF8164 4612003C */ c.lt.s $f0, $f18
|
||||
/* 00978 80AF8168 A60E0202 */ sh $t6, 0x0202($s0) ## 00000202
|
||||
/* 0097C 80AF816C A60F01FE */ sh $t7, 0x01FE($s0) ## 000001FE
|
||||
/* 00980 80AF8170 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 00984 80AF8174 4502000C */ bc1fl .L80AF81A8
|
||||
/* 00988 80AF8178 44815000 */ mtc1 $at, $f10 ## $f10 = 2.00
|
||||
/* 0098C 80AF817C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00990 80AF8180 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
|
||||
/* 00994 80AF8184 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00998 80AF8188 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
|
||||
/* 0099C 80AF818C 3C0180B0 */ lui $at, %hi(D_80AF8AA0) ## $at = 80B00000
|
||||
/* 009A0 80AF8190 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
/* 009A4 80AF8194 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
|
||||
/* 009A8 80AF8198 C4288AA0 */ lwc1 $f8, %lo(D_80AF8AA0)($at)
|
||||
/* 009AC 80AF819C 10000009 */ beq $zero, $zero, .L80AF81C4
|
||||
/* 009B0 80AF81A0 E608006C */ swc1 $f8, 0x006C($s0) ## 0000006C
|
||||
/* 009B4 80AF81A4 44815000 */ mtc1 $at, $f10 ## $f10 = -0.00
|
||||
.L80AF81A8:
|
||||
/* 009B8 80AF81A8 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 009BC 80AF81AC 44818000 */ mtc1 $at, $f16 ## $f16 = 6.00
|
||||
/* 009C0 80AF81B0 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
|
||||
/* 009C4 80AF81B4 44819000 */ mtc1 $at, $f18 ## $f18 = -2.00
|
||||
/* 009C8 80AF81B8 E60A0060 */ swc1 $f10, 0x0060($s0) ## 00000060
|
||||
/* 009CC 80AF81BC E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
|
||||
/* 009D0 80AF81C0 E612006C */ swc1 $f18, 0x006C($s0) ## 0000006C
|
||||
.L80AF81C4:
|
||||
/* 009D4 80AF81C4 0C2BDE43 */ jal func_80AF790C
|
||||
/* 009D8 80AF81C8 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 009DC 80AF81CC 0C2BDEC9 */ jal func_80AF7B24
|
||||
/* 009E0 80AF81D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009E4 80AF81D4 1000000F */ beq $zero, $zero, .L80AF8214
|
||||
/* 009E8 80AF81D8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 009EC 80AF81DC 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
|
||||
.L80AF81E0:
|
||||
/* 009F0 80AF81E0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 009F4 80AF81E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009F8 80AF81E8 30580001 */ andi $t8, $v0, 0x0001 ## $t8 = 00000000
|
||||
/* 009FC 80AF81EC 13000008 */ beq $t8, $zero, .L80AF8210
|
||||
/* 00A00 80AF81F0 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000
|
||||
/* 00A04 80AF81F4 A6190088 */ sh $t9, 0x0088($s0) ## 00000088
|
||||
/* 00A08 80AF81F8 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
|
||||
/* 00A0C 80AF81FC 0C2BDE6F */ jal func_80AF79BC
|
||||
/* 00A10 80AF8200 A60801FE */ sh $t0, 0x01FE($s0) ## 000001FE
|
||||
/* 00A14 80AF8204 3C0480B0 */ lui $a0, %hi(D_80AF8A74) ## $a0 = 80B00000
|
||||
/* 00A18 80AF8208 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00A1C 80AF820C 24848A74 */ addiu $a0, $a0, %lo(D_80AF8A74) ## $a0 = 80AF8A74
|
||||
.L80AF8210:
|
||||
/* 00A20 80AF8210 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80AF8214:
|
||||
/* 00A24 80AF8214 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00A28 80AF8218 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00A2C 80AF821C 03E00008 */ jr $ra
|
||||
/* 00A30 80AF8220 00000000 */ nop
|
|
@ -1,30 +0,0 @@
|
|||
glabel func_80AF8224
|
||||
/* 00A34 80AF8224 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00A38 80AF8228 848201FE */ lh $v0, 0x01FE($a0) ## 000001FE
|
||||
/* 00A3C 80AF822C 5040000C */ beql $v0, $zero, .L80AF8260
|
||||
/* 00A40 80AF8230 94830088 */ lhu $v1, 0x0088($a0) ## 00000088
|
||||
/* 00A44 80AF8234 94830088 */ lhu $v1, 0x0088($a0) ## 00000088
|
||||
/* 00A48 80AF8238 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00A4C 80AF823C A48E01FE */ sh $t6, 0x01FE($a0) ## 000001FE
|
||||
/* 00A50 80AF8240 306F0001 */ andi $t7, $v1, 0x0001 ## $t7 = 00000000
|
||||
/* 00A54 80AF8244 11E0000F */ beq $t7, $zero, .L80AF8284
|
||||
/* 00A58 80AF8248 3078FFFE */ andi $t8, $v1, 0xFFFE ## $t8 = 00000000
|
||||
/* 00A5C 80AF824C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00A60 80AF8250 A4980088 */ sh $t8, 0x0088($a0) ## 00000088
|
||||
/* 00A64 80AF8254 03E00008 */ jr $ra
|
||||
/* 00A68 80AF8258 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
|
||||
.L80AF825C:
|
||||
/* 00A6C 80AF825C 94830088 */ lhu $v1, 0x0088($a0) ## 00000088
|
||||
.L80AF8260:
|
||||
/* 00A70 80AF8260 3C0980AF */ lui $t1, %hi(func_80AF7D48) ## $t1 = 80AF0000
|
||||
/* 00A74 80AF8264 25297D48 */ addiu $t1, $t1, %lo(func_80AF7D48) ## $t1 = 80AF7D48
|
||||
/* 00A78 80AF8268 30790001 */ andi $t9, $v1, 0x0001 ## $t9 = 00000000
|
||||
/* 00A7C 80AF826C 13200005 */ beq $t9, $zero, .L80AF8284
|
||||
/* 00A80 80AF8270 3068FFFE */ andi $t0, $v1, 0xFFFE ## $t0 = 00000000
|
||||
/* 00A84 80AF8274 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 00A88 80AF8278 A4880088 */ sh $t0, 0x0088($a0) ## 00000088
|
||||
/* 00A8C 80AF827C AC890190 */ sw $t1, 0x0190($a0) ## 00000190
|
||||
/* 00A90 80AF8280 E4860068 */ swc1 $f6, 0x0068($a0) ## 00000068
|
||||
.L80AF8284:
|
||||
/* 00A94 80AF8284 03E00008 */ jr $ra
|
||||
/* 00A98 80AF8288 00000000 */ nop
|
|
@ -1,36 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_80AF8AA4
|
||||
.word L80AF82B0
|
||||
.word func_80AF82F0
|
||||
.word func_80AF832C
|
||||
.word func_80AF8368
|
||||
.word func_80AF8388
|
||||
|
||||
.text
|
||||
glabel func_80AF828C
|
||||
/* 00A9C 80AF828C 948E01FA */ lhu $t6, 0x01FA($a0) ## 000001FA
|
||||
/* 00AA0 80AF8290 2DC10005 */ sltiu $at, $t6, 0x0005
|
||||
/* 00AA4 80AF8294 1020004C */ beq $at, $zero, .L80AF83C8
|
||||
/* 00AA8 80AF8298 000E7080 */ sll $t6, $t6, 2
|
||||
/* 00AAC 80AF829C 3C0180B0 */ lui $at, %hi(jtbl_80AF8AA4) ## $at = 80B00000
|
||||
/* 00AB0 80AF82A0 002E0821 */ addu $at, $at, $t6
|
||||
/* 00AB4 80AF82A4 8C2E8AA4 */ lw $t6, %lo(jtbl_80AF8AA4)($at)
|
||||
/* 00AB8 80AF82A8 01C00008 */ jr $t6
|
||||
/* 00ABC 80AF82AC 00000000 */ nop
|
||||
glabel L80AF82B0
|
||||
/* 00AC0 80AF82B0 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 00AC4 80AF82B4 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00
|
||||
/* 00AC8 80AF82B8 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 00ACC 80AF82BC 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00AD0 80AF82C0 4600203E */ c.le.s $f4, $f0
|
||||
/* 00AD4 80AF82C4 00000000 */ nop
|
||||
/* 00AD8 80AF82C8 45020040 */ bc1fl .L80AF83CC
|
||||
/* 00ADC 80AF82CC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00AE0 80AF82D0 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
|
||||
/* 00AE4 80AF82D4 00000000 */ nop
|
||||
/* 00AE8 80AF82D8 4606003E */ c.le.s $f0, $f6
|
||||
/* 00AEC 80AF82DC 00000000 */ nop
|
||||
/* 00AF0 80AF82E0 4502003A */ bc1fl .L80AF83CC
|
||||
/* 00AF4 80AF82E4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00AF8 80AF82E8 03E00008 */ jr $ra
|
||||
/* 00AFC 80AF82EC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,16 +0,0 @@
|
|||
glabel func_80AF82F0
|
||||
/* 00B00 80AF82F0 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 00B04 80AF82F4 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00B08 80AF82F8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00B0C 80AF82FC 4600403E */ c.le.s $f8, $f0
|
||||
/* 00B10 80AF8300 00000000 */ nop
|
||||
/* 00B14 80AF8304 45020031 */ bc1fl .L80AF83CC
|
||||
/* 00B18 80AF8308 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00B1C 80AF830C 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
|
||||
/* 00B20 80AF8310 00000000 */ nop
|
||||
/* 00B24 80AF8314 460A003E */ c.le.s $f0, $f10
|
||||
/* 00B28 80AF8318 00000000 */ nop
|
||||
/* 00B2C 80AF831C 4502002B */ bc1fl .L80AF83CC
|
||||
/* 00B30 80AF8320 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00B34 80AF8324 03E00008 */ jr $ra
|
||||
/* 00B38 80AF8328 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,16 +0,0 @@
|
|||
glabel func_80AF832C
|
||||
/* 00B3C 80AF832C C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 00B40 80AF8330 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 00B44 80AF8334 3C014198 */ lui $at, 0x4198 ## $at = 41980000
|
||||
/* 00B48 80AF8338 4600803E */ c.le.s $f16, $f0
|
||||
/* 00B4C 80AF833C 00000000 */ nop
|
||||
/* 00B50 80AF8340 45020022 */ bc1fl .L80AF83CC
|
||||
/* 00B54 80AF8344 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00B58 80AF8348 44819000 */ mtc1 $at, $f18 ## $f18 = 19.00
|
||||
/* 00B5C 80AF834C 00000000 */ nop
|
||||
/* 00B60 80AF8350 4612003E */ c.le.s $f0, $f18
|
||||
/* 00B64 80AF8354 00000000 */ nop
|
||||
/* 00B68 80AF8358 4502001C */ bc1fl .L80AF83CC
|
||||
/* 00B6C 80AF835C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00B70 80AF8360 03E00008 */ jr $ra
|
||||
/* 00B74 80AF8364 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,9 +0,0 @@
|
|||
glabel func_80AF8368
|
||||
/* 00B78 80AF8368 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00B7C 80AF836C C4860164 */ lwc1 $f6, 0x0164($a0) ## 00000164
|
||||
/* 00B80 80AF8370 46062032 */ c.eq.s $f4, $f6
|
||||
/* 00B84 80AF8374 00000000 */ nop
|
||||
/* 00B88 80AF8378 45020014 */ bc1fl .L80AF83CC
|
||||
/* 00B8C 80AF837C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00B90 80AF8380 03E00008 */ jr $ra
|
||||
/* 00B94 80AF8384 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,22 +0,0 @@
|
|||
glabel func_80AF8388
|
||||
/* 00B98 80AF8388 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00B9C 80AF838C 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
|
||||
/* 00BA0 80AF8390 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 00BA4 80AF8394 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00BA8 80AF8398 4600403E */ c.le.s $f8, $f0
|
||||
/* 00BAC 80AF839C 00000000 */ nop
|
||||
/* 00BB0 80AF83A0 4502000A */ bc1fl .L80AF83CC
|
||||
/* 00BB4 80AF83A4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00BB8 80AF83A8 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
|
||||
/* 00BBC 80AF83AC 00000000 */ nop
|
||||
/* 00BC0 80AF83B0 460A003E */ c.le.s $f0, $f10
|
||||
/* 00BC4 80AF83B4 00000000 */ nop
|
||||
/* 00BC8 80AF83B8 45020004 */ bc1fl .L80AF83CC
|
||||
/* 00BCC 80AF83BC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00BD0 80AF83C0 03E00008 */ jr $ra
|
||||
/* 00BD4 80AF83C4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80AF83C8:
|
||||
/* 00BD8 80AF83C8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80AF83CC:
|
||||
/* 00BDC 80AF83CC 03E00008 */ jr $ra
|
||||
/* 00BE0 80AF83D0 00000000 */ nop
|
|
@ -1,216 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_80AF8AB8
|
||||
.word L80AF8538
|
||||
.word L80AF8504
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF85F4
|
||||
.word L80AF8538
|
||||
.word L80AF8450
|
||||
.word L80AF8458
|
||||
|
||||
.text
|
||||
glabel func_80AF83D4
|
||||
/* 00BE4 80AF83D4 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00BE8 80AF83D8 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00BEC 80AF83DC AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00BF0 80AF83E0 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00BF4 80AF83E4 908E01A4 */ lbu $t6, 0x01A4($a0) ## 000001A4
|
||||
/* 00BF8 80AF83E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00BFC 80AF83EC 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
|
||||
/* 00C00 80AF83F0 51E00006 */ beql $t7, $zero, .L80AF840C
|
||||
/* 00C04 80AF83F4 920201A5 */ lbu $v0, 0x01A5($s0) ## 000001A5
|
||||
/* 00C08 80AF83F8 0C2BDF11 */ jal func_80AF7C44
|
||||
/* 00C0C 80AF83FC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00C10 80AF8400 100000A5 */ beq $zero, $zero, .L80AF8698
|
||||
/* 00C14 80AF8404 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00C18 80AF8408 920201A5 */ lbu $v0, 0x01A5($s0) ## 000001A5
|
||||
.L80AF840C:
|
||||
/* 00C1C 80AF840C 30580002 */ andi $t8, $v0, 0x0002 ## $t8 = 00000000
|
||||
/* 00C20 80AF8410 530000A1 */ beql $t8, $zero, .L80AF8698
|
||||
/* 00C24 80AF8414 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00C28 80AF8418 A3A0002F */ sb $zero, 0x002F($sp)
|
||||
/* 00C2C 80AF841C 920800B1 */ lbu $t0, 0x00B1($s0) ## 000000B1
|
||||
/* 00C30 80AF8420 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000
|
||||
/* 00C34 80AF8424 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
/* 00C38 80AF8428 2509FFFF */ addiu $t1, $t0, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 00C3C 80AF842C 2D21000F */ sltiu $at, $t1, 0x000F
|
||||
/* 00C40 80AF8430 10200070 */ beq $at, $zero, .L80AF85F4
|
||||
/* 00C44 80AF8434 A21901A5 */ sb $t9, 0x01A5($s0) ## 000001A5
|
||||
/* 00C48 80AF8438 00094880 */ sll $t1, $t1, 2
|
||||
/* 00C4C 80AF843C 3C0180B0 */ lui $at, %hi(jtbl_80AF8AB8) ## $at = 80B00000
|
||||
/* 00C50 80AF8440 00290821 */ addu $at, $at, $t1
|
||||
/* 00C54 80AF8444 8C298AB8 */ lw $t1, %lo(jtbl_80AF8AB8)($at)
|
||||
/* 00C58 80AF8448 01200008 */ jr $t1
|
||||
/* 00C5C 80AF844C 00000000 */ nop
|
||||
glabel L80AF8450
|
||||
/* 00C60 80AF8450 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 00C64 80AF8454 A3AA002F */ sb $t2, 0x002F($sp)
|
||||
glabel L80AF8458
|
||||
/* 00C68 80AF8458 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C6C 80AF845C 0C2BE0A3 */ jal func_80AF828C
|
||||
/* 00C70 80AF8460 AFA30030 */ sw $v1, 0x0030($sp)
|
||||
/* 00C74 80AF8464 10400063 */ beq $v0, $zero, .L80AF85F4
|
||||
/* 00C78 80AF8468 8FA30030 */ lw $v1, 0x0030($sp)
|
||||
/* 00C7C 80AF846C 860B01BC */ lh $t3, 0x01BC($s0) ## 000001BC
|
||||
/* 00C80 80AF8470 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 00C84 80AF8474 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 00C88 80AF8478 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00
|
||||
/* 00C8C 80AF847C 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
|
||||
/* 00C90 80AF8480 860C008A */ lh $t4, 0x008A($s0) ## 0000008A
|
||||
/* 00C94 80AF8484 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00C98 80AF8488 860D00B6 */ lh $t5, 0x00B6($s0) ## 000000B6
|
||||
/* 00C9C 80AF848C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00CA0 80AF8490 018D1023 */ subu $v0, $t4, $t5
|
||||
/* 00CA4 80AF8494 00021400 */ sll $v0, $v0, 16
|
||||
/* 00CA8 80AF8498 46083001 */ sub.s $f0, $f6, $f8
|
||||
/* 00CAC 80AF849C 00021403 */ sra $v0, $v0, 16
|
||||
/* 00CB0 80AF84A0 460A003C */ c.lt.s $f0, $f10
|
||||
/* 00CB4 80AF84A4 00000000 */ nop
|
||||
/* 00CB8 80AF84A8 45020053 */ bc1fl .L80AF85F8
|
||||
/* 00CBC 80AF84AC 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
|
||||
/* 00CC0 80AF84B0 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
|
||||
/* 00CC4 80AF84B4 2841E001 */ slti $at, $v0, 0xE001
|
||||
/* 00CC8 80AF84B8 4600803C */ c.lt.s $f16, $f0
|
||||
/* 00CCC 80AF84BC 00000000 */ nop
|
||||
/* 00CD0 80AF84C0 4502004D */ bc1fl .L80AF85F8
|
||||
/* 00CD4 80AF84C4 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
|
||||
/* 00CD8 80AF84C8 1420004A */ bne $at, $zero, .L80AF85F4
|
||||
/* 00CDC 80AF84CC 28412000 */ slti $at, $v0, 0x2000
|
||||
/* 00CE0 80AF84D0 50200049 */ beql $at, $zero, .L80AF85F8
|
||||
/* 00CE4 80AF84D4 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
|
||||
/* 00CE8 80AF84D8 0C00D58A */ jal Actor_ApplyDamage
|
||||
|
||||
/* 00CEC 80AF84DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00CF0 80AF84E0 240E0050 */ addiu $t6, $zero, 0x0050 ## $t6 = 00000050
|
||||
/* 00CF4 80AF84E4 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00CF8 80AF84E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00CFC 80AF84EC 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 00D00 80AF84F0 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 00D04 80AF84F4 0C00D09B */ jal func_8003426C
|
||||
/* 00D08 80AF84F8 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
|
||||
/* 00D0C 80AF84FC 1000003D */ beq $zero, $zero, .L80AF85F4
|
||||
/* 00D10 80AF8500 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
|
||||
glabel L80AF8504
|
||||
/* 00D14 80AF8504 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 00D18 80AF8508 A60F01F8 */ sh $t7, 0x01F8($s0) ## 000001F8
|
||||
/* 00D1C 80AF850C 0C00D58A */ jal Actor_ApplyDamage
|
||||
|
||||
/* 00D20 80AF8510 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D24 80AF8514 24180050 */ addiu $t8, $zero, 0x0050 ## $t8 = 00000050
|
||||
/* 00D28 80AF8518 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00D2C 80AF851C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D30 80AF8520 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 00D34 80AF8524 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 00D38 80AF8528 0C00D09B */ jal func_8003426C
|
||||
/* 00D3C 80AF852C 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
|
||||
/* 00D40 80AF8530 10000030 */ beq $zero, $zero, .L80AF85F4
|
||||
/* 00D44 80AF8534 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
|
||||
glabel L80AF8538
|
||||
/* 00D48 80AF8538 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D4C 80AF853C 0C2BE0A3 */ jal func_80AF828C
|
||||
/* 00D50 80AF8540 AFA30030 */ sw $v1, 0x0030($sp)
|
||||
/* 00D54 80AF8544 1040002B */ beq $v0, $zero, .L80AF85F4
|
||||
/* 00D58 80AF8548 8FA30030 */ lw $v1, 0x0030($sp)
|
||||
/* 00D5C 80AF854C 861901BC */ lh $t9, 0x01BC($s0) ## 000001BC
|
||||
/* 00D60 80AF8550 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 00D64 80AF8554 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 00D68 80AF8558 44999000 */ mtc1 $t9, $f18 ## $f18 = 0.00
|
||||
/* 00D6C 80AF855C 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
|
||||
/* 00D70 80AF8560 8608008A */ lh $t0, 0x008A($s0) ## 0000008A
|
||||
/* 00D74 80AF8564 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 00D78 80AF8568 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
|
||||
/* 00D7C 80AF856C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00D80 80AF8570 01091023 */ subu $v0, $t0, $t1
|
||||
/* 00D84 80AF8574 00021400 */ sll $v0, $v0, 16
|
||||
/* 00D88 80AF8578 46062001 */ sub.s $f0, $f4, $f6
|
||||
/* 00D8C 80AF857C 00021403 */ sra $v0, $v0, 16
|
||||
/* 00D90 80AF8580 4608003C */ c.lt.s $f0, $f8
|
||||
/* 00D94 80AF8584 00000000 */ nop
|
||||
/* 00D98 80AF8588 4502001B */ bc1fl .L80AF85F8
|
||||
/* 00D9C 80AF858C 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
|
||||
/* 00DA0 80AF8590 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00
|
||||
/* 00DA4 80AF8594 2841E001 */ slti $at, $v0, 0xE001
|
||||
/* 00DA8 80AF8598 4600503C */ c.lt.s $f10, $f0
|
||||
/* 00DAC 80AF859C 00000000 */ nop
|
||||
/* 00DB0 80AF85A0 45020015 */ bc1fl .L80AF85F8
|
||||
/* 00DB4 80AF85A4 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
|
||||
/* 00DB8 80AF85A8 14200012 */ bne $at, $zero, .L80AF85F4
|
||||
/* 00DBC 80AF85AC 28412000 */ slti $at, $v0, 0x2000
|
||||
/* 00DC0 80AF85B0 50200011 */ beql $at, $zero, .L80AF85F8
|
||||
/* 00DC4 80AF85B4 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
|
||||
/* 00DC8 80AF85B8 0C00D58A */ jal Actor_ApplyDamage
|
||||
|
||||
/* 00DCC 80AF85BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DD0 80AF85C0 240A0050 */ addiu $t2, $zero, 0x0050 ## $t2 = 00000050
|
||||
/* 00DD4 80AF85C4 AFAA0010 */ sw $t2, 0x0010($sp)
|
||||
/* 00DD8 80AF85C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DDC 80AF85CC 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 00DE0 80AF85D0 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 00DE4 80AF85D4 0C00D09B */ jal func_8003426C
|
||||
/* 00DE8 80AF85D8 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
|
||||
/* 00DEC 80AF85DC 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
|
||||
/* 00DF0 80AF85E0 AFA30030 */ sw $v1, 0x0030($sp)
|
||||
/* 00DF4 80AF85E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DF8 80AF85E8 0C2BDF11 */ jal func_80AF7C44
|
||||
/* 00DFC 80AF85EC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00E00 80AF85F0 8FA30030 */ lw $v1, 0x0030($sp)
|
||||
glabel L80AF85F4
|
||||
.L80AF85F4:
|
||||
/* 00E04 80AF85F4 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
|
||||
.L80AF85F8:
|
||||
/* 00E08 80AF85F8 93AC002F */ lbu $t4, 0x002F($sp)
|
||||
/* 00E0C 80AF85FC 260401E0 */ addiu $a0, $s0, 0x01E0 ## $a0 = 000001E0
|
||||
/* 00E10 80AF8600 15600010 */ bne $t3, $zero, .L80AF8644
|
||||
/* 00E14 80AF8604 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
|
||||
/* 00E18 80AF8608 A20C0204 */ sb $t4, 0x0204($s0) ## 00000204
|
||||
/* 00E1C 80AF860C 0C00CB89 */ jal func_80032E24
|
||||
/* 00E20 80AF8610 8FA6004C */ lw $a2, 0x004C($sp)
|
||||
/* 00E24 80AF8614 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
||||
/* 00E28 80AF8618 A60D01FC */ sh $t5, 0x01FC($s0) ## 000001FC
|
||||
/* 00E2C 80AF861C 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00E30 80AF8620 0C00CB1F */ jal func_80032C7C
|
||||
/* 00E34 80AF8624 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00E38 80AF8628 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00E3C 80AF862C 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00E40 80AF8630 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
|
||||
/* 00E44 80AF8634 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 00E48 80AF8638 2407384A */ addiu $a3, $zero, 0x384A ## $a3 = 0000384A
|
||||
/* 00E4C 80AF863C 10000016 */ beq $zero, $zero, .L80AF8698
|
||||
/* 00E50 80AF8640 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80AF8644:
|
||||
/* 00E54 80AF8644 54600014 */ bnel $v1, $zero, .L80AF8698
|
||||
/* 00E58 80AF8648 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00E5C 80AF864C 860E01BA */ lh $t6, 0x01BA($s0) ## 000001BA
|
||||
/* 00E60 80AF8650 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00E64 80AF8654 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFF4
|
||||
/* 00E68 80AF8658 448E8000 */ mtc1 $t6, $f16 ## $f16 = 0.00
|
||||
/* 00E6C 80AF865C 00000000 */ nop
|
||||
/* 00E70 80AF8660 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 00E74 80AF8664 E7B2003C */ swc1 $f18, 0x003C($sp)
|
||||
/* 00E78 80AF8668 860F01BC */ lh $t7, 0x01BC($s0) ## 000001BC
|
||||
/* 00E7C 80AF866C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
|
||||
/* 00E80 80AF8670 00000000 */ nop
|
||||
/* 00E84 80AF8674 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00E88 80AF8678 E7A60040 */ swc1 $f6, 0x0040($sp)
|
||||
/* 00E8C 80AF867C 861801BE */ lh $t8, 0x01BE($s0) ## 000001BE
|
||||
/* 00E90 80AF8680 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00
|
||||
/* 00E94 80AF8684 00000000 */ nop
|
||||
/* 00E98 80AF8688 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00E9C 80AF868C 0C018B7D */ jal func_80062DF4
|
||||
/* 00EA0 80AF8690 E7AA0044 */ swc1 $f10, 0x0044($sp)
|
||||
/* 00EA4 80AF8694 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80AF8698:
|
||||
/* 00EA8 80AF8698 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00EAC 80AF869C 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00EB0 80AF86A0 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00EB4 80AF86A4 03E00008 */ jr $ra
|
||||
/* 00EB8 80AF86A8 00000000 */ nop
|
|
@ -1,21 +0,0 @@
|
|||
glabel func_80AF8828
|
||||
/* 01038 80AF8828 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 0103C 80AF882C AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 01040 80AF8830 AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 01044 80AF8834 8FAF0030 */ lw $t7, 0x0030($sp)
|
||||
/* 01048 80AF8838 8FA40038 */ lw $a0, 0x0038($sp)
|
||||
/* 0104C 80AF883C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 01050 80AF8840 AFA70034 */ sw $a3, 0x0034($sp)
|
||||
/* 01054 80AF8844 240E0008 */ addiu $t6, $zero, 0x0008 ## $t6 = 00000008
|
||||
/* 01058 80AF8848 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 0105C 80AF884C AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 01060 80AF8850 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 01064 80AF8854 24070006 */ addiu $a3, $zero, 0x0006 ## $a3 = 00000006
|
||||
/* 01068 80AF8858 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 0106C 80AF885C AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 01070 80AF8860 0C00CBD5 */ jal func_80032F54
|
||||
/* 01074 80AF8864 248401E0 */ addiu $a0, $a0, 0x01E0 ## $a0 = 000001E0
|
||||
/* 01078 80AF8868 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0107C 80AF886C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 01080 80AF8870 03E00008 */ jr $ra
|
||||
/* 01084 80AF8874 00000000 */ nop
|
|
@ -1,24 +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 purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel En_Sb_InitVars
|
||||
.word 0x00C50500, 0x00000005, 0x00B50000, 0x00000208
|
||||
.word EnSb_Init
|
||||
.word EnSb_Destroy
|
||||
.word EnSb_Update
|
||||
.word EnSb_Draw
|
||||
glabel D_80AF89D0
|
||||
.word 0x0A110939, 0x01000000, 0x00000000, 0xFFCFFFFF, 0x04080000, 0xFFCFFFFF, 0x00000000, 0x01010100, 0x001E0028, 0x00000000, 0x00000000
|
||||
glabel D_80AF89FC
|
||||
.word 0x000000F2, 0x00F2F212, 0xD1D2D424, 0xF2F2E4F2, 0xF2240000, 0x0000D1D4, 0xD2D2D8D4, 0x00000000
|
||||
glabel D_80AF8A1C
|
||||
.word 0x89170027, 0x801F0002, 0x304C001E
|
||||
glabel D_80AF8A28
|
||||
.word 0x40A00000, 0x00000000, 0x00000000, 0xC0A00000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40A00000, 0x00000000, 0x00000000, 0xC0A00000, 0x00000000, 0x00000000
|
||||
|
|
@ -1,11 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_80AF8B00
|
||||
|
||||
.incbin "baserom/ovl_En_Sb", 0x1310, 0x00000170
|
|
@ -239,7 +239,7 @@ void func_80028B74(GlobalContext*, Vec3f*, UNK_PTR, UNK_PTR, Color_RGB8*, Color_
|
|||
// ? func_800292DC(?);
|
||||
// ? func_80029320(?);
|
||||
// ? func_800293A0(?);
|
||||
// ? func_800293E4(?);
|
||||
void func_800293E4(GlobalContext*, Vec3f* pos, f32, f32, f32, f32);
|
||||
// ? func_80029444(?);
|
||||
// ? func_8002949C(?);
|
||||
// ? func_80029530(?);
|
||||
|
@ -411,6 +411,7 @@ Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, GlobalContext* globalC
|
|||
Actor* func_80032AF0(GlobalContext* globalCtx, ActorContext* actorCtx, Actor** actorPtr, Player* player);
|
||||
Actor* Actor_Find(ActorContext* actorCtx, s32 actorId, s32 actorType);
|
||||
void func_80032C7C(GlobalContext* globalCtx, Actor* actor);
|
||||
void func_80032E24(struct_80032E24* arg0, s32 arg1, GlobalContext* globalCtx);
|
||||
void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, s32 arg4, f32 arg5, s16 arg6,
|
||||
s16 arg7, u8 arg8);
|
||||
void func_80033480(GlobalContext* globalCtx, Vec3f* arg1, f32 arg2, s32 arg3, s16 arg4, s16 arg5, u8 arg6);
|
||||
|
|
|
@ -205,6 +205,16 @@ typedef struct {
|
|||
/* 0x10 */ Vec3f base;
|
||||
} Struct_80090480_arg2;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MtxF* unk_00;
|
||||
/* 0x04 */ s16* unk_04;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
/* 0x0A */ char unk_0A[0x02];
|
||||
/* 0x0C */ s32* unk_0C;
|
||||
/* 0x10 */ s32 unk_10;
|
||||
/* 0x14 */ s32 unk_14;
|
||||
} struct_80032E24;
|
||||
|
||||
struct Player;
|
||||
typedef void (*PlayerActionFunc)(struct Player*, struct GlobalContext*);
|
||||
|
||||
|
|
3
spec
3
spec
|
@ -3154,8 +3154,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Sb"
|
||||
include "build/src/overlays/actors/ovl_En_Sb/z_en_sb.o"
|
||||
include "build/data/overlays/actors/z_en_sb.data.o"
|
||||
include "build/data/overlays/actors/z_en_sb.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Sb/z_en_sb_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -3088,16 +3088,6 @@ s16 func_80032D60(s16* arg0, s16 arg1, s16 arg2, s16 arg3) {
|
|||
return arg0[0];
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MtxF* unk_00;
|
||||
/* 0x04 */ s16* unk_04;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
/* 0x0A */ char unk_0A[0x02];
|
||||
/* 0x0C */ s32* unk_0C;
|
||||
/* 0x10 */ s32 unk_10;
|
||||
/* 0x14 */ s32 unk_14;
|
||||
} struct_80032E24;
|
||||
|
||||
void func_80032E24(struct_80032E24* arg0, s32 arg1, GlobalContext* globalCtx) {
|
||||
u32 sp28;
|
||||
u32 sp24;
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
/*
|
||||
* File: z_en_sb.c
|
||||
* Overlay: ovl_En_Sb
|
||||
* Description: Shellblade
|
||||
*/
|
||||
|
||||
#include "z_en_sb.h"
|
||||
#include <vt.h>
|
||||
|
||||
#define FLAGS 0x00000005
|
||||
|
||||
|
@ -9,7 +16,16 @@ void EnSb_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnSb_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnSb_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnSb_SetupWaitClosed(EnSb* this);
|
||||
|
||||
void EnSb_WaitClosed(EnSb* this, GlobalContext* globalCtx);
|
||||
void EnSb_Open(EnSb* this, GlobalContext* globalCtx);
|
||||
void EnSb_WaitOpen(EnSb* this, GlobalContext* globalCtx);
|
||||
void EnSb_TurnAround(EnSb* this, GlobalContext* globalCtx);
|
||||
void EnSb_Lunge(EnSb* this, GlobalContext* globalCtx);
|
||||
void EnSb_Bounce(EnSb* this, GlobalContext* globalCtx);
|
||||
void EnSb_Cooldown(EnSb* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit En_Sb_InitVars = {
|
||||
ACTOR_EN_SB,
|
||||
ACTORTYPE_ENEMY,
|
||||
|
@ -21,53 +37,440 @@ const ActorInit En_Sb_InitVars = {
|
|||
(ActorFunc)EnSb_Update,
|
||||
(ActorFunc)EnSb_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/EnSb_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/EnSb_Destroy.s")
|
||||
static ColliderCylinderInit_Set3 sCylinderInit = {
|
||||
{ COLTYPE_UNK10, 0x11, 0x09, 0x39, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0xFFCFFFFF, 0x04, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x01, 0x01, 0x01 },
|
||||
{ 30, 40, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF790C.s")
|
||||
static DamageTable sDamageTable[] = {
|
||||
0x00, 0x00, 0x00, 0xF2, 0x00, 0xF2, 0xF2, 0x12, 0xD1, 0xD2, 0xD4, 0x24, 0xF2, 0xF2, 0xE4, 0xF2,
|
||||
0xF2, 0x24, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xD4, 0xD2, 0xD2, 0xD8, 0xD4, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF79BC.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_S8(naviEnemyId, 39, ICHAIN_CONTINUE),
|
||||
ICHAIN_U8(unk_1F, 2, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(unk_4C, 30, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7A34.s")
|
||||
static Vec3f sFlamePosOffsets[] = {
|
||||
{ 5.0f, 0.0f, 0.0f },
|
||||
{ -5.0f, 0.0f, 0.0f },
|
||||
{ 0.0f, 0.0f, 5.0f },
|
||||
{ 0.0f, 0.0f, -5.0f },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7AB0.s")
|
||||
typedef enum {
|
||||
/* 0x00 */ SHELLBLADE_OPEN,
|
||||
/* 0x01 */ SHELLBLADE_WAIT_CLOSED,
|
||||
/* 0x02 */ SHELLBLADE_WAIT_OPEN,
|
||||
/* 0x03 */ SHELLBLADE_LUNGE,
|
||||
/* 0x04 */ SHELLBLADE_BOUNCE,
|
||||
} ShellbladeBehavior;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7B24.s")
|
||||
extern SkeletonHeader D_06002BF0;
|
||||
extern AnimationHeader D_06000194;
|
||||
extern AnimationHeader D_0600004C;
|
||||
extern AnimationHeader D_06000124;
|
||||
extern AnimationHeader D_06002C8C;
|
||||
extern AnimationHeader D_060000B4;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7BCC.s")
|
||||
void EnSb_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnSb* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7C44.s")
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
this->actor.colChkInfo.damageTable = sDamageTable;
|
||||
this->actor.colChkInfo.health = 2;
|
||||
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06002BF0, &D_06000194, NULL, NULL, 0);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder_Set3(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
this->isDead = false;
|
||||
this->actor.colChkInfo.mass = 0;
|
||||
Actor_SetScale(&this->actor, 0.006f);
|
||||
this->actor.shape.rot.y = 0;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
this->actor.gravity = -0.35f;
|
||||
this->fire = 0;
|
||||
this->hitByWindArrow = false;
|
||||
this->actor.velocity.y = -1.0f;
|
||||
EnSb_SetupWaitClosed(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7D48.s")
|
||||
void EnSb_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnSb* this = THIS;
|
||||
SkelAnime_Free(&this->skelAnime, globalCtx);
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7DC8.s")
|
||||
void EnSb_SpawnBubbles(GlobalContext* globalCtx, EnSb* this) {
|
||||
s32 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7E90.s")
|
||||
if (this->actor.unk_84 > 0) {
|
||||
for (i = 0; i < 10; i++) {
|
||||
func_800293E4(globalCtx, &this->actor.posRot.pos, 10.0f, 10.0f, 30.0f, 0.25f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF7F44.s")
|
||||
void EnSb_SetupWaitClosed(EnSb* this) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_0600004C, 1.0f, 0, SkelAnime_GetFrameCount(&D_0600004C.genericHeader), 2,
|
||||
0.0f);
|
||||
this->behavior = SHELLBLADE_WAIT_CLOSED;
|
||||
this->actionFunc = EnSb_WaitClosed;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF803C.s")
|
||||
void EnSb_SetupOpen(EnSb* this) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000194, 1.0f, 0, SkelAnime_GetFrameCount(&D_06000194.genericHeader), 2,
|
||||
0.0f);
|
||||
this->behavior = SHELLBLADE_OPEN;
|
||||
this->actionFunc = EnSb_Open;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_SHELL_MOUTH);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF80E4.s")
|
||||
void EnSb_SetupWaitOpen(EnSb* this) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06002C8C, 1.0f, 0, SkelAnime_GetFrameCount(&D_06002C8C.genericHeader), 0,
|
||||
0.0f);
|
||||
this->behavior = SHELLBLADE_WAIT_OPEN;
|
||||
this->actionFunc = EnSb_WaitOpen;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF8224.s")
|
||||
void EnSb_SetupLunge(EnSb* this) {
|
||||
f32 frames = SkelAnime_GetFrameCount(&D_06000124.genericHeader);
|
||||
f32 playbackSpeed = this->actor.unk_84 > 0.0f ? 1.0f : 0.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF828C.s")
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000124, playbackSpeed, 0.0f, frames, 2, 0);
|
||||
this->behavior = SHELLBLADE_LUNGE;
|
||||
this->actionFunc = EnSb_Lunge;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_SHELL_MOUTH);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF82F0.s")
|
||||
void EnSb_SetupBounce(EnSb* this) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_060000B4, 1.0f, 0, SkelAnime_GetFrameCount(&D_060000B4.genericHeader), 2,
|
||||
0.0f);
|
||||
this->behavior = SHELLBLADE_BOUNCE;
|
||||
this->actionFunc = EnSb_Bounce;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF832C.s")
|
||||
void EnSb_SetupCooldown(EnSb* this, s32 changeSpeed) {
|
||||
f32 frameCount = SkelAnime_GetFrameCount(&D_0600004C.genericHeader);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF8368.s")
|
||||
if (this->behavior != SHELLBLADE_WAIT_CLOSED) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_0600004C.genericHeader, 1.0f, 0, frameCount, 2, 0.0f);
|
||||
}
|
||||
this->behavior = SHELLBLADE_WAIT_CLOSED;
|
||||
if (changeSpeed) {
|
||||
if (this->actor.unk_84 > 0.0f) {
|
||||
this->actor.speedXZ = -5.0f;
|
||||
if (this->actor.velocity.y < 0.0f) {
|
||||
this->actor.velocity.y = 2.1f;
|
||||
}
|
||||
} else {
|
||||
this->actor.speedXZ = -6.0f;
|
||||
if (this->actor.velocity.y < 0.0f) {
|
||||
this->actor.velocity.y = 1.4f;
|
||||
}
|
||||
}
|
||||
}
|
||||
this->timer = 60;
|
||||
this->actionFunc = EnSb_Cooldown;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF8388.s")
|
||||
void EnSb_WaitClosed(EnSb* this, GlobalContext* globalCtx) {
|
||||
// always face toward link
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.rotTowardsLinkY, 0xA, 0x7D0, 0x0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF83D4.s")
|
||||
if ((this->actor.xzDistanceFromLink <= 160.0f) && (this->actor.xzDistanceFromLink > 40.0f)) {
|
||||
EnSb_SetupOpen(this);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/EnSb_Update.s")
|
||||
void EnSb_Open(EnSb* this, GlobalContext* globalCtx) {
|
||||
f32 currentFrame = this->skelAnime.animCurrentFrame;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/func_80AF8828.s")
|
||||
if (SkelAnime_GetFrameCount(&D_06000194.genericHeader) <= currentFrame) {
|
||||
this->timer = 15;
|
||||
EnSb_SetupWaitOpen(this);
|
||||
} else {
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.rotTowardsLinkY, 0xA, 0x7D0, 0x0);
|
||||
if ((this->actor.xzDistanceFromLink > 160.0f) || (this->actor.xzDistanceFromLink <= 40.0f)) {
|
||||
EnSb_SetupWaitClosed(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Sb/EnSb_Draw.s")
|
||||
void EnSb_WaitOpen(EnSb* this, GlobalContext* globalCtx) {
|
||||
s16 timer = this->timer;
|
||||
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.rotTowardsLinkY, 0xA, 0x7D0, 0x0);
|
||||
|
||||
if ((this->actor.xzDistanceFromLink > 160.0f) || (this->actor.xzDistanceFromLink <= 40.0f)) {
|
||||
EnSb_SetupWaitClosed(this);
|
||||
}
|
||||
|
||||
if (timer != 0) {
|
||||
this->timer = timer - 1;
|
||||
} else {
|
||||
this->timer = 0;
|
||||
this->attackYaw = this->actor.rotTowardsLinkY;
|
||||
this->actionFunc = EnSb_TurnAround;
|
||||
}
|
||||
}
|
||||
|
||||
void EnSb_TurnAround(EnSb* this, GlobalContext* globalCtx) {
|
||||
s16 invertedYaw;
|
||||
|
||||
invertedYaw = this->attackYaw + 0x8000;
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, invertedYaw, 0x1, 0x1F40, 0xA);
|
||||
|
||||
if (this->actor.shape.rot.y == invertedYaw) {
|
||||
this->actor.posRot.rot.y = this->attackYaw;
|
||||
if (this->actor.unk_84 > 0.0f) {
|
||||
this->actor.velocity.y = 3.0f;
|
||||
this->actor.speedXZ = 5.0f;
|
||||
this->actor.gravity = -0.35f;
|
||||
} else {
|
||||
this->actor.velocity.y = 2.0f;
|
||||
this->actor.speedXZ = 6.0f;
|
||||
this->actor.gravity = -2.0f;
|
||||
}
|
||||
EnSb_SpawnBubbles(globalCtx, this);
|
||||
this->bouncesLeft = 3;
|
||||
EnSb_SetupLunge(this);
|
||||
// Attack!!
|
||||
osSyncPrintf("アタァ〜ック!!\n");
|
||||
}
|
||||
}
|
||||
|
||||
void EnSb_Lunge(EnSb* this, GlobalContext* globalCtx) {
|
||||
Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.2f);
|
||||
if ((this->actor.velocity.y <= -0.1f) || ((this->actor.bgCheckFlags & 2))) {
|
||||
if (!(this->actor.unk_84 > 0.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
|
||||
}
|
||||
this->actor.bgCheckFlags = this->actor.bgCheckFlags & ~2;
|
||||
EnSb_SetupBounce(this);
|
||||
}
|
||||
}
|
||||
|
||||
void EnSb_Bounce(EnSb* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
f32 currentFrame;
|
||||
f32 frameCount;
|
||||
|
||||
currentFrame = this->skelAnime.animCurrentFrame;
|
||||
frameCount = SkelAnime_GetFrameCount(&D_060000B4.genericHeader);
|
||||
Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.2f);
|
||||
|
||||
if (currentFrame == frameCount) {
|
||||
if (this->bouncesLeft != 0) {
|
||||
this->bouncesLeft--;
|
||||
this->timer = 1;
|
||||
if (this->actor.unk_84 > 0.0f) {
|
||||
this->actor.velocity.y = 3.0f;
|
||||
this->actor.speedXZ = 5.0f;
|
||||
this->actor.gravity = -0.35f;
|
||||
} else {
|
||||
this->actor.velocity.y = 2.0f;
|
||||
this->actor.speedXZ = 6.0f;
|
||||
this->actor.gravity = -2.0f;
|
||||
}
|
||||
EnSb_SpawnBubbles(globalCtx, this);
|
||||
EnSb_SetupLunge(this);
|
||||
} else if (this->actor.bgCheckFlags & 1) {
|
||||
this->actor.bgCheckFlags &= ~2;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
this->timer = 1;
|
||||
EnSb_SetupWaitClosed(this);
|
||||
// "Attack Complete!"
|
||||
osSyncPrintf(VT_FGCOL(RED) "攻撃終了!!" VT_RST "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnSb_Cooldown(EnSb* this, GlobalContext* globalCtx) {
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
this->actor.bgCheckFlags &= ~1;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
}
|
||||
} else {
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
this->actor.bgCheckFlags &= ~1;
|
||||
this->actionFunc = EnSb_WaitClosed;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 EnSb_IsVulnerable(EnSb* this) {
|
||||
switch (this->behavior) {
|
||||
case SHELLBLADE_OPEN:
|
||||
if ((this->skelAnime.animCurrentFrame >= 2.0f) && (this->skelAnime.animCurrentFrame <= 5.0f)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case SHELLBLADE_WAIT_CLOSED:
|
||||
if ((this->skelAnime.animCurrentFrame >= 0.0f) && (this->skelAnime.animCurrentFrame <= 1.0f)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case SHELLBLADE_WAIT_OPEN:
|
||||
if ((this->skelAnime.animCurrentFrame >= 0.0f) && (this->skelAnime.animCurrentFrame <= 19.0f)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case SHELLBLADE_LUNGE:
|
||||
if (this->skelAnime.animCurrentFrame == 0.0f) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case SHELLBLADE_BOUNCE:
|
||||
if ((this->skelAnime.animCurrentFrame >= 3.0f) && (this->skelAnime.animCurrentFrame <= 5.0f)) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
s32 EnSb_UpdateDamage(EnSb* this, GlobalContext* globalCtx) {
|
||||
Vec3f hitPoint;
|
||||
f32 hitY;
|
||||
s16 yawDiff;
|
||||
s32 tookDamage;
|
||||
u8 hitByWindArrow;
|
||||
|
||||
// hit box collided, switch to cool down
|
||||
if ((this->collider.base.atFlags & 2)) {
|
||||
EnSb_SetupCooldown(this, 1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// hurt box collided, take damage if appropriate
|
||||
if ((this->collider.base.acFlags & 2)) {
|
||||
hitByWindArrow = false;
|
||||
tookDamage = false;
|
||||
this->collider.base.acFlags &= ~2;
|
||||
|
||||
switch (this->actor.colChkInfo.damageEffect) {
|
||||
case 14: // wind arrow
|
||||
hitByWindArrow = true;
|
||||
case 15: // explosions, arrow, hammer, ice arrow, light arrow, spirit arrow, shadow arrow
|
||||
if (EnSb_IsVulnerable(this)) {
|
||||
hitY = this->collider.body.bumper.unk_06.y - this->actor.posRot.pos.y;
|
||||
yawDiff = this->actor.rotTowardsLinkY - this->actor.shape.rot.y;
|
||||
if ((hitY < 30.0f) && (hitY > 10.0f) && (yawDiff >= -0x1FFF) && (yawDiff < 0x2000)) {
|
||||
Actor_ApplyDamage(&this->actor);
|
||||
func_8003426C(&this->actor, 0x4000, 0xFF, 0x2000, 0x50);
|
||||
tookDamage = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2: // fire arrow, dins fire
|
||||
this->fire = 4;
|
||||
Actor_ApplyDamage(&this->actor);
|
||||
func_8003426C(&this->actor, 0x4000, 0xFF, 0x2000, 0x50);
|
||||
tookDamage = true;
|
||||
break;
|
||||
case 1: // hookshot/longshot
|
||||
case 13: // all sword damage
|
||||
if (EnSb_IsVulnerable(this)) {
|
||||
hitY = this->collider.body.bumper.unk_06.y - this->actor.posRot.pos.y;
|
||||
yawDiff = this->actor.rotTowardsLinkY - this->actor.shape.rot.y;
|
||||
if ((hitY < 30.0f) && (hitY > 10.0f) && (yawDiff >= -0x1FFF) && (yawDiff < 0x2000)) {
|
||||
Actor_ApplyDamage(&this->actor);
|
||||
func_8003426C(&this->actor, 0x4000, 0xFF, 0x2000, 0x50);
|
||||
tookDamage = true;
|
||||
EnSb_SetupCooldown(this, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (this->actor.colChkInfo.health == 0) {
|
||||
this->hitByWindArrow = hitByWindArrow;
|
||||
func_80032E24(&this->unk_1E0, 8, globalCtx);
|
||||
this->isDead = true;
|
||||
func_80032C7C(globalCtx, &this->actor);
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EN_SHELL_DEAD);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// if player attack didn't do damage, play recoil sound and spawn sparks
|
||||
if (!tookDamage) {
|
||||
hitPoint.x = this->collider.body.bumper.unk_06.x;
|
||||
hitPoint.y = this->collider.body.bumper.unk_06.y;
|
||||
hitPoint.z = this->collider.body.bumper.unk_06.z;
|
||||
func_80062DF4(globalCtx, &hitPoint);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnSb_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnSb* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
if (this->isDead) {
|
||||
if (this->actor.unk_84 > 0.0f) {
|
||||
this->actor.params = 4;
|
||||
} else {
|
||||
this->actor.params = 1;
|
||||
}
|
||||
if (func_8003305C(this, &this->unk_1E0, globalCtx, this->actor.params) != 0) {
|
||||
if (!this->hitByWindArrow) {
|
||||
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.posRot.pos, 0x80);
|
||||
} else {
|
||||
Item_DropCollectible(globalCtx, &this->actor.posRot.pos, 8);
|
||||
}
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else {
|
||||
Actor_SetHeight(&this->actor, 20.0f);
|
||||
Actor_SetScale(&this->actor, 0.006f);
|
||||
Actor_MoveForward(&this->actor);
|
||||
this->actionFunc(this, globalCtx);
|
||||
func_8002E4B4(globalCtx, &this->actor, 20.0f, 20.0f, 20.0f, 5);
|
||||
EnSb_UpdateDamage(this, globalCtx);
|
||||
Collider_CylinderUpdate(&this->actor, &this->collider);
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
}
|
||||
}
|
||||
|
||||
void EnSb_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) {
|
||||
EnSb* this = THIS;
|
||||
|
||||
func_80032F54(&this->unk_1E0, limbIndex, 0, 6, 8, dList, -1);
|
||||
}
|
||||
|
||||
void EnSb_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnSb* this = THIS;
|
||||
Vec3f flamePos;
|
||||
Vec3f* offset;
|
||||
s16 fireDecr;
|
||||
|
||||
func_8002EBCC(&this->actor, globalCtx, 1);
|
||||
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, NULL,
|
||||
EnSb_PostLimbDraw, &this->actor);
|
||||
if (this->fire != 0) {
|
||||
this->actor.unk_114++;
|
||||
fireDecr = this->fire - 1;
|
||||
// this is intended to draw flames after being burned, but the condition is never met to run this code
|
||||
// fire gets set to 4 when burned, decrements to 3 and fails the "& 1" check and never stores the decrement
|
||||
if ((fireDecr & 1) == 0) {
|
||||
offset = &sFlamePosOffsets[(fireDecr & 3)];
|
||||
flamePos.x = Math_Rand_CenteredFloat(5.0f) + (this->actor.posRot.pos.x + offset->x);
|
||||
flamePos.y = Math_Rand_CenteredFloat(5.0f) + (this->actor.posRot.pos.y + offset->y);
|
||||
flamePos.z = Math_Rand_CenteredFloat(5.0f) + (this->actor.posRot.pos.z + offset->z);
|
||||
func_8002A4D4(globalCtx, this, &flamePos, 0x64, 0, 0, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,9 +6,21 @@
|
|||
|
||||
struct EnSb;
|
||||
|
||||
typedef void (*EnSbActionFunc)(struct EnSb*, GlobalContext*);
|
||||
|
||||
typedef struct EnSb {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0xBC];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ EnSbActionFunc actionFunc;
|
||||
/* 0x0194 */ ColliderCylinder collider;
|
||||
/* 0x01E0 */ struct_80032E24 unk_1E0;
|
||||
/* 0x01F8 */ s16 fire;
|
||||
/* 0x01FA */ s16 behavior;
|
||||
/* 0x01FC */ s16 isDead;
|
||||
/* 0x01FE */ s16 timer;
|
||||
/* 0x0200 */ s16 attackYaw;
|
||||
/* 0x0202 */ s16 bouncesLeft; // amount of bounces left in the attack before going back to wait
|
||||
/* 0x0204 */ u8 hitByWindArrow;
|
||||
} EnSb; // size = 0x0208
|
||||
|
||||
extern const ActorInit En_Sb_InitVars;
|
||||
|
|
0
tools/diff.txt
Normal file
0
tools/diff.txt
Normal file
|
@ -584,6 +584,14 @@ D_0F000000 = 0x0F000000;
|
|||
D_06000BD8 = 0x06000BD8;
|
||||
D_060015B0 = 0x060015B0;
|
||||
|
||||
// z_en_sb
|
||||
D_0600004C = 0x0600004C;
|
||||
D_060000B4 = 0x060000B4;
|
||||
D_06000124 = 0x06000124;
|
||||
D_06000194 = 0x06000194;
|
||||
D_06002BF0 = 0x06002BF0;
|
||||
D_06002C8C = 0x06002C8C;
|
||||
|
||||
// z_en_hintnuts
|
||||
D_06000168 = 0x06000168;
|
||||
D_060014E0 = 0x060014E0;
|
||||
|
|
Loading…
Reference in a new issue