1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-25 22:26:12 +00:00
* 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:
fig02 2020-05-26 11:57:54 -04:00 committed by GitHub
parent d48792870c
commit 442b15c79f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
35 changed files with 464 additions and 1398 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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);

View file

@ -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
View file

@ -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

View file

@ -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;

View file

@ -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);
}
}
}

View file

@ -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
View file

View 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;