1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-10 11:03:46 +00:00

EnVali OK and documented, object_vali and object_bl completely analysed and documented (#845)

* OK

* Some naming

* Name more, correct typo in Biri, extract skel

* just Draws need names, fix typos in bili and warp1

* Decompile object_vali and add symbols

* Few more names

* Bari naming done

* object_bl completed, symbols added

* Label object_bl

* Formatter

* delete asm

* review changes

* review changes

* review
This commit is contained in:
EllipticEllipsis 2021-06-14 23:11:14 +01:00 committed by GitHub
parent a4c606c522
commit 566d107e55
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 908 additions and 2729 deletions

View file

@ -1,22 +0,0 @@
glabel EnVali_Destroy
/* 00178 80B26828 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0017C 80B2682C AFA40018 */ sw $a0, 0x0018($sp)
/* 00180 80B26830 AFA5001C */ sw $a1, 0x001C($sp)
/* 00184 80B26834 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00188 80B26838 8FA50018 */ lw $a1, 0x0018($sp)
/* 0018C 80B2683C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00190 80B26840 0C017418 */ jal Collider_DestroyQuad
/* 00194 80B26844 24A502FC */ addiu $a1, $a1, 0x02FC ## $a1 = 000002FC
/* 00198 80B26848 8FA50018 */ lw $a1, 0x0018($sp)
/* 0019C 80B2684C 8FA4001C */ lw $a0, 0x001C($sp)
/* 001A0 80B26850 0C017418 */ jal Collider_DestroyQuad
/* 001A4 80B26854 24A5037C */ addiu $a1, $a1, 0x037C ## $a1 = 0000037C
/* 001A8 80B26858 8FA50018 */ lw $a1, 0x0018($sp)
/* 001AC 80B2685C 8FA4001C */ lw $a0, 0x001C($sp)
/* 001B0 80B26860 0C0170EB */ jal Collider_DestroyCylinder
/* 001B4 80B26864 24A503FC */ addiu $a1, $a1, 0x03FC ## $a1 = 000003FC
/* 001B8 80B26868 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001BC 80B2686C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001C0 80B26870 03E00008 */ jr $ra
/* 001C4 80B26874 00000000 */ nop

View file

@ -1,103 +0,0 @@
.rdata
glabel D_80B28A30
.asciz "../z_en_vali.c"
.balign 4
glabel D_80B28A40
.asciz "../z_en_vali.c"
.balign 4
.text
glabel EnVali_Draw
/* 02068 80B28718 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
/* 0206C 80B2871C AFB1002C */ sw $s1, 0x002C($sp)
/* 02070 80B28720 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 02074 80B28724 AFBF0034 */ sw $ra, 0x0034($sp)
/* 02078 80B28728 AFB20030 */ sw $s2, 0x0030($sp)
/* 0207C 80B2872C AFB00028 */ sw $s0, 0x0028($sp)
/* 02080 80B28730 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 02084 80B28734 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 02088 80B28738 3C0680B3 */ lui $a2, %hi(D_80B28A30) ## $a2 = 80B30000
/* 0208C 80B2873C 24C68A30 */ addiu $a2, $a2, %lo(D_80B28A30) ## $a2 = 80B28A30
/* 02090 80B28740 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4
/* 02094 80B28744 240705E1 */ addiu $a3, $zero, 0x05E1 ## $a3 = 000005E1
/* 02098 80B28748 0C031AB1 */ jal Graph_OpenDisps
/* 0209C 80B2874C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 020A0 80B28750 0C024F61 */ jal func_80093D84
/* 020A4 80B28754 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 020A8 80B28758 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 020AC 80B2875C 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 020B0 80B28760 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
/* 020B4 80B28764 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 020B8 80B28768 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
/* 020BC 80B2876C 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000
/* 020C0 80B28770 0311C021 */ addu $t8, $t8, $s1
/* 020C4 80B28774 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 020C8 80B28778 8F181DE4 */ lw $t8, 0x1DE4($t8) ## 00011DE4
/* 020CC 80B2877C 2408007F */ addiu $t0, $zero, 0x007F ## $t0 = 0000007F
/* 020D0 80B28780 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 020D4 80B28784 0018C880 */ sll $t9, $t8, 2
/* 020D8 80B28788 0338C823 */ subu $t9, $t9, $t8
/* 020DC 80B2878C 0019C880 */ sll $t9, $t9, 2
/* 020E0 80B28790 01193023 */ subu $a2, $t0, $t9
/* 020E4 80B28794 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
/* 020E8 80B28798 AFA90010 */ sw $t1, 0x0010($sp)
/* 020EC 80B2879C 30C6007F */ andi $a2, $a2, 0x007F ## $a2 = 00000000
/* 020F0 80B287A0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 020F4 80B287A4 24070020 */ addiu $a3, $zero, 0x0020 ## $a3 = 00000020
/* 020F8 80B287A8 0C0253A7 */ jal Gfx_TexScroll
/* 020FC 80B287AC AFA20048 */ sw $v0, 0x0048($sp)
/* 02100 80B287B0 8FA30048 */ lw $v1, 0x0048($sp)
/* 02104 80B287B4 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
/* 02108 80B287B8 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
/* 0210C 80B287BC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 02110 80B287C0 924A0194 */ lbu $t2, 0x0194($s2) ## 00000194
/* 02114 80B287C4 35AD0024 */ ori $t5, $t5, 0x0024 ## $t5 = DB060024
/* 02118 80B287C8 37180024 */ ori $t8, $t8, 0x0024 ## $t8 = DB060024
/* 0211C 80B287CC 314B0001 */ andi $t3, $t2, 0x0001 ## $t3 = 00000000
/* 02120 80B287D0 11600009 */ beq $t3, $zero, .L80B287F8
/* 02124 80B287D4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 02128 80B287D8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0212C 80B287DC 3C0E80B3 */ lui $t6, %hi(D_80B28998) ## $t6 = 80B30000
/* 02130 80B287E0 25CE8998 */ addiu $t6, $t6, %lo(D_80B28998) ## $t6 = 80B28998
/* 02134 80B287E4 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 02138 80B287E8 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 0213C 80B287EC AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 02140 80B287F0 10000008 */ beq $zero, $zero, .L80B28814
/* 02144 80B287F4 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
.L80B287F8:
/* 02148 80B287F8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0214C 80B287FC 3C0880B3 */ lui $t0, %hi(D_80B289A8) ## $t0 = 80B30000
/* 02150 80B28800 250889A8 */ addiu $t0, $t0, %lo(D_80B289A8) ## $t0 = 80B289A8
/* 02154 80B28804 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 02158 80B28808 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
/* 0215C 80B2880C AC480004 */ sw $t0, 0x0004($v0) ## 00000004
/* 02160 80B28810 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
.L80B28814:
/* 02164 80B28814 0C2CA0D1 */ jal func_80B28344
/* 02168 80B28818 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 0216C 80B2881C 8E450150 */ lw $a1, 0x0150($s2) ## 00000150
/* 02170 80B28820 8E46016C */ lw $a2, 0x016C($s2) ## 0000016C
/* 02174 80B28824 3C1980B3 */ lui $t9, %hi(func_80B28280) ## $t9 = 80B30000
/* 02178 80B28828 27398280 */ addiu $t9, $t9, %lo(func_80B28280) ## $t9 = 80B28280
/* 0217C 80B2882C AFB90010 */ sw $t9, 0x0010($sp)
/* 02180 80B28830 AFB20014 */ sw $s2, 0x0014($sp)
/* 02184 80B28834 8E0902D0 */ lw $t1, 0x02D0($s0) ## 000002D0
/* 02188 80B28838 3C0780B3 */ lui $a3, %hi(func_80B281F0) ## $a3 = 80B30000
/* 0218C 80B2883C 24E781F0 */ addiu $a3, $a3, %lo(func_80B281F0) ## $a3 = 80B281F0
/* 02190 80B28840 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 02194 80B28844 0C0288A2 */ jal SkelAnime_Draw
/* 02198 80B28848 AFA90018 */ sw $t1, 0x0018($sp)
/* 0219C 80B2884C AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
/* 021A0 80B28850 3C0680B3 */ lui $a2, %hi(D_80B28A40) ## $a2 = 80B30000
/* 021A4 80B28854 24C68A40 */ addiu $a2, $a2, %lo(D_80B28A40) ## $a2 = 80B28A40
/* 021A8 80B28858 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 021AC 80B2885C 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4
/* 021B0 80B28860 0C031AD5 */ jal Graph_CloseDisps
/* 021B4 80B28864 24070602 */ addiu $a3, $zero, 0x0602 ## $a3 = 00000602
/* 021B8 80B28868 8FBF0034 */ lw $ra, 0x0034($sp)
/* 021BC 80B2886C 8FB00028 */ lw $s0, 0x0028($sp)
/* 021C0 80B28870 8FB1002C */ lw $s1, 0x002C($sp)
/* 021C4 80B28874 8FB20030 */ lw $s2, 0x0030($sp)
/* 021C8 80B28878 03E00008 */ jr $ra
/* 021CC 80B2887C 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000

View file

@ -1,102 +0,0 @@
glabel EnVali_Init
/* 00000 80B266B0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00004 80B266B4 AFB10028 */ sw $s1, 0x0028($sp)
/* 00008 80B266B8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0000C 80B266BC AFBF002C */ sw $ra, 0x002C($sp)
/* 00010 80B266C0 AFB00024 */ sw $s0, 0x0024($sp)
/* 00014 80B266C4 3C0580B3 */ lui $a1, %hi(D_80B28944) ## $a1 = 80B30000
/* 00018 80B266C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0001C 80B266CC 0C01E037 */ jal Actor_ProcessInitChain
/* 00020 80B266D0 24A58944 */ addiu $a1, $a1, %lo(D_80B28944) ## $a1 = 80B28944
/* 00024 80B266D4 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
/* 00028 80B266D8 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
/* 0002C 80B266DC 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00030 80B266E0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00034 80B266E4 0C00AC78 */ jal ActorShape_Init
/* 00038 80B266E8 3C0741D8 */ lui $a3, 0x41D8 ## $a3 = 41D80000
/* 0003C 80B266EC 240E009B */ addiu $t6, $zero, 0x009B ## $t6 = 0000009B
/* 00040 80B266F0 A20E00C8 */ sb $t6, 0x00C8($s0) ## 000000C8
/* 00044 80B266F4 3C060600 */ lui $a2, %hi(D_06004848) ## $a2 = 06000000
/* 00048 80B266F8 3C070600 */ lui $a3, %hi(D_060014AC) ## $a3 = 06000000
/* 0004C 80B266FC 260F0198 */ addiu $t7, $s0, 0x0198 ## $t7 = 00000198
/* 00050 80B26700 26180246 */ addiu $t8, $s0, 0x0246 ## $t8 = 00000246
/* 00054 80B26704 2419001D */ addiu $t9, $zero, 0x001D ## $t9 = 0000001D
/* 00058 80B26708 AFB90018 */ sw $t9, 0x0018($sp)
/* 0005C 80B2670C AFB80014 */ sw $t8, 0x0014($sp)
/* 00060 80B26710 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00064 80B26714 24E714AC */ addiu $a3, $a3, %lo(D_060014AC) ## $a3 = 060014AC
/* 00068 80B26718 24C64848 */ addiu $a2, $a2, %lo(D_06004848) ## $a2 = 06004848
/* 0006C 80B2671C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00070 80B26720 0C02915F */ jal SkelAnime_Init
/* 00074 80B26724 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00078 80B26728 260502FC */ addiu $a1, $s0, 0x02FC ## $a1 = 000002FC
/* 0007C 80B2672C AFA50030 */ sw $a1, 0x0030($sp)
/* 00080 80B26730 0C017406 */ jal Collider_InitQuad
/* 00084 80B26734 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00088 80B26738 3C0780B3 */ lui $a3, %hi(D_80B288A0) ## $a3 = 80B30000
/* 0008C 80B2673C 8FA50030 */ lw $a1, 0x0030($sp)
/* 00090 80B26740 24E788A0 */ addiu $a3, $a3, %lo(D_80B288A0) ## $a3 = 80B288A0
/* 00094 80B26744 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00098 80B26748 0C017441 */ jal Collider_SetQuad
/* 0009C 80B2674C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000A0 80B26750 2605037C */ addiu $a1, $s0, 0x037C ## $a1 = 0000037C
/* 000A4 80B26754 AFA50030 */ sw $a1, 0x0030($sp)
/* 000A8 80B26758 0C017406 */ jal Collider_InitQuad
/* 000AC 80B2675C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 000B0 80B26760 3C0780B3 */ lui $a3, %hi(D_80B288A0) ## $a3 = 80B30000
/* 000B4 80B26764 8FA50030 */ lw $a1, 0x0030($sp)
/* 000B8 80B26768 24E788A0 */ addiu $a3, $a3, %lo(D_80B288A0) ## $a3 = 80B288A0
/* 000BC 80B2676C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 000C0 80B26770 0C017441 */ jal Collider_SetQuad
/* 000C4 80B26774 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000C8 80B26778 260503FC */ addiu $a1, $s0, 0x03FC ## $a1 = 000003FC
/* 000CC 80B2677C AFA50030 */ sw $a1, 0x0030($sp)
/* 000D0 80B26780 0C0170D9 */ jal Collider_InitCylinder
/* 000D4 80B26784 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 000D8 80B26788 3C0780B3 */ lui $a3, %hi(D_80B288F0) ## $a3 = 80B30000
/* 000DC 80B2678C 8FA50030 */ lw $a1, 0x0030($sp)
/* 000E0 80B26790 24E788F0 */ addiu $a3, $a3, %lo(D_80B288F0) ## $a3 = 80B288F0
/* 000E4 80B26794 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 000E8 80B26798 0C01712B */ jal Collider_SetCylinder
/* 000EC 80B2679C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000F0 80B267A0 3C0580B3 */ lui $a1, %hi(D_80B28924) ## $a1 = 80B30000
/* 000F4 80B267A4 3C0680B3 */ lui $a2, %hi(D_80B2891C) ## $a2 = 80B30000
/* 000F8 80B267A8 24C6891C */ addiu $a2, $a2, %lo(D_80B2891C) ## $a2 = 80B2891C
/* 000FC 80B267AC 24A58924 */ addiu $a1, $a1, %lo(D_80B28924) ## $a1 = 80B28924
/* 00100 80B267B0 0C0187B5 */ jal CollisionCheck_SetInfo
/* 00104 80B267B4 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 00108 80B267B8 0C2C9A1E */ jal func_80B26878
/* 0010C 80B267BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00110 80B267C0 8E080004 */ lw $t0, 0x0004($s0) ## 00000004
/* 00114 80B267C4 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 00118 80B267C8 260A0024 */ addiu $t2, $s0, 0x0024 ## $t2 = 00000024
/* 0011C 80B267CC 01014824 */ and $t1, $t0, $at
/* 00120 80B267D0 AE090004 */ sw $t1, 0x0004($s0) ## 00000004
/* 00124 80B267D4 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00128 80B267D8 262407C0 */ addiu $a0, $s1, 0x07C0 ## $a0 = 000007C0
/* 0012C 80B267DC 26050078 */ addiu $a1, $s0, 0x0078 ## $a1 = 00000078
/* 00130 80B267E0 27A60034 */ addiu $a2, $sp, 0x0034 ## $a2 = FFFFFFF4
/* 00134 80B267E4 0C00F269 */ jal BgCheck_EntityRaycastFloor4
/* 00138 80B267E8 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
/* 0013C 80B267EC 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000
/* 00140 80B267F0 44812000 */ mtc1 $at, $f4 ## $f4 = -32000.00
/* 00144 80B267F4 E6000080 */ swc1 $f0, 0x0080($s0) ## 00000080
/* 00148 80B267F8 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
/* 0014C 80B267FC 46040032 */ c.eq.s $f0, $f4
/* 00150 80B26800 00000000 */ nop
/* 00154 80B26804 45020004 */ bc1fl .L80B26818
/* 00158 80B26808 8FBF002C */ lw $ra, 0x002C($sp)
/* 0015C 80B2680C 0C00B55C */ jal Actor_Kill
/* 00160 80B26810 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00164 80B26814 8FBF002C */ lw $ra, 0x002C($sp)
.L80B26818:
/* 00168 80B26818 8FB00024 */ lw $s0, 0x0024($sp)
/* 0016C 80B2681C 8FB10028 */ lw $s1, 0x0028($sp)
/* 00170 80B26820 03E00008 */ jr $ra
/* 00174 80B26824 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View file

@ -1,101 +0,0 @@
glabel EnVali_Update
/* 01410 80B27AC0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 01414 80B27AC4 AFBF001C */ sw $ra, 0x001C($sp)
/* 01418 80B27AC8 AFB10018 */ sw $s1, 0x0018($sp)
/* 0141C 80B27ACC AFB00014 */ sw $s0, 0x0014($sp)
/* 01420 80B27AD0 9083040C */ lbu $v1, 0x040C($a0) ## 0000040C
/* 01424 80B27AD4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01428 80B27AD8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0142C 80B27ADC 306E0002 */ andi $t6, $v1, 0x0002 ## $t6 = 00000000
/* 01430 80B27AE0 15C00009 */ bne $t6, $zero, .L80B27B08
/* 01434 80B27AE4 306DFFFD */ andi $t5, $v1, 0xFFFD ## $t5 = 00000000
/* 01438 80B27AE8 908F030C */ lbu $t7, 0x030C($a0) ## 0000030C
/* 0143C 80B27AEC 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 01440 80B27AF0 57000006 */ bnel $t8, $zero, .L80B27B0C
/* 01444 80B27AF4 9209030C */ lbu $t1, 0x030C($s0) ## 0000030C
/* 01448 80B27AF8 9099038C */ lbu $t9, 0x038C($a0) ## 0000038C
/* 0144C 80B27AFC 33280002 */ andi $t0, $t9, 0x0002 ## $t0 = 00000000
/* 01450 80B27B00 5100000B */ beql $t0, $zero, .L80B27B30
/* 01454 80B27B04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B27B08:
/* 01458 80B27B08 9209030C */ lbu $t1, 0x030C($s0) ## 0000030C
.L80B27B0C:
/* 0145C 80B27B0C 920B038C */ lbu $t3, 0x038C($s0) ## 0000038C
/* 01460 80B27B10 A20D040C */ sb $t5, 0x040C($s0) ## 0000040C
/* 01464 80B27B14 312AFFFD */ andi $t2, $t1, 0xFFFD ## $t2 = 00000000
/* 01468 80B27B18 316CFFFD */ andi $t4, $t3, 0xFFFD ## $t4 = 00000000
/* 0146C 80B27B1C A20A030C */ sb $t2, 0x030C($s0) ## 0000030C
/* 01470 80B27B20 A20C038C */ sb $t4, 0x038C($s0) ## 0000038C
/* 01474 80B27B24 0C2C9AC6 */ jal func_80B26B18
/* 01478 80B27B28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0147C 80B27B2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B27B30:
/* 01480 80B27B30 0C2C9E43 */ jal func_80B2790C
/* 01484 80B27B34 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01488 80B27B38 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
/* 0148C 80B27B3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01490 80B27B40 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01494 80B27B44 0320F809 */ jalr $ra, $t9
/* 01498 80B27B48 00000000 */ nop
/* 0149C 80B27B4C 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
/* 014A0 80B27B50 3C0E80B2 */ lui $t6, %hi(func_80B274A0) ## $t6 = 80B20000
/* 014A4 80B27B54 25CE74A0 */ addiu $t6, $t6, %lo(func_80B274A0) ## $t6 = 80B274A0
/* 014A8 80B27B58 11C2002B */ beq $t6, $v0, .L80B27C08
/* 014AC 80B27B5C 3C0F80B2 */ lui $t7, %hi(func_80B27098) ## $t7 = 80B20000
/* 014B0 80B27B60 25EF7098 */ addiu $t7, $t7, %lo(func_80B27098) ## $t7 = 80B27098
/* 014B4 80B27B64 11E20028 */ beq $t7, $v0, .L80B27C08
/* 014B8 80B27B68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 014BC 80B27B6C 260503FC */ addiu $a1, $s0, 0x03FC ## $a1 = 000003FC
/* 014C0 80B27B70 0C0189B7 */ jal Collider_UpdateCylinder
/* 014C4 80B27B74 AFA50020 */ sw $a1, 0x0020($sp)
/* 014C8 80B27B78 8E080190 */ lw $t0, 0x0190($s0) ## 00000190
/* 014CC 80B27B7C 3C1880B2 */ lui $t8, %hi(func_80B2716C) ## $t8 = 80B20000
/* 014D0 80B27B80 2718716C */ addiu $t8, $t8, %lo(func_80B2716C) ## $t8 = 80B2716C
/* 014D4 80B27B84 1708000F */ bne $t8, $t0, .L80B27BC4
/* 014D8 80B27B88 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 014DC 80B27B8C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 014E0 80B27B90 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 014E4 80B27B94 02212821 */ addu $a1, $s1, $at
/* 014E8 80B27B98 AFA50024 */ sw $a1, 0x0024($sp)
/* 014EC 80B27B9C 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 014F0 80B27BA0 260602FC */ addiu $a2, $s0, 0x02FC ## $a2 = 000002FC
/* 014F4 80B27BA4 8FA50024 */ lw $a1, 0x0024($sp)
/* 014F8 80B27BA8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 014FC 80B27BAC 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 01500 80B27BB0 2606037C */ addiu $a2, $s0, 0x037C ## $a2 = 0000037C
/* 01504 80B27BB4 8FA50024 */ lw $a1, 0x0024($sp)
/* 01508 80B27BB8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0150C 80B27BBC 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 01510 80B27BC0 8FA60020 */ lw $a2, 0x0020($sp)
.L80B27BC4:
/* 01514 80B27BC4 9209040D */ lbu $t1, 0x040D($s0) ## 0000040D
/* 01518 80B27BC8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0151C 80B27BCC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01520 80B27BD0 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
/* 01524 80B27BD4 11400006 */ beq $t2, $zero, .L80B27BF0
/* 01528 80B27BD8 02212821 */ addu $a1, $s1, $at
/* 0152C 80B27BDC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01530 80B27BE0 8FA60020 */ lw $a2, 0x0020($sp)
/* 01534 80B27BE4 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01538 80B27BE8 AFA50024 */ sw $a1, 0x0024($sp)
/* 0153C 80B27BEC 8FA50024 */ lw $a1, 0x0024($sp)
.L80B27BF0:
/* 01540 80B27BF0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01544 80B27BF4 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 01548 80B27BF8 8FA60020 */ lw $a2, 0x0020($sp)
/* 0154C 80B27BFC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01550 80B27C00 0C00B56E */ jal Actor_SetFocus
/* 01554 80B27C04 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
.L80B27C08:
/* 01558 80B27C08 8FBF001C */ lw $ra, 0x001C($sp)
/* 0155C 80B27C0C 8FB00014 */ lw $s0, 0x0014($sp)
/* 01560 80B27C10 8FB10018 */ lw $s1, 0x0018($sp)
/* 01564 80B27C14 03E00008 */ jr $ra
/* 01568 80B27C18 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000

View file

@ -1,21 +0,0 @@
glabel func_80B26878
/* 001C8 80B26878 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001CC 80B2687C AFBF0014 */ sw $ra, 0x0014($sp)
/* 001D0 80B26880 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 001D4 80B26884 3C050600 */ lui $a1, %hi(D_060014AC) ## $a1 = 06000000
/* 001D8 80B26888 24A514AC */ addiu $a1, $a1, %lo(D_060014AC) ## $a1 = 060014AC
/* 001DC 80B2688C AFA60018 */ sw $a2, 0x0018($sp)
/* 001E0 80B26890 0C0294BE */ jal Animation_PlayLoop
/* 001E4 80B26894 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 001E8 80B26898 8FA60018 */ lw $a2, 0x0018($sp)
/* 001EC 80B2689C 3C1880B2 */ lui $t8, %hi(func_80B27098) ## $t8 = 80B20000
/* 001F0 80B268A0 27187098 */ addiu $t8, $t8, %lo(func_80B27098) ## $t8 = 80B27098
/* 001F4 80B268A4 90CE040D */ lbu $t6, 0x040D($a2) ## 0000040D
/* 001F8 80B268A8 ACC00134 */ sw $zero, 0x0134($a2) ## 00000134
/* 001FC 80B268AC ACD80190 */ sw $t8, 0x0190($a2) ## 00000190
/* 00200 80B268B0 31CFFFFE */ andi $t7, $t6, 0xFFFE ## $t7 = 00000000
/* 00204 80B268B4 A0CF040D */ sb $t7, 0x040D($a2) ## 0000040D
/* 00208 80B268B8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0020C 80B268BC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00210 80B268C0 03E00008 */ jr $ra
/* 00214 80B268C4 00000000 */ nop

View file

@ -1,14 +0,0 @@
glabel func_80B268C8
/* 00218 80B268C8 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
/* 0021C 80B268CC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00220 80B268D0 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 00224 80B268D4 3C0E80B3 */ lui $t6, %hi(EnVali_Draw) ## $t6 = 80B30000
/* 00228 80B268D8 3C1980B2 */ lui $t9, %hi(func_80B270D8) ## $t9 = 80B20000
/* 0022C 80B268DC 25CE8718 */ addiu $t6, $t6, %lo(EnVali_Draw) ## $t6 = 80B28718
/* 00230 80B268E0 273970D8 */ addiu $t9, $t9, %lo(func_80B270D8) ## $t9 = 80B270D8
/* 00234 80B268E4 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
/* 00238 80B268E8 AC8E0134 */ sw $t6, 0x0134($a0) ## 00000134
/* 0023C 80B268EC AC980004 */ sw $t8, 0x0004($a0) ## 00000004
/* 00240 80B268F0 AC990190 */ sw $t9, 0x0190($a0) ## 00000190
/* 00244 80B268F4 03E00008 */ jr $ra
/* 00248 80B268F8 E4840060 */ swc1 $f4, 0x0060($a0) ## 00000060

View file

@ -1,136 +0,0 @@
glabel func_80B268FC
/* 0024C 80B268FC 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
/* 00250 80B26900 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00254 80B26904 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00258 80B26908 3C050600 */ lui $a1, %hi(D_06000710) ## $a1 = 06000000
/* 0025C 80B2690C 24A50710 */ addiu $a1, $a1, %lo(D_06000710) ## $a1 = 06000710
/* 00260 80B26910 AFA70090 */ sw $a3, 0x0090($sp)
/* 00264 80B26914 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00268 80B26918 0C0294D3 */ jal Animation_MorphToLoop
/* 0026C 80B2691C 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00270 80B26920 8FA70090 */ lw $a3, 0x0090($sp)
/* 00274 80B26924 27A2003C */ addiu $v0, $sp, 0x003C ## $v0 = FFFFFFAC
/* 00278 80B26928 27A30048 */ addiu $v1, $sp, 0x0048 ## $v1 = FFFFFFB8
/* 0027C 80B2692C 8CEF0024 */ lw $t7, 0x0024($a3) ## 00000024
/* 00280 80B26930 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFC4
/* 00284 80B26934 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFD0
/* 00288 80B26938 AC4F0000 */ sw $t7, 0x0000($v0) ## FFFFFFAC
/* 0028C 80B2693C 8CEE0028 */ lw $t6, 0x0028($a3) ## 00000028
/* 00290 80B26940 8C590000 */ lw $t9, 0x0000($v0) ## FFFFFFAC
/* 00294 80B26944 27A6006C */ addiu $a2, $sp, 0x006C ## $a2 = FFFFFFDC
/* 00298 80B26948 AC4E0004 */ sw $t6, 0x0004($v0) ## FFFFFFB0
/* 0029C 80B2694C 8CEF002C */ lw $t7, 0x002C($a3) ## 0000002C
/* 002A0 80B26950 27A80078 */ addiu $t0, $sp, 0x0078 ## $t0 = FFFFFFE8
/* 002A4 80B26954 27A90084 */ addiu $t1, $sp, 0x0084 ## $t1 = FFFFFFF4
/* 002A8 80B26958 AC4F0008 */ sw $t7, 0x0008($v0) ## FFFFFFB4
/* 002AC 80B2695C ACF903C8 */ sw $t9, 0x03C8($a3) ## 000003C8
/* 002B0 80B26960 8C580004 */ lw $t8, 0x0004($v0) ## FFFFFFB0
/* 002B4 80B26964 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 002B8 80B26968 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 002BC 80B2696C ACF803CC */ sw $t8, 0x03CC($a3) ## 000003CC
/* 002C0 80B26970 8C590008 */ lw $t9, 0x0008($v0) ## FFFFFFB4
/* 002C4 80B26974 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 002C8 80B26978 ACF903D0 */ sw $t9, 0x03D0($a3) ## 000003D0
/* 002CC 80B2697C 8C4B0000 */ lw $t3, 0x0000($v0) ## FFFFFFAC
/* 002D0 80B26980 8C4A0004 */ lw $t2, 0x0004($v0) ## FFFFFFB0
/* 002D4 80B26984 AC6B0000 */ sw $t3, 0x0000($v1) ## FFFFFFB8
/* 002D8 80B26988 8C4B0008 */ lw $t3, 0x0008($v0) ## FFFFFFB4
/* 002DC 80B2698C 8C6D0000 */ lw $t5, 0x0000($v1) ## FFFFFFB8
/* 002E0 80B26990 AC6A0004 */ sw $t2, 0x0004($v1) ## FFFFFFBC
/* 002E4 80B26994 AC6B0008 */ sw $t3, 0x0008($v1) ## FFFFFFC0
/* 002E8 80B26998 ACED03BC */ sw $t5, 0x03BC($a3) ## 000003BC
/* 002EC 80B2699C 8C6C0004 */ lw $t4, 0x0004($v1) ## FFFFFFBC
/* 002F0 80B269A0 ACEC03C0 */ sw $t4, 0x03C0($a3) ## 000003C0
/* 002F4 80B269A4 8C6D0008 */ lw $t5, 0x0008($v1) ## FFFFFFC0
/* 002F8 80B269A8 ACED03C4 */ sw $t5, 0x03C4($a3) ## 000003C4
/* 002FC 80B269AC 8C6F0000 */ lw $t7, 0x0000($v1) ## FFFFFFB8
/* 00300 80B269B0 8C6E0004 */ lw $t6, 0x0004($v1) ## FFFFFFBC
/* 00304 80B269B4 AC8F0000 */ sw $t7, 0x0000($a0) ## FFFFFFC4
/* 00308 80B269B8 8C6F0008 */ lw $t7, 0x0008($v1) ## FFFFFFC0
/* 0030C 80B269BC 8C990000 */ lw $t9, 0x0000($a0) ## FFFFFFC4
/* 00310 80B269C0 AC8E0004 */ sw $t6, 0x0004($a0) ## FFFFFFC8
/* 00314 80B269C4 AC8F0008 */ sw $t7, 0x0008($a0) ## FFFFFFCC
/* 00318 80B269C8 ACF90348 */ sw $t9, 0x0348($a3) ## 00000348
/* 0031C 80B269CC 8C980004 */ lw $t8, 0x0004($a0) ## FFFFFFC8
/* 00320 80B269D0 ACF8034C */ sw $t8, 0x034C($a3) ## 0000034C
/* 00324 80B269D4 8C990008 */ lw $t9, 0x0008($a0) ## FFFFFFCC
/* 00328 80B269D8 ACF90350 */ sw $t9, 0x0350($a3) ## 00000350
/* 0032C 80B269DC 8C8B0000 */ lw $t3, 0x0000($a0) ## FFFFFFC4
/* 00330 80B269E0 8C8A0004 */ lw $t2, 0x0004($a0) ## FFFFFFC8
/* 00334 80B269E4 ACAB0000 */ sw $t3, 0x0000($a1) ## FFFFFFD0
/* 00338 80B269E8 8C8B0008 */ lw $t3, 0x0008($a0) ## FFFFFFCC
/* 0033C 80B269EC 8CAD0000 */ lw $t5, 0x0000($a1) ## FFFFFFD0
/* 00340 80B269F0 ACAA0004 */ sw $t2, 0x0004($a1) ## FFFFFFD4
/* 00344 80B269F4 ACAB0008 */ sw $t3, 0x0008($a1) ## FFFFFFD8
/* 00348 80B269F8 ACED033C */ sw $t5, 0x033C($a3) ## 0000033C
/* 0034C 80B269FC 8CAC0004 */ lw $t4, 0x0004($a1) ## FFFFFFD4
/* 00350 80B26A00 ACEC0340 */ sw $t4, 0x0340($a3) ## 00000340
/* 00354 80B26A04 8CAD0008 */ lw $t5, 0x0008($a1) ## FFFFFFD8
/* 00358 80B26A08 ACED0344 */ sw $t5, 0x0344($a3) ## 00000344
/* 0035C 80B26A0C 8CAF0000 */ lw $t7, 0x0000($a1) ## FFFFFFD0
/* 00360 80B26A10 8CAE0004 */ lw $t6, 0x0004($a1) ## FFFFFFD4
/* 00364 80B26A14 ACCF0000 */ sw $t7, 0x0000($a2) ## FFFFFFDC
/* 00368 80B26A18 8CAF0008 */ lw $t7, 0x0008($a1) ## FFFFFFD8
/* 0036C 80B26A1C 8CD90000 */ lw $t9, 0x0000($a2) ## FFFFFFDC
/* 00370 80B26A20 ACCE0004 */ sw $t6, 0x0004($a2) ## FFFFFFE0
/* 00374 80B26A24 ACCF0008 */ sw $t7, 0x0008($a2) ## FFFFFFE4
/* 00378 80B26A28 ACF903E0 */ sw $t9, 0x03E0($a3) ## 000003E0
/* 0037C 80B26A2C 8CD80004 */ lw $t8, 0x0004($a2) ## FFFFFFE0
/* 00380 80B26A30 ACF803E4 */ sw $t8, 0x03E4($a3) ## 000003E4
/* 00384 80B26A34 8CD90008 */ lw $t9, 0x0008($a2) ## FFFFFFE4
/* 00388 80B26A38 ACF903E8 */ sw $t9, 0x03E8($a3) ## 000003E8
/* 0038C 80B26A3C 8CCB0000 */ lw $t3, 0x0000($a2) ## FFFFFFDC
/* 00390 80B26A40 8CCA0004 */ lw $t2, 0x0004($a2) ## FFFFFFE0
/* 00394 80B26A44 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 00398 80B26A48 8CCB0008 */ lw $t3, 0x0008($a2) ## FFFFFFE4
/* 0039C 80B26A4C 8D0D0000 */ lw $t5, 0x0000($t0) ## FFFFFFE8
/* 003A0 80B26A50 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 003A4 80B26A54 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 003A8 80B26A58 ACED03D4 */ sw $t5, 0x03D4($a3) ## 000003D4
/* 003AC 80B26A5C 8D0C0004 */ lw $t4, 0x0004($t0) ## FFFFFFEC
/* 003B0 80B26A60 ACEC03D8 */ sw $t4, 0x03D8($a3) ## 000003D8
/* 003B4 80B26A64 8D0D0008 */ lw $t5, 0x0008($t0) ## FFFFFFF0
/* 003B8 80B26A68 ACED03DC */ sw $t5, 0x03DC($a3) ## 000003DC
/* 003BC 80B26A6C 8D0F0000 */ lw $t7, 0x0000($t0) ## FFFFFFE8
/* 003C0 80B26A70 8D0E0004 */ lw $t6, 0x0004($t0) ## FFFFFFEC
/* 003C4 80B26A74 AD2F0000 */ sw $t7, 0x0000($t1) ## FFFFFFF4
/* 003C8 80B26A78 8D0F0008 */ lw $t7, 0x0008($t0) ## FFFFFFF0
/* 003CC 80B26A7C 8D390000 */ lw $t9, 0x0000($t1) ## FFFFFFF4
/* 003D0 80B26A80 AD2E0004 */ sw $t6, 0x0004($t1) ## FFFFFFF8
/* 003D4 80B26A84 AD2F0008 */ sw $t7, 0x0008($t1) ## FFFFFFFC
/* 003D8 80B26A88 ACF90360 */ sw $t9, 0x0360($a3) ## 00000360
/* 003DC 80B26A8C 8D380004 */ lw $t8, 0x0004($t1) ## FFFFFFF8
/* 003E0 80B26A90 C4E20028 */ lwc1 $f2, 0x0028($a3) ## 00000028
/* 003E4 80B26A94 8CEC0004 */ lw $t4, 0x0004($a3) ## 00000004
/* 003E8 80B26A98 ACF80364 */ sw $t8, 0x0364($a3) ## 00000364
/* 003EC 80B26A9C 8D390008 */ lw $t9, 0x0008($t1) ## FFFFFFFC
/* 003F0 80B26AA0 46041001 */ sub.s $f0, $f2, $f4
/* 003F4 80B26AA4 90EE040D */ lbu $t6, 0x040D($a3) ## 0000040D
/* 003F8 80B26AA8 ACF90368 */ sw $t9, 0x0368($a3) ## 00000368
/* 003FC 80B26AAC 8D2B0000 */ lw $t3, 0x0000($t1) ## FFFFFFF4
/* 00400 80B26AB0 3C1880B2 */ lui $t8, %hi(func_80B2716C) ## $t8 = 80B20000
/* 00404 80B26AB4 2718716C */ addiu $t8, $t8, %lo(func_80B2716C) ## $t8 = 80B2716C
/* 00408 80B26AB8 ACEB0354 */ sw $t3, 0x0354($a3) ## 00000354
/* 0040C 80B26ABC 8D2A0004 */ lw $t2, 0x0004($t1) ## FFFFFFF8
/* 00410 80B26AC0 01816824 */ and $t5, $t4, $at
/* 00414 80B26AC4 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00418 80B26AC8 ACEA0358 */ sw $t2, 0x0358($a3) ## 00000358
/* 0041C 80B26ACC 8D2B0008 */ lw $t3, 0x0008($t1) ## FFFFFFFC
/* 00420 80B26AD0 E4E00358 */ swc1 $f0, 0x0358($a3) ## 00000358
/* 00424 80B26AD4 E4E00364 */ swc1 $f0, 0x0364($a3) ## 00000364
/* 00428 80B26AD8 E4E003D8 */ swc1 $f0, 0x03D8($a3) ## 000003D8
/* 0042C 80B26ADC E4E003E4 */ swc1 $f0, 0x03E4($a3) ## 000003E4
/* 00430 80B26AE0 E4E00340 */ swc1 $f0, 0x0340($a3) ## 00000340
/* 00434 80B26AE4 E4E0034C */ swc1 $f0, 0x034C($a3) ## 0000034C
/* 00438 80B26AE8 E4E003C0 */ swc1 $f0, 0x03C0($a3) ## 000003C0
/* 0043C 80B26AEC E4E003CC */ swc1 $f0, 0x03CC($a3) ## 000003CC
/* 00440 80B26AF0 ACED0004 */ sw $t5, 0x0004($a3) ## 00000004
/* 00444 80B26AF4 A0EF040D */ sb $t7, 0x040D($a3) ## 0000040D
/* 00448 80B26AF8 A0E00195 */ sb $zero, 0x0195($a3) ## 00000195
/* 0044C 80B26AFC ACF80190 */ sw $t8, 0x0190($a3) ## 00000190
/* 00450 80B26B00 E4E202F8 */ swc1 $f2, 0x02F8($a3) ## 000002F8
/* 00454 80B26B04 ACEB035C */ sw $t3, 0x035C($a3) ## 0000035C
/* 00458 80B26B08 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0045C 80B26B0C 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
/* 00460 80B26B10 03E00008 */ jr $ra
/* 00464 80B26B14 00000000 */ nop

View file

@ -1,14 +0,0 @@
glabel func_80B26B18
/* 00468 80B26B18 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
/* 0046C 80B26B1C 9099040D */ lbu $t9, 0x040D($a0) ## 0000040D
/* 00470 80B26B20 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 00474 80B26B24 3C0980B2 */ lui $t1, %hi(func_80B27318) ## $t1 = 80B20000
/* 00478 80B26B28 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
/* 0047C 80B26B2C 25297318 */ addiu $t1, $t1, %lo(func_80B27318) ## $t1 = 80B27318
/* 00480 80B26B30 01E1C024 */ and $t8, $t7, $at
/* 00484 80B26B34 03214024 */ and $t0, $t9, $at
/* 00488 80B26B38 A08E0194 */ sb $t6, 0x0194($a0) ## 00000194
/* 0048C 80B26B3C AC980004 */ sw $t8, 0x0004($a0) ## 00000004
/* 00490 80B26B40 A088040D */ sb $t0, 0x040D($a0) ## 0000040D
/* 00494 80B26B44 03E00008 */ jr $ra
/* 00498 80B26B48 AC890190 */ sw $t1, 0x0190($a0) ## 00000190

View file

@ -1,29 +0,0 @@
glabel func_80B26B4C
/* 0049C 80B26B4C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 004A0 80B26B50 AFB00020 */ sw $s0, 0x0020($sp)
/* 004A4 80B26B54 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 004A8 80B26B58 AFBF0024 */ sw $ra, 0x0024($sp)
/* 004AC 80B26B5C 3C050600 */ lui $a1, %hi(D_06000854) ## $a1 = 06000000
/* 004B0 80B26B60 24A50854 */ addiu $a1, $a1, %lo(D_06000854) ## $a1 = 06000854
/* 004B4 80B26B64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 004B8 80B26B68 0C029490 */ jal Animation_MorphToPlayOnce
/* 004BC 80B26B6C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 004C0 80B26B70 240E001E */ addiu $t6, $zero, 0x001E ## $t6 = 0000001E
/* 004C4 80B26B74 AFAE0010 */ sw $t6, 0x0010($sp)
/* 004C8 80B26B78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004CC 80B26B7C 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 004D0 80B26B80 24060096 */ addiu $a2, $zero, 0x0096 ## $a2 = 00000096
/* 004D4 80B26B84 0C00D09B */ jal Actor_SetColorFilter
/* 004D8 80B26B88 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 004DC 80B26B8C 920F040D */ lbu $t7, 0x040D($s0) ## 0000040D
/* 004E0 80B26B90 3C1980B2 */ lui $t9, %hi(func_80B273D0) ## $t9 = 80B20000
/* 004E4 80B26B94 273973D0 */ addiu $t9, $t9, %lo(func_80B273D0) ## $t9 = 80B273D0
/* 004E8 80B26B98 31F8FFFE */ andi $t8, $t7, 0xFFFE ## $t8 = 00000000
/* 004EC 80B26B9C A600001C */ sh $zero, 0x001C($s0) ## 0000001C
/* 004F0 80B26BA0 A218040D */ sb $t8, 0x040D($s0) ## 0000040D
/* 004F4 80B26BA4 AE190190 */ sw $t9, 0x0190($s0) ## 00000190
/* 004F8 80B26BA8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 004FC 80B26BAC 8FB00020 */ lw $s0, 0x0020($sp)
/* 00500 80B26BB0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00504 80B26BB4 03E00008 */ jr $ra
/* 00508 80B26BB8 00000000 */ nop

View file

@ -1,16 +0,0 @@
glabel func_80B26BBC
/* 0050C 80B26BBC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00510 80B26BC0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00514 80B26BC4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00518 80B26BC8 3C050600 */ lui $a1, %hi(D_06000B34) ## $a1 = 06000000
/* 0051C 80B26BCC 24A50B34 */ addiu $a1, $a1, %lo(D_06000B34) ## $a1 = 06000B34
/* 00520 80B26BD0 0C02947A */ jal Animation_PlayOnce
/* 00524 80B26BD4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00528 80B26BD8 8FAF0018 */ lw $t7, 0x0018($sp)
/* 0052C 80B26BDC 3C0E80B2 */ lui $t6, %hi(func_80B2742C) ## $t6 = 80B20000
/* 00530 80B26BE0 25CE742C */ addiu $t6, $t6, %lo(func_80B2742C) ## $t6 = 80B2742C
/* 00534 80B26BE4 ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190
/* 00538 80B26BE8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0053C 80B26BEC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00540 80B26BF0 03E00008 */ jr $ra
/* 00544 80B26BF4 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80B26BF8
/* 00548 80B26BF8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 0054C 80B26BFC AFBF001C */ sw $ra, 0x001C($sp)
/* 00550 80B26C00 908F040D */ lbu $t7, 0x040D($a0) ## 0000040D
/* 00554 80B26C04 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 00558 80B26C08 A48E0196 */ sh $t6, 0x0196($a0) ## 00000196
/* 0055C 80B26C0C 31F8FFFE */ andi $t8, $t7, 0xFFFE ## $t8 = 00000000
/* 00560 80B26C10 A098040D */ sb $t8, 0x040D($a0) ## 0000040D
/* 00564 80B26C14 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E
/* 00568 80B26C18 AFB90010 */ sw $t9, 0x0010($sp)
/* 0056C 80B26C1C AFA40020 */ sw $a0, 0x0020($sp)
/* 00570 80B26C20 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 00574 80B26C24 24060096 */ addiu $a2, $zero, 0x0096 ## $a2 = 00000096
/* 00578 80B26C28 0C00D09B */ jal Actor_SetColorFilter
/* 0057C 80B26C2C 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 00580 80B26C30 8FA40020 */ lw $a0, 0x0020($sp)
/* 00584 80B26C34 3C0880B2 */ lui $t0, %hi(func_80B27464) ## $t0 = 80B20000
/* 00588 80B26C38 25087464 */ addiu $t0, $t0, %lo(func_80B27464) ## $t0 = 80B27464
/* 0058C 80B26C3C AC880190 */ sw $t0, 0x0190($a0) ## 00000190
/* 00590 80B26C40 8FBF001C */ lw $ra, 0x001C($sp)
/* 00594 80B26C44 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00598 80B26C48 03E00008 */ jr $ra
/* 0059C 80B26C4C 00000000 */ nop

View file

@ -1,71 +0,0 @@
glabel func_80B26C50
/* 005A0 80B26C50 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 005A4 80B26C54 AFB40040 */ sw $s4, 0x0040($sp)
/* 005A8 80B26C58 AFB3003C */ sw $s3, 0x003C($sp)
/* 005AC 80B26C5C AFB20038 */ sw $s2, 0x0038($sp)
/* 005B0 80B26C60 AFB10034 */ sw $s1, 0x0034($sp)
/* 005B4 80B26C64 AFB00030 */ sw $s0, 0x0030($sp)
/* 005B8 80B26C68 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005BC 80B26C6C 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 005C0 80B26C70 AFBF0044 */ sw $ra, 0x0044($sp)
/* 005C4 80B26C74 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 005C8 80B26C78 24B21C24 */ addiu $s2, $a1, 0x1C24 ## $s2 = 00001C24
/* 005CC 80B26C7C 24130003 */ addiu $s3, $zero, 0x0003 ## $s3 = 00000003
.L80B26C80:
/* 005D0 80B26C80 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 005D4 80B26C84 8E070024 */ lw $a3, 0x0024($s0) ## 00000024
/* 005D8 80B26C88 02402025 */ or $a0, $s2, $zero ## $a0 = 00001C24
/* 005DC 80B26C8C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 005E0 80B26C90 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 005E4 80B26C94 AFA00018 */ sw $zero, 0x0018($sp)
/* 005E8 80B26C98 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
/* 005EC 80B26C9C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 005F0 80B26CA0 860E0032 */ lh $t6, 0x0032($s0) ## 00000032
/* 005F4 80B26CA4 AFA00024 */ sw $zero, 0x0024($sp)
/* 005F8 80B26CA8 AFA00020 */ sw $zero, 0x0020($sp)
/* 005FC 80B26CAC 24060034 */ addiu $a2, $zero, 0x0034 ## $a2 = 00000034
/* 00600 80B26CB0 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 00604 80B26CB4 AFAE001C */ sw $t6, 0x001C($sp)
/* 00608 80B26CB8 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
/* 0060C 80B26CBC 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 00610 80B26CC0 25F85555 */ addiu $t8, $t7, 0x5555 ## $t8 = 00005555
/* 00614 80B26CC4 1633FFEE */ bne $s1, $s3, .L80B26C80
/* 00618 80B26CC8 A6180032 */ sh $t8, 0x0032($s0) ## 00000032
/* 0061C 80B26CCC 26110024 */ addiu $s1, $s0, 0x0024 ## $s1 = 00000024
/* 00620 80B26CD0 02203025 */ or $a2, $s1, $zero ## $a2 = 00000024
/* 00624 80B26CD4 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00628 80B26CD8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0062C 80B26CDC 0C007E50 */ jal Item_DropCollectibleRandom
/* 00630 80B26CE0 24070050 */ addiu $a3, $zero, 0x0050 ## $a3 = 00000050
/* 00634 80B26CE4 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
/* 00638 80B26CE8 0C01DF64 */ jal Rand_S16Offset
/* 0063C 80B26CEC 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
/* 00640 80B26CF0 9219040D */ lbu $t9, 0x040D($s0) ## 0000040D
/* 00644 80B26CF4 A6020196 */ sh $v0, 0x0196($s0) ## 00000196
/* 00648 80B26CF8 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 0064C 80B26CFC 3328FFFE */ andi $t0, $t9, 0xFFFE ## $t0 = 00000000
/* 00650 80B26D00 A208040D */ sb $t0, 0x040D($s0) ## 0000040D
/* 00654 80B26D04 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024
/* 00658 80B26D08 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
/* 0065C 80B26D0C 0C01AEB6 */ jal Audio_PlaySoundAtPosition
/* 00660 80B26D10 24073887 */ addiu $a3, $zero, 0x3887 ## $a3 = 00003887
/* 00664 80B26D14 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
/* 00668 80B26D18 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 0066C 80B26D1C 3C0B80B2 */ lui $t3, %hi(func_80B274A0) ## $t3 = 80B20000
/* 00670 80B26D20 256B74A0 */ addiu $t3, $t3, %lo(func_80B274A0) ## $t3 = 80B274A0
/* 00674 80B26D24 01215024 */ and $t2, $t1, $at
/* 00678 80B26D28 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004
/* 0067C 80B26D2C AE000134 */ sw $zero, 0x0134($s0) ## 00000134
/* 00680 80B26D30 AE0B0190 */ sw $t3, 0x0190($s0) ## 00000190
/* 00684 80B26D34 8FBF0044 */ lw $ra, 0x0044($sp)
/* 00688 80B26D38 8FB40040 */ lw $s4, 0x0040($sp)
/* 0068C 80B26D3C 8FB3003C */ lw $s3, 0x003C($sp)
/* 00690 80B26D40 8FB20038 */ lw $s2, 0x0038($sp)
/* 00694 80B26D44 8FB10034 */ lw $s1, 0x0034($sp)
/* 00698 80B26D48 8FB00030 */ lw $s0, 0x0030($sp)
/* 0069C 80B26D4C 03E00008 */ jr $ra
/* 006A0 80B26D50 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000

View file

@ -1,37 +0,0 @@
glabel func_80B26D54
/* 006A4 80B26D54 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 006A8 80B26D58 AFB00020 */ sw $s0, 0x0020($sp)
/* 006AC 80B26D5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006B0 80B26D60 AFBF0024 */ sw $ra, 0x0024($sp)
/* 006B4 80B26D64 3C050600 */ lui $a1, %hi(D_06000710) ## $a1 = 06000000
/* 006B8 80B26D68 24A50710 */ addiu $a1, $a1, %lo(D_06000710) ## $a1 = 06000710
/* 006BC 80B26D6C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 006C0 80B26D70 0C029490 */ jal Animation_MorphToPlayOnce
/* 006C4 80B26D74 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 006C8 80B26D78 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 006CC 80B26D7C 240E0050 */ addiu $t6, $zero, 0x0050 ## $t6 = 00000050
/* 006D0 80B26D80 A60E0196 */ sh $t6, 0x0196($s0) ## 00000196
/* 006D4 80B26D84 240F0050 */ addiu $t7, $zero, 0x0050 ## $t7 = 00000050
/* 006D8 80B26D88 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
/* 006DC 80B26D8C AFAF0010 */ sw $t7, 0x0010($sp)
/* 006E0 80B26D90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006E4 80B26D94 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 006E8 80B26D98 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 006EC 80B26D9C 0C00D09B */ jal Actor_SetColorFilter
/* 006F0 80B26DA0 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 006F4 80B26DA4 A2000420 */ sb $zero, 0x0420($s0) ## 00000420
/* 006F8 80B26DA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006FC 80B26DAC 0C00BE0A */ jal Audio_PlayActorSound2
/* 00700 80B26DB0 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
/* 00704 80B26DB4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00708 80B26DB8 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 0070C 80B26DBC 3C1880B2 */ lui $t8, %hi(func_80B27654) ## $t8 = 80B20000
/* 00710 80B26DC0 27187654 */ addiu $t8, $t8, %lo(func_80B27654) ## $t8 = 80B27654
/* 00714 80B26DC4 AE180190 */ sw $t8, 0x0190($s0) ## 00000190
/* 00718 80B26DC8 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
/* 0071C 80B26DCC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00720 80B26DD0 8FB00020 */ lw $s0, 0x0020($sp)
/* 00724 80B26DD4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00728 80B26DD8 03E00008 */ jr $ra
/* 0072C 80B26DDC 00000000 */ nop

View file

@ -1,25 +0,0 @@
glabel func_80B26DE0
/* 00730 80B26DE0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00734 80B26DE4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00738 80B26DE8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0073C 80B26DEC 240E0024 */ addiu $t6, $zero, 0x0024 ## $t6 = 00000024
/* 00740 80B26DF0 E4840060 */ swc1 $f4, 0x0060($a0) ## 00000060
/* 00744 80B26DF4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00748 80B26DF8 AFAE0010 */ sw $t6, 0x0010($sp)
/* 0074C 80B26DFC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00750 80B26E00 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00754 80B26E04 0C00D09B */ jal Actor_SetColorFilter
/* 00758 80B26E08 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 0075C 80B26E0C 8FA40020 */ lw $a0, 0x0020($sp)
/* 00760 80B26E10 3C0880B2 */ lui $t0, %hi(func_80B27710) ## $t0 = 80B20000
/* 00764 80B26E14 24190024 */ addiu $t9, $zero, 0x0024 ## $t9 = 00000024
/* 00768 80B26E18 908F040D */ lbu $t7, 0x040D($a0) ## 0000040D
/* 0076C 80B26E1C 25087710 */ addiu $t0, $t0, %lo(func_80B27710) ## $t0 = 80B27710
/* 00770 80B26E20 A4990196 */ sh $t9, 0x0196($a0) ## 00000196
/* 00774 80B26E24 31F8FFFE */ andi $t8, $t7, 0xFFFE ## $t8 = 00000000
/* 00778 80B26E28 A098040D */ sb $t8, 0x040D($a0) ## 0000040D
/* 0077C 80B26E2C AC880190 */ sw $t0, 0x0190($a0) ## 00000190
/* 00780 80B26E30 8FBF001C */ lw $ra, 0x001C($sp)
/* 00784 80B26E34 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00788 80B26E38 03E00008 */ jr $ra
/* 0078C 80B26E3C 00000000 */ nop

View file

@ -1,24 +0,0 @@
glabel func_80B26E40
/* 00790 80B26E40 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00794 80B26E44 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00798 80B26E48 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0079C 80B26E4C 3C050600 */ lui $a1, %hi(D_060014AC) ## $a1 = 06000000
/* 007A0 80B26E50 24A514AC */ addiu $a1, $a1, %lo(D_060014AC) ## $a1 = 060014AC
/* 007A4 80B26E54 AFA70018 */ sw $a3, 0x0018($sp)
/* 007A8 80B26E58 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 007AC 80B26E5C 0C029490 */ jal Animation_MorphToPlayOnce
/* 007B0 80B26E60 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 007B4 80B26E64 8FA70018 */ lw $a3, 0x0018($sp)
/* 007B8 80B26E68 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 007BC 80B26E6C 3C0880B2 */ lui $t0, %hi(func_80B278A0) ## $t0 = 80B20000
/* 007C0 80B26E70 8CEE0004 */ lw $t6, 0x0004($a3) ## 00000004
/* 007C4 80B26E74 250878A0 */ addiu $t0, $t0, %lo(func_80B278A0) ## $t0 = 80B278A0
/* 007C8 80B26E78 ACE80190 */ sw $t0, 0x0190($a3) ## 00000190
/* 007CC 80B26E7C 35CF0010 */ ori $t7, $t6, 0x0010 ## $t7 = 00000010
/* 007D0 80B26E80 01E1C824 */ and $t9, $t7, $at
/* 007D4 80B26E84 ACEF0004 */ sw $t7, 0x0004($a3) ## 00000004
/* 007D8 80B26E88 ACF90004 */ sw $t9, 0x0004($a3) ## 00000004
/* 007DC 80B26E8C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 007E0 80B26E90 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 007E4 80B26E94 03E00008 */ jr $ra
/* 007E8 80B26E98 00000000 */ nop

View file

@ -1,137 +0,0 @@
glabel func_80B26E9C
/* 007EC 80B26E9C 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
/* 007F0 80B26EA0 F7BC0048 */ sdc1 $f28, 0x0048($sp)
/* 007F4 80B26EA4 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 007F8 80B26EA8 4481E000 */ mtc1 $at, $f28 ## $f28 = 10.00
/* 007FC 80B26EAC F7BA0040 */ sdc1 $f26, 0x0040($sp)
/* 00800 80B26EB0 3C014640 */ lui $at, 0x4640 ## $at = 46400000
/* 00804 80B26EB4 4481D000 */ mtc1 $at, $f26 ## $f26 = 12288.00
/* 00808 80B26EB8 AFB7006C */ sw $s7, 0x006C($sp)
/* 0080C 80B26EBC AFB60068 */ sw $s6, 0x0068($sp)
/* 00810 80B26EC0 F7B40028 */ sdc1 $f20, 0x0028($sp)
/* 00814 80B26EC4 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 00818 80B26EC8 AFBE0070 */ sw $s8, 0x0070($sp)
/* 0081C 80B26ECC AFB50064 */ sw $s5, 0x0064($sp)
/* 00820 80B26ED0 AFB40060 */ sw $s4, 0x0060($sp)
/* 00824 80B26ED4 AFB20058 */ sw $s2, 0x0058($sp)
/* 00828 80B26ED8 AFB10054 */ sw $s1, 0x0054($sp)
/* 0082C 80B26EDC 3C1680B3 */ lui $s6, %hi(D_80B28950) ## $s6 = 80B30000
/* 00830 80B26EE0 3C1780B3 */ lui $s7, %hi(D_80B28954) ## $s7 = 80B30000
/* 00834 80B26EE4 4481A000 */ mtc1 $at, $f20 ## $f20 = 12.00
/* 00838 80B26EE8 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 0083C 80B26EEC 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
/* 00840 80B26EF0 AFBF0074 */ sw $ra, 0x0074($sp)
/* 00844 80B26EF4 AFB3005C */ sw $s3, 0x005C($sp)
/* 00848 80B26EF8 AFB00050 */ sw $s0, 0x0050($sp)
/* 0084C 80B26EFC F7B80038 */ sdc1 $f24, 0x0038($sp)
/* 00850 80B26F00 F7B60030 */ sdc1 $f22, 0x0030($sp)
/* 00854 80B26F04 26F78954 */ addiu $s7, $s7, %lo(D_80B28954) ## $s7 = 80B28954
/* 00858 80B26F08 26D68950 */ addiu $s6, $s6, %lo(D_80B28950) ## $s6 = 80B28950
/* 0085C 80B26F0C 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 00860 80B26F10 27B5008C */ addiu $s5, $sp, 0x008C ## $s5 = FFFFFFF4
/* 00864 80B26F14 241E0004 */ addiu $s8, $zero, 0x0004 ## $s8 = 00000004
/* 00868 80B26F18 864E07A0 */ lh $t6, 0x07A0($s2) ## 000007A0
.L80B26F1C:
/* 0086C 80B26F1C 000E7880 */ sll $t7, $t6, 2
/* 00870 80B26F20 024FC021 */ addu $t8, $s2, $t7
/* 00874 80B26F24 0C016A7D */ jal Camera_GetCamDirYaw
/* 00878 80B26F28 8F040790 */ lw $a0, 0x0790($t8) ## 00000790
/* 0087C 80B26F2C 00022400 */ sll $a0, $v0, 16
/* 00880 80B26F30 0C01DE0D */ jal Math_CosS
## coss?
/* 00884 80B26F34 00042403 */ sra $a0, $a0, 16
/* 00888 80B26F38 865907A0 */ lh $t9, 0x07A0($s2) ## 000007A0
/* 0088C 80B26F3C 46000587 */ neg.s $f22, $f0
/* 00890 80B26F40 00194080 */ sll $t0, $t9, 2
/* 00894 80B26F44 02484821 */ addu $t1, $s2, $t0
/* 00898 80B26F48 0C016A7D */ jal Camera_GetCamDirYaw
/* 0089C 80B26F4C 8D240790 */ lw $a0, 0x0790($t1) ## 00000790
/* 008A0 80B26F50 00022400 */ sll $a0, $v0, 16
/* 008A4 80B26F54 0C01DE1C */ jal Math_SinS
## sins?
/* 008A8 80B26F58 00042403 */ sra $a0, $a0, 16
/* 008AC 80B26F5C 928A0194 */ lbu $t2, 0x0194($s4) ## 00000194
/* 008B0 80B26F60 00115840 */ sll $t3, $s1, 1
/* 008B4 80B26F64 46000606 */ mov.s $f24, $f0
/* 008B8 80B26F68 014B6021 */ addu $t4, $t2, $t3
/* 008BC 80B26F6C 05810004 */ bgez $t4, .L80B26F80
/* 008C0 80B26F70 318D0003 */ andi $t5, $t4, 0x0003 ## $t5 = 00000000
/* 008C4 80B26F74 11A00002 */ beq $t5, $zero, .L80B26F80
/* 008C8 80B26F78 00000000 */ nop
/* 008CC 80B26F7C 25ADFFFC */ addiu $t5, $t5, 0xFFFC ## $t5 = FFFFFFFC
.L80B26F80:
/* 008D0 80B26F80 15A0002E */ bne $t5, $zero, .L80B2703C
/* 008D4 80B26F84 00119B80 */ sll $s3, $s1, 14
/* 008D8 80B26F88 0C00CFC8 */ jal Rand_CenteredFloat
/* 008DC 80B26F8C 4600D306 */ mov.s $f12, $f26
/* 008E0 80B26F90 4600010D */ trunc.w.s $f4, $f0
/* 008E4 80B26F94 44192000 */ mfc1 $t9, $f4
/* 008E8 80B26F98 00000000 */ nop
/* 008EC 80B26F9C 03331021 */ addu $v0, $t9, $s3
/* 008F0 80B26FA0 24422000 */ addiu $v0, $v0, 0x2000 ## $v0 = 00002000
/* 008F4 80B26FA4 00028400 */ sll $s0, $v0, 16
/* 008F8 80B26FA8 00022400 */ sll $a0, $v0, 16
/* 008FC 80B26FAC 00108403 */ sra $s0, $s0, 16
/* 00900 80B26FB0 0C01DE1C */ jal Math_SinS
## sins?
/* 00904 80B26FB4 00042403 */ sra $a0, $a0, 16
/* 00908 80B26FB8 46140182 */ mul.s $f6, $f0, $f20
/* 0090C 80B26FBC C68A0024 */ lwc1 $f10, 0x0024($s4) ## 00000024
/* 00910 80B26FC0 00102400 */ sll $a0, $s0, 16
/* 00914 80B26FC4 00042403 */ sra $a0, $a0, 16
/* 00918 80B26FC8 46163202 */ mul.s $f8, $f6, $f22
/* 0091C 80B26FCC 460A4400 */ add.s $f16, $f8, $f10
/* 00920 80B26FD0 0C01DE0D */ jal Math_CosS
## coss?
/* 00924 80B26FD4 E7B0008C */ swc1 $f16, 0x008C($sp)
/* 00928 80B26FD8 46140102 */ mul.s $f4, $f0, $f20
/* 0092C 80B26FDC C6920028 */ lwc1 $f18, 0x0028($s4) ## 00000028
/* 00930 80B26FE0 00102400 */ sll $a0, $s0, 16
/* 00934 80B26FE4 00042403 */ sra $a0, $a0, 16
/* 00938 80B26FE8 46049181 */ sub.s $f6, $f18, $f4
/* 0093C 80B26FEC 461C3200 */ add.s $f8, $f6, $f28
/* 00940 80B26FF0 0C01DE1C */ jal Math_SinS
## sins?
/* 00944 80B26FF4 E7A80090 */ swc1 $f8, 0x0090($sp)
/* 00948 80B26FF8 46140282 */ mul.s $f10, $f0, $f20
/* 0094C 80B26FFC C692002C */ lwc1 $f18, 0x002C($s4) ## 0000002C
/* 00950 80B27000 24080011 */ addiu $t0, $zero, 0x0011 ## $t0 = 00000011
/* 00954 80B27004 24090006 */ addiu $t1, $zero, 0x0006 ## $t1 = 00000006
/* 00958 80B27008 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
/* 0095C 80B2700C AFAA001C */ sw $t2, 0x001C($sp)
/* 00960 80B27010 AFA90018 */ sw $t1, 0x0018($sp)
/* 00964 80B27014 46185402 */ mul.s $f16, $f10, $f24
/* 00968 80B27018 AFA80010 */ sw $t0, 0x0010($sp)
/* 0096C 80B2701C AFB00014 */ sw $s0, 0x0014($sp)
/* 00970 80B27020 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00974 80B27024 02A02825 */ or $a1, $s5, $zero ## $a1 = FFFFFFF4
/* 00978 80B27028 02C03025 */ or $a2, $s6, $zero ## $a2 = 80B28950
/* 0097C 80B2702C 02E03825 */ or $a3, $s7, $zero ## $a3 = 80B28954
/* 00980 80B27030 46128100 */ add.s $f4, $f16, $f18
/* 00984 80B27034 0C00A568 */ jal EffectSsLightning_Spawn
/* 00988 80B27038 E7A40094 */ swc1 $f4, 0x0094($sp)
.L80B2703C:
/* 0098C 80B2703C 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 00990 80B27040 563EFFB6 */ bnel $s1, $s8, .L80B26F1C
/* 00994 80B27044 864E07A0 */ lh $t6, 0x07A0($s2) ## 000007A0
/* 00998 80B27048 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 0099C 80B2704C 0C00BE5D */ jal func_8002F974
/* 009A0 80B27050 2405309A */ addiu $a1, $zero, 0x309A ## $a1 = 0000309A
/* 009A4 80B27054 8FBF0074 */ lw $ra, 0x0074($sp)
/* 009A8 80B27058 D7B40028 */ ldc1 $f20, 0x0028($sp)
/* 009AC 80B2705C D7B60030 */ ldc1 $f22, 0x0030($sp)
/* 009B0 80B27060 D7B80038 */ ldc1 $f24, 0x0038($sp)
/* 009B4 80B27064 D7BA0040 */ ldc1 $f26, 0x0040($sp)
/* 009B8 80B27068 D7BC0048 */ ldc1 $f28, 0x0048($sp)
/* 009BC 80B2706C 8FB00050 */ lw $s0, 0x0050($sp)
/* 009C0 80B27070 8FB10054 */ lw $s1, 0x0054($sp)
/* 009C4 80B27074 8FB20058 */ lw $s2, 0x0058($sp)
/* 009C8 80B27078 8FB3005C */ lw $s3, 0x005C($sp)
/* 009CC 80B2707C 8FB40060 */ lw $s4, 0x0060($sp)
/* 009D0 80B27080 8FB50064 */ lw $s5, 0x0064($sp)
/* 009D4 80B27084 8FB60068 */ lw $s6, 0x0068($sp)
/* 009D8 80B27088 8FB7006C */ lw $s7, 0x006C($sp)
/* 009DC 80B2708C 8FBE0070 */ lw $s8, 0x0070($sp)
/* 009E0 80B27090 03E00008 */ jr $ra
/* 009E4 80B27094 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000

View file

@ -1,18 +0,0 @@
glabel func_80B27098
/* 009E8 80B27098 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 009EC 80B2709C AFBF0014 */ sw $ra, 0x0014($sp)
/* 009F0 80B270A0 AFA5001C */ sw $a1, 0x001C($sp)
/* 009F4 80B270A4 3C014316 */ lui $at, 0x4316 ## $at = 43160000
/* 009F8 80B270A8 44813000 */ mtc1 $at, $f6 ## $f6 = 150.00
/* 009FC 80B270AC C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 00A00 80B270B0 4606203C */ c.lt.s $f4, $f6
/* 00A04 80B270B4 00000000 */ nop
/* 00A08 80B270B8 45020004 */ bc1fl .L80B270CC
/* 00A0C 80B270BC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A10 80B270C0 0C2C9A32 */ jal func_80B268C8
/* 00A14 80B270C4 00000000 */ nop
/* 00A18 80B270C8 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B270CC:
/* 00A1C 80B270CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00A20 80B270D0 03E00008 */ jr $ra
/* 00A24 80B270D4 00000000 */ nop

View file

@ -1,43 +0,0 @@
glabel func_80B270D8
/* 00A28 80B270D8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00A2C 80B270DC AFB00018 */ sw $s0, 0x0018($sp)
/* 00A30 80B270E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A34 80B270E4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00A38 80B270E8 AFA50024 */ sw $a1, 0x0024($sp)
/* 00A3C 80B270EC 0C02927F */ jal SkelAnime_Update
/* 00A40 80B270F0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00A44 80B270F4 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00A48 80B270F8 44811000 */ mtc1 $at, $f2 ## $f2 = 40.00
/* 00A4C 80B270FC 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 00A50 80B27100 44813000 */ mtc1 $at, $f6 ## $f6 = 1.50
/* 00A54 80B27104 C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060
/* 00A58 80B27108 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00A5C 80B2710C 46062202 */ mul.s $f8, $f4, $f6
/* 00A60 80B27110 E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060
/* 00A64 80B27114 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
/* 00A68 80B27118 4600103C */ c.lt.s $f2, $f0
/* 00A6C 80B2711C 00000000 */ nop
/* 00A70 80B27120 45020004 */ bc1fl .L80B27134
/* 00A74 80B27124 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 00A78 80B27128 10000002 */ beq $zero, $zero, .L80B27134
/* 00A7C 80B2712C E6020060 */ swc1 $f2, 0x0060($s0) ## 00000060
/* 00A80 80B27130 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
.L80B27134:
/* 00A84 80B27134 8E050080 */ lw $a1, 0x0080($s0) ## 00000080
/* 00A88 80B27138 0C01DE80 */ jal Math_StepToF
/* 00A8C 80B2713C 8E060060 */ lw $a2, 0x0060($s0) ## 00000060
/* 00A90 80B27140 10400005 */ beq $v0, $zero, .L80B27158
/* 00A94 80B27144 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A98 80B27148 0C00BE0A */ jal Audio_PlayActorSound2
/* 00A9C 80B2714C 2405387B */ addiu $a1, $zero, 0x387B ## $a1 = 0000387B
/* 00AA0 80B27150 0C2C9A3F */ jal func_80B268FC
/* 00AA4 80B27154 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B27158:
/* 00AA8 80B27158 8FBF001C */ lw $ra, 0x001C($sp)
/* 00AAC 80B2715C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00AB0 80B27160 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00AB4 80B27164 03E00008 */ jr $ra
/* 00AB8 80B27168 00000000 */ nop

View file

@ -1,132 +0,0 @@
.late_rodata
glabel D_80B28A50
.float 3.14159274101
glabel D_80B28A54
.word 0x3C4CCCCD
glabel D_80B28A58
.float 0.4
glabel D_80B28A5C
.word 0x43360B61
.text
glabel func_80B2716C
/* 00ABC 80B2716C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00AC0 80B27170 AFB00018 */ sw $s0, 0x0018($sp)
/* 00AC4 80B27174 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AC8 80B27178 AFBF001C */ sw $ra, 0x001C($sp)
/* 00ACC 80B2717C AFA5002C */ sw $a1, 0x002C($sp)
/* 00AD0 80B27180 0C02927F */ jal SkelAnime_Update
/* 00AD4 80B27184 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AD8 80B27188 92020195 */ lbu $v0, 0x0195($s0) ## 00000195
/* 00ADC 80B2718C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00AE0 80B27190 10400002 */ beq $v0, $zero, .L80B2719C
/* 00AE4 80B27194 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00AE8 80B27198 A20E0195 */ sb $t6, 0x0195($s0) ## 00000195
.L80B2719C:
/* 00AEC 80B2719C C6040164 */ lwc1 $f4, 0x0164($s0) ## 00000164
/* 00AF0 80B271A0 C6080080 */ lwc1 $f8, 0x0080($s0) ## 00000080
/* 00AF4 80B271A4 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00
/* 00AF8 80B271A8 4600218D */ trunc.w.s $f6, $f4
/* 00AFC 80B271AC 3C063F99 */ lui $a2, 0x3F99 ## $a2 = 3F990000
/* 00B00 80B271B0 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F99999A
/* 00B04 80B271B4 460A4400 */ add.s $f16, $f8, $f10
/* 00B08 80B271B8 44033000 */ mfc1 $v1, $f6
/* 00B0C 80B271BC 260402F8 */ addiu $a0, $s0, 0x02F8 ## $a0 = 000002F8
/* 00B10 80B271C0 44058000 */ mfc1 $a1, $f16
/* 00B14 80B271C4 0C01DE80 */ jal Math_StepToF
/* 00B18 80B271C8 AFA30024 */ sw $v1, 0x0024($sp)
/* 00B1C 80B271CC 8FA30024 */ lw $v1, 0x0024($sp)
/* 00B20 80B271D0 3C0180B3 */ lui $at, %hi(D_80B28A50) ## $at = 80B30000
/* 00B24 80B271D4 C4268A50 */ lwc1 $f6, %lo(D_80B28A50)($at)
/* 00B28 80B271D8 44839000 */ mtc1 $v1, $f18 ## $f18 = 0.00
/* 00B2C 80B271DC 3C0180B3 */ lui $at, %hi(D_80B28A54) ## $at = 80B30000
/* 00B30 80B271E0 C42A8A54 */ lwc1 $f10, %lo(D_80B28A54)($at)
/* 00B34 80B271E4 46809120 */ cvt.s.w $f4, $f18
/* 00B38 80B271E8 46062202 */ mul.s $f8, $f4, $f6
/* 00B3C 80B271EC 00000000 */ nop
/* 00B40 80B271F0 460A4302 */ mul.s $f12, $f8, $f10
/* 00B44 80B271F4 0C0400A4 */ jal sinf
/* 00B48 80B271F8 00000000 */ nop
/* 00B4C 80B271FC 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00B50 80B27200 44819000 */ mtc1 $at, $f18 ## $f18 = 8.00
/* 00B54 80B27204 C61002F8 */ lwc1 $f16, 0x02F8($s0) ## 000002F8
/* 00B58 80B27208 92020195 */ lbu $v0, 0x0195($s0) ## 00000195
/* 00B5C 80B2720C 46120102 */ mul.s $f4, $f0, $f18
/* 00B60 80B27210 8FA30024 */ lw $v1, 0x0024($sp)
/* 00B64 80B27214 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 00B68 80B27218 46048181 */ sub.s $f6, $f16, $f4
/* 00B6C 80B2721C 10400012 */ beq $v0, $zero, .L80B27268
/* 00B70 80B27220 E6060028 */ swc1 $f6, 0x0028($s0) ## 00000028
/* 00B74 80B27224 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00B78 80B27228 0041001A */ div $zero, $v0, $at
/* 00B7C 80B2722C 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6
/* 00B80 80B27230 00004010 */ mfhi $t0
/* 00B84 80B27234 28610010 */ slti $at, $v1, 0x0010
/* 00B88 80B27238 27190800 */ addiu $t9, $t8, 0x0800 ## $t9 = 00000800
/* 00B8C 80B2723C 15000016 */ bne $t0, $zero, .L80B27298
/* 00B90 80B27240 A61900B6 */ sh $t9, 0x00B6($s0) ## 000000B6
/* 00B94 80B27244 14200014 */ bne $at, $zero, .L80B27298
/* 00B98 80B27248 28610038 */ slti $at, $v1, 0x0038
/* 00B9C 80B2724C 10200012 */ beq $at, $zero, .L80B27298
/* 00BA0 80B27250 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BA4 80B27254 2405389D */ addiu $a1, $zero, 0x389D ## $a1 = 0000389D
/* 00BA8 80B27258 0C00BE0A */ jal Audio_PlayActorSound2
/* 00BAC 80B2725C AFA30024 */ sw $v1, 0x0024($sp)
/* 00BB0 80B27260 1000000D */ beq $zero, $zero, .L80B27298
/* 00BB4 80B27264 8FA30024 */ lw $v1, 0x0024($sp)
.L80B27268:
/* 00BB8 80B27268 10610007 */ beq $v1, $at, .L80B27288
/* 00BBC 80B2726C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BC0 80B27270 2401001E */ addiu $at, $zero, 0x001E ## $at = 0000001E
/* 00BC4 80B27274 10610004 */ beq $v1, $at, .L80B27288
/* 00BC8 80B27278 2401002A */ addiu $at, $zero, 0x002A ## $at = 0000002A
/* 00BCC 80B2727C 10610002 */ beq $v1, $at, .L80B27288
/* 00BD0 80B27280 24010037 */ addiu $at, $zero, 0x0037 ## $at = 00000037
/* 00BD4 80B27284 14610004 */ bne $v1, $at, .L80B27298
.L80B27288:
/* 00BD8 80B27288 2405389D */ addiu $a1, $zero, 0x389D ## $a1 = 0000389D
/* 00BDC 80B2728C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00BE0 80B27290 AFA30024 */ sw $v1, 0x0024($sp)
/* 00BE4 80B27294 8FA30024 */ lw $v1, 0x0024($sp)
.L80B27298:
/* 00BE8 80B27298 28610029 */ slti $at, $v1, 0x0029
/* 00BEC 80B2729C 14200002 */ bne $at, $zero, .L80B272A8
/* 00BF0 80B272A0 24090050 */ addiu $t1, $zero, 0x0050 ## $t1 = 00000050
/* 00BF4 80B272A4 01231823 */ subu $v1, $t1, $v1
.L80B272A8:
/* 00BF8 80B272A8 246A0004 */ addiu $t2, $v1, 0x0004 ## $t2 = 00000004
/* 00BFC 80B272AC 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
/* 00C00 80B272B0 3C0180B3 */ lui $at, %hi(D_80B28A58) ## $at = 80B30000
/* 00C04 80B272B4 C4328A58 */ lwc1 $f18, %lo(D_80B28A58)($at)
/* 00C08 80B272B8 468042A0 */ cvt.s.w $f10, $f8
/* 00C0C 80B272BC 3C0180B3 */ lui $at, %hi(D_80B28A5C) ## $at = 80B30000
/* 00C10 80B272C0 C4248A5C */ lwc1 $f4, %lo(D_80B28A5C)($at)
/* 00C14 80B272C4 3C01437A */ lui $at, 0x437A ## $at = 437A0000
/* 00C18 80B272C8 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
/* 00C1C 80B272CC 46125402 */ mul.s $f16, $f10, $f18
/* 00C20 80B272D0 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090
/* 00C24 80B272D4 44815000 */ mtc1 $at, $f10 ## $f10 = 250.00
/* 00C28 80B272D8 00000000 */ nop
/* 00C2C 80B272DC 4612503C */ c.lt.s $f10, $f18
/* 00C30 80B272E0 46048182 */ mul.s $f6, $f16, $f4
/* 00C34 80B272E4 4600320D */ trunc.w.s $f8, $f6
/* 00C38 80B272E8 440E4000 */ mfc1 $t6, $f8
/* 00C3C 80B272EC 00000000 */ nop
/* 00C40 80B272F0 01EEC021 */ addu $t8, $t7, $t6
/* 00C44 80B272F4 45000003 */ bc1f .L80B27304
/* 00C48 80B272F8 A61800B6 */ sh $t8, 0x00B6($s0) ## 000000B6
/* 00C4C 80B272FC 0C2C9B90 */ jal func_80B26E40
/* 00C50 80B27300 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B27304:
/* 00C54 80B27304 8FBF001C */ lw $ra, 0x001C($sp)
/* 00C58 80B27308 8FB00018 */ lw $s0, 0x0018($sp)
/* 00C5C 80B2730C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00C60 80B27310 03E00008 */ jr $ra
/* 00C64 80B27314 00000000 */ nop

View file

@ -1,53 +0,0 @@
glabel func_80B27318
/* 00C68 80B27318 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C6C 80B2731C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C70 80B27320 90820194 */ lbu $v0, 0x0194($a0) ## 00000194
/* 00C74 80B27324 10400002 */ beq $v0, $zero, .L80B27330
/* 00C78 80B27328 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00C7C 80B2732C A08E0194 */ sb $t6, 0x0194($a0) ## 00000194
.L80B27330:
/* 00C80 80B27330 0C2C9BA7 */ jal func_80B26E9C
/* 00C84 80B27334 AFA40018 */ sw $a0, 0x0018($sp)
/* 00C88 80B27338 8FA40018 */ lw $a0, 0x0018($sp)
/* 00C8C 80B2733C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00C90 80B27340 90820194 */ lbu $v0, 0x0194($a0) ## 00000194
/* 00C94 80B27344 14400011 */ bne $v0, $zero, .L80B2738C
/* 00C98 80B27348 304B0001 */ andi $t3, $v0, 0x0001 ## $t3 = 00000000
/* 00C9C 80B2734C 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
/* 00CA0 80B27350 9099040D */ lbu $t9, 0x040D($a0) ## 0000040D
/* 00CA4 80B27354 8489001C */ lh $t1, 0x001C($a0) ## 0000001C
/* 00CA8 80B27358 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
/* 00CAC 80B2735C 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001
/* 00CB0 80B27360 AC980004 */ sw $t8, 0x0004($a0) ## 00000004
/* 00CB4 80B27364 15210005 */ bne $t1, $at, .L80B2737C
/* 00CB8 80B27368 A088040D */ sb $t0, 0x040D($a0) ## 0000040D
/* 00CBC 80B2736C 0C2C9AD3 */ jal func_80B26B4C
/* 00CC0 80B27370 00000000 */ nop
/* 00CC4 80B27374 10000013 */ beq $zero, $zero, .L80B273C4
/* 00CC8 80B27378 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B2737C:
/* 00CCC 80B2737C 3C0A80B2 */ lui $t2, %hi(func_80B2716C) ## $t2 = 80B20000
/* 00CD0 80B27380 254A716C */ addiu $t2, $t2, %lo(func_80B2716C) ## $t2 = 80B2716C
/* 00CD4 80B27384 1000000E */ beq $zero, $zero, .L80B273C0
/* 00CD8 80B27388 AC8A0190 */ sw $t2, 0x0190($a0) ## 00000190
.L80B2738C:
/* 00CDC 80B2738C 11600007 */ beq $t3, $zero, .L80B273AC
/* 00CE0 80B27390 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00CE4 80B27394 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00CE8 80B27398 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 00CEC 80B2739C C4840028 */ lwc1 $f4, 0x0028($a0) ## 00000028
/* 00CF0 80B273A0 46062200 */ add.s $f8, $f4, $f6
/* 00CF4 80B273A4 10000006 */ beq $zero, $zero, .L80B273C0
/* 00CF8 80B273A8 E4880028 */ swc1 $f8, 0x0028($a0) ## 00000028
.L80B273AC:
/* 00CFC 80B273AC C48A0028 */ lwc1 $f10, 0x0028($a0) ## 00000028
/* 00D00 80B273B0 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 00D04 80B273B4 00000000 */ nop
/* 00D08 80B273B8 46105481 */ sub.s $f18, $f10, $f16
/* 00D0C 80B273BC E4920028 */ swc1 $f18, 0x0028($a0) ## 00000028
.L80B273C0:
/* 00D10 80B273C0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B273C4:
/* 00D14 80B273C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00D18 80B273C8 03E00008 */ jr $ra
/* 00D1C 80B273CC 00000000 */ nop

View file

@ -1,28 +0,0 @@
glabel func_80B273D0
/* 00D20 80B273D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00D24 80B273D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D28 80B273D8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00D2C 80B273DC AFA5001C */ sw $a1, 0x001C($sp)
/* 00D30 80B273E0 AFA60018 */ sw $a2, 0x0018($sp)
/* 00D34 80B273E4 0C02927F */ jal SkelAnime_Update
/* 00D38 80B273E8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D3C 80B273EC 1040000B */ beq $v0, $zero, .L80B2741C
/* 00D40 80B273F0 8FA60018 */ lw $a2, 0x0018($sp)
/* 00D44 80B273F4 90CE00AF */ lbu $t6, 0x00AF($a2) ## 000000AF
/* 00D48 80B273F8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00D4C 80B273FC 11C00005 */ beq $t6, $zero, .L80B27414
/* 00D50 80B27400 00000000 */ nop
/* 00D54 80B27404 0C2C9AEF */ jal func_80B26BBC
/* 00D58 80B27408 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00D5C 80B2740C 10000004 */ beq $zero, $zero, .L80B27420
/* 00D60 80B27410 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B27414:
/* 00D64 80B27414 0C2C9B14 */ jal func_80B26C50
/* 00D68 80B27418 8FA5001C */ lw $a1, 0x001C($sp)
.L80B2741C:
/* 00D6C 80B2741C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B27420:
/* 00D70 80B27420 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00D74 80B27424 03E00008 */ jr $ra
/* 00D78 80B27428 00000000 */ nop

View file

@ -1,17 +0,0 @@
glabel func_80B2742C
/* 00D7C 80B2742C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00D80 80B27430 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D84 80B27434 AFA40018 */ sw $a0, 0x0018($sp)
/* 00D88 80B27438 AFA5001C */ sw $a1, 0x001C($sp)
/* 00D8C 80B2743C 0C02927F */ jal SkelAnime_Update
/* 00D90 80B27440 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D94 80B27444 50400004 */ beql $v0, $zero, .L80B27458
/* 00D98 80B27448 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00D9C 80B2744C 0C2C9A3F */ jal func_80B268FC
/* 00DA0 80B27450 8FA40018 */ lw $a0, 0x0018($sp)
/* 00DA4 80B27454 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B27458:
/* 00DA8 80B27458 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00DAC 80B2745C 03E00008 */ jr $ra
/* 00DB0 80B27460 00000000 */ nop

View file

@ -1,18 +0,0 @@
glabel func_80B27464
/* 00DB4 80B27464 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00DB8 80B27468 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00DBC 80B2746C 84820196 */ lh $v0, 0x0196($a0) ## 00000196
/* 00DC0 80B27470 10400003 */ beq $v0, $zero, .L80B27480
/* 00DC4 80B27474 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00DC8 80B27478 A48E0196 */ sh $t6, 0x0196($a0) ## 00000196
/* 00DCC 80B2747C 84820196 */ lh $v0, 0x0196($a0) ## 00000196
.L80B27480:
/* 00DD0 80B27480 54400004 */ bnel $v0, $zero, .L80B27494
/* 00DD4 80B27484 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00DD8 80B27488 0C2C9B14 */ jal func_80B26C50
/* 00DDC 80B2748C 00000000 */ nop
/* 00DE0 80B27490 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B27494:
/* 00DE4 80B27494 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00DE8 80B27498 03E00008 */ jr $ra
/* 00DEC 80B2749C 00000000 */ nop

View file

@ -1,127 +0,0 @@
.late_rodata
glabel D_80B28A60
.float 0.7
.text
glabel func_80B274A0
/* 00DF0 80B274A0 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
/* 00DF4 80B274A4 AFBF0064 */ sw $ra, 0x0064($sp)
/* 00DF8 80B274A8 AFB70060 */ sw $s7, 0x0060($sp)
/* 00DFC 80B274AC AFB6005C */ sw $s6, 0x005C($sp)
/* 00E00 80B274B0 AFB50058 */ sw $s5, 0x0058($sp)
/* 00E04 80B274B4 AFB40054 */ sw $s4, 0x0054($sp)
/* 00E08 80B274B8 AFB30050 */ sw $s3, 0x0050($sp)
/* 00E0C 80B274BC AFB2004C */ sw $s2, 0x004C($sp)
/* 00E10 80B274C0 AFB10048 */ sw $s1, 0x0048($sp)
/* 00E14 80B274C4 AFB00044 */ sw $s0, 0x0044($sp)
/* 00E18 80B274C8 F7BA0038 */ sdc1 $f26, 0x0038($sp)
/* 00E1C 80B274CC F7B80030 */ sdc1 $f24, 0x0030($sp)
/* 00E20 80B274D0 F7B60028 */ sdc1 $f22, 0x0028($sp)
/* 00E24 80B274D4 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 00E28 80B274D8 84820196 */ lh $v0, 0x0196($a0) ## 00000196
/* 00E2C 80B274DC 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00E30 80B274E0 00A0B025 */ or $s6, $a1, $zero ## $s6 = 00000000
/* 00E34 80B274E4 10400003 */ beq $v0, $zero, .L80B274F4
/* 00E38 80B274E8 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 00E3C 80B274EC 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00E40 80B274F0 A48E0196 */ sh $t6, 0x0196($a0) ## 00000196
.L80B274F4:
/* 00E44 80B274F4 3C0180B3 */ lui $at, %hi(D_80B28A60) ## $at = 80B30000
/* 00E48 80B274F8 C43A8A60 */ lwc1 $f26, %lo(D_80B28A60)($at)
/* 00E4C 80B274FC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00E50 80B27500 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00
/* 00E54 80B27504 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00E58 80B27508 4481B000 */ mtc1 $at, $f22 ## $f22 = 8.00
/* 00E5C 80B2750C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00E60 80B27510 3C1580B3 */ lui $s5, %hi(D_80B28964) ## $s5 = 80B30000
/* 00E64 80B27514 3C1480B3 */ lui $s4, %hi(D_80B28958) ## $s4 = 80B30000
/* 00E68 80B27518 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
/* 00E6C 80B2751C 26948958 */ addiu $s4, $s4, %lo(D_80B28958) ## $s4 = 80B28958
/* 00E70 80B27520 26B58964 */ addiu $s5, $s5, %lo(D_80B28964) ## $s5 = 80B28964
/* 00E74 80B27524 24170002 */ addiu $s7, $zero, 0x0002 ## $s7 = 00000002
/* 00E78 80B27528 27B30070 */ addiu $s3, $sp, 0x0070 ## $s3 = FFFFFFF0
.L80B2752C:
/* 00E7C 80B2752C 0C00CFC8 */ jal Rand_CenteredFloat
/* 00E80 80B27530 4600A306 */ mov.s $f12, $f20
/* 00E84 80B27534 C6440024 */ lwc1 $f4, 0x0024($s2) ## 00000024
/* 00E88 80B27538 4600B306 */ mov.s $f12, $f22
/* 00E8C 80B2753C 46040180 */ add.s $f6, $f0, $f4
/* 00E90 80B27540 0C00CFC8 */ jal Rand_CenteredFloat
/* 00E94 80B27544 E7A60070 */ swc1 $f6, 0x0070($sp)
/* 00E98 80B27548 C6480028 */ lwc1 $f8, 0x0028($s2) ## 00000028
/* 00E9C 80B2754C 4600A306 */ mov.s $f12, $f20
/* 00EA0 80B27550 46080280 */ add.s $f10, $f0, $f8
/* 00EA4 80B27554 0C00CFC8 */ jal Rand_CenteredFloat
/* 00EA8 80B27558 E7AA0074 */ swc1 $f10, 0x0074($sp)
/* 00EAC 80B2755C C650002C */ lwc1 $f16, 0x002C($s2) ## 0000002C
/* 00EB0 80B27560 46100480 */ add.s $f18, $f0, $f16
/* 00EB4 80B27564 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00EB8 80B27568 E7B20078 */ swc1 $f18, 0x0078($sp)
/* 00EBC 80B2756C 46180100 */ add.s $f4, $f0, $f24
/* 00EC0 80B27570 3C0180B3 */ lui $at, %hi(D_80B2895C) ## $at = 80B30000
/* 00EC4 80B27574 24040028 */ addiu $a0, $zero, 0x0028 ## $a0 = 00000028
/* 00EC8 80B27578 24050028 */ addiu $a1, $zero, 0x0028 ## $a1 = 00000028
/* 00ECC 80B2757C 0C01DF64 */ jal Rand_S16Offset
/* 00ED0 80B27580 E424895C */ swc1 $f4, %lo(D_80B2895C)($at)
/* 00ED4 80B27584 00028400 */ sll $s0, $v0, 16
/* 00ED8 80B27588 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00EDC 80B2758C 00108403 */ sra $s0, $s0, 16
/* 00EE0 80B27590 461A003C */ c.lt.s $f0, $f26
/* 00EE4 80B27594 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
/* 00EE8 80B27598 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFF0
/* 00EEC 80B2759C 02803025 */ or $a2, $s4, $zero ## $a2 = 80B28958
/* 00EF0 80B275A0 4500000E */ bc1f .L80B275DC
/* 00EF4 80B275A4 02A03825 */ or $a3, $s5, $zero ## $a3 = 80B28964
/* 00EF8 80B275A8 240F0019 */ addiu $t7, $zero, 0x0019 ## $t7 = 00000019
/* 00EFC 80B275AC 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00F00 80B275B0 AFB8001C */ sw $t8, 0x001C($sp)
/* 00F04 80B275B4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00F08 80B275B8 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
/* 00F0C 80B275BC 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFF0
/* 00F10 80B275C0 02803025 */ or $a2, $s4, $zero ## $a2 = 80B28958
/* 00F14 80B275C4 02A03825 */ or $a3, $s5, $zero ## $a3 = 80B28964
/* 00F18 80B275C8 AFB00010 */ sw $s0, 0x0010($sp)
/* 00F1C 80B275CC 0C00A586 */ jal EffectSsDtBubble_SpawnColorProfile
/* 00F20 80B275D0 AFB70018 */ sw $s7, 0x0018($sp)
/* 00F24 80B275D4 10000009 */ beq $zero, $zero, .L80B275FC
/* 00F28 80B275D8 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
.L80B275DC:
/* 00F2C 80B275DC 24190019 */ addiu $t9, $zero, 0x0019 ## $t9 = 00000019
/* 00F30 80B275E0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00F34 80B275E4 AFA8001C */ sw $t0, 0x001C($sp)
/* 00F38 80B275E8 AFB90014 */ sw $t9, 0x0014($sp)
/* 00F3C 80B275EC AFB00010 */ sw $s0, 0x0010($sp)
/* 00F40 80B275F0 0C00A586 */ jal EffectSsDtBubble_SpawnColorProfile
/* 00F44 80B275F4 AFA00018 */ sw $zero, 0x0018($sp)
/* 00F48 80B275F8 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002
.L80B275FC:
/* 00F4C 80B275FC 1637FFCB */ bne $s1, $s7, .L80B2752C
/* 00F50 80B27600 00000000 */ nop
/* 00F54 80B27604 86490196 */ lh $t1, 0x0196($s2) ## 00000196
/* 00F58 80B27608 55200004 */ bnel $t1, $zero, .L80B2761C
/* 00F5C 80B2760C 8FBF0064 */ lw $ra, 0x0064($sp)
/* 00F60 80B27610 0C00B55C */ jal Actor_Kill
/* 00F64 80B27614 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00F68 80B27618 8FBF0064 */ lw $ra, 0x0064($sp)
.L80B2761C:
/* 00F6C 80B2761C D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 00F70 80B27620 D7B60028 */ ldc1 $f22, 0x0028($sp)
/* 00F74 80B27624 D7B80030 */ ldc1 $f24, 0x0030($sp)
/* 00F78 80B27628 D7BA0038 */ ldc1 $f26, 0x0038($sp)
/* 00F7C 80B2762C 8FB00044 */ lw $s0, 0x0044($sp)
/* 00F80 80B27630 8FB10048 */ lw $s1, 0x0048($sp)
/* 00F84 80B27634 8FB2004C */ lw $s2, 0x004C($sp)
/* 00F88 80B27638 8FB30050 */ lw $s3, 0x0050($sp)
/* 00F8C 80B2763C 8FB40054 */ lw $s4, 0x0054($sp)
/* 00F90 80B27640 8FB50058 */ lw $s5, 0x0058($sp)
/* 00F94 80B27644 8FB6005C */ lw $s6, 0x005C($sp)
/* 00F98 80B27648 8FB70060 */ lw $s7, 0x0060($sp)
/* 00F9C 80B2764C 03E00008 */ jr $ra
/* 00FA0 80B27650 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000

View file

@ -1,55 +0,0 @@
glabel func_80B27654
/* 00FA4 80B27654 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00FA8 80B27658 AFB00018 */ sw $s0, 0x0018($sp)
/* 00FAC 80B2765C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00FB0 80B27660 AFBF001C */ sw $ra, 0x001C($sp)
/* 00FB4 80B27664 AFA50024 */ sw $a1, 0x0024($sp)
/* 00FB8 80B27668 0C02927F */ jal SkelAnime_Update
/* 00FBC 80B2766C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FC0 80B27670 86030196 */ lh $v1, 0x0196($s0) ## 00000196
/* 00FC4 80B27674 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00FC8 80B27678 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00FCC 80B2767C 10600002 */ beq $v1, $zero, .L80B27688
/* 00FD0 80B27680 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
/* 00FD4 80B27684 A60E0196 */ sh $t6, 0x0196($s0) ## 00000196
.L80B27688:
/* 00FD8 80B27688 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
/* 00FDC 80B2768C 46002032 */ c.eq.s $f4, $f0
/* 00FE0 80B27690 00000000 */ nop
/* 00FE4 80B27694 45030013 */ bc1tl .L80B276E4
/* 00FE8 80B27698 860F0196 */ lh $t7, 0x0196($s0) ## 00000196
/* 00FEC 80B2769C 44060000 */ mfc1 $a2, $f0
/* 00FF0 80B276A0 0C01DE80 */ jal Math_StepToF
/* 00FF4 80B276A4 8E050080 */ lw $a1, 0x0080($s0) ## 00000080
/* 00FF8 80B276A8 10400008 */ beq $v0, $zero, .L80B276CC
/* 00FFC 80B276AC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01000 80B276B0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 01004 80B276B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01008 80B276B8 2405387B */ addiu $a1, $zero, 0x387B ## $a1 = 0000387B
/* 0100C 80B276BC 0C00BE0A */ jal Audio_PlayActorSound2
/* 01010 80B276C0 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
/* 01014 80B276C4 10000007 */ beq $zero, $zero, .L80B276E4
/* 01018 80B276C8 860F0196 */ lh $t7, 0x0196($s0) ## 00000196
.L80B276CC:
/* 0101C 80B276CC C6080060 */ lwc1 $f8, 0x0060($s0) ## 00000060
/* 01020 80B276D0 44815000 */ mtc1 $at, $f10 ## $f10 = 0.00
/* 01024 80B276D4 00000000 */ nop
/* 01028 80B276D8 460A4400 */ add.s $f16, $f8, $f10
/* 0102C 80B276DC E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
/* 01030 80B276E0 860F0196 */ lh $t7, 0x0196($s0) ## 00000196
.L80B276E4:
/* 01034 80B276E4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 01038 80B276E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0103C 80B276EC 55E00004 */ bnel $t7, $zero, .L80B27700
/* 01040 80B276F0 8FBF001C */ lw $ra, 0x001C($sp)
/* 01044 80B276F4 0C2C9A3F */ jal func_80B268FC
/* 01048 80B276F8 A2180420 */ sb $t8, 0x0420($s0) ## 00000420
/* 0104C 80B276FC 8FBF001C */ lw $ra, 0x001C($sp)
.L80B27700:
/* 01050 80B27700 8FB00018 */ lw $s0, 0x0018($sp)
/* 01054 80B27704 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01058 80B27708 03E00008 */ jr $ra
/* 0105C 80B2770C 00000000 */ nop

View file

@ -1,119 +0,0 @@
.late_rodata
glabel D_80B28A64
.float 0.2
glabel D_80B28A68
.float 1.3
.text
glabel func_80B27710
/* 01060 80B27710 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 01064 80B27714 AFBF003C */ sw $ra, 0x003C($sp)
/* 01068 80B27718 AFB00038 */ sw $s0, 0x0038($sp)
/* 0106C 80B2771C AFA50064 */ sw $a1, 0x0064($sp)
/* 01070 80B27720 84820196 */ lh $v0, 0x0196($a0) ## 00000196
/* 01074 80B27724 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01078 80B27728 240F0024 */ addiu $t7, $zero, 0x0024 ## $t7 = 00000024
/* 0107C 80B2772C 10400003 */ beq $v0, $zero, .L80B2773C
/* 01080 80B27730 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 01084 80B27734 A48E0196 */ sh $t6, 0x0196($a0) ## 00000196
/* 01088 80B27738 84820196 */ lh $v0, 0x0196($a0) ## 00000196
.L80B2773C:
/* 0108C 80B2773C 2443FFEC */ addiu $v1, $v0, 0xFFEC ## $v1 = FFFFFFEC
/* 01090 80B27740 18600043 */ blez $v1, .L80B27850
/* 01094 80B27744 A20F0114 */ sb $t7, 0x0114($s0) ## 00000114
/* 01098 80B27748 30580001 */ andi $t8, $v0, 0x0001 ## $t8 = 00000000
/* 0109C 80B2774C 1300004F */ beq $t8, $zero, .L80B2788C
/* 010A0 80B27750 00031043 */ sra $v0, $v1, 1
/* 010A4 80B27754 0002C823 */ subu $t9, $zero, $v0
/* 010A8 80B27758 00194080 */ sll $t0, $t9, 2
/* 010AC 80B2775C 01194021 */ addu $t0, $t0, $t9
/* 010B0 80B27760 25090028 */ addiu $t1, $t0, 0x0028 ## $t1 = 00000028
/* 010B4 80B27764 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00
/* 010B8 80B27768 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 010BC 80B2776C 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
/* 010C0 80B27770 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 010C4 80B27774 46805420 */ cvt.s.w $f16, $f10
/* 010C8 80B27778 304A0002 */ andi $t2, $v0, 0x0002 ## $t2 = 00000000
/* 010CC 80B2777C 3C01C140 */ lui $at, 0xC140 ## $at = C1400000
/* 010D0 80B27780 46062201 */ sub.s $f8, $f4, $f6
/* 010D4 80B27784 46104480 */ add.s $f18, $f8, $f16
/* 010D8 80B27788 11400005 */ beq $t2, $zero, .L80B277A0
/* 010DC 80B2778C E7B20058 */ swc1 $f18, 0x0058($sp)
/* 010E0 80B27790 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 010E4 80B27794 44810000 */ mtc1 $at, $f0 ## $f0 = 12.00
/* 010E8 80B27798 10000004 */ beq $zero, $zero, .L80B277AC
/* 010EC 80B2779C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
.L80B277A0:
/* 010F0 80B277A0 44810000 */ mtc1 $at, $f0 ## $f0 = 12.00
/* 010F4 80B277A4 00000000 */ nop
/* 010F8 80B277A8 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
.L80B277AC:
/* 010FC 80B277AC 304B0001 */ andi $t3, $v0, 0x0001 ## $t3 = 00000000
/* 01100 80B277B0 3C01C140 */ lui $at, 0xC140 ## $at = C1400000
/* 01104 80B277B4 46040180 */ add.s $f6, $f0, $f4
/* 01108 80B277B8 11600005 */ beq $t3, $zero, .L80B277D0
/* 0110C 80B277BC E7A60054 */ swc1 $f6, 0x0054($sp)
/* 01110 80B277C0 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 01114 80B277C4 44810000 */ mtc1 $at, $f0 ## $f0 = 12.00
/* 01118 80B277C8 10000004 */ beq $zero, $zero, .L80B277DC
/* 0111C 80B277CC C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
.L80B277D0:
/* 01120 80B277D0 44810000 */ mtc1 $at, $f0 ## $f0 = 12.00
/* 01124 80B277D4 00000000 */ nop
/* 01128 80B277D8 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
.L80B277DC:
/* 0112C 80B277DC 460A0200 */ add.s $f8, $f0, $f10
/* 01130 80B277E0 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 01134 80B277E4 E7A8005C */ swc1 $f8, 0x005C($sp)
/* 01138 80B277E8 3C0180B3 */ lui $at, %hi(D_80B28A64) ## $at = 80B30000
/* 0113C 80B277EC C4308A64 */ lwc1 $f16, %lo(D_80B28A64)($at)
/* 01140 80B277F0 3C0180B3 */ lui $at, %hi(D_80B28A68) ## $at = 80B30000
/* 01144 80B277F4 C4248A68 */ lwc1 $f4, %lo(D_80B28A68)($at)
/* 01148 80B277F8 46100482 */ mul.s $f18, $f0, $f16
/* 0114C 80B277FC 240C0096 */ addiu $t4, $zero, 0x0096 ## $t4 = 00000096
/* 01150 80B27800 240D0096 */ addiu $t5, $zero, 0x0096 ## $t5 = 00000096
/* 01154 80B27804 240E00FA */ addiu $t6, $zero, 0x00FA ## $t6 = 000000FA
/* 01158 80B27808 240F00EB */ addiu $t7, $zero, 0x00EB ## $t7 = 000000EB
/* 0115C 80B2780C 241800F5 */ addiu $t8, $zero, 0x00F5 ## $t8 = 000000F5
/* 01160 80B27810 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 01164 80B27814 46049180 */ add.s $f6, $f18, $f4
/* 01168 80B27818 AFB90024 */ sw $t9, 0x0024($sp)
/* 0116C 80B2781C AFB80020 */ sw $t8, 0x0020($sp)
/* 01170 80B27820 AFAF001C */ sw $t7, 0x001C($sp)
/* 01174 80B27824 E7A60028 */ swc1 $f6, 0x0028($sp)
/* 01178 80B27828 AFAE0018 */ sw $t6, 0x0018($sp)
/* 0117C 80B2782C AFAD0014 */ sw $t5, 0x0014($sp)
/* 01180 80B27830 AFAC0010 */ sw $t4, 0x0010($sp)
/* 01184 80B27834 8FA40064 */ lw $a0, 0x0064($sp)
/* 01188 80B27838 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0118C 80B2783C 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFFF4
/* 01190 80B27840 0C00A850 */ jal EffectSsEnIce_SpawnFlyingVec3f
/* 01194 80B27844 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 01198 80B27848 10000011 */ beq $zero, $zero, .L80B27890
/* 0119C 80B2784C 8FBF003C */ lw $ra, 0x003C($sp)
.L80B27850:
/* 011A0 80B27850 1440000E */ bne $v0, $zero, .L80B2788C
/* 011A4 80B27854 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 011A8 80B27858 C60A0060 */ lwc1 $f10, 0x0060($s0) ## 00000060
/* 011AC 80B2785C 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
/* 011B0 80B27860 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 011B4 80B27864 8E050080 */ lw $a1, 0x0080($s0) ## 00000080
/* 011B8 80B27868 46085400 */ add.s $f16, $f10, $f8
/* 011BC 80B2786C E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
/* 011C0 80B27870 0C01DE80 */ jal Math_StepToF
/* 011C4 80B27874 8E060060 */ lw $a2, 0x0060($s0) ## 00000060
/* 011C8 80B27878 10400004 */ beq $v0, $zero, .L80B2788C
/* 011CC 80B2787C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 011D0 80B27880 0C2C9B14 */ jal func_80B26C50
/* 011D4 80B27884 8FA50064 */ lw $a1, 0x0064($sp)
/* 011D8 80B27888 A2000114 */ sb $zero, 0x0114($s0) ## 00000114
.L80B2788C:
/* 011DC 80B2788C 8FBF003C */ lw $ra, 0x003C($sp)
.L80B27890:
/* 011E0 80B27890 8FB00038 */ lw $s0, 0x0038($sp)
/* 011E4 80B27894 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 011E8 80B27898 03E00008 */ jr $ra
/* 011EC 80B2789C 00000000 */ nop

View file

@ -1,39 +0,0 @@
.late_rodata
glabel D_80B28A6C
.float 0.1
glabel D_80B28A70
.float 0.01
.text
glabel func_80B278A0
/* 011F0 80B278A0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 011F4 80B278A4 AFBF001C */ sw $ra, 0x001C($sp)
/* 011F8 80B278A8 AFA40020 */ sw $a0, 0x0020($sp)
/* 011FC 80B278AC AFA50024 */ sw $a1, 0x0024($sp)
/* 01200 80B278B0 0C02927F */ jal SkelAnime_Update
/* 01204 80B278B4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01208 80B278B8 8FA20020 */ lw $v0, 0x0020($sp)
/* 0120C 80B278BC 3C0180B3 */ lui $at, %hi(D_80B28A6C) ## $at = 80B30000
/* 01210 80B278C0 C4248A6C */ lwc1 $f4, %lo(D_80B28A6C)($at)
/* 01214 80B278C4 8C45000C */ lw $a1, 0x000C($v0) ## 0000000C
/* 01218 80B278C8 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 0121C 80B278CC 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
/* 01220 80B278D0 24440028 */ addiu $a0, $v0, 0x0028 ## $a0 = 00000028
/* 01224 80B278D4 0C01E0C4 */ jal Math_SmoothStepToF
/* 01228 80B278D8 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 0122C 80B278DC 3C0180B3 */ lui $at, %hi(D_80B28A70) ## $at = 80B30000
/* 01230 80B278E0 C4268A70 */ lwc1 $f6, %lo(D_80B28A70)($at)
/* 01234 80B278E4 4606003C */ c.lt.s $f0, $f6
/* 01238 80B278E8 00000000 */ nop
/* 0123C 80B278EC 45020004 */ bc1fl .L80B27900
/* 01240 80B278F0 8FBF001C */ lw $ra, 0x001C($sp)
/* 01244 80B278F4 0C2C9A1E */ jal func_80B26878
/* 01248 80B278F8 8FA40020 */ lw $a0, 0x0020($sp)
/* 0124C 80B278FC 8FBF001C */ lw $ra, 0x001C($sp)
.L80B27900:
/* 01250 80B27900 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01254 80B27904 03E00008 */ jr $ra
/* 01258 80B27908 00000000 */ nop

View file

@ -1,124 +0,0 @@
glabel func_80B2790C
/* 0125C 80B2790C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01260 80B27910 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01264 80B27914 AFB00020 */ sw $s0, 0x0020($sp)
/* 01268 80B27918 AFA5002C */ sw $a1, 0x002C($sp)
/* 0126C 80B2791C 9082040D */ lbu $v0, 0x040D($a0) ## 0000040D
/* 01270 80B27920 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01274 80B27924 26050414 */ addiu $a1, $s0, 0x0414 ## $a1 = 00000414
/* 01278 80B27928 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
/* 0127C 80B2792C 11C0005F */ beq $t6, $zero, .L80B27AAC
/* 01280 80B27930 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000
/* 01284 80B27934 A08F040D */ sb $t7, 0x040D($a0) ## 0000040D
/* 01288 80B27938 0C00D594 */ jal func_80035650
/* 0128C 80B2793C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 01290 80B27940 921800B1 */ lbu $t8, 0x00B1($s0) ## 000000B1
/* 01294 80B27944 17000004 */ bne $t8, $zero, .L80B27958
/* 01298 80B27948 00000000 */ nop
/* 0129C 80B2794C 921900B0 */ lbu $t9, 0x00B0($s0) ## 000000B0
/* 012A0 80B27950 53200057 */ beql $t9, $zero, .L80B27AB0
/* 012A4 80B27954 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B27958:
/* 012A8 80B27958 0C00D58A */ jal Actor_ApplyDamage
/* 012AC 80B2795C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 012B0 80B27960 1440000C */ bne $v0, $zero, .L80B27994
/* 012B4 80B27964 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 012B8 80B27968 0C00BE0A */ jal Audio_PlayActorSound2
/* 012BC 80B2796C 2405389F */ addiu $a1, $zero, 0x389F ## $a1 = 0000389F
/* 012C0 80B27970 8FA4002C */ lw $a0, 0x002C($sp)
/* 012C4 80B27974 0C00CB1F */ jal func_80032C7C
/* 012C8 80B27978 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 012CC 80B2797C 8E080004 */ lw $t0, 0x0004($s0) ## 00000004
/* 012D0 80B27980 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 012D4 80B27984 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
/* 012D8 80B27988 01014824 */ and $t1, $t0, $at
/* 012DC 80B2798C 1000000A */ beq $zero, $zero, .L80B279B8
/* 012E0 80B27990 AE090004 */ sw $t1, 0x0004($s0) ## 00000004
.L80B27994:
/* 012E4 80B27994 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
/* 012E8 80B27998 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 012EC 80B2799C 10410006 */ beq $v0, $at, .L80B279B8
/* 012F0 80B279A0 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
/* 012F4 80B279A4 10410004 */ beq $v0, $at, .L80B279B8
/* 012F8 80B279A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 012FC 80B279AC 0C00BE0A */ jal Audio_PlayActorSound2
/* 01300 80B279B0 240538DC */ addiu $a1, $zero, 0x38DC ## $a1 = 000038DC
/* 01304 80B279B4 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
.L80B279B8:
/* 01308 80B279B8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0130C 80B279BC 5441000B */ bnel $v0, $at, .L80B279EC
/* 01310 80B279C0 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 01314 80B279C4 8E0B0190 */ lw $t3, 0x0190($s0) ## 00000190
/* 01318 80B279C8 3C0A80B2 */ lui $t2, %hi(func_80B27654) ## $t2 = 80B20000
/* 0131C 80B279CC 254A7654 */ addiu $t2, $t2, %lo(func_80B27654) ## $t2 = 80B27654
/* 01320 80B279D0 514B0037 */ beql $t2, $t3, .L80B27AB0
/* 01324 80B279D4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01328 80B279D8 0C2C9B55 */ jal func_80B26D54
/* 0132C 80B279DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01330 80B279E0 10000033 */ beq $zero, $zero, .L80B27AB0
/* 01334 80B279E4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01338 80B279E8 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
.L80B279EC:
/* 0133C 80B279EC 54410017 */ bnel $v0, $at, .L80B27A4C
/* 01340 80B279F0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01344 80B279F4 8E0D0190 */ lw $t5, 0x0190($s0) ## 00000190
/* 01348 80B279F8 3C0C80B2 */ lui $t4, %hi(func_80B27654) ## $t4 = 80B20000
/* 0134C 80B279FC 258C7654 */ addiu $t4, $t4, %lo(func_80B27654) ## $t4 = 80B27654
/* 01350 80B27A00 118D000D */ beq $t4, $t5, .L80B27A38
/* 01354 80B27A04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01358 80B27A08 240E001E */ addiu $t6, $zero, 0x001E ## $t6 = 0000001E
/* 0135C 80B27A0C AFAE0010 */ sw $t6, 0x0010($sp)
/* 01360 80B27A10 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 01364 80B27A14 24060096 */ addiu $a2, $zero, 0x0096 ## $a2 = 00000096
/* 01368 80B27A18 0C00D09B */ jal Actor_SetColorFilter
/* 0136C 80B27A1C 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 01370 80B27A20 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 01374 80B27A24 A60F001C */ sh $t7, 0x001C($s0) ## 0000001C
/* 01378 80B27A28 0C2C9AC6 */ jal func_80B26B18
/* 0137C 80B27A2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01380 80B27A30 1000001F */ beq $zero, $zero, .L80B27AB0
/* 01384 80B27A34 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B27A38:
/* 01388 80B27A38 0C2C9AD3 */ jal func_80B26B4C
/* 0138C 80B27A3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01390 80B27A40 1000001B */ beq $zero, $zero, .L80B27AB0
/* 01394 80B27A44 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01398 80B27A48 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
.L80B27A4C:
/* 0139C 80B27A4C 54410006 */ bnel $v0, $at, .L80B27A68
/* 013A0 80B27A50 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 013A4 80B27A54 0C2C9AFE */ jal func_80B26BF8
/* 013A8 80B27A58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013AC 80B27A5C 10000014 */ beq $zero, $zero, .L80B27AB0
/* 013B0 80B27A60 8FBF0024 */ lw $ra, 0x0024($sp)
/* 013B4 80B27A64 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
.L80B27A68:
/* 013B8 80B27A68 54410006 */ bnel $v0, $at, .L80B27A84
/* 013BC 80B27A6C 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
/* 013C0 80B27A70 0C2C9B78 */ jal func_80B26DE0
/* 013C4 80B27A74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013C8 80B27A78 1000000D */ beq $zero, $zero, .L80B27AB0
/* 013CC 80B27A7C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 013D0 80B27A80 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
.L80B27A84:
/* 013D4 80B27A84 14410007 */ bne $v0, $at, .L80B27AA4
/* 013D8 80B27A88 00000000 */ nop
/* 013DC 80B27A8C 92180195 */ lbu $t8, 0x0195($s0) ## 00000195
/* 013E0 80B27A90 24190014 */ addiu $t9, $zero, 0x0014 ## $t9 = 00000014
/* 013E4 80B27A94 57000006 */ bnel $t8, $zero, .L80B27AB0
/* 013E8 80B27A98 8FBF0024 */ lw $ra, 0x0024($sp)
/* 013EC 80B27A9C 10000003 */ beq $zero, $zero, .L80B27AAC
/* 013F0 80B27AA0 A2190195 */ sb $t9, 0x0195($s0) ## 00000195
.L80B27AA4:
/* 013F4 80B27AA4 0C2C9AD3 */ jal func_80B26B4C
/* 013F8 80B27AA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B27AAC:
/* 013FC 80B27AAC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B27AB0:
/* 01400 80B27AB0 8FB00020 */ lw $s0, 0x0020($sp)
/* 01404 80B27AB4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01408 80B27AB8 03E00008 */ jr $ra
/* 0140C 80B27ABC 00000000 */ nop

View file

@ -1,179 +0,0 @@
.late_rodata
glabel D_80B28A74
.word 0x3EA0D97C
glabel D_80B28A78
.float 0.2
glabel D_80B28A7C
.word 0x3EA0D97C
glabel D_80B28A80
.word 0x3E75C28F
glabel D_80B28A84
.word 0x3E051EB8
glabel D_80B28A88
.word 0x3D80ADFD
glabel D_80B28A8C
.word 0x3E75C28F
glabel D_80B28A90
.word 0x3E051EB8
glabel D_80B28A94
.word 0x3EA0D97C
glabel D_80B28A98
.float 0.08
glabel D_80B28A9C
.word 0x3DA0D97C
glabel D_80B28AA0
.float 0.2
.text
glabel func_80B27C1C
/* 0156C 80B27C1C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01570 80B27C20 AFBF001C */ sw $ra, 0x001C($sp)
/* 01574 80B27C24 AFB00018 */ sw $s0, 0x0018($sp)
/* 01578 80B27C28 8C820190 */ lw $v0, 0x0190($a0) ## 00000190
/* 0157C 80B27C2C 3C0E80B2 */ lui $t6, %hi(func_80B27318) ## $t6 = 80B20000
/* 01580 80B27C30 44857000 */ mtc1 $a1, $f14 ## $f14 = 0.00
/* 01584 80B27C34 25CE7318 */ addiu $t6, $t6, %lo(func_80B27318) ## $t6 = 80B27318
/* 01588 80B27C38 15C20021 */ bne $t6, $v0, .L80B27CC0
/* 0158C 80B27C3C 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000
/* 01590 80B27C40 24030014 */ addiu $v1, $zero, 0x0014 ## $v1 = 00000014
/* 01594 80B27C44 908F0194 */ lbu $t7, 0x0194($a0) ## 00000194
/* 01598 80B27C48 01E3001A */ div $zero, $t7, $v1
/* 0159C 80B27C4C 14600002 */ bne $v1, $zero, .L80B27C58
/* 015A0 80B27C50 00000000 */ nop
/* 015A4 80B27C54 0007000D */ break 7
.L80B27C58:
/* 015A8 80B27C58 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 015AC 80B27C5C 14610004 */ bne $v1, $at, .L80B27C70
/* 015B0 80B27C60 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 015B4 80B27C64 15E10002 */ bne $t7, $at, .L80B27C70
/* 015B8 80B27C68 00000000 */ nop
/* 015BC 80B27C6C 0006000D */ break 6
.L80B27C70:
/* 015C0 80B27C70 0000C010 */ mfhi $t8
/* 015C4 80B27C74 00781023 */ subu $v0, $v1, $t8
/* 015C8 80B27C78 2841000A */ slti $at, $v0, 0x000A
/* 015CC 80B27C7C 54200003 */ bnel $at, $zero, .L80B27C8C
/* 015D0 80B27C80 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 015D4 80B27C84 2442FFF6 */ addiu $v0, $v0, 0xFFF6 ## $v0 = FFFFFFF6
/* 015D8 80B27C88 44822000 */ mtc1 $v0, $f4 ## $f4 = NaN
.L80B27C8C:
/* 015DC 80B27C8C 3C0180B3 */ lui $at, %hi(D_80B28A74) ## $at = 80B30000
/* 015E0 80B27C90 C4288A74 */ lwc1 $f8, %lo(D_80B28A74)($at)
/* 015E4 80B27C94 468021A0 */ cvt.s.w $f6, $f4
/* 015E8 80B27C98 46083302 */ mul.s $f12, $f6, $f8
/* 015EC 80B27C9C 0C0400A4 */ jal sinf
/* 015F0 80B27CA0 00000000 */ nop
/* 015F4 80B27CA4 3C0180B3 */ lui $at, %hi(D_80B28A78) ## $at = 80B30000
/* 015F8 80B27CA8 C4308A78 */ lwc1 $f16, %lo(D_80B28A78)($at)
/* 015FC 80B27CAC C60A0004 */ lwc1 $f10, 0x0004($s0) ## 00000004
/* 01600 80B27CB0 46008482 */ mul.s $f18, $f16, $f0
/* 01604 80B27CB4 46125101 */ sub.s $f4, $f10, $f18
/* 01608 80B27CB8 1000005A */ beq $zero, $zero, .L80B27E24
/* 0160C 80B27CBC E6040004 */ swc1 $f4, 0x0004($s0) ## 00000004
.L80B27CC0:
/* 01610 80B27CC0 3C1980B2 */ lui $t9, %hi(func_80B273D0) ## $t9 = 80B20000
/* 01614 80B27CC4 273973D0 */ addiu $t9, $t9, %lo(func_80B273D0) ## $t9 = 80B273D0
/* 01618 80B27CC8 17220015 */ bne $t9, $v0, .L80B27D20
/* 0161C 80B27CCC 3C0880B2 */ lui $t0, %hi(func_80B2742C) ## $t0 = 80B20000
/* 01620 80B27CD0 3C0180B3 */ lui $at, %hi(D_80B28A7C) ## $at = 80B30000
/* 01624 80B27CD4 C4268A7C */ lwc1 $f6, %lo(D_80B28A7C)($at)
/* 01628 80B27CD8 460E3302 */ mul.s $f12, $f6, $f14
/* 0162C 80B27CDC 0C0400A4 */ jal sinf
/* 01630 80B27CE0 00000000 */ nop
/* 01634 80B27CE4 3C0180B3 */ lui $at, %hi(D_80B28A80) ## $at = 80B30000
/* 01638 80B27CE8 C4308A80 */ lwc1 $f16, %lo(D_80B28A80)($at)
/* 0163C 80B27CEC C6080004 */ lwc1 $f8, 0x0004($s0) ## 00000004
/* 01640 80B27CF0 3C0180B3 */ lui $at, %hi(D_80B28A84) ## $at = 80B30000
/* 01644 80B27CF4 46008282 */ mul.s $f10, $f16, $f0
/* 01648 80B27CF8 C6040000 */ lwc1 $f4, 0x0000($s0) ## 00000000
/* 0164C 80B27CFC 460A4481 */ sub.s $f18, $f8, $f10
/* 01650 80B27D00 E6120004 */ swc1 $f18, 0x0004($s0) ## 00000004
/* 01654 80B27D04 C4268A84 */ lwc1 $f6, %lo(D_80B28A84)($at)
/* 01658 80B27D08 46003402 */ mul.s $f16, $f6, $f0
/* 0165C 80B27D0C 46102201 */ sub.s $f8, $f4, $f16
/* 01660 80B27D10 E6080000 */ swc1 $f8, 0x0000($s0) ## 00000000
/* 01664 80B27D14 C60A0000 */ lwc1 $f10, 0x0000($s0) ## 00000000
/* 01668 80B27D18 10000042 */ beq $zero, $zero, .L80B27E24
/* 0166C 80B27D1C E60A0008 */ swc1 $f10, 0x0008($s0) ## 00000008
.L80B27D20:
/* 01670 80B27D20 2508742C */ addiu $t0, $t0, %lo(func_80B2742C) ## $t0 = 0000742C
/* 01674 80B27D24 15020015 */ bne $t0, $v0, .L80B27D7C
/* 01678 80B27D28 3C0980B2 */ lui $t1, %hi(func_80B27654) ## $t1 = 80B20000
/* 0167C 80B27D2C 3C0180B3 */ lui $at, %hi(D_80B28A88) ## $at = 80B30000
/* 01680 80B27D30 C4328A88 */ lwc1 $f18, %lo(D_80B28A88)($at)
/* 01684 80B27D34 460E9302 */ mul.s $f12, $f18, $f14
/* 01688 80B27D38 0C041184 */ jal cosf
/* 0168C 80B27D3C 00000000 */ nop
/* 01690 80B27D40 3C0180B3 */ lui $at, %hi(D_80B28A8C) ## $at = 80B30000
/* 01694 80B27D44 C4248A8C */ lwc1 $f4, %lo(D_80B28A8C)($at)
/* 01698 80B27D48 C6060004 */ lwc1 $f6, 0x0004($s0) ## 00000004
/* 0169C 80B27D4C 3C0180B3 */ lui $at, %hi(D_80B28A90) ## $at = 80B30000
/* 016A0 80B27D50 46002402 */ mul.s $f16, $f4, $f0
/* 016A4 80B27D54 C60A0000 */ lwc1 $f10, 0x0000($s0) ## 00000000
/* 016A8 80B27D58 46103201 */ sub.s $f8, $f6, $f16
/* 016AC 80B27D5C E6080004 */ swc1 $f8, 0x0004($s0) ## 00000004
/* 016B0 80B27D60 C4328A90 */ lwc1 $f18, %lo(D_80B28A90)($at)
/* 016B4 80B27D64 46009102 */ mul.s $f4, $f18, $f0
/* 016B8 80B27D68 46045181 */ sub.s $f6, $f10, $f4
/* 016BC 80B27D6C E6060000 */ swc1 $f6, 0x0000($s0) ## 00000000
/* 016C0 80B27D70 C6100000 */ lwc1 $f16, 0x0000($s0) ## 00000000
/* 016C4 80B27D74 1000002B */ beq $zero, $zero, .L80B27E24
/* 016C8 80B27D78 E6100008 */ swc1 $f16, 0x0008($s0) ## 00000008
.L80B27D7C:
/* 016CC 80B27D7C 25297654 */ addiu $t1, $t1, %lo(func_80B27654) ## $t1 = 00007654
/* 016D0 80B27D80 15220017 */ bne $t1, $v0, .L80B27DE0
/* 016D4 80B27D84 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 016D8 80B27D88 848A0196 */ lh $t2, 0x0196($a0) ## 00000196
/* 016DC 80B27D8C 3C0180B3 */ lui $at, %hi(D_80B28A94) ## $at = 80B30000
/* 016E0 80B27D90 C42A8A94 */ lwc1 $f10, %lo(D_80B28A94)($at)
/* 016E4 80B27D94 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
/* 016E8 80B27D98 00000000 */ nop
/* 016EC 80B27D9C 468044A0 */ cvt.s.w $f18, $f8
/* 016F0 80B27DA0 460A9302 */ mul.s $f12, $f18, $f10
/* 016F4 80B27DA4 0C0400A4 */ jal sinf
/* 016F8 80B27DA8 00000000 */ nop
/* 016FC 80B27DAC 3C0180B3 */ lui $at, %hi(D_80B28A98) ## $at = 80B30000
/* 01700 80B27DB0 C4248A98 */ lwc1 $f4, %lo(D_80B28A98)($at)
/* 01704 80B27DB4 C6060000 */ lwc1 $f6, 0x0000($s0) ## 00000000
/* 01708 80B27DB8 C6080004 */ lwc1 $f8, 0x0004($s0) ## 00000004
/* 0170C 80B27DBC 46040082 */ mul.s $f2, $f0, $f4
/* 01710 80B27DC0 C60A0008 */ lwc1 $f10, 0x0008($s0) ## 00000008
/* 01714 80B27DC4 46023400 */ add.s $f16, $f6, $f2
/* 01718 80B27DC8 46024481 */ sub.s $f18, $f8, $f2
/* 0171C 80B27DCC E6100000 */ swc1 $f16, 0x0000($s0) ## 00000000
/* 01720 80B27DD0 46025100 */ add.s $f4, $f10, $f2
/* 01724 80B27DD4 E6120004 */ swc1 $f18, 0x0004($s0) ## 00000004
/* 01728 80B27DD8 10000012 */ beq $zero, $zero, .L80B27E24
/* 0172C 80B27DDC E6040008 */ swc1 $f4, 0x0008($s0) ## 00000008
.L80B27DE0:
/* 01730 80B27DE0 44810000 */ mtc1 $at, $f0 ## $f0 = -0.00
/* 01734 80B27DE4 3C0180B3 */ lui $at, %hi(D_80B28A9C) ## $at = 80B30000
/* 01738 80B27DE8 460E003E */ c.le.s $f0, $f14
/* 0173C 80B27DEC 00000000 */ nop
/* 01740 80B27DF0 45000002 */ bc1f .L80B27DFC
/* 01744 80B27DF4 00000000 */ nop
/* 01748 80B27DF8 46007381 */ sub.s $f14, $f14, $f0
.L80B27DFC:
/* 0174C 80B27DFC C4268A9C */ lwc1 $f6, %lo(D_80B28A9C)($at)
/* 01750 80B27E00 460E3302 */ mul.s $f12, $f6, $f14
/* 01754 80B27E04 0C0400A4 */ jal sinf
/* 01758 80B27E08 00000000 */ nop
/* 0175C 80B27E0C 3C0180B3 */ lui $at, %hi(D_80B28AA0) ## $at = 80B30000
/* 01760 80B27E10 C4288AA0 */ lwc1 $f8, %lo(D_80B28AA0)($at)
/* 01764 80B27E14 C6100004 */ lwc1 $f16, 0x0004($s0) ## 00000004
/* 01768 80B27E18 46004482 */ mul.s $f18, $f8, $f0
/* 0176C 80B27E1C 46128281 */ sub.s $f10, $f16, $f18
/* 01770 80B27E20 E60A0004 */ swc1 $f10, 0x0004($s0) ## 00000004
.L80B27E24:
/* 01774 80B27E24 8FBF001C */ lw $ra, 0x001C($sp)
/* 01778 80B27E28 8FB00018 */ lw $s0, 0x0018($sp)
/* 0177C 80B27E2C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01780 80B27E30 03E00008 */ jr $ra
/* 01784 80B27E34 00000000 */ nop

View file

@ -1,180 +0,0 @@
.late_rodata
glabel D_80B28AA4
.word 0x3EA0D97C
glabel D_80B28AA8
.word 0x3E051EB8
glabel D_80B28AAC
.word 0x3EA0D97C
glabel D_80B28AB0
.word 0x3E3851EC
glabel D_80B28AB4
.float 0.1
glabel D_80B28AB8
.word 0x3D80ADFD
glabel D_80B28ABC
.word 0x3E3851EC
glabel D_80B28AC0
.float 0.1
glabel D_80B28AC4
.word 0x3EA0D97C
glabel D_80B28AC8
.float 0.08
glabel D_80B28ACC
.word 0x3DA0D97C
glabel D_80B28AD0
.word 0x3E051EB8
.text
glabel func_80B27E38
/* 01788 80B27E38 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 0178C 80B27E3C AFBF001C */ sw $ra, 0x001C($sp)
/* 01790 80B27E40 AFB00018 */ sw $s0, 0x0018($sp)
/* 01794 80B27E44 8C820190 */ lw $v0, 0x0190($a0) ## 00000190
/* 01798 80B27E48 3C0E80B2 */ lui $t6, %hi(func_80B27318) ## $t6 = 80B20000
/* 0179C 80B27E4C 44857000 */ mtc1 $a1, $f14 ## $f14 = 0.00
/* 017A0 80B27E50 25CE7318 */ addiu $t6, $t6, %lo(func_80B27318) ## $t6 = 80B27318
/* 017A4 80B27E54 15C20021 */ bne $t6, $v0, .L80B27EDC
/* 017A8 80B27E58 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000
/* 017AC 80B27E5C 24030014 */ addiu $v1, $zero, 0x0014 ## $v1 = 00000014
/* 017B0 80B27E60 908F0194 */ lbu $t7, 0x0194($a0) ## 00000194
/* 017B4 80B27E64 01E3001A */ div $zero, $t7, $v1
/* 017B8 80B27E68 14600002 */ bne $v1, $zero, .L80B27E74
/* 017BC 80B27E6C 00000000 */ nop
/* 017C0 80B27E70 0007000D */ break 7
.L80B27E74:
/* 017C4 80B27E74 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 017C8 80B27E78 14610004 */ bne $v1, $at, .L80B27E8C
/* 017CC 80B27E7C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 017D0 80B27E80 15E10002 */ bne $t7, $at, .L80B27E8C
/* 017D4 80B27E84 00000000 */ nop
/* 017D8 80B27E88 0006000D */ break 6
.L80B27E8C:
/* 017DC 80B27E8C 0000C010 */ mfhi $t8
/* 017E0 80B27E90 00781023 */ subu $v0, $v1, $t8
/* 017E4 80B27E94 2841000A */ slti $at, $v0, 0x000A
/* 017E8 80B27E98 54200003 */ bnel $at, $zero, .L80B27EA8
/* 017EC 80B27E9C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 017F0 80B27EA0 2442FFF6 */ addiu $v0, $v0, 0xFFF6 ## $v0 = FFFFFFF6
/* 017F4 80B27EA4 44822000 */ mtc1 $v0, $f4 ## $f4 = NaN
.L80B27EA8:
/* 017F8 80B27EA8 3C0180B3 */ lui $at, %hi(D_80B28AA4) ## $at = 80B30000
/* 017FC 80B27EAC C4288AA4 */ lwc1 $f8, %lo(D_80B28AA4)($at)
/* 01800 80B27EB0 468021A0 */ cvt.s.w $f6, $f4
/* 01804 80B27EB4 46083302 */ mul.s $f12, $f6, $f8
/* 01808 80B27EB8 0C0400A4 */ jal sinf
/* 0180C 80B27EBC 00000000 */ nop
/* 01810 80B27EC0 3C0180B3 */ lui $at, %hi(D_80B28AA8) ## $at = 80B30000
/* 01814 80B27EC4 C4308AA8 */ lwc1 $f16, %lo(D_80B28AA8)($at)
/* 01818 80B27EC8 C60A0004 */ lwc1 $f10, 0x0004($s0) ## 00000004
/* 0181C 80B27ECC 46008482 */ mul.s $f18, $f16, $f0
/* 01820 80B27ED0 46125101 */ sub.s $f4, $f10, $f18
/* 01824 80B27ED4 1000005A */ beq $zero, $zero, .L80B28040
/* 01828 80B27ED8 E6040004 */ swc1 $f4, 0x0004($s0) ## 00000004
.L80B27EDC:
/* 0182C 80B27EDC 3C1980B2 */ lui $t9, %hi(func_80B273D0) ## $t9 = 80B20000
/* 01830 80B27EE0 273973D0 */ addiu $t9, $t9, %lo(func_80B273D0) ## $t9 = 80B273D0
/* 01834 80B27EE4 17220015 */ bne $t9, $v0, .L80B27F3C
/* 01838 80B27EE8 3C0880B2 */ lui $t0, %hi(func_80B2742C) ## $t0 = 80B20000
/* 0183C 80B27EEC 3C0180B3 */ lui $at, %hi(D_80B28AAC) ## $at = 80B30000
/* 01840 80B27EF0 C4268AAC */ lwc1 $f6, %lo(D_80B28AAC)($at)
/* 01844 80B27EF4 460E3302 */ mul.s $f12, $f6, $f14
/* 01848 80B27EF8 0C0400A4 */ jal sinf
/* 0184C 80B27EFC 00000000 */ nop
/* 01850 80B27F00 3C0180B3 */ lui $at, %hi(D_80B28AB0) ## $at = 80B30000
/* 01854 80B27F04 C4308AB0 */ lwc1 $f16, %lo(D_80B28AB0)($at)
/* 01858 80B27F08 C6080004 */ lwc1 $f8, 0x0004($s0) ## 00000004
/* 0185C 80B27F0C 3C0180B3 */ lui $at, %hi(D_80B28AB4) ## $at = 80B30000
/* 01860 80B27F10 46008282 */ mul.s $f10, $f16, $f0
/* 01864 80B27F14 C6040000 */ lwc1 $f4, 0x0000($s0) ## 00000000
/* 01868 80B27F18 460A4481 */ sub.s $f18, $f8, $f10
/* 0186C 80B27F1C E6120004 */ swc1 $f18, 0x0004($s0) ## 00000004
/* 01870 80B27F20 C4268AB4 */ lwc1 $f6, %lo(D_80B28AB4)($at)
/* 01874 80B27F24 46003402 */ mul.s $f16, $f6, $f0
/* 01878 80B27F28 46102201 */ sub.s $f8, $f4, $f16
/* 0187C 80B27F2C E6080000 */ swc1 $f8, 0x0000($s0) ## 00000000
/* 01880 80B27F30 C60A0000 */ lwc1 $f10, 0x0000($s0) ## 00000000
/* 01884 80B27F34 10000042 */ beq $zero, $zero, .L80B28040
/* 01888 80B27F38 E60A0008 */ swc1 $f10, 0x0008($s0) ## 00000008
.L80B27F3C:
/* 0188C 80B27F3C 2508742C */ addiu $t0, $t0, %lo(func_80B2742C) ## $t0 = 0000742C
/* 01890 80B27F40 15020015 */ bne $t0, $v0, .L80B27F98
/* 01894 80B27F44 3C0980B2 */ lui $t1, %hi(func_80B27654) ## $t1 = 80B20000
/* 01898 80B27F48 3C0180B3 */ lui $at, %hi(D_80B28AB8) ## $at = 80B30000
/* 0189C 80B27F4C C4328AB8 */ lwc1 $f18, %lo(D_80B28AB8)($at)
/* 018A0 80B27F50 460E9302 */ mul.s $f12, $f18, $f14
/* 018A4 80B27F54 0C041184 */ jal cosf
/* 018A8 80B27F58 00000000 */ nop
/* 018AC 80B27F5C 3C0180B3 */ lui $at, %hi(D_80B28ABC) ## $at = 80B30000
/* 018B0 80B27F60 C4248ABC */ lwc1 $f4, %lo(D_80B28ABC)($at)
/* 018B4 80B27F64 C6060004 */ lwc1 $f6, 0x0004($s0) ## 00000004
/* 018B8 80B27F68 3C0180B3 */ lui $at, %hi(D_80B28AC0) ## $at = 80B30000
/* 018BC 80B27F6C 46002402 */ mul.s $f16, $f4, $f0
/* 018C0 80B27F70 C60A0000 */ lwc1 $f10, 0x0000($s0) ## 00000000
/* 018C4 80B27F74 46103201 */ sub.s $f8, $f6, $f16
/* 018C8 80B27F78 E6080004 */ swc1 $f8, 0x0004($s0) ## 00000004
/* 018CC 80B27F7C C4328AC0 */ lwc1 $f18, %lo(D_80B28AC0)($at)
/* 018D0 80B27F80 46009102 */ mul.s $f4, $f18, $f0
/* 018D4 80B27F84 46045181 */ sub.s $f6, $f10, $f4
/* 018D8 80B27F88 E6060000 */ swc1 $f6, 0x0000($s0) ## 00000000
/* 018DC 80B27F8C C6100000 */ lwc1 $f16, 0x0000($s0) ## 00000000
/* 018E0 80B27F90 1000002B */ beq $zero, $zero, .L80B28040
/* 018E4 80B27F94 E6100008 */ swc1 $f16, 0x0008($s0) ## 00000008
.L80B27F98:
/* 018E8 80B27F98 25297654 */ addiu $t1, $t1, %lo(func_80B27654) ## $t1 = 00007654
/* 018EC 80B27F9C 15220017 */ bne $t1, $v0, .L80B27FFC
/* 018F0 80B27FA0 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 018F4 80B27FA4 848A0196 */ lh $t2, 0x0196($a0) ## 00000196
/* 018F8 80B27FA8 3C0180B3 */ lui $at, %hi(D_80B28AC4) ## $at = 80B30000
/* 018FC 80B27FAC C42A8AC4 */ lwc1 $f10, %lo(D_80B28AC4)($at)
/* 01900 80B27FB0 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
/* 01904 80B27FB4 00000000 */ nop
/* 01908 80B27FB8 468044A0 */ cvt.s.w $f18, $f8
/* 0190C 80B27FBC 460A9302 */ mul.s $f12, $f18, $f10
/* 01910 80B27FC0 0C0400A4 */ jal sinf
/* 01914 80B27FC4 00000000 */ nop
/* 01918 80B27FC8 3C0180B3 */ lui $at, %hi(D_80B28AC8) ## $at = 80B30000
/* 0191C 80B27FCC C4248AC8 */ lwc1 $f4, %lo(D_80B28AC8)($at)
/* 01920 80B27FD0 C6060000 */ lwc1 $f6, 0x0000($s0) ## 00000000
/* 01924 80B27FD4 C6080004 */ lwc1 $f8, 0x0004($s0) ## 00000004
/* 01928 80B27FD8 46040082 */ mul.s $f2, $f0, $f4
/* 0192C 80B27FDC C60A0008 */ lwc1 $f10, 0x0008($s0) ## 00000008
/* 01930 80B27FE0 46023401 */ sub.s $f16, $f6, $f2
/* 01934 80B27FE4 46024480 */ add.s $f18, $f8, $f2
/* 01938 80B27FE8 E6100000 */ swc1 $f16, 0x0000($s0) ## 00000000
/* 0193C 80B27FEC 46025101 */ sub.s $f4, $f10, $f2
/* 01940 80B27FF0 E6120004 */ swc1 $f18, 0x0004($s0) ## 00000004
/* 01944 80B27FF4 10000012 */ beq $zero, $zero, .L80B28040
/* 01948 80B27FF8 E6040008 */ swc1 $f4, 0x0008($s0) ## 00000008
.L80B27FFC:
/* 0194C 80B27FFC 44810000 */ mtc1 $at, $f0 ## $f0 = -0.00
/* 01950 80B28000 3C0180B3 */ lui $at, %hi(D_80B28ACC) ## $at = 80B30000
/* 01954 80B28004 460E003E */ c.le.s $f0, $f14
/* 01958 80B28008 00000000 */ nop
/* 0195C 80B2800C 45000002 */ bc1f .L80B28018
/* 01960 80B28010 00000000 */ nop
/* 01964 80B28014 46007381 */ sub.s $f14, $f14, $f0
.L80B28018:
/* 01968 80B28018 C4268ACC */ lwc1 $f6, %lo(D_80B28ACC)($at)
/* 0196C 80B2801C 460E3302 */ mul.s $f12, $f6, $f14
/* 01970 80B28020 0C0400A4 */ jal sinf
/* 01974 80B28024 00000000 */ nop
/* 01978 80B28028 3C0180B3 */ lui $at, %hi(D_80B28AD0) ## $at = 80B30000
/* 0197C 80B2802C C4288AD0 */ lwc1 $f8, %lo(D_80B28AD0)($at)
/* 01980 80B28030 C6100004 */ lwc1 $f16, 0x0004($s0) ## 00000004
/* 01984 80B28034 46004482 */ mul.s $f18, $f8, $f0
/* 01988 80B28038 46128281 */ sub.s $f10, $f16, $f18
/* 0198C 80B2803C E60A0004 */ swc1 $f10, 0x0004($s0) ## 00000004
.L80B28040:
/* 01990 80B28040 8FBF001C */ lw $ra, 0x001C($sp)
/* 01994 80B28044 8FB00018 */ lw $s0, 0x0018($sp)
/* 01998 80B28048 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 0199C 80B2804C 03E00008 */ jr $ra
/* 019A0 80B28050 00000000 */ nop

View file

@ -1,134 +0,0 @@
.late_rodata
glabel D_80B28AD4
.float 0.05
glabel D_80B28AD8
.float 0.05
glabel D_80B28ADC
.word 0x3EA0D97C
glabel D_80B28AE0
.word 0x3EB33333
glabel D_80B28AE4
.word 0x3D80ADFD
glabel D_80B28AE8
.word 0x3EB33333
.text
glabel func_80B28054
/* 019A4 80B28054 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 019A8 80B28058 AFBF0014 */ sw $ra, 0x0014($sp)
/* 019AC 80B2805C AFA40018 */ sw $a0, 0x0018($sp)
/* 019B0 80B28060 8C820190 */ lw $v0, 0x0190($a0) ## 00000190
/* 019B4 80B28064 3C0F80B2 */ lui $t7, %hi(func_80B2716C) ## $t7 = 80B20000
/* 019B8 80B28068 44857000 */ mtc1 $a1, $f14 ## $f14 = 0.00
/* 019BC 80B2806C 25EF716C */ addiu $t7, $t7, %lo(func_80B2716C) ## $t7 = 80B2716C
/* 019C0 80B28070 15E20022 */ bne $t7, $v0, .L80B280FC
/* 019C4 80B28074 3C1880B2 */ lui $t8, %hi(func_80B273D0) ## $t8 = 80B20000
/* 019C8 80B28078 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 019CC 80B2807C 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 019D0 80B28080 3C01428C */ lui $at, 0x428C ## $at = 428C0000
/* 019D4 80B28084 4604703E */ c.le.s $f14, $f4
/* 019D8 80B28088 00000000 */ nop
/* 019DC 80B2808C 45020009 */ bc1fl .L80B280B4
/* 019E0 80B28090 44818000 */ mtc1 $at, $f16 ## $f16 = 70.00
/* 019E4 80B28094 3C0180B3 */ lui $at, %hi(D_80B28AD4) ## $at = 80B30000
/* 019E8 80B28098 C4268AD4 */ lwc1 $f6, %lo(D_80B28AD4)($at)
/* 019EC 80B2809C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 019F0 80B280A0 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 019F4 80B280A4 46067202 */ mul.s $f8, $f14, $f6
/* 019F8 80B280A8 1000003D */ beq $zero, $zero, .L80B281A0
/* 019FC 80B280AC 460A4080 */ add.s $f2, $f8, $f10
/* 01A00 80B280B0 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
.L80B280B4:
/* 01A04 80B280B4 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 01A08 80B280B8 460E803C */ c.lt.s $f16, $f14
/* 01A0C 80B280BC 00000000 */ nop
/* 01A10 80B280C0 4502000C */ bc1fl .L80B280F4
/* 01A14 80B280C4 44811000 */ mtc1 $at, $f2 ## $f2 = 1.50
/* 01A18 80B280C8 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
/* 01A1C 80B280CC 44819000 */ mtc1 $at, $f18 ## $f18 = 80.00
/* 01A20 80B280D0 3C0180B3 */ lui $at, %hi(D_80B28AD8) ## $at = 80B30000
/* 01A24 80B280D4 C4268AD8 */ lwc1 $f6, %lo(D_80B28AD8)($at)
/* 01A28 80B280D8 460E9101 */ sub.s $f4, $f18, $f14
/* 01A2C 80B280DC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01A30 80B280E0 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 01A34 80B280E4 46062202 */ mul.s $f8, $f4, $f6
/* 01A38 80B280E8 1000002D */ beq $zero, $zero, .L80B281A0
/* 01A3C 80B280EC 460A4080 */ add.s $f2, $f8, $f10
/* 01A40 80B280F0 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
.L80B280F4:
/* 01A44 80B280F4 1000002B */ beq $zero, $zero, .L80B281A4
/* 01A48 80B280F8 8FA40018 */ lw $a0, 0x0018($sp)
.L80B280FC:
/* 01A4C 80B280FC 271873D0 */ addiu $t8, $t8, %lo(func_80B273D0) ## $t8 = 80B273D0
/* 01A50 80B28100 1702000D */ bne $t8, $v0, .L80B28138
/* 01A54 80B28104 3C1980B2 */ lui $t9, %hi(func_80B2742C) ## $t9 = 80B20000
/* 01A58 80B28108 3C0180B3 */ lui $at, %hi(D_80B28ADC) ## $at = 80B30000
/* 01A5C 80B2810C C4308ADC */ lwc1 $f16, %lo(D_80B28ADC)($at)
/* 01A60 80B28110 460E8302 */ mul.s $f12, $f16, $f14
/* 01A64 80B28114 0C0400A4 */ jal sinf
/* 01A68 80B28118 00000000 */ nop
/* 01A6C 80B2811C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01A70 80B28120 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
/* 01A74 80B28124 3C0180B3 */ lui $at, %hi(D_80B28AE0) ## $at = 80B30000
/* 01A78 80B28128 C4248AE0 */ lwc1 $f4, %lo(D_80B28AE0)($at)
/* 01A7C 80B2812C 46040182 */ mul.s $f6, $f0, $f4
/* 01A80 80B28130 1000001B */ beq $zero, $zero, .L80B281A0
/* 01A84 80B28134 46069081 */ sub.s $f2, $f18, $f6
.L80B28138:
/* 01A88 80B28138 2739742C */ addiu $t9, $t9, %lo(func_80B2742C) ## $t9 = 0000742C
/* 01A8C 80B2813C 1722000D */ bne $t9, $v0, .L80B28174
/* 01A90 80B28140 3C0880B2 */ lui $t0, %hi(func_80B27318) ## $t0 = 80B20000
/* 01A94 80B28144 3C0180B3 */ lui $at, %hi(D_80B28AE4) ## $at = 80B30000
/* 01A98 80B28148 C4288AE4 */ lwc1 $f8, %lo(D_80B28AE4)($at)
/* 01A9C 80B2814C 460E4302 */ mul.s $f12, $f8, $f14
/* 01AA0 80B28150 0C041184 */ jal cosf
/* 01AA4 80B28154 00000000 */ nop
/* 01AA8 80B28158 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01AAC 80B2815C 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 01AB0 80B28160 3C0180B3 */ lui $at, %hi(D_80B28AE8) ## $at = 80B30000
/* 01AB4 80B28164 C4308AE8 */ lwc1 $f16, %lo(D_80B28AE8)($at)
/* 01AB8 80B28168 46100102 */ mul.s $f4, $f0, $f16
/* 01ABC 80B2816C 1000000C */ beq $zero, $zero, .L80B281A0
/* 01AC0 80B28170 46045081 */ sub.s $f2, $f10, $f4
.L80B28174:
/* 01AC4 80B28174 25087318 */ addiu $t0, $t0, %lo(func_80B27318) ## $t0 = 00007318
/* 01AC8 80B28178 11020004 */ beq $t0, $v0, .L80B2818C
/* 01ACC 80B2817C 3C0980B2 */ lui $t1, %hi(func_80B27710) ## $t1 = 80B20000
/* 01AD0 80B28180 25297710 */ addiu $t1, $t1, %lo(func_80B27710) ## $t1 = 80B27710
/* 01AD4 80B28184 15220004 */ bne $t1, $v0, .L80B28198
/* 01AD8 80B28188 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L80B2818C:
/* 01ADC 80B2818C 8FAA0018 */ lw $t2, 0x0018($sp)
/* 01AE0 80B28190 10000003 */ beq $zero, $zero, .L80B281A0
/* 01AE4 80B28194 C54202F4 */ lwc1 $f2, 0x02F4($t2) ## 000002F4
.L80B28198:
/* 01AE8 80B28198 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 01AEC 80B2819C 00000000 */ nop
.L80B281A0:
/* 01AF0 80B281A0 8FA40018 */ lw $a0, 0x0018($sp)
.L80B281A4:
/* 01AF4 80B281A4 44051000 */ mfc1 $a1, $f2
/* 01AF8 80B281A8 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 01AFC 80B281AC 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 01B00 80B281B0 0C01DE80 */ jal Math_StepToF
/* 01B04 80B281B4 248402F4 */ addiu $a0, $a0, 0x02F4 ## $a0 = 000002F4
/* 01B08 80B281B8 8FAB0018 */ lw $t3, 0x0018($sp)
/* 01B0C 80B281BC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01B10 80B281C0 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
/* 01B14 80B281C4 C56602F4 */ lwc1 $f6, 0x02F4($t3) ## 000002F4
/* 01B18 80B281C8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01B1C 80B281CC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 01B20 80B281D0 46069032 */ c.eq.s $f18, $f6
/* 01B24 80B281D4 00000000 */ nop
/* 01B28 80B281D8 45000003 */ bc1f .L80B281E8
/* 01B2C 80B281DC 00000000 */ nop
/* 01B30 80B281E0 10000001 */ beq $zero, $zero, .L80B281E8
/* 01B34 80B281E4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B281E8:
/* 01B38 80B281E8 03E00008 */ jr $ra
/* 01B3C 80B281EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000

View file

@ -1,42 +0,0 @@
glabel func_80B281F0
/* 01B40 80B281F0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01B44 80B281F4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01B48 80B281F8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01B4C 80B281FC AFA40018 */ sw $a0, 0x0018($sp)
/* 01B50 80B28200 10A10006 */ beq $a1, $at, .L80B2821C
/* 01B54 80B28204 AFA70024 */ sw $a3, 0x0024($sp)
/* 01B58 80B28208 2401001C */ addiu $at, $zero, 0x001C ## $at = 0000001C
/* 01B5C 80B2820C 10A10003 */ beq $a1, $at, .L80B2821C
/* 01B60 80B28210 2401001B */ addiu $at, $zero, 0x001B ## $at = 0000001B
/* 01B64 80B28214 14A10004 */ bne $a1, $at, .L80B28228
/* 01B68 80B28218 8FA4002C */ lw $a0, 0x002C($sp)
.L80B2821C:
/* 01B6C 80B2821C ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
/* 01B70 80B28220 10000013 */ beq $zero, $zero, .L80B28270
/* 01B74 80B28224 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B28228:
/* 01B78 80B28228 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
/* 01B7C 80B2822C 10A10004 */ beq $a1, $at, .L80B28240
/* 01B80 80B28230 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
/* 01B84 80B28234 24010012 */ addiu $at, $zero, 0x0012 ## $at = 00000012
/* 01B88 80B28238 54A1000D */ bnel $a1, $at, .L80B28270
/* 01B8C 80B2823C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B28240:
/* 01B90 80B28240 44050000 */ mfc1 $a1, $f0
/* 01B94 80B28244 0C2CA015 */ jal func_80B28054
/* 01B98 80B28248 00000000 */ nop
/* 01B9C 80B2824C 10400007 */ beq $v0, $zero, .L80B2826C
/* 01BA0 80B28250 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01BA4 80B28254 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00
/* 01BA8 80B28258 8FAE002C */ lw $t6, 0x002C($sp)
/* 01BAC 80B2825C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01BB0 80B28260 44067000 */ mfc1 $a2, $f14
/* 01BB4 80B28264 0C0342A3 */ jal Matrix_Scale
/* 01BB8 80B28268 C5CC02F4 */ lwc1 $f12, 0x02F4($t6) ## 000002F4
.L80B2826C:
/* 01BBC 80B2826C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B28270:
/* 01BC0 80B28270 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01BC4 80B28274 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01BC8 80B28278 03E00008 */ jr $ra
/* 01BCC 80B2827C 00000000 */ nop

View file

@ -1,54 +0,0 @@
glabel func_80B28280
/* 01BD0 80B28280 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 01BD4 80B28284 AFB00020 */ sw $s0, 0x0020($sp)
/* 01BD8 80B28288 8FB00058 */ lw $s0, 0x0058($sp)
/* 01BDC 80B2828C AFBF0024 */ sw $ra, 0x0024($sp)
/* 01BE0 80B28290 AFA40048 */ sw $a0, 0x0048($sp)
/* 01BE4 80B28294 AFA5004C */ sw $a1, 0x004C($sp)
/* 01BE8 80B28298 AFA60050 */ sw $a2, 0x0050($sp)
/* 01BEC 80B2829C AFA70054 */ sw $a3, 0x0054($sp)
/* 01BF0 80B282A0 8E0F0190 */ lw $t7, 0x0190($s0) ## 00000190
/* 01BF4 80B282A4 3C0E80B2 */ lui $t6, %hi(func_80B2716C) ## $t6 = 80B20000
/* 01BF8 80B282A8 25CE716C */ addiu $t6, $t6, %lo(func_80B2716C) ## $t6 = 80B2716C
/* 01BFC 80B282AC 15CF0020 */ bne $t6, $t7, .L80B28330
/* 01C00 80B282B0 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 01C04 80B282B4 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
/* 01C08 80B282B8 10A10003 */ beq $a1, $at, .L80B282C8
/* 01C0C 80B282BC 3C0480B3 */ lui $a0, %hi(D_80B28970) ## $a0 = 80B30000
/* 01C10 80B282C0 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
/* 01C14 80B282C4 14A1001A */ bne $a1, $at, .L80B28330
.L80B282C8:
/* 01C18 80B282C8 24848970 */ addiu $a0, $a0, %lo(D_80B28970) ## $a0 = 80B28970
/* 01C1C 80B282CC 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFF4
/* 01C20 80B282D0 0C0346BD */ jal Matrix_MultVec3f
/* 01C24 80B282D4 AFA6004C */ sw $a2, 0x004C($sp)
/* 01C28 80B282D8 3C0480B3 */ lui $a0, %hi(D_80B2897C) ## $a0 = 80B30000
/* 01C2C 80B282DC 2484897C */ addiu $a0, $a0, %lo(D_80B2897C) ## $a0 = 80B2897C
/* 01C30 80B282E0 0C0346BD */ jal Matrix_MultVec3f
/* 01C34 80B282E4 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFE8
/* 01C38 80B282E8 8FA6004C */ lw $a2, 0x004C($sp)
/* 01C3C 80B282EC 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
/* 01C40 80B282F0 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFE8
/* 01C44 80B282F4 14C10009 */ bne $a2, $at, .L80B2831C
/* 01C48 80B282F8 2604037C */ addiu $a0, $s0, 0x037C ## $a0 = 0000037C
/* 01C4C 80B282FC 26180348 */ addiu $t8, $s0, 0x0348 ## $t8 = 00000348
/* 01C50 80B28300 AFB80010 */ sw $t8, 0x0010($sp)
/* 01C54 80B28304 260402FC */ addiu $a0, $s0, 0x02FC ## $a0 = 000002FC
/* 01C58 80B28308 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFF4
/* 01C5C 80B2830C 0C0189CD */ jal Collider_SetQuadVertices
/* 01C60 80B28310 2607033C */ addiu $a3, $s0, 0x033C ## $a3 = 0000033C
/* 01C64 80B28314 10000007 */ beq $zero, $zero, .L80B28334
/* 01C68 80B28318 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B2831C:
/* 01C6C 80B2831C 261903C8 */ addiu $t9, $s0, 0x03C8 ## $t9 = 000003C8
/* 01C70 80B28320 AFB90010 */ sw $t9, 0x0010($sp)
/* 01C74 80B28324 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFF4
/* 01C78 80B28328 0C0189CD */ jal Collider_SetQuadVertices
/* 01C7C 80B2832C 260703BC */ addiu $a3, $s0, 0x03BC ## $a3 = 000003BC
.L80B28330:
/* 01C80 80B28330 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B28334:
/* 01C84 80B28334 8FB00020 */ lw $s0, 0x0020($sp)
/* 01C88 80B28338 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 01C8C 80B2833C 03E00008 */ jr $ra
/* 01C90 80B28340 00000000 */ nop

View file

@ -1,285 +0,0 @@
.rdata
glabel D_80B289C0
.asciz "../z_en_vali.c"
.balign 4
glabel D_80B289D0
.asciz "../z_en_vali.c"
.balign 4
glabel D_80B289E0
.asciz "../z_en_vali.c"
.balign 4
glabel D_80B289F0
.asciz "../z_en_vali.c"
.balign 4
glabel D_80B28A00
.asciz "../z_en_vali.c"
.balign 4
glabel D_80B28A10
.asciz "../z_en_vali.c"
.balign 4
glabel D_80B28A20
.asciz "../z_en_vali.c"
.balign 4
.late_rodata
glabel D_80B28AEC
.float 9.58738019108e-05
glabel D_80B28AF0
.word 0x448B4000, 0x00000000, 0x00000000, 0x00000000
.text
glabel func_80B28344
/* 01C94 80B28344 27BDFF40 */ addiu $sp, $sp, 0xFF40 ## $sp = FFFFFF40
/* 01C98 80B28348 3C0F80B3 */ lui $t7, %hi(D_80B28988) ## $t7 = 80B30000
/* 01C9C 80B2834C AFBF001C */ sw $ra, 0x001C($sp)
/* 01CA0 80B28350 AFB00018 */ sw $s0, 0x0018($sp)
/* 01CA4 80B28354 AFA400C0 */ sw $a0, 0x00C0($sp)
/* 01CA8 80B28358 AFA500C4 */ sw $a1, 0x00C4($sp)
/* 01CAC 80B2835C 25EF8988 */ addiu $t7, $t7, %lo(D_80B28988) ## $t7 = 80B28988
/* 01CB0 80B28360 8DF90000 */ lw $t9, 0x0000($t7) ## 80B28988
/* 01CB4 80B28364 27AE0068 */ addiu $t6, $sp, 0x0068 ## $t6 = FFFFFFA8
/* 01CB8 80B28368 8DF80004 */ lw $t8, 0x0004($t7) ## 80B2898C
/* 01CBC 80B2836C ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFA8
/* 01CC0 80B28370 8DF90008 */ lw $t9, 0x0008($t7) ## 80B28990
/* 01CC4 80B28374 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFAC
/* 01CC8 80B28378 3C0680B3 */ lui $a2, %hi(D_80B289C0) ## $a2 = 80B30000
/* 01CCC 80B2837C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFB0
/* 01CD0 80B28380 8FA800C4 */ lw $t0, 0x00C4($sp)
/* 01CD4 80B28384 24C689C0 */ addiu $a2, $a2, %lo(D_80B289C0) ## $a2 = 80B289C0
/* 01CD8 80B28388 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFF94
/* 01CDC 80B2838C 8D050000 */ lw $a1, 0x0000($t0) ## 00000000
/* 01CE0 80B28390 24070594 */ addiu $a3, $zero, 0x0594 ## $a3 = 00000594
/* 01CE4 80B28394 0C031AB1 */ jal Graph_OpenDisps
/* 01CE8 80B28398 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01CEC 80B2839C 0C034236 */ jal Matrix_Get
/* 01CF0 80B283A0 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFC0
/* 01CF4 80B283A4 8FA400C0 */ lw $a0, 0x00C0($sp)
/* 01CF8 80B283A8 27A60068 */ addiu $a2, $sp, 0x0068 ## $a2 = FFFFFFA8
/* 01CFC 80B283AC C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
/* 01D00 80B283B0 44050000 */ mfc1 $a1, $f0
/* 01D04 80B283B4 0C2C9F8E */ jal func_80B27E38
/* 01D08 80B283B8 E7A00074 */ swc1 $f0, 0x0074($sp)
/* 01D0C 80B283BC C7AC0068 */ lwc1 $f12, 0x0068($sp)
/* 01D10 80B283C0 C7AE006C */ lwc1 $f14, 0x006C($sp)
/* 01D14 80B283C4 8FA60070 */ lw $a2, 0x0070($sp)
/* 01D18 80B283C8 0C0342A3 */ jal Matrix_Scale
/* 01D1C 80B283CC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01D20 80B283D0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01D24 80B283D4 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 01D28 80B283D8 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 01D2C 80B283DC 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 01D30 80B283E0 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
/* 01D34 80B283E4 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 01D38 80B283E8 8FAB00C4 */ lw $t3, 0x00C4($sp)
/* 01D3C 80B283EC 3C0580B3 */ lui $a1, %hi(D_80B289D0) ## $a1 = 80B30000
/* 01D40 80B283F0 24A589D0 */ addiu $a1, $a1, %lo(D_80B289D0) ## $a1 = 80B289D0
/* 01D44 80B283F4 8D640000 */ lw $a0, 0x0000($t3) ## 00000000
/* 01D48 80B283F8 2406059C */ addiu $a2, $zero, 0x059C ## $a2 = 0000059C
/* 01D4C 80B283FC 0C0346A2 */ jal Matrix_NewMtx
/* 01D50 80B28400 AFA20050 */ sw $v0, 0x0050($sp)
/* 01D54 80B28404 8FA30050 */ lw $v1, 0x0050($sp)
/* 01D58 80B28408 3C0E0600 */ lui $t6, %hi(D_06002610) ## $t6 = 06000000
/* 01D5C 80B2840C 25CE2610 */ addiu $t6, $t6, %lo(D_06002610) ## $t6 = 06002610
/* 01D60 80B28410 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01D64 80B28414 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01D68 80B28418 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 01D6C 80B2841C 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFC0
/* 01D70 80B28420 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 01D74 80B28424 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 01D78 80B28428 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 01D7C 80B2842C 0C03423F */ jal Matrix_Put
/* 01D80 80B28430 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 01D84 80B28434 8FAF00C0 */ lw $t7, 0x00C0($sp)
/* 01D88 80B28438 3C0180B3 */ lui $at, %hi(D_80B28AEC) ## $at = 80B30000
/* 01D8C 80B2843C C4288AEC */ lwc1 $f8, %lo(D_80B28AEC)($at)
/* 01D90 80B28440 85F800B6 */ lh $t8, 0x00B6($t7) ## 000000B6
/* 01D94 80B28444 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 01D98 80B28448 0018C823 */ subu $t9, $zero, $t8
/* 01D9C 80B2844C 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
/* 01DA0 80B28450 00000000 */ nop
/* 01DA4 80B28454 468021A0 */ cvt.s.w $f6, $f4
/* 01DA8 80B28458 46083302 */ mul.s $f12, $f6, $f8
/* 01DAC 80B2845C 0C034348 */ jal Matrix_RotateY
/* 01DB0 80B28460 00000000 */ nop
/* 01DB4 80B28464 8FA800C0 */ lw $t0, 0x00C0($sp)
/* 01DB8 80B28468 0C01DE0D */ jal Math_CosS
## coss?
/* 01DBC 80B2846C 850400B6 */ lh $a0, 0x00B6($t0) ## 000000B6
/* 01DC0 80B28470 8FA900C0 */ lw $t1, 0x00C0($sp)
/* 01DC4 80B28474 E7A0007C */ swc1 $f0, 0x007C($sp)
/* 01DC8 80B28478 0C01DE1C */ jal Math_SinS
## sins?
/* 01DCC 80B2847C 852400B6 */ lh $a0, 0x00B6($t1) ## 000000B6
/* 01DD0 80B28480 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01DD4 80B28484 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000
/* 01DD8 80B28488 356B0003 */ ori $t3, $t3, 0x0003 ## $t3 = DA380003
/* 01DDC 80B2848C 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 01DE0 80B28490 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
/* 01DE4 80B28494 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 01DE8 80B28498 8FAC00C4 */ lw $t4, 0x00C4($sp)
/* 01DEC 80B2849C 3C0580B3 */ lui $a1, %hi(D_80B289E0) ## $a1 = 80B30000
/* 01DF0 80B284A0 24A589E0 */ addiu $a1, $a1, %lo(D_80B289E0) ## $a1 = 80B289E0
/* 01DF4 80B284A4 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
/* 01DF8 80B284A8 E7A00078 */ swc1 $f0, 0x0078($sp)
/* 01DFC 80B284AC 240605A6 */ addiu $a2, $zero, 0x05A6 ## $a2 = 000005A6
/* 01E00 80B284B0 0C0346A2 */ jal Matrix_NewMtx
/* 01E04 80B284B4 AFA20048 */ sw $v0, 0x0048($sp)
/* 01E08 80B284B8 8FA30048 */ lw $v1, 0x0048($sp)
/* 01E0C 80B284BC C7A20078 */ lwc1 $f2, 0x0078($sp)
/* 01E10 80B284C0 3C040600 */ lui $a0, %hi(D_06002740) ## $a0 = 06000000
/* 01E14 80B284C4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01E18 80B284C8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01E1C 80B284CC 24842740 */ addiu $a0, $a0, %lo(D_06002740) ## $a0 = 06002740
/* 01E20 80B284D0 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000
/* 01E24 80B284D4 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 01E28 80B284D8 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
/* 01E2C 80B284DC 3C0143FD */ lui $at, 0x43FD ## $at = 43FD0000
/* 01E30 80B284E0 AC440004 */ sw $a0, 0x0004($v0) ## 00000004
/* 01E34 80B284E4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 01E38 80B284E8 C7B2007C */ lwc1 $f18, 0x007C($sp)
/* 01E3C 80B284EC 44810000 */ mtc1 $at, $f0 ## $f0 = 506.00
/* 01E40 80B284F0 3C0143BA */ lui $at, 0x43BA ## $at = 43BA0000
/* 01E44 80B284F4 44818000 */ mtc1 $at, $f16 ## $f16 = 372.00
/* 01E48 80B284F8 46120282 */ mul.s $f10, $f0, $f18
/* 01E4C 80B284FC 3C0180B3 */ lui $at, %hi(D_80B28AF0) ## $at = 80B30000
/* 01E50 80B28500 C42E8AF0 */ lwc1 $f14, %lo(D_80B28AF0)($at)
/* 01E54 80B28504 46028102 */ mul.s $f4, $f16, $f2
/* 01E58 80B28508 AFA40028 */ sw $a0, 0x0028($sp)
/* 01E5C 80B2850C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01E60 80B28510 46128182 */ mul.s $f6, $f16, $f18
/* 01E64 80B28514 E7A20078 */ swc1 $f2, 0x0078($sp)
/* 01E68 80B28518 46020202 */ mul.s $f8, $f0, $f2
/* 01E6C 80B2851C 46045300 */ add.s $f12, $f10, $f4
/* 01E70 80B28520 46083281 */ sub.s $f10, $f6, $f8
/* 01E74 80B28524 44065000 */ mfc1 $a2, $f10
/* 01E78 80B28528 0C034261 */ jal Matrix_Translate
/* 01E7C 80B2852C 00000000 */ nop
/* 01E80 80B28530 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01E84 80B28534 C7A20078 */ lwc1 $f2, 0x0078($sp)
/* 01E88 80B28538 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
/* 01E8C 80B2853C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 01E90 80B28540 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
/* 01E94 80B28544 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
/* 01E98 80B28548 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 01E9C 80B2854C 8FB900C4 */ lw $t9, 0x00C4($sp)
/* 01EA0 80B28550 3C0580B3 */ lui $a1, %hi(D_80B289F0) ## $a1 = 80B30000
/* 01EA4 80B28554 24A589F0 */ addiu $a1, $a1, %lo(D_80B289F0) ## $a1 = 80B289F0
/* 01EA8 80B28558 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
/* 01EAC 80B2855C 240605AF */ addiu $a2, $zero, 0x05AF ## $a2 = 000005AF
/* 01EB0 80B28560 AFA20040 */ sw $v0, 0x0040($sp)
/* 01EB4 80B28564 0C0346A2 */ jal Matrix_NewMtx
/* 01EB8 80B28568 E7A20078 */ swc1 $f2, 0x0078($sp)
/* 01EBC 80B2856C 8FA30040 */ lw $v1, 0x0040($sp)
/* 01EC0 80B28570 C7A20078 */ lwc1 $f2, 0x0078($sp)
/* 01EC4 80B28574 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
/* 01EC8 80B28578 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01ECC 80B2857C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01ED0 80B28580 3C01C471 */ lui $at, 0xC471 ## $at = C4710000
/* 01ED4 80B28584 44812000 */ mtc1 $at, $f4 ## $f4 = -964.00
/* 01ED8 80B28588 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 01EDC 80B2858C AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0
/* 01EE0 80B28590 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 01EE4 80B28594 8FAA0028 */ lw $t2, 0x0028($sp)
/* 01EE8 80B28598 3C014449 */ lui $at, 0x4449 ## $at = 44490000
/* 01EEC 80B2859C 44815000 */ mtc1 $at, $f10 ## $f10 = 804.00
/* 01EF0 80B285A0 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
/* 01EF4 80B285A4 C7A6007C */ lwc1 $f6, 0x007C($sp)
/* 01EF8 80B285A8 3C01C2D8 */ lui $at, 0xC2D8 ## $at = C2D80000
/* 01EFC 80B285AC 44817000 */ mtc1 $at, $f14 ## $f14 = -108.00
/* 01F00 80B285B0 46062202 */ mul.s $f8, $f4, $f6
/* 01F04 80B285B4 3C01C449 */ lui $at, 0xC449 ## $at = C4490000
/* 01F08 80B285B8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01F0C 80B285BC 46025102 */ mul.s $f4, $f10, $f2
/* 01F10 80B285C0 44815000 */ mtc1 $at, $f10 ## $f10 = -804.00
/* 01F14 80B285C4 3C014471 */ lui $at, 0x4471 ## $at = 44710000
/* 01F18 80B285C8 46044301 */ sub.s $f12, $f8, $f4
/* 01F1C 80B285CC 46065202 */ mul.s $f8, $f10, $f6
/* 01F20 80B285D0 44812000 */ mtc1 $at, $f4 ## $f4 = 964.00
/* 01F24 80B285D4 00000000 */ nop
/* 01F28 80B285D8 46022282 */ mul.s $f10, $f4, $f2
/* 01F2C 80B285DC 460A4180 */ add.s $f6, $f8, $f10
/* 01F30 80B285E0 44063000 */ mfc1 $a2, $f6
/* 01F34 80B285E4 0C034261 */ jal Matrix_Translate
/* 01F38 80B285E8 00000000 */ nop
/* 01F3C 80B285EC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01F40 80B285F0 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
/* 01F44 80B285F4 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
/* 01F48 80B285F8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 01F4C 80B285FC AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 01F50 80B28600 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 01F54 80B28604 8FAD00C4 */ lw $t5, 0x00C4($sp)
/* 01F58 80B28608 3C0580B3 */ lui $a1, %hi(D_80B28A00) ## $a1 = 80B30000
/* 01F5C 80B2860C 24A58A00 */ addiu $a1, $a1, %lo(D_80B28A00) ## $a1 = 80B28A00
/* 01F60 80B28610 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
/* 01F64 80B28614 240605B7 */ addiu $a2, $zero, 0x05B7 ## $a2 = 000005B7
/* 01F68 80B28618 0C0346A2 */ jal Matrix_NewMtx
/* 01F6C 80B2861C AFA20038 */ sw $v0, 0x0038($sp)
/* 01F70 80B28620 8FA30038 */ lw $v1, 0x0038($sp)
/* 01F74 80B28624 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000
/* 01F78 80B28628 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFC0
/* 01F7C 80B2862C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 01F80 80B28630 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01F84 80B28634 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 01F88 80B28638 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
/* 01F8C 80B2863C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 01F90 80B28640 8FB80028 */ lw $t8, 0x0028($sp)
/* 01F94 80B28644 0C03423F */ jal Matrix_Put
/* 01F98 80B28648 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 01F9C 80B2864C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01FA0 80B28650 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 01FA4 80B28654 8FA400C0 */ lw $a0, 0x00C0($sp)
/* 01FA8 80B28658 8FA50074 */ lw $a1, 0x0074($sp)
/* 01FAC 80B2865C 27A60068 */ addiu $a2, $sp, 0x0068 ## $a2 = FFFFFFA8
/* 01FB0 80B28660 E7A00070 */ swc1 $f0, 0x0070($sp)
/* 01FB4 80B28664 E7A0006C */ swc1 $f0, 0x006C($sp)
/* 01FB8 80B28668 0C2C9F07 */ jal func_80B27C1C
/* 01FBC 80B2866C E7A00068 */ swc1 $f0, 0x0068($sp)
/* 01FC0 80B28670 C7AC0068 */ lwc1 $f12, 0x0068($sp)
/* 01FC4 80B28674 C7AE006C */ lwc1 $f14, 0x006C($sp)
/* 01FC8 80B28678 8FA60070 */ lw $a2, 0x0070($sp)
/* 01FCC 80B2867C 0C0342A3 */ jal Matrix_Scale
/* 01FD0 80B28680 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01FD4 80B28684 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 01FD8 80B28688 3C08DA38 */ lui $t0, 0xDA38 ## $t0 = DA380000
/* 01FDC 80B2868C 35080003 */ ori $t0, $t0, 0x0003 ## $t0 = DA380003
/* 01FE0 80B28690 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 01FE4 80B28694 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 01FE8 80B28698 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 01FEC 80B2869C 8FA900C4 */ lw $t1, 0x00C4($sp)
/* 01FF0 80B286A0 3C0580B3 */ lui $a1, %hi(D_80B28A10) ## $a1 = 80B30000
/* 01FF4 80B286A4 24A58A10 */ addiu $a1, $a1, %lo(D_80B28A10) ## $a1 = 80B28A10
/* 01FF8 80B286A8 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
/* 01FFC 80B286AC 240605BF */ addiu $a2, $zero, 0x05BF ## $a2 = 000005BF
/* 02000 80B286B0 0C0346A2 */ jal Matrix_NewMtx
/* 02004 80B286B4 AFA20030 */ sw $v0, 0x0030($sp)
/* 02008 80B286B8 8FA30030 */ lw $v1, 0x0030($sp)
/* 0200C 80B286BC 3C0C0600 */ lui $t4, %hi(D_060027D8) ## $t4 = 06000000
/* 02010 80B286C0 258C27D8 */ addiu $t4, $t4, %lo(D_060027D8) ## $t4 = 060027D8
/* 02014 80B286C4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 02018 80B286C8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0201C 80B286CC 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
/* 02020 80B286D0 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFC0
/* 02024 80B286D4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 02028 80B286D8 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
/* 0202C 80B286DC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 02030 80B286E0 0C03423F */ jal Matrix_Put
/* 02034 80B286E4 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 02038 80B286E8 8FAD00C4 */ lw $t5, 0x00C4($sp)
/* 0203C 80B286EC 3C0680B3 */ lui $a2, %hi(D_80B28A20) ## $a2 = 80B30000
/* 02040 80B286F0 24C68A20 */ addiu $a2, $a2, %lo(D_80B28A20) ## $a2 = 80B28A20
/* 02044 80B286F4 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFF94
/* 02048 80B286F8 240705C5 */ addiu $a3, $zero, 0x05C5 ## $a3 = 000005C5
/* 0204C 80B286FC 0C031AD5 */ jal Graph_CloseDisps
/* 02050 80B28700 8DA50000 */ lw $a1, 0x0000($t5) ## 00000000
/* 02054 80B28704 8FBF001C */ lw $ra, 0x001C($sp)
/* 02058 80B28708 8FB00018 */ lw $s0, 0x0018($sp)
/* 0205C 80B2870C 27BD00C0 */ addiu $sp, $sp, 0x00C0 ## $sp = 00000000
/* 02060 80B28710 03E00008 */ jr $ra
/* 02064 80B28714 00000000 */ nop

View file

@ -1,14 +1,32 @@
<Root>
<File Name="object_bl" Segment="6">
<Animation Name="object_bl_Anim_000024" Offset="0x24"/>
<Animation Name="object_bl_Anim_000064" Offset="0x64"/>
<Animation Name="object_bl_Anim_0000A4" Offset="0xA4"/>
<DList Name="object_bl_DL_0003B0" Offset="0x3B0"/>
<DList Name="object_bl_DL_000448" Offset="0x448"/>
<DList Name="object_bl_DL_000530" Offset="0x530"/>
<Texture Name="object_bl_Tex_000608" OutName="tex_00000608" Format="ia16" Width="16" Height="64" Offset="0x608"/>
<Blob Name="object_bl_Blob_000E08" Size="0x4800" Offset="0xE08"/>
<Texture Name="object_bl_Tex_005608" OutName="tex_00005608" Format="ia16" Width="16" Height="16" Offset="0x5608"/>
<Blob Name="object_bl_Blob_005808" Size="0x48" Offset="0x5808"/>
<!-- Biri Animations -->
<Animation Name="gBiriDischargeLightningAnim" Offset="0x24"/>
<Animation Name="gBiriClimbAnim" Offset="0x64"/>
<Animation Name="gBiriDefaultAnim" Offset="0xA4"/><!-- Used in various states, not just as an idle -->
<!-- Biri DLists -->
<DList Name="gBiriTentaclesDL" Offset="0x3B0"/>
<DList Name="gBiriInnerHoodDL" Offset="0x448"/>
<DList Name="gBiriOuterHoodDL" Offset="0x530"/>
<!-- Biri Textures -->
<Texture Name="gBiriOuterHoodTex" OutName="biri_outer_hood" Format="ia16" Width="16" Height="64" Offset="0x608"/>
<Texture Name="gBiriTentacles0Tex" OutName="biri_tentacles_0" Format="ia8" Width="48" Height="48" Offset="0xE08"/>
<Texture Name="gBiriTentacles1Tex" OutName="biri_tentacles_1" Format="ia8" Width="48" Height="48" Offset="0x1708"/>
<Texture Name="gBiriTentacles2Tex" OutName="biri_tentacles_2" Format="ia8" Width="48" Height="48" Offset="0x2008"/>
<Texture Name="gBiriTentacles3Tex" OutName="biri_tentacles_3" Format="ia8" Width="48" Height="48" Offset="0x2908"/>
<Texture Name="gBiriTentacles4Tex" OutName="biri_tentacles_4" Format="ia8" Width="48" Height="48" Offset="0x3208"/>
<Texture Name="gBiriTentacles5Tex" OutName="biri_tentacles_5" Format="ia8" Width="48" Height="48" Offset="0x3B08"/>
<Texture Name="gBiriTentacles6Tex" OutName="biri_tentacles_6" Format="ia8" Width="48" Height="48" Offset="0x4408"/>
<Texture Name="gBiriTentacles7Tex" OutName="biri_tentacles_7" Format="ia8" Width="48" Height="48" Offset="0x4D08"/>
<Texture Name="gBiriInnerHoodTex" OutName="biri_inner_hood" Format="ia16" Width="16" Height="16" Offset="0x5608"/>
<!-- Biri Limbs and Skeleton -->
<Limb Name="gBiriRootLimb" Type="Standard" Offset="0x5808"/>
<Limb Name="gBiriInnerHoodLimb" Type="Standard" Offset="0x5814"/>
<Limb Name="gBiriOuterHoodLimb" Type="Standard" Offset="0x5820"/>
<Limb Name="gBiriTentaclesLimb" Type="Standard" Offset="0x582C"/>
<Skeleton Name="gBiriSkel" Type="Normal" LimbType="Standard" Offset="0x5848"/>
</File>
</Root>

View file

@ -1,28 +1,63 @@
<Root>
<File Name="object_vali" Segment="6">
<Animation Name="object_vali_Anim_000710" Offset="0x710"/>
<Animation Name="object_vali_Anim_000854" Offset="0x854"/>
<Animation Name="object_vali_Anim_000B34" Offset="0xB34"/>
<Animation Name="object_vali_Anim_000D9C" Offset="0xD9C"/>
<Animation Name="object_vali_Anim_0014AC" Offset="0x14AC"/>
<DList Name="object_vali_DL_002610" Offset="0x2610"/>
<DList Name="object_vali_DL_002740" Offset="0x2740"/>
<DList Name="object_vali_DL_0027D8" Offset="0x27D8"/>
<DList Name="object_vali_DL_002968" Offset="0x2968"/>
<DList Name="object_vali_DL_002A28" Offset="0x2A28"/>
<DList Name="object_vali_DL_002AE8" Offset="0x2AE8"/>
<DList Name="object_vali_DL_002B80" Offset="0x2B80"/>
<DList Name="object_vali_DL_002C20" Offset="0x2C20"/>
<DList Name="object_vali_DL_002D50" Offset="0x2D50"/>
<DList Name="object_vali_DL_002DF8" Offset="0x2DF8"/>
<DList Name="object_vali_DL_002E90" Offset="0x2E90"/>
<DList Name="object_vali_DL_002F30" Offset="0x2F30"/>
<DList Name="object_vali_DL_003060" Offset="0x3060"/>
<Texture Name="object_vali_Tex_003108" OutName="tex_00003108" Format="ia16" Width="32" Height="32" Offset="0x3108"/>
<Texture Name="object_vali_Tex_003908" OutName="tex_00003908" Format="ia16" Width="8" Height="8" Offset="0x3908"/>
<Texture Name="object_vali_Tex_003988" OutName="tex_00003988" Format="ia16" Width="16" Height="32" Offset="0x3988"/>
<Texture Name="object_vali_Tex_003D88" OutName="tex_00003D88" Format="ia16" Width="8" Height="16" Offset="0x3D88"/>
<Texture Name="object_vali_Tex_003E88" OutName="tex_00003E88" Format="ia16" Width="32" Height="32" Offset="0x3E88"/>
<Blob Name="object_vali_Blob_004688" Size="0x1C8" Offset="0x4688"/>
<!-- Bari animations -->
<Animation Name="gBariWaitingAnim" Offset="0x710"/><!-- Flap arms wide -->
<Animation Name="gBariRetaliatingAnim" Offset="0x854"/><!-- Swing arms up quickly -->
<Animation Name="gBariMovingArmsDownAnim" Offset="0xB34"/><!-- Fold arms down -->
<Animation Name="gBariUnusedAnim_000D9C" Offset="0xD9C"/><!-- Arms down, moving back and forth a little -->
<Animation Name="gBariLurkingAnim" Offset="0x14AC"/><!-- Flap arms medium and slow -->
<!-- Bari DLists -->
<DList Name="gBariInnerHoodDL" Offset="0x2610"/>
<DList Name="gBariNucleusDL" Offset="0x2740"/>
<DList Name="gBariOuterHoodDL" Offset="0x27D8"/>
<DList Name="gBariRightMandibleDL" Offset="0x2968"/>
<DList Name="gBariLeftMandibleDL" Offset="0x2A28"/>
<DList Name="gBariRightClawTipDL" Offset="0x2AE8"/>
<DList Name="gBariRightClawBodyDL" Offset="0x2B80"/>
<DList Name="gBariRightForearmDL" Offset="0x2C20"/>
<DList Name="gBariRightUpperArmDL" Offset="0x2D50"/>
<DList Name="gBariLeftClawTipDL" Offset="0x2DF8"/>
<DList Name="gBariLeftClawBodyDL" Offset="0x2E90"/>
<DList Name="gBariLeftForearmDL" Offset="0x2F30"/>
<DList Name="gBariLeftUpperArmDL" Offset="0x3060"/>
<!-- Bari DList textures -->
<Texture Name="gBariNucleusTex" OutName="bari_nucleus" Format="ia16" Width="32" Height="32" Offset="0x3108"/>
<Texture Name="gBariMandibleClawTex" OutName="bari_mandible_claw" Format="ia16" Width="8" Height="8" Offset="0x3908"/>
<Texture Name="gBariOuterHoodForearmTex" OutName="bari_outer_hood_forearm" Format="ia16" Width="16" Height="32" Offset="0x3988"/>
<Texture Name="gBariOuterHoodBottomTex" OutName="bari_outer_hood_bottom" Format="ia16" Width="8" Height="16" Offset="0x3D88"/>
<Texture Name="gBariInnerHoodTex" OutName="bari_inner_hood" Format="ia16" Width="32" Height="32" Offset="0x3E88"/>
<!-- Bari Limbs and Skeleton -->
<Limb Name="gBariNucleusBaseLimb" Type="Standard" Offset="0x4688"/>
<Limb Name="gBariNucleusLimb" Type="Standard" Offset="0x4694"/>
<Limb Name="gBariRightMandibleBaseBaseLimb" Type="Standard" Offset="0x46A0"/>
<Limb Name="gBariRightMandibleBaseLimb" Type="Standard" Offset="0x46AC"/>
<Limb Name="gBariRightMandibleLimb" Type="Standard" Offset="0x46B8"/>
<Limb Name="gBariLeftMandibleBaseBaseLimb" Type="Standard" Offset="0x46C4"/>
<Limb Name="gBariLeftMandibleBaseLimb" Type="Standard" Offset="0x46D0"/>
<Limb Name="gBariLeftMandibleLimb" Type="Standard" Offset="0x46DC"/>
<Limb Name="gBariLeftArmBaseLimb" Type="Standard" Offset="0x46E8"/>
<Limb Name="gBariLeftUpperArmBaseLimb" Type="Standard" Offset="0x46F4"/>
<Limb Name="gBariLeftForearmBaseLimb" Type="Standard" Offset="0x4700"/>
<Limb Name="gBariLeftClawBodyBaseLimb" Type="Standard" Offset="0x470C"/>
<Limb Name="gBariLeftClawTipBaseLimb" Type="Standard" Offset="0x4718"/>
<Limb Name="gBariLeftClawTipLimb" Type="Standard" Offset="0x4724"/>
<Limb Name="gBariLeftClawBodyLimb" Type="Standard" Offset="0x4730"/>
<Limb Name="gBariLeftForearmLimb" Type="Standard" Offset="0x473C"/>
<Limb Name="gBariLeftUpperArmLimb" Type="Standard" Offset="0x4748"/>
<Limb Name="gBariRightArmBaseLimb" Type="Standard" Offset="0x4754"/>
<Limb Name="gBariRightUpperArmBaseLimb" Type="Standard" Offset="0x4760"/>
<Limb Name="gBariRightForearmBaseLimb" Type="Standard" Offset="0x476C"/>
<Limb Name="gBariRightClawBodyBaseLimb" Type="Standard" Offset="0x4778"/>
<Limb Name="gBariRightClawTipBaseLimb" Type="Standard" Offset="0x4784"/>
<Limb Name="gBariRightClawTipLimb" Type="Standard" Offset="0x4790"/>
<Limb Name="gBariRightClawBodyLimb" Type="Standard" Offset="0x479C"/>
<Limb Name="gBariRightForearmLimb" Type="Standard" Offset="0x47A8"/>
<Limb Name="gBariRightUpperArmLimb" Type="Standard" Offset="0x47B4"/>
<Limb Name="gBariInnerHoodLimb" Type="Standard" Offset="0x47C0"/>
<Limb Name="gBariOuterHoodLimb" Type="Standard" Offset="0x47CC"/>
<Skeleton Name="gBariSkel" Type="Normal" LimbType="Standard" Offset="0x4848"/>
</File>
</Root>

View file

@ -1,6 +1,6 @@
<Root>
<File Name="object_warp1" Segment="6">
<Skeleton Name="gBlueWarpSkel" Type="Standard" LimbType="Standard" Offset="0x2CA8"/>
<Skeleton Name="gBlueWarpSkel" Type="Normal" LimbType="Standard" Offset="0x2CA8"/>
<Animation Name="gBlueWarpAnim" Offset="0x1374"/>
<DList Name="gBlueWarpLightBeamDL" Offset="0x01A0"/>
<DList Name="gBlueWarpDiamondDL" Offset="0x1750"/>

View file

@ -1,48 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel En_Vali_InitVars
.word 0x00630500, 0x00001015, 0x00560000, 0x00000448
.word EnVali_Init
.word EnVali_Destroy
.word EnVali_Update
.word EnVali_Draw
glabel D_80B288A0
.word 0x0A110000, 0x10030000, 0x00000000, 0xFFCFFFFF, 0x07080000, 0x00000000, 0x00000000, 0x19000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel D_80B288F0
.word 0x08110939, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x07080000, 0xFFCFFFFF, 0x01000000, 0x01010100, 0x00110023, 0xFFF10000, 0x00000000
glabel D_80B2891C
.word 0x02000012, 0x0020FE00
glabel D_80B28924
.word 0x1002E002, 0x10020202, 0xF1F2F424, 0x34020202, 0x02243400, 0x00000104, 0x02020804, 0x00000400
glabel D_80B28944
.word 0x89170018, 0xC850000A, 0x304C1388
glabel D_80B28950
.word 0xFFFFFFFF
glabel D_80B28954
.word 0xC8FFFFFF
glabel D_80B28958
.word 0x00000000
glabel D_80B2895C
.word 0x00000000, 0x00000000
glabel D_80B28964
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B28970
.word 0x453B8000, 0x00000000, 0x00000000
glabel D_80B2897C
.word 0xC47A0000, 0x00000000, 0x00000000
glabel D_80B28988
.word 0x3F800000, 0x3F800000, 0x3F800000, 0x00000000
glabel D_80B28998
.word 0xFC621603, 0x1F5BFFF8, 0xDF000000, 0x00000000
glabel D_80B289A8
.word 0xFC121603, 0xFF5BFFF8, 0xDF000000, 0x00000000, 0x00000000, 0x00000000

View file

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

3
spec
View file

@ -3009,8 +3009,7 @@ endseg
beginseg
name "ovl_En_Vali"
include "build/src/overlays/actors/ovl_En_Vali/z_en_vali.o"
include "build/data/overlays/actors/z_en_vali.data.o"
include "build/data/overlays/actors/z_en_vali.reloc.o"
include "build/src/overlays/actors/ovl_En_Vali/ovl_En_Vali_reloc.o"
endseg
beginseg

View file

@ -5,6 +5,7 @@
*/
#include "z_en_bili.h"
#include "objects/object_bl/object_bl.h"
#define FLAGS 0x00005005
@ -112,18 +113,14 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_STOP),
};
extern AnimationHeader D_06000024;
extern AnimationHeader D_06000064;
extern AnimationHeader D_060000A4;
extern SkeletonHeader D_06005848;
void EnBili_Init(Actor* thisx, GlobalContext* globalCtx) {
EnBili* this = THIS;
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 17.0f);
this->actor.shape.shadowAlpha = 155;
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06005848, &D_060000A4, this->jointTable, this->morphTable, 5);
SkelAnime_Init(globalCtx, &this->skelAnime, &gBiriSkel, &gBiriDefaultAnim, this->jointTable, this->morphTable,
EN_BILI_LIMB_MAX);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
@ -160,7 +157,7 @@ void EnBili_SetupFloatIdle(EnBili* this) {
* Separates the Biri spawned by a dying EnVali.
*/
void EnBili_SetupSpawnedFlyApart(EnBili* this) {
Animation_PlayLoop(&this->skelAnime, &D_060000A4);
Animation_PlayLoop(&this->skelAnime, &gBiriDefaultAnim);
this->timer = 25;
this->actor.velocity.y = 6.0f;
this->actor.gravity = -0.3f;
@ -173,7 +170,7 @@ void EnBili_SetupSpawnedFlyApart(EnBili* this) {
* Used for both touching player/player's shield and being hit with sword. What to do next is determined by params.
*/
void EnBili_SetupDischargeLightning(EnBili* this) {
Animation_PlayLoop(&this->skelAnime, &D_06000024);
Animation_PlayLoop(&this->skelAnime, &gBiriDischargeLightningAnim);
this->timer = 10;
this->actionFunc = EnBili_DischargeLightning;
this->actor.speedXZ = 0.0f;
@ -181,7 +178,7 @@ void EnBili_SetupDischargeLightning(EnBili* this) {
}
void EnBili_SetupClimb(EnBili* this) {
Animation_PlayOnce(&this->skelAnime, &D_06000064);
Animation_PlayOnce(&this->skelAnime, &gBiriClimbAnim);
this->collider.base.atFlags &= ~AT_ON;
this->actionFunc = EnBili_Climb;
this->actor.speedXZ = 0.0f;
@ -194,7 +191,7 @@ void EnBili_SetupApproachPlayer(EnBili* this) {
}
void EnBili_SetupSetNewHomeHeight(EnBili* this) {
Animation_PlayLoop(&this->skelAnime, &D_060000A4);
Animation_PlayLoop(&this->skelAnime, &gBiriDefaultAnim);
this->timer = 96;
this->actor.speedXZ = 0.9f;
this->collider.base.atFlags |= AT_ON;
@ -203,8 +200,8 @@ void EnBili_SetupSetNewHomeHeight(EnBili* this) {
}
void EnBili_SetupRecoil(EnBili* this) {
if (this->skelAnime.animation != &D_060000A4) {
Animation_PlayLoop(&this->skelAnime, &D_060000A4);
if (this->skelAnime.animation != &gBiriDefaultAnim) {
Animation_PlayLoop(&this->skelAnime, &gBiriDefaultAnim);
}
this->actor.world.rot.y = Actor_WorldYawTowardPoint(&this->actor, &this->collider.base.ac->prevPos) + 0x8000;
@ -218,7 +215,7 @@ void EnBili_SetupRecoil(EnBili* this) {
*/
void EnBili_SetupBurnt(EnBili* this) {
if (this->actionFunc == EnBili_Climb) {
Animation_PlayLoop(&this->skelAnime, &D_060000A4);
Animation_PlayLoop(&this->skelAnime, &gBiriDefaultAnim);
}
this->timer = 20;
@ -285,27 +282,27 @@ void EnBili_SetupFrozen(EnBili* this, GlobalContext* globalCtx) {
/**
* Changes the texture displayed on the oral arms limb using the current frame.
*/
void EnBili_UpdateOralArmsIndex(EnBili* this) {
void EnBili_UpdateTentaclesIndex(EnBili* this) {
s16 curFrame = this->skelAnime.curFrame;
s16 temp; // Not strictly necessary, but avoids a few s16 casts
if (this->actionFunc == EnBili_DischargeLightning) {
temp = 3 - curFrame;
this->oralArmsTexIndex = (ABS(temp) + 5) % 8;
this->tentaclesTexIndex = (ABS(temp) + 5) % 8;
} else if (this->actionFunc == EnBili_Climb) {
if (curFrame < 10) {
if (curFrame <= 9) {
temp = curFrame >> 1;
this->oralArmsTexIndex = CLAMP_MAX(temp, 3);
} else if (curFrame < 19) {
this->tentaclesTexIndex = CLAMP_MAX(temp, 3);
} else if (curFrame <= 18) {
temp = 17 - curFrame;
this->oralArmsTexIndex = CLAMP_MIN(temp, 0) >> 1;
} else if (curFrame < 37) {
this->oralArmsTexIndex = ((36 - curFrame) / 3) + 2;
this->tentaclesTexIndex = CLAMP_MIN(temp, 0) >> 1;
} else if (curFrame <= 36) {
this->tentaclesTexIndex = ((36 - curFrame) / 3) + 2;
} else {
this->oralArmsTexIndex = (40 - curFrame) >> 1;
this->tentaclesTexIndex = (40 - curFrame) >> 1;
}
} else {
this->oralArmsTexIndex = curFrame >> 1;
this->tentaclesTexIndex = curFrame >> 1;
}
}
@ -355,6 +352,7 @@ void EnBili_SpawnedFlyApart(EnBili* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
EnBili_SetupFloatIdle(this);
}
@ -383,7 +381,9 @@ void EnBili_DischargeLightning(EnBili* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
this->actor.velocity.y *= -1.0f;
if ((this->timer == 0) && Animation_OnFrame(&this->skelAnime, 0.0f)) {
if (this->actor.params == EN_BILI_TYPE_DYING) {
EnBili_SetupDie(this);
@ -463,6 +463,7 @@ void EnBili_Burnt(EnBili* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
EnBili_SetupDie(this);
}
@ -518,9 +519,11 @@ void EnBili_Stunned(EnBili* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (this->actor.bgCheckFlags & 2) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
}
if (this->timer == 0) {
EnBili_SetupFloatIdle(this);
}
@ -530,6 +533,7 @@ void EnBili_Frozen(EnBili* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (!(this->actor.flags & 0x8000)) {
this->actor.gravity = -1.0f;
}
@ -548,6 +552,7 @@ void EnBili_UpdateDamage(EnBili* this, GlobalContext* globalCtx) {
if ((this->actor.colChkInfo.health != 0) && (this->collider.base.acFlags & AC_HIT)) {
this->collider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->collider.info, 1);
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (Actor_ApplyDamage(&this->actor) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIRI_DEAD);
@ -579,9 +584,10 @@ void EnBili_UpdateDamage(EnBili* this, GlobalContext* globalCtx) {
EnBili_SetupFrozen(this, globalCtx);
} else if (damageEffect == BIRI_DMGEFF_SLINGSHOT) {
EnBili_SetupRecoil(this);
} else { // Only BIRI_DMGEFF_NONE
} else {
EnBili_SetupBurnt(this);
}
if (this->collider.info.acHitInfo->toucher.dmgFlags & 0x1F820) { // DMG_ARROW
this->actor.flags |= 0x10;
}
@ -602,7 +608,7 @@ void EnBili_Update(Actor* thisx, GlobalContext* globalCtx2) {
this->actionFunc(this, globalCtx);
if (this->actionFunc != EnBili_Die) {
EnBili_UpdateOralArmsIndex(this);
EnBili_UpdateTentaclesIndex(this);
if (Animation_OnFrame(&this->skelAnime, 9.0f)) {
if ((this->actionFunc == EnBili_FloatIdle) || (this->actionFunc == EnBili_SetNewHomeHeight) ||
(this->actionFunc == EnBili_ApproachPlayer) || (this->actionFunc == EnBili_Recoil)) {
@ -635,7 +641,7 @@ void EnBili_Update(Actor* thisx, GlobalContext* globalCtx2) {
}
}
// Draw assaciated functions
// Draw and associated functions
void EnBili_PulseLimb3(EnBili* this, f32 frame, Vec3f* arg2) {
f32 cos;
@ -655,9 +661,10 @@ void EnBili_PulseLimb3(EnBili* this, f32 frame, Vec3f* arg2) {
arg2->y = (0.31f * cos) + 1.0f;
arg2->x = 1.0f - (0.4f * cos);
}
arg2->z = arg2->x;
} else if (this->actionFunc == EnBili_Stunned) {
sin = sinf(this->timer * (M_PI * 0.1f)) * 0.08f;
sin = sinf((M_PI * 0.1f) * this->timer) * 0.08f;
arg2->x -= sin;
arg2->y += sin;
arg2->z -= sin;
@ -686,7 +693,7 @@ void EnBili_PulseLimb2(EnBili* this, f32 frame, Vec3f* arg2) {
}
arg2->z = arg2->x;
} else if (this->actionFunc == EnBili_Stunned) {
sin = sinf(this->timer * (M_PI * 0.1f)) * 0.08f;
sin = sinf((M_PI * 0.1f) * this->timer) * 0.08f;
arg2->x += sin;
arg2->y -= sin;
arg2->z += sin;
@ -722,11 +729,11 @@ s32 EnBili_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
Vec3f limbScale = { 1.0f, 1.0f, 1.0f };
f32 curFrame = this->skelAnime.curFrame;
if (limbIndex == EN_BILI_LIMB_STOMACH) {
if (limbIndex == EN_BILI_LIMB_OUTER_HOOD) {
EnBili_PulseLimb3(this, curFrame, &limbScale);
} else if (limbIndex == EN_BILI_LIMB_BELL) {
} else if (limbIndex == EN_BILI_LIMB_INNER_HOOD) {
EnBili_PulseLimb2(this, curFrame, &limbScale);
} else if (limbIndex == EN_BILI_LIMB_ORALARMS) {
} else if (limbIndex == EN_BILI_LIMB_TENTACLES) {
EnBili_PulseLimb4(this, curFrame, &limbScale);
rot->y = (Camera_GetCamDirYaw(ACTIVE_CAM) - this->actor.shape.rot.y) + 0x8000;
}
@ -735,8 +742,9 @@ s32 EnBili_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
return false;
}
static u64* sOralArmsTextures[] = {
0x06000E08, 0x06001708, 0x06002008, 0x06002908, 0x06003208, 0x06003B08, 0x06004408, 0x06004D08,
static void* sTentaclesTextures[] = {
gBiriTentacles0Tex, gBiriTentacles1Tex, gBiriTentacles2Tex, gBiriTentacles3Tex,
gBiriTentacles4Tex, gBiriTentacles5Tex, gBiriTentacles6Tex, gBiriTentacles7Tex,
};
static Gfx D_809C16F0[] = {
@ -757,9 +765,9 @@ void EnBili_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_bili.c", 1521);
func_80093D84(globalCtx->state.gfxCtx);
this->oralArmsTexIndex = CLAMP_MAX(this->oralArmsTexIndex, 7);
this->tentaclesTexIndex = CLAMP_MAX(this->tentaclesTexIndex, 7);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sOralArmsTextures[this->oralArmsTexIndex]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTentaclesTextures[this->tentaclesTexIndex]));
if ((this->actionFunc == EnBili_DischargeLightning) && ((this->timer & 1) != 0)) {
gSPSegment(POLY_XLU_DISP++, 0x09, &D_809C16F0);

View file

@ -8,15 +8,24 @@ struct EnBili;
typedef void (*EnBiliActionFunc)(struct EnBili*, GlobalContext*);
typedef enum {
/* 0 */ EN_BILI_LIMB_NONE,
/* 1 */ EN_BILI_LIMB_ROOT,
/* 2 */ EN_BILI_LIMB_INNER_HOOD,
/* 3 */ EN_BILI_LIMB_OUTER_HOOD,
/* 4 */ EN_BILI_LIMB_TENTACLES,
/* 5 */ EN_BILI_LIMB_MAX
} EnBiliLimb;
typedef struct EnBili {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnBiliActionFunc actionFunc;
/* 0x0194 */ u8 oralArmsTexIndex;
/* 0x0194 */ u8 tentaclesTexIndex;
/* 0x0195 */ u8 playFlySound;
/* 0x0196 */ s16 timer;
/* 0x0198 */ Vec3s jointTable[5];
/* 0x01B6 */ Vec3s morphTable[5];
/* 0x0198 */ Vec3s jointTable[EN_BILI_LIMB_MAX];
/* 0x01B6 */ Vec3s morphTable[EN_BILI_LIMB_MAX];
/* 0x01D4 */ ColliderCylinder collider;
} EnBili; // size = 0x0220
@ -28,12 +37,4 @@ typedef enum {
/* 1 */ EN_BILI_TYPE_DYING
} EnBiliType;
typedef enum {
/* 0 */ EN_BILI_LIMB_NONE,
/* 1 */ EN_BILI_LIMB_1,
/* 2 */ EN_BILI_LIMB_BELL,
/* 3 */ EN_BILI_LIMB_STOMACH,
/* 4 */ EN_BILI_LIMB_ORALARMS
} EnBiliLimb;
#endif

View file

@ -5,6 +5,7 @@
*/
#include "z_en_vali.h"
#include "objects/object_vali/object_vali.h"
#define FLAGS 0x00001015
@ -15,16 +16,21 @@ void EnVali_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnVali_Update(Actor* thisx, GlobalContext* globalCtx);
void EnVali_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_06000710;
extern UNK_TYPE D_06000854;
extern UNK_TYPE D_06000B34;
extern UNK_TYPE D_060014AC;
extern UNK_TYPE D_06002610;
extern UNK_TYPE D_06002740;
extern UNK_TYPE D_060027D8;
extern UNK_TYPE D_06004848;
void EnVali_SetupLurk(EnVali* this);
void EnVali_SetupDropAppear(EnVali* this);
void EnVali_Lurk(EnVali* this, GlobalContext* globalCtx);
void EnVali_DropAppear(EnVali* this, GlobalContext* globalCtx);
void EnVali_FloatIdle(EnVali* this, GlobalContext* globalCtx);
void EnVali_Attacked(EnVali* this, GlobalContext* globalCtx);
void EnVali_Retaliate(EnVali* this, GlobalContext* globalCtx);
void EnVali_MoveArmsDown(EnVali* this, GlobalContext* globalCtx);
void EnVali_Burnt(EnVali* this, GlobalContext* globalCtx);
void EnVali_DivideAndDie(EnVali* this, GlobalContext* globalCtx);
void EnVali_Stunned(EnVali* this, GlobalContext* globalCtx);
void EnVali_Frozen(EnVali* this, GlobalContext* globalCtx);
void EnVali_ReturnToLurk(EnVali* this, GlobalContext* globalCtx);
/*
const ActorInit En_Vali_InitVars = {
ACTOR_EN_VALI,
ACTORCAT_ENEMY,
@ -37,7 +43,7 @@ const ActorInit En_Vali_InitVars = {
(ActorFunc)EnVali_Draw,
};
static ColliderQuadInit D_80B288A0 = {
static ColliderQuadInit sQuadInit = {
{
COLTYPE_NONE,
AT_ON | AT_TYPE_ENEMY,
@ -57,7 +63,7 @@ static ColliderQuadInit D_80B288A0 = {
{ { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } },
};
static ColliderCylinderInit D_80B288F0 = {
static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_HIT8,
AT_ON | AT_TYPE_ENEMY,
@ -76,71 +82,731 @@ static ColliderCylinderInit D_80B288F0 = {
},
{ 17, 35, -15, { 0, 0, 0 } },
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/EnVali_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/EnVali_Destroy.s")
static CollisionCheckInfoInit sColChkInfoInit = { 2, 18, 32, MASS_HEAVY };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26878.s")
typedef enum {
/* 0x0 */ BARI_DMGEFF_NONE,
/* 0x1 */ BARI_DMGEFF_STUN,
/* 0x2 */ BARI_DMGEFF_FIRE,
/* 0x3 */ BARI_DMGEFF_ICE,
/* 0xE */ BARI_DMGEFF_SLINGSHOT = 0xE,
/* 0xF */ BARI_DMGEFF_SWORD
} BariDamageEffect;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B268C8.s")
static DamageTable sDamageTable = {
/* Deku nut */ DMG_ENTRY(0, BARI_DMGEFF_STUN),
/* Deku stick */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Slingshot */ DMG_ENTRY(0, BARI_DMGEFF_SLINGSHOT),
/* Explosive */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Boomerang */ DMG_ENTRY(0, BARI_DMGEFF_STUN),
/* Normal arrow */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Hammer swing */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Hookshot */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Kokiri sword */ DMG_ENTRY(1, BARI_DMGEFF_SWORD),
/* Master sword */ DMG_ENTRY(2, BARI_DMGEFF_SWORD),
/* Giant's Knife */ DMG_ENTRY(4, BARI_DMGEFF_SWORD),
/* Fire arrow */ DMG_ENTRY(4, BARI_DMGEFF_FIRE),
/* Ice arrow */ DMG_ENTRY(4, BARI_DMGEFF_ICE),
/* Light arrow */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Unk arrow 1 */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Unk arrow 2 */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Unk arrow 3 */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Fire magic */ DMG_ENTRY(4, BARI_DMGEFF_FIRE),
/* Ice magic */ DMG_ENTRY(4, BARI_DMGEFF_ICE),
/* Light magic */ DMG_ENTRY(0, BARI_DMGEFF_NONE),
/* Shield */ DMG_ENTRY(0, BARI_DMGEFF_NONE),
/* Mirror Ray */ DMG_ENTRY(0, BARI_DMGEFF_NONE),
/* Kokiri spin */ DMG_ENTRY(1, BARI_DMGEFF_NONE),
/* Giant spin */ DMG_ENTRY(4, BARI_DMGEFF_NONE),
/* Master spin */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Kokiri jump */ DMG_ENTRY(2, BARI_DMGEFF_NONE),
/* Giant jump */ DMG_ENTRY(8, BARI_DMGEFF_NONE),
/* Master jump */ DMG_ENTRY(4, BARI_DMGEFF_NONE),
/* Unknown 1 */ DMG_ENTRY(0, BARI_DMGEFF_NONE),
/* Unblockable */ DMG_ENTRY(0, BARI_DMGEFF_NONE),
/* Hammer jump */ DMG_ENTRY(4, BARI_DMGEFF_NONE),
/* Unknown 2 */ DMG_ENTRY(0, BARI_DMGEFF_NONE),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B268FC.s")
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 24, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 5000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26B18.s")
void EnVali_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnVali* this = THIS;
s32 bgId;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26B4C.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 27.0f);
this->actor.shape.shadowAlpha = 155;
SkelAnime_Init(globalCtx, &this->skelAnime, &gBariSkel, &gBariLurkingAnim, this->jointTable, this->morphTable,
EN_VALI_LIMB_MAX);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26BBC.s")
Collider_InitQuad(globalCtx, &this->leftArmCollider);
Collider_SetQuad(globalCtx, &this->leftArmCollider, &this->actor, &sQuadInit);
Collider_InitQuad(globalCtx, &this->rightArmCollider);
Collider_SetQuad(globalCtx, &this->rightArmCollider, &this->actor, &sQuadInit);
Collider_InitCylinder(globalCtx, &this->bodyCollider);
Collider_SetCylinder(globalCtx, &this->bodyCollider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26BF8.s")
EnVali_SetupLurk(this);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26C50.s")
this->actor.flags &= ~1;
this->actor.floorHeight = BgCheck_EntityRaycastFloor4(&globalCtx->colCtx, &this->actor.floorPoly, &bgId,
&this->actor, &this->actor.world.pos);
this->actor.params = BARI_TYPE_NORMAL;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26D54.s")
if (this->actor.floorHeight == BGCHECK_Y_MIN) {
Actor_Kill(&this->actor);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26DE0.s")
void EnVali_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnVali* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26E40.s")
Collider_DestroyQuad(globalCtx, &this->leftArmCollider);
Collider_DestroyQuad(globalCtx, &this->rightArmCollider);
Collider_DestroyCylinder(globalCtx, &this->bodyCollider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26E9C.s")
void EnVali_SetupLurk(EnVali* this) {
Animation_PlayLoop(&this->skelAnime, &gBariLurkingAnim);
this->actor.draw = NULL;
this->bodyCollider.base.acFlags &= ~AC_ON;
this->actionFunc = EnVali_Lurk;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27098.s")
void EnVali_SetupDropAppear(EnVali* this) {
this->actor.draw = EnVali_Draw;
this->actor.flags |= 1;
this->actor.velocity.y = 1.0f;
this->actionFunc = EnVali_DropAppear;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B270D8.s")
void EnVali_SetupFloatIdle(EnVali* this) {
Animation_MorphToLoop(&this->skelAnime, &gBariWaitingAnim, -3.0f);
this->leftArmCollider.dim.quad[2] = this->leftArmCollider.dim.quad[3] = this->rightArmCollider.dim.quad[2] =
this->rightArmCollider.dim.quad[3] = this->leftArmCollider.dim.quad[0] = this->leftArmCollider.dim.quad[1] =
this->rightArmCollider.dim.quad[0] = this->rightArmCollider.dim.quad[1] = this->actor.world.pos;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2716C.s")
this->leftArmCollider.dim.quad[2].y = this->leftArmCollider.dim.quad[3].y = this->rightArmCollider.dim.quad[2].y =
this->rightArmCollider.dim.quad[3].y = this->leftArmCollider.dim.quad[0].y =
this->leftArmCollider.dim.quad[1].y = this->rightArmCollider.dim.quad[0].y =
this->rightArmCollider.dim.quad[1].y = this->actor.world.pos.y - 10.0f;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27318.s")
this->actor.flags &= ~0x10;
this->bodyCollider.base.acFlags |= AC_ON;
this->slingshotReactionTimer = 0;
this->floatHomeHeight = this->actor.world.pos.y;
this->actionFunc = EnVali_FloatIdle;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B273D0.s")
/**
* Used for both touching player/player's shield and being hit with sword. What to do next is determined by params.
*/
void EnVali_SetupAttacked(EnVali* this) {
this->lightningTimer = 20;
this->actor.flags &= ~1;
this->bodyCollider.base.acFlags &= ~AC_ON;
this->actionFunc = EnVali_Attacked;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2742C.s")
void EnVali_SetupRetaliate(EnVali* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &gBariRetaliatingAnim, -5.0f);
Actor_SetColorFilter(&this->actor, 0x4000, 150, 0x2000, 30);
this->actor.params = BARI_TYPE_NORMAL;
this->bodyCollider.base.acFlags &= ~AC_ON;
this->actionFunc = EnVali_Retaliate;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27464.s")
void EnVali_SetupMoveArmsDown(EnVali* this) {
Animation_PlayOnce(&this->skelAnime, &gBariMovingArmsDownAnim);
this->actionFunc = EnVali_MoveArmsDown;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B274A0.s")
void EnVali_SetupBurnt(EnVali* this) {
this->timer = 2;
this->bodyCollider.base.acFlags &= ~AC_ON;
Actor_SetColorFilter(&this->actor, 0x4000, 150, 0x2000, 30);
this->actionFunc = EnVali_Burnt;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27654.s")
void EnVali_SetupDivideAndDie(EnVali* this, GlobalContext* globalCtx) {
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27710.s")
for (i = 0; i < 3; i++) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BILI, this->actor.world.pos.x, this->actor.world.pos.y,
this->actor.world.pos.z, 0, this->actor.world.rot.y, 0, 0);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B278A0.s")
this->actor.world.rot.y += 0x10000 / 3;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2790C.s")
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.world.pos, 0x50);
this->timer = Rand_S16Offset(10, 10);
this->bodyCollider.base.acFlags &= ~AC_ON;
Audio_PlaySoundAtPosition(globalCtx, &this->actor.world.pos, 40, NA_SE_EN_BARI_SPLIT);
this->actor.flags &= ~1;
this->actor.draw = NULL;
this->actionFunc = EnVali_DivideAndDie;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/EnVali_Update.s")
void EnVali_SetupStunned(EnVali* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &gBariWaitingAnim, 10.0f);
this->timer = 80;
this->actor.velocity.y = 0.0f;
Actor_SetColorFilter(&this->actor, 0, 255, 0x2000, 80);
this->bodyCollider.info.bumper.effect = 0;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
this->actor.velocity.y = 1.0f;
this->actionFunc = EnVali_Stunned;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27C1C.s")
void EnVali_SetupFrozen(EnVali* this) {
this->actor.velocity.y = 0.0f;
Actor_SetColorFilter(&this->actor, 0, 255, 0x2000, 36);
this->bodyCollider.base.acFlags &= ~AC_ON;
this->timer = 36;
this->actionFunc = EnVali_Frozen;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27E38.s")
void EnVali_SetupReturnToLurk(EnVali* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &gBariLurkingAnim, 10.0f);
this->actor.flags |= 0x10;
this->actor.flags &= ~1;
this->actionFunc = EnVali_ReturnToLurk;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B28054.s")
void EnVali_DischargeLightning(EnVali* this, GlobalContext* globalCtx) {
static Color_RGBA8 primColor = { 255, 255, 255, 255 };
static Color_RGBA8 envColor = { 200, 255, 255, 255 };
Vec3f pos;
s32 i;
f32 cos;
f32 sin;
s16 yaw;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B281F0.s")
for (i = 0; i < 4; i++) {
cos = -Math_CosS(Camera_GetCamDirYaw(ACTIVE_CAM));
sin = Math_SinS(Camera_GetCamDirYaw(ACTIVE_CAM));
if (!((this->lightningTimer + (i << 1)) % 4)) {
yaw = (s16)Rand_CenteredFloat(12288.0f) + (i * 0x4000) + 0x2000;
pos.x = this->actor.world.pos.x + (Math_SinS(yaw) * 12.0f * cos);
pos.y = this->actor.world.pos.y - (Math_CosS(yaw) * 12.0f) + 10.0f;
pos.z = this->actor.world.pos.z + (Math_SinS(yaw) * 12.0f * sin);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B28280.s")
EffectSsLightning_Spawn(globalCtx, &pos, &primColor, &envColor, 17, yaw, 6, 2);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B28344.s")
func_8002F974(&this->actor, NA_SE_EN_BIRI_SPARK - SFX_FLAG);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vali/EnVali_Draw.s")
void EnVali_Lurk(EnVali* this, GlobalContext* globalCtx) {
if (this->actor.xzDistToPlayer < 150.0f) {
EnVali_SetupDropAppear(this);
}
}
void EnVali_DropAppear(EnVali* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
this->actor.velocity.y *= 1.5f;
this->actor.velocity.y = CLAMP_MAX(this->actor.velocity.y, 40.0f);
if (Math_StepToF(&this->actor.world.pos.y, this->actor.floorHeight, this->actor.velocity.y)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
EnVali_SetupFloatIdle(this);
}
}
void EnVali_FloatIdle(EnVali* this, GlobalContext* globalCtx) {
s32 curFrame;
SkelAnime_Update(&this->skelAnime);
if (this->slingshotReactionTimer != 0) {
this->slingshotReactionTimer--;
}
curFrame = this->skelAnime.curFrame;
Math_StepToF(&this->floatHomeHeight, this->actor.floorHeight + 40.0f, 1.2f);
this->actor.world.pos.y = this->floatHomeHeight - (sinf(curFrame * M_PI * 0.0125f) * 8.0f);
if (this->slingshotReactionTimer) {
this->actor.shape.rot.y += 0x800;
if (((this->slingshotReactionTimer % 6) == 0) && (curFrame > 15) && (curFrame <= 55)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BARI_ROLL);
}
} else if ((curFrame == 16) || (curFrame == 30) || (curFrame == 42) || (curFrame == 55)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BARI_ROLL);
}
curFrame = ((curFrame > 40) ? (80 - curFrame) : curFrame);
this->actor.shape.rot.y += (s16)((curFrame + 4) * 0.4f * ( 0x10000 / 360.0f ));
if (this->actor.xzDistToPlayer > 250.0f) {
EnVali_SetupReturnToLurk(this);
}
}
void EnVali_Attacked(EnVali* this, GlobalContext* globalCtx) {
if (this->lightningTimer != 0) {
this->lightningTimer--;
}
EnVali_DischargeLightning(this, globalCtx);
if (this->lightningTimer == 0) {
this->actor.flags |= 1;
this->bodyCollider.base.acFlags |= AC_ON;
if (this->actor.params == BARI_TYPE_SWORD_DAMAGE) {
EnVali_SetupRetaliate(this);
} else {
this->actionFunc = EnVali_FloatIdle;
}
} else if ((this->lightningTimer % 2) != 0) {
this->actor.world.pos.y += 1.0f;
} else {
this->actor.world.pos.y -= 1.0f;
}
}
void EnVali_Retaliate(EnVali* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
if (this->actor.colChkInfo.health != 0) {
EnVali_SetupMoveArmsDown(this);
} else {
EnVali_SetupDivideAndDie(this, globalCtx);
}
}
}
void EnVali_MoveArmsDown(EnVali* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
EnVali_SetupFloatIdle(this);
}
}
void EnVali_Burnt(EnVali* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
EnVali_SetupDivideAndDie(this, globalCtx);
}
}
void EnVali_DivideAndDie(EnVali* this, GlobalContext* globalCtx) {
static Vec3f velocity = { 0.0f, 0.0f, 0.0f };
static Vec3f accel = { 0.0f, 0.0f, 0.0f };
s16 scale;
Vec3f pos;
s32 i;
if (this->timer != 0) {
this->timer--;
}
for (i = 0; i < 2; i++) {
pos.x = this->actor.world.pos.x + Rand_CenteredFloat(20.0f);
pos.y = this->actor.world.pos.y + Rand_CenteredFloat(8.0f);
pos.z = this->actor.world.pos.z + Rand_CenteredFloat(20.0f);
velocity.y = (Rand_ZeroOne() + 1.0f);
scale = Rand_S16Offset(40, 40);
if (Rand_ZeroOne() < 0.7f) {
EffectSsDtBubble_SpawnColorProfile(globalCtx, &pos, &velocity, &accel, scale, 25, 2,
1);
} else {
EffectSsDtBubble_SpawnColorProfile(globalCtx, &pos, &velocity, &accel, scale, 25, 0,
1);
}
}
if (this->timer == 0) {
Actor_Kill(&this->actor);
}
}
void EnVali_Stunned(EnVali* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
if (this->actor.velocity.y != 0.0f) {
if (Math_StepToF(&this->actor.world.pos.y, this->actor.floorHeight, this->actor.velocity.y)) {
this->actor.velocity.y = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
} else {
this->actor.velocity.y += 1.0f;
}
}
if (this->timer == 0) {
this->bodyCollider.info.bumper.effect = 1; // Shock?
EnVali_SetupFloatIdle(this);
}
}
void EnVali_Frozen(EnVali* this, GlobalContext* globalCtx) {
Vec3f pos;
s32 temp_v0;
s32 temp_v1;
if (this->timer != 0) {
this->timer--;
}
temp_v1 = this->timer - 20;
this->actor.colorFilterTimer = 36;
if (temp_v1 > 0) {
temp_v0 = temp_v1 >> 1;
if ((this->timer % 2) != 0) {
pos.y = this->actor.world.pos.y - 20.0f + (-temp_v0 * 5 + 40);
pos.x = this->actor.world.pos.x + ((temp_v0 & 2) ? 12.0f : -12.0f);
pos.z = this->actor.world.pos.z + ((temp_v0 & 1) ? 12.0f : -12.0f);
EffectSsEnIce_SpawnFlyingVec3f(globalCtx, &this->actor, &pos, 150, 150, 150, 250, 235, 245, 255,
(Rand_ZeroOne() * 0.2f) + 1.3f);
}
} else if (this->timer == 0) {
this->actor.velocity.y += 1.0f;
if (Math_StepToF(&this->actor.world.pos.y, this->actor.floorHeight, this->actor.velocity.y)) {
EnVali_SetupDivideAndDie(this, globalCtx);
this->actor.colorFilterTimer = 0;
}
}
}
void EnVali_ReturnToLurk(EnVali* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
if (Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.home.pos.y, 0.5f, 15.0f, 0.1f) < 0.01f) {
EnVali_SetupLurk(this);
}
}
void EnVali_UpdateDamage(EnVali* this, GlobalContext* globalCtx) {
if (this->bodyCollider.base.acFlags & AC_HIT) {
this->bodyCollider.base.acFlags &= ~AC_HIT;
func_80035650(&this->actor, &this->bodyCollider.info, 1);
if ((this->actor.colChkInfo.damageEffect != BARI_DMGEFF_NONE) || (this->actor.colChkInfo.damage != 0)) {
if (Actor_ApplyDamage(&this->actor) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BARI_DEAD);
func_80032C7C(globalCtx, &this->actor);
this->actor.flags &= ~1;
} else if ((this->actor.colChkInfo.damageEffect != BARI_DMGEFF_STUN) &&
(this->actor.colChkInfo.damageEffect != BARI_DMGEFF_SLINGSHOT)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BARI_DAMAGE);
}
if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_STUN) {
if (this->actionFunc != EnVali_Stunned) {
EnVali_SetupStunned(this);
}
} else if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_SWORD) {
if (this->actionFunc != EnVali_Stunned) {
Actor_SetColorFilter(&this->actor, 0x4000, 150, 0x2000, 30);
this->actor.params = BARI_TYPE_SWORD_DAMAGE;
EnVali_SetupAttacked(this);
} else {
EnVali_SetupRetaliate(this);
}
} else if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_FIRE) {
EnVali_SetupBurnt(this);
} else if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_ICE) {
EnVali_SetupFrozen(this);
} else if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_SLINGSHOT) {
if (this->slingshotReactionTimer == 0) {
this->slingshotReactionTimer = 20;
}
} else {
EnVali_SetupRetaliate(this);
}
}
}
}
void EnVali_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnVali* this = THIS;
if ((this->bodyCollider.base.atFlags & AT_HIT) || (this->leftArmCollider.base.atFlags & AT_HIT) ||
(this->rightArmCollider.base.atFlags & AT_HIT)) {
this->leftArmCollider.base.atFlags &= ~AT_HIT;
this->rightArmCollider.base.atFlags &= ~AT_HIT;
this->bodyCollider.base.atFlags &= ~AT_HIT;
EnVali_SetupAttacked(this);
}
EnVali_UpdateDamage(this, globalCtx);
this->actionFunc(this, globalCtx);
if ((this->actionFunc != EnVali_DivideAndDie) && (this->actionFunc != EnVali_Lurk)) {
Collider_UpdateCylinder(&this->actor, &this->bodyCollider);
if (this->actionFunc == EnVali_FloatIdle) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->leftArmCollider.base);
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->rightArmCollider.base);
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base);
}
if (this->bodyCollider.base.acFlags & AC_ON) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base);
}
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base);
Actor_SetFocus(&this->actor, 0.0f);
}
}
// Draw and associated functions
void EnVali_PulseOutside(EnVali* this, f32 curFrame, Vec3f* scale) {
f32 scaleChange;
if (this->actionFunc == EnVali_Attacked) {
s32 scalePhase = 20 - (this->lightningTimer % 20);
if (scalePhase >= 10) {
scalePhase -= 10;
}
scale->y -= 0.2f * sinf((M_PI / 10) * scalePhase);
} else if (this->actionFunc == EnVali_Retaliate) {
scaleChange = sinf((M_PI / 10) * curFrame);
scale->y -= 0.24f * scaleChange;
scale->x -= 0.13f * scaleChange;
scale->z = scale->x;
} else if (this->actionFunc == EnVali_MoveArmsDown) {
scaleChange = cosf((M_PI / 50) * curFrame);
scale->y -= 0.24f * scaleChange;
scale->x -= 0.13f * scaleChange;
scale->z = scale->x;
} else if (this->actionFunc == EnVali_Stunned) {
scaleChange = sinf((M_PI / 10) * this->timer) * 0.08f;
scale->x += scaleChange;
scale->y -= scaleChange;
scale->z += scaleChange;
} else {
if (curFrame >= 40.0f) {
curFrame -= 40.0f;
}
scale->y -= 0.2f * sinf((M_PI / 40) * curFrame);
}
}
void EnVali_PulseInsides(EnVali* this, f32 curFrame, Vec3f* scale) {
f32 scaleChange;
if (this->actionFunc == EnVali_Attacked) {
s32 scalePhase = 20 - (this->lightningTimer % 20);
if (scalePhase >= 10) {
scalePhase -= 10;
}
scale->y -= 0.13f * sinf((M_PI / 10) * scalePhase);
} else if (this->actionFunc == EnVali_Retaliate) {
scaleChange = sinf((M_PI / 10) * curFrame);
scale->y -= 0.18f * scaleChange;
scale->x -= 0.1f * scaleChange;
scale->z = scale->x;
} else if (this->actionFunc == EnVali_MoveArmsDown) {
scaleChange = cosf((M_PI / 50) * curFrame);
scale->y -= 0.18f * scaleChange;
scale->x -= 0.1f * scaleChange;
scale->z = scale->x;
} else if (this->actionFunc == EnVali_Stunned) {
scaleChange = sinf((M_PI / 10) * this->timer) * 0.08f;
scale->x -= scaleChange;
scale->y += scaleChange;
scale->z -= scaleChange;
} else {
if (curFrame >= 40.0f) {
curFrame -= 40.0f;
}
scale->y -= 0.13f * sinf((M_PI / 40) * curFrame);
}
}
s32 EnVali_SetArmLength(EnVali* this, f32 curFrame) {
f32 targetArmScale;
if (this->actionFunc == EnVali_FloatIdle) {
if (curFrame <= 10.0f) {
targetArmScale = curFrame * 0.05f + 1.0f;
} else if (curFrame > 70.0f) {
targetArmScale = (80.0f - curFrame) * 0.05f + 1.0f;
} else {
targetArmScale = 1.5f;
}
} else if (this->actionFunc == EnVali_Retaliate) {
targetArmScale = 1.0f - sinf((M_PI / 10) * curFrame) * 0.35f;
} else if (this->actionFunc == EnVali_MoveArmsDown) {
targetArmScale = 1.0f - cosf((M_PI / 50) * curFrame) * 0.35f;
} else if ((this->actionFunc == EnVali_Attacked) || (this->actionFunc == EnVali_Frozen)) {
targetArmScale = this->armScale;
} else {
targetArmScale = 1.0f;
}
Math_StepToF(&this->armScale, targetArmScale, 0.1f);
if (this->armScale == 1.0f) {
return false;
} else {
return true;
}
}
s32 EnVali_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx,
Gfx** gfx) {
EnVali* this = THIS;
f32 curFrame;
if ((limbIndex == EN_VALI_LIMB_NUCLEUS) || (limbIndex == EN_VALI_LIMB_OUTER_HOOD) ||
(limbIndex == EN_VALI_LIMB_INNER_HOOD)) {
*dList = NULL;
return false;
} else {
curFrame = this->skelAnime.curFrame;
if ((limbIndex == EN_VALI_LIMB_LEFT_ARM_BASE) || (limbIndex == EN_VALI_LIMB_RIGHT_ARM_BASE)) {
if (EnVali_SetArmLength(this, curFrame)) {
Matrix_Scale(this->armScale, 1.0f, 1.0f, MTXMODE_APPLY);
}
}
return false;
}
}
void EnVali_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
static Vec3f D_80B28970 = { 3000.0f, 0.0f, 0.0f };
static Vec3f D_80B2897C = { -1000.0f, 0.0f, 0.0f };
Vec3f sp3C;
Vec3f sp30;
EnVali* this = THIS;
if (this->actionFunc == EnVali_FloatIdle) {
if ((limbIndex == EN_VALI_LIMB_LEFT_FOREARM_BASE) || (limbIndex == EN_VALI_LIMB_RIGHT_FOREARM_BASE)) {
Matrix_MultVec3f(&D_80B28970, &sp3C);
Matrix_MultVec3f(&D_80B2897C, &sp30);
if (limbIndex == EN_VALI_LIMB_LEFT_FOREARM_BASE) {
Collider_SetQuadVertices(&this->leftArmCollider, &sp30, &sp3C, &this->leftArmCollider.dim.quad[0],
&this->leftArmCollider.dim.quad[1]);
} else {
Collider_SetQuadVertices(&this->rightArmCollider, &sp30, &sp3C, &this->rightArmCollider.dim.quad[0],
&this->rightArmCollider.dim.quad[1]);
}
}
}
}
void EnVali_DrawBody(EnVali* this, GlobalContext* globalCtx) {
MtxF mtx;
f32 cos;
f32 sin;
f32 curFrame;
Vec3f scale = { 1.0f, 1.0f, 1.0f };
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_vali.c", 1428);
Matrix_Get(&mtx);
curFrame = this->skelAnime.curFrame;
EnVali_PulseInsides(this, curFrame, &scale);
Matrix_Scale(scale.x, scale.y, scale.z, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vali.c", 1436),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gBariInnerHoodDL);
Matrix_Put(&mtx);
Matrix_RotateY(-this->actor.shape.rot.y * (M_PI / 32768.0f), MTXMODE_APPLY);
cos = Math_CosS(this->actor.shape.rot.y);
sin = Math_SinS(this->actor.shape.rot.y);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vali.c", 1446),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gBariNucleusDL);
Matrix_Translate((506.0f * cos) + (372.0f * sin), 1114.0f, (372.0f * cos) - (506.0f * sin), MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vali.c", 1455),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gBariNucleusDL);
Matrix_Translate((-964.0f * cos) - (804.0f * sin), -108.0f, (-804.0f * cos) + (964.0f * sin), MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vali.c", 1463),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gBariNucleusDL);
Matrix_Put(&mtx);
scale.x = scale.y = scale.z = 1.0f;
EnVali_PulseOutside(this, curFrame, &scale);
Matrix_Scale(scale.x, scale.y, scale.z, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vali.c", 1471),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gBariOuterHoodDL);
Matrix_Put(&mtx);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_vali.c", 1477);
}
static Gfx D_80B28998[] = {
gsDPSetCombineLERP(1, TEXEL0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, COMBINED, 0, PRIMITIVE, 0, TEXEL1, 0,
PRIM_LOD_FRAC, COMBINED),
gsSPEndDisplayList(),
};
static Gfx D_80B289A8[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, COMBINED, 0, PRIMITIVE, 0, TEXEL1, 0,
PRIM_LOD_FRAC, COMBINED),
gsSPEndDisplayList(),
};
void EnVali_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnVali* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_vali.c", 1505);
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (127 - (globalCtx->gameplayFrames * 12)) % 128, 32, 32));
if ((this->lightningTimer % 2) != 0) {
gSPSegment(POLY_XLU_DISP++, 0x09, D_80B28998);
} else {
gSPSegment(POLY_XLU_DISP++, 0x09, D_80B289A8);
}
EnVali_DrawBody(this, globalCtx);
POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnVali_OverrideLimbDraw, EnVali_PostLimbDraw, this, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_vali.c", 1538);
}

View file

@ -6,11 +6,62 @@
struct EnVali;
typedef void (*EnValiActionFunc)(struct EnVali*, GlobalContext*);
typedef enum {
/* 0x00 */ EN_VALI_LIMB_NONE,
/* 0x01 */ EN_VALI_LIMB_NUCLEUS_BASE,
/* 0x02 */ EN_VALI_LIMB_NUCLEUS,
/* 0x03 */ EN_VALI_LIMB_RIGHT_MANDIBLE_BASE_BASE,
/* 0x04 */ EN_VALI_LIMB_RIGHT_MANDIBLE_BASE,
/* 0x05 */ EN_VALI_LIMB_RIGHT_MANDIBLE,
/* 0x06 */ EN_VALI_LIMB_LEFT_MANDIBLE_BASE_BASE,
/* 0x07 */ EN_VALI_LIMB_LEFT_MANDIBLE_BASE,
/* 0x08 */ EN_VALI_LIMB_LEFT_MANDIBLE,
/* 0x09 */ EN_VALI_LIMB_LEFT_ARM_BASE,
/* 0x0A */ EN_VALI_LIMB_LEFT_UPPER_ARM_BASE,
/* 0x0B */ EN_VALI_LIMB_LEFT_FOREARM_BASE,
/* 0x0C */ EN_VALI_LIMB_LEFT_CLAW_BODY_BASE,
/* 0x0D */ EN_VALI_LIMB_LEFT_CLAW_TIP_BASE,
/* 0x0E */ EN_VALI_LIMB_LEFT_CLAW_TIP,
/* 0x0F */ EN_VALI_LIMB_LEFT_CLAW_BODY,
/* 0x10 */ EN_VALI_LIMB_LEFT_FOREARM,
/* 0x11 */ EN_VALI_LIMB_LEFT_UPPER_ARM,
/* 0x12 */ EN_VALI_LIMB_RIGHT_ARM_BASE,
/* 0x13 */ EN_VALI_LIMB_RIGHT_UPPER_ARM_BASE,
/* 0x14 */ EN_VALI_LIMB_RIGHT_FOREARM_BASE,
/* 0x15 */ EN_VALI_LIMB_RIGHT_CLAW_BODY_BASE,
/* 0x16 */ EN_VALI_LIMB_RIGHT_CLAW_TIP_BASE,
/* 0x17 */ EN_VALI_LIMB_RIGHT_CLAW_TIP,
/* 0x18 */ EN_VALI_LIMB_RIGHT_CLAW_BODY,
/* 0x19 */ EN_VALI_LIMB_RIGHT_FOREARM,
/* 0x1A */ EN_VALI_LIMB_RIGHT_UPPER_ARM,
/* 0x1B */ EN_VALI_LIMB_INNER_HOOD,
/* 0x1C */ EN_VALI_LIMB_OUTER_HOOD,
/* 0x1D */ EN_VALI_LIMB_MAX
} EnValiLimb;
typedef struct EnVali {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x2FC];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnValiActionFunc actionFunc;
/* 0x0194 */ u8 lightningTimer;
/* 0x0195 */ u8 slingshotReactionTimer;
/* 0x0196 */ s16 timer;
/* 0x0198 */ Vec3s jointTable[EN_VALI_LIMB_MAX];
/* 0x0246 */ Vec3s morphTable[EN_VALI_LIMB_MAX];
/* 0x02F4 */ f32 armScale;
/* 0x02F8 */ f32 floatHomeHeight; // Used as a centre for floating when visible (home is used for the lurk height)
/* 0x02FC */ ColliderQuad leftArmCollider;
/* 0x037C */ ColliderQuad rightArmCollider;
/* 0x03FC */ ColliderCylinder bodyCollider;
} EnVali; // size = 0x0448
extern const ActorInit En_Vali_InitVars;
typedef enum {
/* 0 */ BARI_TYPE_NORMAL,
/* 1 */ BARI_TYPE_SWORD_DAMAGE
} EnValiType;
#endif

View file

@ -1613,12 +1613,6 @@ D_060014B8 = 0x060014B8;
D_06001CA4 = 0x06001CA4;
D_06006BC0 = 0x06006BC0;
// z_en_bili
D_06000024 = 0x06000024;
D_06000064 = 0x06000064;
D_060000A4 = 0x060000A4;
D_06005848 = 0x06005848;
// z_en_brob
D_06000290 = 0x06000290;
D_060015D8 = 0x060015D8;
@ -1993,16 +1987,6 @@ D_06011688 = 0x06011688;
// z_en_trap
D_06001400 = 0x06001400;
// z_en_vali
D_06000710 = 0x06000710;
D_06000854 = 0x06000854;
D_06000B34 = 0x06000B34;
D_060014AC = 0x060014AC;
D_06002610 = 0x06002610;
D_06002740 = 0x06002740;
D_060027D8 = 0x060027D8;
D_06004848 = 0x06004848;
// z_en_viewer
D_01000000 = 0x01000000;
D_06000450 = 0x06000450;