1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-27 07:07:09 +00:00

Ovl_En_Gb OK (#691)

* Progress

* Matched

* Cleanup, some names

Co-authored-by: Thar0 <maximilianc64@gmail.com>
This commit is contained in:
Tharo 2021-02-12 22:37:13 +00:00 committed by GitHub
parent 0b2a4e9d7f
commit 61dacd0882
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 525 additions and 1575 deletions

View file

@ -1,27 +0,0 @@
glabel EnGb_Destroy
/* 0042C 80A2F5AC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00430 80A2F5B0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00434 80A2F5B4 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
/* 00438 80A2F5B8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0043C 80A2F5BC 8FA50018 */ lw $a1, 0x0018($sp)
/* 00440 80A2F5C0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00444 80A2F5C4 AFA7001C */ sw $a3, 0x001C($sp)
/* 00448 80A2F5C8 0C0170EB */ jal Collider_DestroyCylinder
/* 0044C 80A2F5CC 24A5023C */ addiu $a1, $a1, 0x023C ## $a1 = 0000023C
/* 00450 80A2F5D0 8FA4001C */ lw $a0, 0x001C($sp)
/* 00454 80A2F5D4 8FAE0018 */ lw $t6, 0x0018($sp)
/* 00458 80A2F5D8 248507A8 */ addiu $a1, $a0, 0x07A8 ## $a1 = 000007A8
/* 0045C 80A2F5DC 0C01E9F1 */ jal LightContext_RemoveLight
/* 00460 80A2F5E0 8DC6036C */ lw $a2, 0x036C($t6) ## 0000036C
/* 00464 80A2F5E4 8FA4001C */ lw $a0, 0x001C($sp)
/* 00468 80A2F5E8 8FAF0018 */ lw $t7, 0x0018($sp)
/* 0046C 80A2F5EC 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00470 80A2F5F0 0C00FB56 */ jal DynaPoly_DeleteBgActor
## DynaPoly_DeleteBgActor
/* 00474 80A2F5F4 8DE6014C */ lw $a2, 0x014C($t7) ## 0000014C
/* 00478 80A2F5F8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0047C 80A2F5FC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00480 80A2F600 03E00008 */ jr $ra
/* 00484 80A2F604 00000000 */ nop

View file

@ -1,96 +0,0 @@
.rdata
glabel D_80A307A0
.asciz "../z_en_gb.c"
.balign 4
glabel D_80A307B0
.asciz "../z_en_gb.c"
.balign 4
.text
glabel EnGb_Draw
/* 00D2C 80A2FEAC 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 00D30 80A2FEB0 AFB10028 */ sw $s1, 0x0028($sp)
/* 00D34 80A2FEB4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00D38 80A2FEB8 AFBF002C */ sw $ra, 0x002C($sp)
/* 00D3C 80A2FEBC AFB00024 */ sw $s0, 0x0024($sp)
/* 00D40 80A2FEC0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00D44 80A2FEC4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D48 80A2FEC8 3C0680A3 */ lui $a2, %hi(D_80A307A0) ## $a2 = 80A30000
/* 00D4C 80A2FECC 24C607A0 */ addiu $a2, $a2, %lo(D_80A307A0) ## $a2 = 80A307A0
/* 00D50 80A2FED0 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
/* 00D54 80A2FED4 240702FB */ addiu $a3, $zero, 0x02FB ## $a3 = 000002FB
/* 00D58 80A2FED8 0C031AB1 */ jal Graph_OpenDisps
/* 00D5C 80A2FEDC AFA5004C */ sw $a1, 0x004C($sp)
/* 00D60 80A2FEE0 0C024F46 */ jal func_80093D18
/* 00D64 80A2FEE4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 00D68 80A2FEE8 8FA8004C */ lw $t0, 0x004C($sp)
/* 00D6C 80A2FEEC 3C0FE700 */ lui $t7, 0xE700 ## $t7 = E7000000
/* 00D70 80A2FEF0 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000
/* 00D74 80A2FEF4 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
/* 00D78 80A2FEF8 26040370 */ addiu $a0, $s0, 0x0370 ## $a0 = 00000370
/* 00D7C 80A2FEFC 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 00D80 80A2FF00 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0
/* 00D84 80A2FF04 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 00D88 80A2FF08 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 00D8C 80A2FF0C 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
/* 00D90 80A2FF10 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 00D94 80A2FF14 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 00D98 80A2FF18 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 00D9C 80A2FF1C 920D0385 */ lbu $t5, 0x0385($s0) ## 00000385
/* 00DA0 80A2FF20 920A0384 */ lbu $t2, 0x0384($s0) ## 00000384
/* 00DA4 80A2FF24 92190386 */ lbu $t9, 0x0386($s0) ## 00000386
/* 00DA8 80A2FF28 000D7400 */ sll $t6, $t5, 16
/* 00DAC 80A2FF2C 000A5E00 */ sll $t3, $t2, 24
/* 00DB0 80A2FF30 016E7825 */ or $t7, $t3, $t6 ## $t7 = 00000008
/* 00DB4 80A2FF34 00194A00 */ sll $t1, $t9, 8
/* 00DB8 80A2FF38 01E95025 */ or $t2, $t7, $t1 ## $t2 = 00000008
/* 00DBC 80A2FF3C 354C00FF */ ori $t4, $t2, 0x00FF ## $t4 = 000000FF
/* 00DC0 80A2FF40 AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
/* 00DC4 80A2FF44 92180384 */ lbu $t8, 0x0384($s0) ## 00000384
/* 00DC8 80A2FF48 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 00DCC 80A2FF4C C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 00DD0 80A2FF50 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 00DD4 80A2FF54 AFB80010 */ sw $t8, 0x0010($sp)
/* 00DD8 80A2FF58 92190385 */ lbu $t9, 0x0385($s0) ## 00000385
/* 00DDC 80A2FF5C 4600848D */ trunc.w.s $f18, $f16
/* 00DE0 80A2FF60 AFB90014 */ sw $t9, 0x0014($sp)
/* 00DE4 80A2FF64 4600428D */ trunc.w.s $f10, $f8
/* 00DE8 80A2FF68 920F0386 */ lbu $t7, 0x0386($s0) ## 00000386
/* 00DEC 80A2FF6C 44079000 */ mfc1 $a3, $f18
/* 00DF0 80A2FF70 4600218D */ trunc.w.s $f6, $f4
/* 00DF4 80A2FF74 44065000 */ mfc1 $a2, $f10
/* 00DF8 80A2FF78 AFAF0018 */ sw $t7, 0x0018($sp)
/* 00DFC 80A2FF7C 92090387 */ lbu $t1, 0x0387($s0) ## 00000387
/* 00E00 80A2FF80 44053000 */ mfc1 $a1, $f6
/* 00E04 80A2FF84 00073C00 */ sll $a3, $a3, 16
/* 00E08 80A2FF88 00063400 */ sll $a2, $a2, 16
/* 00E0C 80A2FF8C 00052C00 */ sll $a1, $a1, 16
/* 00E10 80A2FF90 00052C03 */ sra $a1, $a1, 16
/* 00E14 80A2FF94 00063403 */ sra $a2, $a2, 16
/* 00E18 80A2FF98 00073C03 */ sra $a3, $a3, 16
/* 00E1C 80A2FF9C 0C01E763 */ jal Lights_PointNoGlowSetInfo
/* 00E20 80A2FFA0 AFA9001C */ sw $t1, 0x001C($sp)
/* 00E24 80A2FFA4 8E050168 */ lw $a1, 0x0168($s0) ## 00000168
/* 00E28 80A2FFA8 8E060184 */ lw $a2, 0x0184($s0) ## 00000184
/* 00E2C 80A2FFAC 92070166 */ lbu $a3, 0x0166($s0) ## 00000166
/* 00E30 80A2FFB0 AFB00018 */ sw $s0, 0x0018($sp)
/* 00E34 80A2FFB4 AFA00014 */ sw $zero, 0x0014($sp)
/* 00E38 80A2FFB8 AFA00010 */ sw $zero, 0x0010($sp)
/* 00E3C 80A2FFBC 0C0286B2 */ jal SkelAnime_DrawFlexOpa
/* 00E40 80A2FFC0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00E44 80A2FFC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E48 80A2FFC8 0C28C0D4 */ jal func_80A30350
/* 00E4C 80A2FFCC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00E50 80A2FFD0 3C0680A3 */ lui $a2, %hi(D_80A307B0) ## $a2 = 80A30000
/* 00E54 80A2FFD4 24C607B0 */ addiu $a2, $a2, %lo(D_80A307B0) ## $a2 = 80A307B0
/* 00E58 80A2FFD8 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
/* 00E5C 80A2FFDC 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 00E60 80A2FFE0 0C031AD5 */ jal Graph_CloseDisps
/* 00E64 80A2FFE4 2407031C */ addiu $a3, $zero, 0x031C ## $a3 = 0000031C
/* 00E68 80A2FFE8 8FBF002C */ lw $ra, 0x002C($sp)
/* 00E6C 80A2FFEC 8FB00024 */ lw $s0, 0x0024($sp)
/* 00E70 80A2FFF0 8FB10028 */ lw $s1, 0x0028($sp)
/* 00E74 80A2FFF4 03E00008 */ jr $ra
/* 00E78 80A2FFF8 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000

View file

@ -1,279 +0,0 @@
.late_rodata
glabel D_80A307F0
.float 0.2
.text
glabel EnGb_Init
/* 00030 80A2F1B0 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
/* 00034 80A2F1B4 AFB30050 */ sw $s3, 0x0050($sp)
/* 00038 80A2F1B8 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 0003C 80A2F1BC AFBF005C */ sw $ra, 0x005C($sp)
/* 00040 80A2F1C0 AFB2004C */ sw $s2, 0x004C($sp)
/* 00044 80A2F1C4 3C0580A3 */ lui $a1, %hi(D_80A30740) ## $a1 = 80A30000
/* 00048 80A2F1C8 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 0004C 80A2F1CC AFB50058 */ sw $s5, 0x0058($sp)
/* 00050 80A2F1D0 AFB40054 */ sw $s4, 0x0054($sp)
/* 00054 80A2F1D4 AFB10048 */ sw $s1, 0x0048($sp)
/* 00058 80A2F1D8 AFB00044 */ sw $s0, 0x0044($sp)
/* 0005C 80A2F1DC F7BA0038 */ sdc1 $f26, 0x0038($sp)
/* 00060 80A2F1E0 F7B80030 */ sdc1 $f24, 0x0030($sp)
/* 00064 80A2F1E4 F7B60028 */ sdc1 $f22, 0x0028($sp)
/* 00068 80A2F1E8 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 0006C 80A2F1EC AFA00084 */ sw $zero, 0x0084($sp)
/* 00070 80A2F1F0 0C01E037 */ jal Actor_ProcessInitChain
/* 00074 80A2F1F4 24A50740 */ addiu $a1, $a1, %lo(D_80A30740) ## $a1 = 80A30740
/* 00078 80A2F1F8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 0007C 80A2F1FC 0C010D20 */ jal DynaPolyActor_Init
/* 00080 80A2F200 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00084 80A2F204 3C040601 */ lui $a0, %hi(D_0600C2D0) ## $a0 = 06010000
/* 00088 80A2F208 2484C2D0 */ addiu $a0, $a0, %lo(D_0600C2D0) ## $a0 = 0600C2D0
/* 0008C 80A2F20C 0C010620 */ jal CollisionHeader_GetVirtual
/* 00090 80A2F210 27A50084 */ addiu $a1, $sp, 0x0084 ## $a1 = FFFFFFF4
/* 00094 80A2F214 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00098 80A2F218 26650810 */ addiu $a1, $s3, 0x0810 ## $a1 = 00000810
/* 0009C 80A2F21C 02403025 */ or $a2, $s2, $zero ## $a2 = 00000000
/* 000A0 80A2F220 0C00FA9D */ jal DynaPoly_SetBgActor
## DynaPoly_SetBgActor
/* 000A4 80A2F224 8FA70084 */ lw $a3, 0x0084($sp)
/* 000A8 80A2F228 AE42014C */ sw $v0, 0x014C($s2) ## 0000014C
/* 000AC 80A2F22C 3C060601 */ lui $a2, %hi(D_0600C220) ## $a2 = 06010000
/* 000B0 80A2F230 3C070600 */ lui $a3, %hi(D_0600049C) ## $a3 = 06000000
/* 000B4 80A2F234 264E01A8 */ addiu $t6, $s2, 0x01A8 ## $t6 = 000001A8
/* 000B8 80A2F238 264F01F0 */ addiu $t7, $s2, 0x01F0 ## $t7 = 000001F0
/* 000BC 80A2F23C 2418000C */ addiu $t8, $zero, 0x000C ## $t8 = 0000000C
/* 000C0 80A2F240 AFB80018 */ sw $t8, 0x0018($sp)
/* 000C4 80A2F244 AFAF0014 */ sw $t7, 0x0014($sp)
/* 000C8 80A2F248 AFAE0010 */ sw $t6, 0x0010($sp)
/* 000CC 80A2F24C 24E7049C */ addiu $a3, $a3, %lo(D_0600049C) ## $a3 = 0600049C
/* 000D0 80A2F250 24C6C220 */ addiu $a2, $a2, %lo(D_0600C220) ## $a2 = 0600C220
/* 000D4 80A2F254 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 000D8 80A2F258 0C0291BE */ jal SkelAnime_InitFlex
/* 000DC 80A2F25C 26450164 */ addiu $a1, $s2, 0x0164 ## $a1 = 00000164
/* 000E0 80A2F260 2650023C */ addiu $s0, $s2, 0x023C ## $s0 = 0000023C
/* 000E4 80A2F264 02002825 */ or $a1, $s0, $zero ## $a1 = 0000023C
/* 000E8 80A2F268 0C0170D9 */ jal Collider_InitCylinder
/* 000EC 80A2F26C 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 000F0 80A2F270 3C0780A3 */ lui $a3, %hi(D_80A30690) ## $a3 = 80A30000
/* 000F4 80A2F274 24E70690 */ addiu $a3, $a3, %lo(D_80A30690) ## $a3 = 80A30690
/* 000F8 80A2F278 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 000FC 80A2F27C 02002825 */ or $a1, $s0, $zero ## $a1 = 0000023C
/* 00100 80A2F280 0C017114 */ jal Collider_SetCylinderType1
/* 00104 80A2F284 02403025 */ or $a2, $s2, $zero ## $a2 = 00000000
/* 00108 80A2F288 3C1080A3 */ lui $s0, %hi(D_80A306BC) ## $s0 = 80A30000
/* 0010C 80A2F28C 3C1480A3 */ lui $s4, %hi(D_80A30740) ## $s4 = 80A30000
/* 00110 80A2F290 26940740 */ addiu $s4, $s4, %lo(D_80A30740) ## $s4 = 80A30740
/* 00114 80A2F294 261006BC */ addiu $s0, $s0, %lo(D_80A306BC) ## $s0 = 80A306BC
/* 00118 80A2F298 26510288 */ addiu $s1, $s2, 0x0288 ## $s1 = 00000288
.L80A2F29C:
/* 0011C 80A2F29C 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00120 80A2F2A0 0C0170D9 */ jal Collider_InitCylinder
/* 00124 80A2F2A4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000288
/* 00128 80A2F2A8 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0012C 80A2F2AC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000288
/* 00130 80A2F2B0 02403025 */ or $a2, $s2, $zero ## $a2 = 00000000
/* 00134 80A2F2B4 0C017114 */ jal Collider_SetCylinderType1
/* 00138 80A2F2B8 02003825 */ or $a3, $s0, $zero ## $a3 = 80A306BC
/* 0013C 80A2F2BC 2610002C */ addiu $s0, $s0, 0x002C ## $s0 = 80A306E8
/* 00140 80A2F2C0 0214082B */ sltu $at, $s0, $s4
/* 00144 80A2F2C4 1420FFF5 */ bne $at, $zero, .L80A2F29C
/* 00148 80A2F2C8 2631004C */ addiu $s1, $s1, 0x004C ## $s1 = 000002D4
/* 0014C 80A2F2CC 26500370 */ addiu $s0, $s2, 0x0370 ## $s0 = 00000370
/* 00150 80A2F2D0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000370
/* 00154 80A2F2D4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00158 80A2F2D8 0C01E9D9 */ jal LightContext_InsertLight
/* 0015C 80A2F2DC 266507A8 */ addiu $a1, $s3, 0x07A8 ## $a1 = 000007A8
/* 00160 80A2F2E0 C6440008 */ lwc1 $f4, 0x0008($s2) ## 00000008
/* 00164 80A2F2E4 C648000C */ lwc1 $f8, 0x000C($s2) ## 0000000C
/* 00168 80A2F2E8 C6500010 */ lwc1 $f16, 0x0010($s2) ## 00000010
/* 0016C 80A2F2EC 4600218D */ trunc.w.s $f6, $f4
/* 00170 80A2F2F0 AE42036C */ sw $v0, 0x036C($s2) ## 0000036C
/* 00174 80A2F2F4 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
/* 00178 80A2F2F8 4600428D */ trunc.w.s $f10, $f8
/* 0017C 80A2F2FC 44053000 */ mfc1 $a1, $f6
/* 00180 80A2F300 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF
/* 00184 80A2F304 4600848D */ trunc.w.s $f18, $f16
/* 00188 80A2F308 44065000 */ mfc1 $a2, $f10
/* 0018C 80A2F30C 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 00190 80A2F310 240D00C8 */ addiu $t5, $zero, 0x00C8 ## $t5 = 000000C8
/* 00194 80A2F314 44079000 */ mfc1 $a3, $f18
/* 00198 80A2F318 00052C00 */ sll $a1, $a1, 16
/* 0019C 80A2F31C 00063400 */ sll $a2, $a2, 16
/* 001A0 80A2F320 00073C00 */ sll $a3, $a3, 16
/* 001A4 80A2F324 00073C03 */ sra $a3, $a3, 16
/* 001A8 80A2F328 00063403 */ sra $a2, $a2, 16
/* 001AC 80A2F32C 00052C03 */ sra $a1, $a1, 16
/* 001B0 80A2F330 AFAD001C */ sw $t5, 0x001C($sp)
/* 001B4 80A2F334 AFAC0018 */ sw $t4, 0x0018($sp)
/* 001B8 80A2F338 AFAB0014 */ sw $t3, 0x0014($sp)
/* 001BC 80A2F33C AFAA0010 */ sw $t2, 0x0010($sp)
/* 001C0 80A2F340 0C01E763 */ jal Lights_PointNoGlowSetInfo
/* 001C4 80A2F344 02002025 */ or $a0, $s0, $zero ## $a0 = 00000370
/* 001C8 80A2F348 4480C000 */ mtc1 $zero, $f24 ## $f24 = 0.00
/* 001CC 80A2F34C 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
/* 001D0 80A2F350 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
/* 001D4 80A2F354 4405C000 */ mfc1 $a1, $f24
/* 001D8 80A2F358 264400B4 */ addiu $a0, $s2, 0x00B4 ## $a0 = 000000B4
/* 001DC 80A2F35C 0C00AC78 */ jal ActorShape_Init
/* 001E0 80A2F360 3C07420C */ lui $a3, 0x420C ## $a3 = 420C0000
/* 001E4 80A2F364 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 001E8 80A2F368 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 001EC 80A2F36C 0C00B58B */ jal Actor_SetScale
/* 001F0 80A2F370 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 001F4 80A2F374 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 001F8 80A2F378 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
/* 001FC 80A2F37C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00200 80A2F380 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 00204 80A2F384 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00
/* 00208 80A2F388 A24E00AE */ sb $t6, 0x00AE($s2) ## 000000AE
/* 0020C 80A2F38C E6580068 */ swc1 $f24, 0x0068($s2) ## 00000068
/* 00210 80A2F390 E6580060 */ swc1 $f24, 0x0060($s2) ## 00000060
/* 00214 80A2F394 0C00CFBE */ jal Rand_ZeroFloat
/* 00218 80A2F398 E644006C */ swc1 $f4, 0x006C($s2) ## 0000006C
/* 0021C 80A2F39C 4600018D */ trunc.w.s $f6, $f0
/* 00220 80A2F3A0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00224 80A2F3A4 4481D000 */ mtc1 $at, $f26 ## $f26 = 30.00
/* 00228 80A2F3A8 3C0180A3 */ lui $at, %hi(D_80A307F0) ## $at = 80A30000
/* 0022C 80A2F3AC 44083000 */ mfc1 $t0, $f6
/* 00230 80A2F3B0 3C1180A3 */ lui $s1, %hi(D_80A30748) ## $s1 = 80A30000
/* 00234 80A2F3B4 3C1580A3 */ lui $s5, %hi(D_80A30778) ## $s5 = 80A30000
/* 00238 80A2F3B8 25090064 */ addiu $t1, $t0, 0x0064 ## $t1 = 00000064
/* 0023C 80A2F3BC A6490382 */ sh $t1, 0x0382($s2) ## 00000382
/* 00240 80A2F3C0 C43607F0 */ lwc1 $f22, %lo(D_80A307F0)($at)
/* 00244 80A2F3C4 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00248 80A2F3C8 4481A000 */ mtc1 $at, $f20 ## $f20 = 40.00
/* 0024C 80A2F3CC 26B50778 */ addiu $s5, $s5, %lo(D_80A30778) ## $s5 = 80A30778
/* 00250 80A2F3D0 26310748 */ addiu $s1, $s1, %lo(D_80A30748) ## $s1 = 80A30748
/* 00254 80A2F3D4 02408025 */ or $s0, $s2, $zero ## $s0 = 00000000
/* 00258 80A2F3D8 24140001 */ addiu $s4, $zero, 0x0001 ## $s4 = 00000001
/* 0025C 80A2F3DC 24130003 */ addiu $s3, $zero, 0x0003 ## $s3 = 00000003
.L80A2F3E0:
/* 00260 80A2F3E0 0C00CFBE */ jal Rand_ZeroFloat
/* 00264 80A2F3E4 4600D306 */ mov.s $f12, $f26
/* 00268 80A2F3E8 4600020D */ trunc.w.s $f8, $f0
/* 0026C 80A2F3EC 00006825 */ or $t5, $zero, $zero ## $t5 = 00000000
/* 00270 80A2F3F0 4600A306 */ mov.s $f12, $f20
/* 00274 80A2F3F4 440B4000 */ mfc1 $t3, $f8
/* 00278 80A2F3F8 00000000 */ nop
/* 0027C 80A2F3FC 0173001A */ div $zero, $t3, $s3
/* 00280 80A2F400 00006010 */ mfhi $t4
/* 00284 80A2F404 A20C0388 */ sb $t4, 0x0388($s0) ## 00000388
/* 00288 80A2F408 C6500024 */ lwc1 $f16, 0x0024($s2) ## 00000024
/* 0028C 80A2F40C C62A0000 */ lwc1 $f10, 0x0000($s1) ## 80A30748
/* 00290 80A2F410 16600002 */ bne $s3, $zero, .L80A2F41C
/* 00294 80A2F414 00000000 */ nop
/* 00298 80A2F418 0007000D */ break 7
.L80A2F41C:
/* 0029C 80A2F41C 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 002A0 80A2F420 16610004 */ bne $s3, $at, .L80A2F434
/* 002A4 80A2F424 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 002A8 80A2F428 15610002 */ bne $t3, $at, .L80A2F434
/* 002AC 80A2F42C 00000000 */ nop
/* 002B0 80A2F430 0006000D */ break 6
.L80A2F434:
/* 002B4 80A2F434 46105080 */ add.s $f2, $f10, $f16
/* 002B8 80A2F438 E6020390 */ swc1 $f2, 0x0390($s0) ## 00000390
/* 002BC 80A2F43C E602039C */ swc1 $f2, 0x039C($s0) ## 0000039C
/* 002C0 80A2F440 C6440028 */ lwc1 $f4, 0x0028($s2) ## 00000028
/* 002C4 80A2F444 C6320004 */ lwc1 $f18, 0x0004($s1) ## 80A3074C
/* 002C8 80A2F448 46049080 */ add.s $f2, $f18, $f4
/* 002CC 80A2F44C E6020394 */ swc1 $f2, 0x0394($s0) ## 00000394
/* 002D0 80A2F450 E60203A0 */ swc1 $f2, 0x03A0($s0) ## 000003A0
/* 002D4 80A2F454 C648002C */ lwc1 $f8, 0x002C($s2) ## 0000002C
/* 002D8 80A2F458 C6260008 */ lwc1 $f6, 0x0008($s1) ## 80A30750
/* 002DC 80A2F45C A2140389 */ sb $s4, 0x0389($s0) ## 00000389
/* 002E0 80A2F460 A20D038B */ sb $t5, 0x038B($s0) ## 0000038B
/* 002E4 80A2F464 46083080 */ add.s $f2, $f6, $f8
/* 002E8 80A2F468 A200038A */ sb $zero, 0x038A($s0) ## 0000038A
/* 002EC 80A2F46C E61803A8 */ swc1 $f24, 0x03A8($s0) ## 000003A8
/* 002F0 80A2F470 E61803AC */ swc1 $f24, 0x03AC($s0) ## 000003AC
/* 002F4 80A2F474 E6020398 */ swc1 $f2, 0x0398($s0) ## 00000398
/* 002F8 80A2F478 0C00CFBE */ jal Rand_ZeroFloat
/* 002FC 80A2F47C E60203A4 */ swc1 $f2, 0x03A4($s0) ## 000003A4
/* 00300 80A2F480 4600028D */ trunc.w.s $f10, $f0
/* 00304 80A2F484 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 80A30754
/* 00308 80A2F488 2610002C */ addiu $s0, $s0, 0x002C ## $s0 = 0000002C
/* 0030C 80A2F48C E6160384 */ swc1 $f22, 0x0384($s0) ## 000003B0
/* 00310 80A2F490 440F5000 */ mfc1 $t7, $f10
/* 00314 80A2F494 00000000 */ nop
/* 00318 80A2F498 A60F0362 */ sh $t7, 0x0362($s0) ## 0000038E
/* 0031C 80A2F49C 86180362 */ lh $t8, 0x0362($s0) ## 0000038E
/* 00320 80A2F4A0 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
/* 00324 80A2F4A4 1635FFCE */ bne $s1, $s5, .L80A2F3E0
/* 00328 80A2F4A8 A2190360 */ sb $t9, 0x0360($s0) ## 0000038C
/* 0032C 80A2F4AC 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00330 80A2F4B0 00000000 */ nop
/* 00334 80A2F4B4 461A0402 */ mul.s $f16, $f0, $f26
/* 00338 80A2F4B8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0033C 80A2F4BC 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
/* 00340 80A2F4C0 3C014320 */ lui $at, 0x4320 ## $at = 43200000
/* 00344 80A2F4C4 44815000 */ mtc1 $at, $f10 ## $f10 = 160.00
/* 00348 80A2F4C8 46040182 */ mul.s $f6, $f0, $f4
/* 0034C 80A2F4CC 240D00C8 */ addiu $t5, $zero, 0x00C8 ## $t5 = 000000C8
/* 00350 80A2F4D0 A24D0387 */ sb $t5, 0x0387($s2) ## 00000387
/* 00354 80A2F4D4 C64C0024 */ lwc1 $f12, 0x0024($s2) ## 00000024
/* 00358 80A2F4D8 C64E0028 */ lwc1 $f14, 0x0028($s2) ## 00000028
/* 0035C 80A2F4DC 8E46002C */ lw $a2, 0x002C($s2) ## 0000002C
/* 00360 80A2F4E0 4600848D */ trunc.w.s $f18, $f16
/* 00364 80A2F4E4 460A0402 */ mul.s $f16, $f0, $f10
/* 00368 80A2F4E8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0036C 80A2F4EC 440B9000 */ mfc1 $t3, $f18
/* 00370 80A2F4F0 4600320D */ trunc.w.s $f8, $f6
/* 00374 80A2F4F4 256C00E1 */ addiu $t4, $t3, 0x00E1 ## $t4 = 000000E1
/* 00378 80A2F4F8 A24C0384 */ sb $t4, 0x0384($s2) ## 00000384
/* 0037C 80A2F4FC 4600848D */ trunc.w.s $f18, $f16
/* 00380 80A2F500 44184000 */ mfc1 $t8, $f8
/* 00384 80A2F504 440B9000 */ mfc1 $t3, $f18
/* 00388 80A2F508 2719009B */ addiu $t9, $t8, 0x009B ## $t9 = 0000009B
/* 0038C 80A2F50C A2590385 */ sb $t9, 0x0385($s2) ## 00000385
/* 00390 80A2F510 256C005F */ addiu $t4, $t3, 0x005F ## $t4 = 0000005F
/* 00394 80A2F514 0C034261 */ jal Matrix_Translate
/* 00398 80A2F518 A24C0386 */ sb $t4, 0x0386($s2) ## 00000386
/* 0039C 80A2F51C 86440030 */ lh $a0, 0x0030($s2) ## 00000030
/* 003A0 80A2F520 86450032 */ lh $a1, 0x0032($s2) ## 00000032
/* 003A4 80A2F524 86460034 */ lh $a2, 0x0034($s2) ## 00000034
/* 003A8 80A2F528 0C034421 */ jal Matrix_RotateRPY
/* 003AC 80A2F52C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 003B0 80A2F530 3C014230 */ lui $at, 0x4230 ## $at = 42300000
/* 003B4 80A2F534 44812000 */ mtc1 $at, $f4 ## $f4 = 44.00
/* 003B8 80A2F538 E7B80074 */ swc1 $f24, 0x0074($sp)
/* 003BC 80A2F53C E7B80070 */ swc1 $f24, 0x0070($sp)
/* 003C0 80A2F540 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFE0
/* 003C4 80A2F544 26450038 */ addiu $a1, $s2, 0x0038 ## $a1 = 00000038
/* 003C8 80A2F548 0C0346BD */ jal Matrix_MultVec3f
/* 003CC 80A2F54C E7A40078 */ swc1 $f4, 0x0078($sp)
/* 003D0 80A2F550 3C01427A */ lui $at, 0x427A ## $at = 427A0000
/* 003D4 80A2F554 44814000 */ mtc1 $at, $f8 ## $f8 = 62.50
/* 003D8 80A2F558 C646003C */ lwc1 $f6, 0x003C($s2) ## 0000003C
/* 003DC 80A2F55C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 003E0 80A2F560 46083280 */ add.s $f10, $f6, $f8
/* 003E4 80A2F564 0C28BC60 */ jal func_80A2F180
/* 003E8 80A2F568 E64A003C */ swc1 $f10, 0x003C($s2) ## 0000003C
/* 003EC 80A2F56C 3C0E80A3 */ lui $t6, %hi(func_80A2F83C) ## $t6 = 80A30000
/* 003F0 80A2F570 25CEF83C */ addiu $t6, $t6, %lo(func_80A2F83C) ## $t6 = 80A2F83C
/* 003F4 80A2F574 AE4E0238 */ sw $t6, 0x0238($s2) ## 00000238
/* 003F8 80A2F578 8FBF005C */ lw $ra, 0x005C($sp)
/* 003FC 80A2F57C 8FB50058 */ lw $s5, 0x0058($sp)
/* 00400 80A2F580 8FB40054 */ lw $s4, 0x0054($sp)
/* 00404 80A2F584 8FB30050 */ lw $s3, 0x0050($sp)
/* 00408 80A2F588 8FB2004C */ lw $s2, 0x004C($sp)
/* 0040C 80A2F58C 8FB10048 */ lw $s1, 0x0048($sp)
/* 00410 80A2F590 8FB00044 */ lw $s0, 0x0044($sp)
/* 00414 80A2F594 D7BA0038 */ ldc1 $f26, 0x0038($sp)
/* 00418 80A2F598 D7B80030 */ ldc1 $f24, 0x0030($sp)
/* 0041C 80A2F59C D7B60028 */ ldc1 $f22, 0x0028($sp)
/* 00420 80A2F5A0 D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 00424 80A2F5A4 03E00008 */ jr $ra
/* 00428 80A2F5A8 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000

View file

@ -1,84 +0,0 @@
glabel EnGb_Update
/* 00BF4 80A2FD74 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00BF8 80A2FD78 AFBF002C */ sw $ra, 0x002C($sp)
/* 00BFC 80A2FD7C AFB50028 */ sw $s5, 0x0028($sp)
/* 00C00 80A2FD80 AFB40024 */ sw $s4, 0x0024($sp)
/* 00C04 80A2FD84 AFB30020 */ sw $s3, 0x0020($sp)
/* 00C08 80A2FD88 AFB2001C */ sw $s2, 0x001C($sp)
/* 00C0C 80A2FD8C AFB10018 */ sw $s1, 0x0018($sp)
/* 00C10 80A2FD90 AFB00014 */ sw $s0, 0x0014($sp)
/* 00C14 80A2FD94 848E0380 */ lh $t6, 0x0380($a0) ## 00000380
/* 00C18 80A2FD98 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
/* 00C1C 80A2FD9C 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 00C20 80A2FDA0 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00C24 80A2FDA4 A48F0380 */ sh $t7, 0x0380($a0) ## 00000380
/* 00C28 80A2FDA8 0C02927F */ jal SkelAnime_Update
/* 00C2C 80A2FDAC 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 00C30 80A2FDB0 8E590238 */ lw $t9, 0x0238($s2) ## 00000238
/* 00C34 80A2FDB4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00C38 80A2FDB8 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 00C3C 80A2FDBC 0320F809 */ jalr $ra, $t9
/* 00C40 80A2FDC0 00000000 */ nop
/* 00C44 80A2FDC4 9658037E */ lhu $t8, 0x037E($s2) ## 0000037E
/* 00C48 80A2FDC8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00C4C 80A2FDCC 0C28BD82 */ jal func_80A2F608
/* 00C50 80A2FDD0 A658010E */ sh $t8, 0x010E($s2) ## 0000010E
/* 00C54 80A2FDD4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00C58 80A2FDD8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00C5C 80A2FDDC 0261A021 */ addu $s4, $s3, $at
/* 00C60 80A2FDE0 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
/* 00C64 80A2FDE4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00C68 80A2FDE8 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 00C6C 80A2FDEC 2646023C */ addiu $a2, $s2, 0x023C ## $a2 = 0000023C
/* 00C70 80A2FDF0 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00C74 80A2FDF4 26510288 */ addiu $s1, $s2, 0x0288 ## $s1 = 00000288
/* 00C78 80A2FDF8 241500E4 */ addiu $s5, $zero, 0x00E4 ## $s5 = 000000E4
.L80A2FDFC:
/* 00C7C 80A2FDFC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00C80 80A2FE00 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
/* 00C84 80A2FE04 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 00C88 80A2FE08 02203025 */ or $a2, $s1, $zero ## $a2 = 00000288
/* 00C8C 80A2FE0C 2610004C */ addiu $s0, $s0, 0x004C ## $s0 = 0000004C
/* 00C90 80A2FE10 1615FFFA */ bne $s0, $s5, .L80A2FDFC
/* 00C94 80A2FE14 2631004C */ addiu $s1, $s1, 0x004C ## $s1 = 000002D4
/* 00C98 80A2FE18 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00C9C 80A2FE1C 00000000 */ nop
/* 00CA0 80A2FE20 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00CA4 80A2FE24 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 00CA8 80A2FE28 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00CAC 80A2FE2C 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
/* 00CB0 80A2FE30 46040182 */ mul.s $f6, $f0, $f4
/* 00CB4 80A2FE34 3C014320 */ lui $at, 0x4320 ## $at = 43200000
/* 00CB8 80A2FE38 44812000 */ mtc1 $at, $f4 ## $f4 = 160.00
/* 00CBC 80A2FE3C 460A0402 */ mul.s $f16, $f0, $f10
/* 00CC0 80A2FE40 240D00C8 */ addiu $t5, $zero, 0x00C8 ## $t5 = 000000C8
/* 00CC4 80A2FE44 A24D0387 */ sb $t5, 0x0387($s2) ## 00000387
/* 00CC8 80A2FE48 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00CCC 80A2FE4C 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 00CD0 80A2FE50 4600320D */ trunc.w.s $f8, $f6
/* 00CD4 80A2FE54 46040182 */ mul.s $f6, $f0, $f4
/* 00CD8 80A2FE58 440B4000 */ mfc1 $t3, $f8
/* 00CDC 80A2FE5C 4600848D */ trunc.w.s $f18, $f16
/* 00CE0 80A2FE60 256C00E1 */ addiu $t4, $t3, 0x00E1 ## $t4 = 000000E1
/* 00CE4 80A2FE64 A24C0384 */ sb $t4, 0x0384($s2) ## 00000384
/* 00CE8 80A2FE68 4600320D */ trunc.w.s $f8, $f6
/* 00CEC 80A2FE6C 44199000 */ mfc1 $t9, $f18
/* 00CF0 80A2FE70 440B4000 */ mfc1 $t3, $f8
/* 00CF4 80A2FE74 2738009B */ addiu $t8, $t9, 0x009B ## $t8 = 0000009B
/* 00CF8 80A2FE78 A2580385 */ sb $t8, 0x0385($s2) ## 00000385
/* 00CFC 80A2FE7C 256C005F */ addiu $t4, $t3, 0x005F ## $t4 = 0000005F
/* 00D00 80A2FE80 0C28BFFF */ jal func_80A2FFFC
/* 00D04 80A2FE84 A24C0386 */ sb $t4, 0x0386($s2) ## 00000386
/* 00D08 80A2FE88 8FBF002C */ lw $ra, 0x002C($sp)
/* 00D0C 80A2FE8C 8FB00014 */ lw $s0, 0x0014($sp)
/* 00D10 80A2FE90 8FB10018 */ lw $s1, 0x0018($sp)
/* 00D14 80A2FE94 8FB2001C */ lw $s2, 0x001C($sp)
/* 00D18 80A2FE98 8FB30020 */ lw $s3, 0x0020($sp)
/* 00D1C 80A2FE9C 8FB40024 */ lw $s4, 0x0024($sp)
/* 00D20 80A2FEA0 8FB50028 */ lw $s5, 0x0028($sp)
/* 00D24 80A2FEA4 03E00008 */ jr $ra
/* 00D28 80A2FEA8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000

View file

@ -1,15 +0,0 @@
glabel func_80A2F180
/* 00000 80A2F180 3C0E8016 */ lui $t6, %hi(gSaveContext+0xf0e)
/* 00004 80A2F184 95CEF56E */ lhu $t6, %lo(gSaveContext+0xf0e)($t6)
/* 00008 80A2F188 241870F5 */ addiu $t8, $zero, 0x70F5 ## $t8 = 000070F5
/* 0000C 80A2F18C 241970F4 */ addiu $t9, $zero, 0x70F4 ## $t9 = 000070F4
/* 00010 80A2F190 31CF0040 */ andi $t7, $t6, 0x0040 ## $t7 = 00000000
/* 00014 80A2F194 51E00004 */ beql $t7, $zero, .L80A2F1A8
/* 00018 80A2F198 A499037E */ sh $t9, 0x037E($a0) ## 0000037E
/* 0001C 80A2F19C 03E00008 */ jr $ra
/* 00020 80A2F1A0 A498037E */ sh $t8, 0x037E($a0) ## 0000037E
.L80A2F1A4:
/* 00024 80A2F1A4 A499037E */ sh $t9, 0x037E($a0) ## 0000037E
.L80A2F1A8:
/* 00028 80A2F1A8 03E00008 */ jr $ra
/* 0002C 80A2F1AC 00000000 */ nop

View file

@ -1,88 +0,0 @@
glabel func_80A2F608
/* 00488 80A2F608 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 0048C 80A2F60C AFBF002C */ sw $ra, 0x002C($sp)
/* 00490 80A2F610 AFB1001C */ sw $s1, 0x001C($sp)
/* 00494 80A2F614 AFB40028 */ sw $s4, 0x0028($sp)
/* 00498 80A2F618 AFB30024 */ sw $s3, 0x0024($sp)
/* 0049C 80A2F61C AFB20020 */ sw $s2, 0x0020($sp)
/* 004A0 80A2F620 AFB00018 */ sw $s0, 0x0018($sp)
/* 004A4 80A2F624 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 004A8 80A2F628 8C86002C */ lw $a2, 0x002C($a0) ## 0000002C
/* 004AC 80A2F62C C48E0028 */ lwc1 $f14, 0x0028($a0) ## 00000028
/* 004B0 80A2F630 C48C0024 */ lwc1 $f12, 0x0024($a0) ## 00000024
/* 004B4 80A2F634 0C034261 */ jal Matrix_Translate
/* 004B8 80A2F638 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 004BC 80A2F63C 86240030 */ lh $a0, 0x0030($s1) ## 00000030
/* 004C0 80A2F640 86250032 */ lh $a1, 0x0032($s1) ## 00000032
/* 004C4 80A2F644 86260034 */ lh $a2, 0x0034($s1) ## 00000034
/* 004C8 80A2F648 0C034421 */ jal Matrix_RotateRPY
/* 004CC 80A2F64C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 004D0 80A2F650 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 004D4 80A2F654 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 004D8 80A2F658 44812000 */ mtc1 $at, $f4 ## $f4 = 25.00
/* 004DC 80A2F65C 27B4003C */ addiu $s4, $sp, 0x003C ## $s4 = FFFFFFE4
/* 004E0 80A2F660 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE4
/* 004E4 80A2F664 27A40048 */ addiu $a0, $sp, 0x0048 ## $a0 = FFFFFFF0
/* 004E8 80A2F668 E7A0004C */ swc1 $f0, 0x004C($sp)
/* 004EC 80A2F66C E7A00048 */ swc1 $f0, 0x0048($sp)
/* 004F0 80A2F670 0C0346BD */ jal Matrix_MultVec3f
/* 004F4 80A2F674 E7A40050 */ swc1 $f4, 0x0050($sp)
/* 004F8 80A2F678 C7A6003C */ lwc1 $f6, 0x003C($sp)
/* 004FC 80A2F67C 3C1280A3 */ lui $s2, %hi(D_80A30778) ## $s2 = 80A30000
/* 00500 80A2F680 3C1380A3 */ lui $s3, %hi(D_80A3079C) ## $s3 = 80A30000
/* 00504 80A2F684 4600320D */ trunc.w.s $f8, $f6
/* 00508 80A2F688 2673079C */ addiu $s3, $s3, %lo(D_80A3079C) ## $s3 = 80A3079C
/* 0050C 80A2F68C 26520778 */ addiu $s2, $s2, %lo(D_80A30778) ## $s2 = 80A30778
/* 00510 80A2F690 02208025 */ or $s0, $s1, $zero ## $s0 = 00000000
/* 00514 80A2F694 440F4000 */ mfc1 $t7, $f8
/* 00518 80A2F698 00000000 */ nop
/* 0051C 80A2F69C A62F0282 */ sh $t7, 0x0282($s1) ## 00000282
/* 00520 80A2F6A0 C7AA0040 */ lwc1 $f10, 0x0040($sp)
/* 00524 80A2F6A4 4600540D */ trunc.w.s $f16, $f10
/* 00528 80A2F6A8 44198000 */ mfc1 $t9, $f16
/* 0052C 80A2F6AC 00000000 */ nop
/* 00530 80A2F6B0 A6390284 */ sh $t9, 0x0284($s1) ## 00000284
/* 00534 80A2F6B4 C7B20044 */ lwc1 $f18, 0x0044($sp)
/* 00538 80A2F6B8 4600910D */ trunc.w.s $f4, $f18
/* 0053C 80A2F6BC 44092000 */ mfc1 $t1, $f4
/* 00540 80A2F6C0 00000000 */ nop
/* 00544 80A2F6C4 A6290286 */ sh $t1, 0x0286($s1) ## 00000286
.L80A2F6C8:
/* 00548 80A2F6C8 C62C0024 */ lwc1 $f12, 0x0024($s1) ## 00000024
/* 0054C 80A2F6CC C62E0028 */ lwc1 $f14, 0x0028($s1) ## 00000028
/* 00550 80A2F6D0 8E26002C */ lw $a2, 0x002C($s1) ## 0000002C
/* 00554 80A2F6D4 0C034261 */ jal Matrix_Translate
/* 00558 80A2F6D8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0055C 80A2F6DC 86240030 */ lh $a0, 0x0030($s1) ## 00000030
/* 00560 80A2F6E0 86250032 */ lh $a1, 0x0032($s1) ## 00000032
/* 00564 80A2F6E4 86260034 */ lh $a2, 0x0034($s1) ## 00000034
/* 00568 80A2F6E8 0C034421 */ jal Matrix_RotateRPY
/* 0056C 80A2F6EC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00570 80A2F6F0 02402025 */ or $a0, $s2, $zero ## $a0 = 80A30778
/* 00574 80A2F6F4 0C0346BD */ jal Matrix_MultVec3f
/* 00578 80A2F6F8 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFE4
/* 0057C 80A2F6FC C7A6003C */ lwc1 $f6, 0x003C($sp)
/* 00580 80A2F700 2652000C */ addiu $s2, $s2, 0x000C ## $s2 = 80A30784
/* 00584 80A2F704 2610004C */ addiu $s0, $s0, 0x004C ## $s0 = 0000004C
/* 00588 80A2F708 4600320D */ trunc.w.s $f8, $f6
/* 0058C 80A2F70C 440B4000 */ mfc1 $t3, $f8
/* 00590 80A2F710 00000000 */ nop
/* 00594 80A2F714 A60B0282 */ sh $t3, 0x0282($s0) ## 000002CE
/* 00598 80A2F718 C7AA0040 */ lwc1 $f10, 0x0040($sp)
/* 0059C 80A2F71C 4600540D */ trunc.w.s $f16, $f10
/* 005A0 80A2F720 440D8000 */ mfc1 $t5, $f16
/* 005A4 80A2F724 00000000 */ nop
/* 005A8 80A2F728 A60D0284 */ sh $t5, 0x0284($s0) ## 000002D0
/* 005AC 80A2F72C C7B20044 */ lwc1 $f18, 0x0044($sp)
/* 005B0 80A2F730 4600910D */ trunc.w.s $f4, $f18
/* 005B4 80A2F734 440F2000 */ mfc1 $t7, $f4
/* 005B8 80A2F738 1653FFE3 */ bne $s2, $s3, .L80A2F6C8
/* 005BC 80A2F73C A60F0286 */ sh $t7, 0x0286($s0) ## 000002D2
/* 005C0 80A2F740 8FBF002C */ lw $ra, 0x002C($sp)
/* 005C4 80A2F744 8FB00018 */ lw $s0, 0x0018($sp)
/* 005C8 80A2F748 8FB1001C */ lw $s1, 0x001C($sp)
/* 005CC 80A2F74C 8FB20020 */ lw $s2, 0x0020($sp)
/* 005D0 80A2F750 8FB30024 */ lw $s3, 0x0024($sp)
/* 005D4 80A2F754 8FB40028 */ lw $s4, 0x0028($sp)
/* 005D8 80A2F758 03E00008 */ jr $ra
/* 005DC 80A2F75C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000

View file

@ -1,32 +0,0 @@
glabel func_80A2F760
/* 005E0 80A2F760 908E038B */ lbu $t6, 0x038B($a0) ## 0000038B
/* 005E4 80A2F764 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000
/* 005E8 80A2F768 51C00004 */ beql $t6, $zero, .L80A2F77C
/* 005EC 80A2F76C 904F03B7 */ lbu $t7, 0x03B7($v0) ## 000003B7
/* 005F0 80A2F770 03E00008 */ jr $ra
/* 005F4 80A2F774 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A2F778:
/* 005F8 80A2F778 904F03B7 */ lbu $t7, 0x03B7($v0) ## 000003B8
.L80A2F77C:
/* 005FC 80A2F77C 51E00004 */ beql $t7, $zero, .L80A2F790
/* 00600 80A2F780 905803E3 */ lbu $t8, 0x03E3($v0) ## 000003E4
/* 00604 80A2F784 03E00008 */ jr $ra
/* 00608 80A2F788 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A2F78C:
/* 0060C 80A2F78C 905803E3 */ lbu $t8, 0x03E3($v0) ## 000003E4
.L80A2F790:
/* 00610 80A2F790 53000004 */ beql $t8, $zero, .L80A2F7A4
/* 00614 80A2F794 9059040F */ lbu $t9, 0x040F($v0) ## 00000410
/* 00618 80A2F798 03E00008 */ jr $ra
/* 0061C 80A2F79C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A2F7A0:
/* 00620 80A2F7A0 9059040F */ lbu $t9, 0x040F($v0) ## 00000410
.L80A2F7A4:
/* 00624 80A2F7A4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00628 80A2F7A8 13200003 */ beq $t9, $zero, .L80A2F7B8
/* 0062C 80A2F7AC 00000000 */ nop
/* 00630 80A2F7B0 03E00008 */ jr $ra
/* 00634 80A2F7B4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A2F7B8:
/* 00638 80A2F7B8 03E00008 */ jr $ra
/* 0063C 80A2F7BC 00000000 */ nop

View file

@ -1,35 +0,0 @@
glabel func_80A2F7C0
/* 00640 80A2F7C0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00644 80A2F7C4 AFA40028 */ sw $a0, 0x0028($sp)
/* 00648 80A2F7C8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0064C 80A2F7CC 3C040601 */ lui $a0, %hi(D_0600C8EC) ## $a0 = 06010000
/* 00650 80A2F7D0 0C028800 */ jal Animation_GetLastFrame
/* 00654 80A2F7D4 2484C8EC */ addiu $a0, $a0, %lo(D_0600C8EC) ## $a0 = 0600C8EC
/* 00658 80A2F7D8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 0065C 80A2F7DC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00660 80A2F7E0 8FA40028 */ lw $a0, 0x0028($sp)
/* 00664 80A2F7E4 468021A0 */ cvt.s.w $f6, $f4
/* 00668 80A2F7E8 3C050601 */ lui $a1, %hi(D_0600C8EC) ## $a1 = 06010000
/* 0066C 80A2F7EC 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 00670 80A2F7F0 44070000 */ mfc1 $a3, $f0
/* 00674 80A2F7F4 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00678 80A2F7F8 24A5C8EC */ addiu $a1, $a1, %lo(D_0600C8EC) ## $a1 = 0600C8EC
/* 0067C 80A2F7FC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00680 80A2F800 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00684 80A2F804 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 00688 80A2F808 0C029468 */ jal Animation_Change
/* 0068C 80A2F80C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00690 80A2F810 8FA40028 */ lw $a0, 0x0028($sp)
/* 00694 80A2F814 0C00BE0A */ jal Audio_PlayActorSound2
/* 00698 80A2F818 240528B0 */ addiu $a1, $zero, 0x28B0 ## $a1 = 000028B0
/* 0069C 80A2F81C 8FB80028 */ lw $t8, 0x0028($sp)
/* 006A0 80A2F820 3C0F80A3 */ lui $t7, %hi(func_80A2FC70) ## $t7 = 80A30000
/* 006A4 80A2F824 25EFFC70 */ addiu $t7, $t7, %lo(func_80A2FC70) ## $t7 = 80A2FC70
/* 006A8 80A2F828 AF0F0238 */ sw $t7, 0x0238($t8) ## 00000238
/* 006AC 80A2F82C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 006B0 80A2F830 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 006B4 80A2F834 03E00008 */ jr $ra
/* 006B8 80A2F838 00000000 */ nop

View file

@ -1,77 +0,0 @@
glabel func_80A2F83C
/* 006BC 80A2F83C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 006C0 80A2F840 AFBF001C */ sw $ra, 0x001C($sp)
/* 006C4 80A2F844 AFB00018 */ sw $s0, 0x0018($sp)
/* 006C8 80A2F848 AFA5002C */ sw $a1, 0x002C($sp)
/* 006CC 80A2F84C 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 006D0 80A2F850 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006D4 80A2F854 0C28BDD8 */ jal func_80A2F760
/* 006D8 80A2F858 AFAF0024 */ sw $t7, 0x0024($sp)
/* 006DC 80A2F85C 1440000A */ bne $v0, $zero, .L80A2F888
/* 006E0 80A2F860 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006E4 80A2F864 86020382 */ lh $v0, 0x0382($s0) ## 00000382
/* 006E8 80A2F868 10400003 */ beq $v0, $zero, .L80A2F878
/* 006EC 80A2F86C 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 006F0 80A2F870 10000005 */ beq $zero, $zero, .L80A2F888
/* 006F4 80A2F874 A6180382 */ sh $t8, 0x0382($s0) ## 00000382
.L80A2F878:
/* 006F8 80A2F878 0C28BDF0 */ jal func_80A2F7C0
/* 006FC 80A2F87C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00700 80A2F880 1000002E */ beq $zero, $zero, .L80A2F93C
/* 00704 80A2F884 8FBF001C */ lw $ra, 0x001C($sp)
.L80A2F888:
/* 00708 80A2F888 0C00BC65 */ jal func_8002F194
/* 0070C 80A2F88C 8FA5002C */ lw $a1, 0x002C($sp)
/* 00710 80A2F890 1040001E */ beq $v0, $zero, .L80A2F90C
/* 00714 80A2F894 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00718 80A2F898 0C00BCDA */ jal func_8002F368
/* 0071C 80A2F89C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00720 80A2F8A0 10400008 */ beq $v0, $zero, .L80A2F8C4
/* 00724 80A2F8A4 2401001B */ addiu $at, $zero, 0x001B ## $at = 0000001B
/* 00728 80A2F8A8 1041000C */ beq $v0, $at, .L80A2F8DC
/* 0072C 80A2F8AC 240870F6 */ addiu $t0, $zero, 0x70F6 ## $t0 = 000070F6
/* 00730 80A2F8B0 2401001C */ addiu $at, $zero, 0x001C ## $at = 0000001C
/* 00734 80A2F8B4 1041000F */ beq $v0, $at, .L80A2F8F4
/* 00738 80A2F8B8 240B70F7 */ addiu $t3, $zero, 0x70F7 ## $t3 = 000070F7
/* 0073C 80A2F8BC 1000001F */ beq $zero, $zero, .L80A2F93C
/* 00740 80A2F8C0 8FBF001C */ lw $ra, 0x001C($sp)
.L80A2F8C4:
/* 00744 80A2F8C4 0C28BC60 */ jal func_80A2F180
/* 00748 80A2F8C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0074C 80A2F8CC 3C1980A3 */ lui $t9, %hi(func_80A2F94C) ## $t9 = 80A30000
/* 00750 80A2F8D0 2739F94C */ addiu $t9, $t9, %lo(func_80A2F94C) ## $t9 = 80A2F94C
/* 00754 80A2F8D4 10000018 */ beq $zero, $zero, .L80A2F938
/* 00758 80A2F8D8 AE190238 */ sw $t9, 0x0238($s0) ## 00000238
.L80A2F8DC:
/* 0075C 80A2F8DC 8FA90024 */ lw $t1, 0x0024($sp)
/* 00760 80A2F8E0 3C0A80A3 */ lui $t2, %hi(func_80A2F9C0) ## $t2 = 80A30000
/* 00764 80A2F8E4 254AF9C0 */ addiu $t2, $t2, %lo(func_80A2F9C0) ## $t2 = 80A2F9C0
/* 00768 80A2F8E8 A528010E */ sh $t0, 0x010E($t1) ## 0000010E
/* 0076C 80A2F8EC 10000012 */ beq $zero, $zero, .L80A2F938
/* 00770 80A2F8F0 AE0A0238 */ sw $t2, 0x0238($s0) ## 00000238
.L80A2F8F4:
/* 00774 80A2F8F4 8FAC0024 */ lw $t4, 0x0024($sp)
/* 00778 80A2F8F8 3C0D80A3 */ lui $t5, %hi(func_80A2FA50) ## $t5 = 80A30000
/* 0077C 80A2F8FC 25ADFA50 */ addiu $t5, $t5, %lo(func_80A2FA50) ## $t5 = 80A2FA50
/* 00780 80A2F900 A58B010E */ sh $t3, 0x010E($t4) ## 0000010E
/* 00784 80A2F904 1000000C */ beq $zero, $zero, .L80A2F938
/* 00788 80A2F908 AE0D0238 */ sw $t5, 0x0238($s0) ## 00000238
.L80A2F90C:
/* 0078C 80A2F90C 44810000 */ mtc1 $at, $f0 ## $f0 = 0.00
/* 00790 80A2F910 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
/* 00794 80A2F914 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00798 80A2F918 8FA5002C */ lw $a1, 0x002C($sp)
/* 0079C 80A2F91C 4600203C */ c.lt.s $f4, $f0
/* 007A0 80A2F920 00000000 */ nop
/* 007A4 80A2F924 45020005 */ bc1fl .L80A2F93C
/* 007A8 80A2F928 8FBF001C */ lw $ra, 0x001C($sp)
/* 007AC 80A2F92C 44060000 */ mfc1 $a2, $f0
/* 007B0 80A2F930 0C00BCA6 */ jal func_8002F298
/* 007B4 80A2F934 2407001B */ addiu $a3, $zero, 0x001B ## $a3 = 0000001B
.L80A2F938:
/* 007B8 80A2F938 8FBF001C */ lw $ra, 0x001C($sp)
.L80A2F93C:
/* 007BC 80A2F93C 8FB00018 */ lw $s0, 0x0018($sp)
/* 007C0 80A2F940 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 007C4 80A2F944 03E00008 */ jr $ra
/* 007C8 80A2F948 00000000 */ nop

View file

@ -1,33 +0,0 @@
glabel func_80A2F94C
/* 007CC 80A2F94C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 007D0 80A2F950 AFBF0014 */ sw $ra, 0x0014($sp)
/* 007D4 80A2F954 AFA40018 */ sw $a0, 0x0018($sp)
/* 007D8 80A2F958 AFA5001C */ sw $a1, 0x001C($sp)
/* 007DC 80A2F95C 0C042F6F */ jal func_8010BDBC
/* 007E0 80A2F960 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 007E4 80A2F964 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 007E8 80A2F968 54410012 */ bnel $v0, $at, .L80A2F9B4
/* 007EC 80A2F96C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 007F0 80A2F970 0C041AF2 */ jal func_80106BC8
/* 007F4 80A2F974 8FA4001C */ lw $a0, 0x001C($sp)
/* 007F8 80A2F978 1040000D */ beq $v0, $zero, .L80A2F9B0
/* 007FC 80A2F97C 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00800 80A2F980 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00804 80A2F984 94620F0E */ lhu $v0, 0x0F0E($v1) ## 8015F56E
/* 00808 80A2F988 304E0040 */ andi $t6, $v0, 0x0040 ## $t6 = 00000000
/* 0080C 80A2F98C 15C00002 */ bne $t6, $zero, .L80A2F998
/* 00810 80A2F990 344F0040 */ ori $t7, $v0, 0x0040 ## $t7 = 00000040
/* 00814 80A2F994 A46F0F0E */ sh $t7, 0x0F0E($v1) ## 8015F56E
.L80A2F998:
/* 00818 80A2F998 0C28BC60 */ jal func_80A2F180
/* 0081C 80A2F99C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00820 80A2F9A0 8FB90018 */ lw $t9, 0x0018($sp)
/* 00824 80A2F9A4 3C1880A3 */ lui $t8, %hi(func_80A2F83C) ## $t8 = 80A30000
/* 00828 80A2F9A8 2718F83C */ addiu $t8, $t8, %lo(func_80A2F83C) ## $t8 = 80A2F83C
/* 0082C 80A2F9AC AF380238 */ sw $t8, 0x0238($t9) ## 00000238
.L80A2F9B0:
/* 00830 80A2F9B0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A2F9B4:
/* 00834 80A2F9B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00838 80A2F9B8 03E00008 */ jr $ra
/* 0083C 80A2F9BC 00000000 */ nop

View file

@ -1,40 +0,0 @@
glabel func_80A2F9C0
/* 00840 80A2F9C0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00844 80A2F9C4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00848 80A2F9C8 AFA40018 */ sw $a0, 0x0018($sp)
/* 0084C 80A2F9CC AFA5001C */ sw $a1, 0x001C($sp)
/* 00850 80A2F9D0 0C042F6F */ jal func_8010BDBC
/* 00854 80A2F9D4 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00858 80A2F9D8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 0085C 80A2F9DC 54410019 */ bnel $v0, $at, .L80A2FA44
/* 00860 80A2F9E0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00864 80A2F9E4 0C041AF2 */ jal func_80106BC8
/* 00868 80A2F9E8 8FA4001C */ lw $a0, 0x001C($sp)
/* 0086C 80A2F9EC 10400014 */ beq $v0, $zero, .L80A2FA40
/* 00870 80A2F9F0 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00874 80A2F9F4 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00878 80A2F9F8 94620F0E */ lhu $v0, 0x0F0E($v1) ## 8015F56E
/* 0087C 80A2F9FC 304E0040 */ andi $t6, $v0, 0x0040 ## $t6 = 00000000
/* 00880 80A2FA00 15C00002 */ bne $t6, $zero, .L80A2FA0C
/* 00884 80A2FA04 344F0040 */ ori $t7, $v0, 0x0040 ## $t7 = 00000040
/* 00888 80A2FA08 A46F0F0E */ sh $t7, 0x0F0E($v1) ## 8015F56E
.L80A2FA0C:
/* 0088C 80A2FA0C 0C28BC60 */ jal func_80A2F180
/* 00890 80A2FA10 8FA40018 */ lw $a0, 0x0018($sp)
/* 00894 80A2FA14 8FA4001C */ lw $a0, 0x001C($sp)
/* 00898 80A2FA18 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 0089C 80A2FA1C 2407001E */ addiu $a3, $zero, 0x001E ## $a3 = 0000001E
/* 008A0 80A2FA20 0C023B67 */ jal Player_UpdateBottleHeld
/* 008A4 80A2FA24 8C851C44 */ lw $a1, 0x1C44($a0) ## 00001C44
/* 008A8 80A2FA28 0C021CC3 */ jal Rupees_ChangeBy
/* 008AC 80A2FA2C 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
/* 008B0 80A2FA30 8FA80018 */ lw $t0, 0x0018($sp)
/* 008B4 80A2FA34 3C1980A3 */ lui $t9, %hi(func_80A2F83C) ## $t9 = 80A30000
/* 008B8 80A2FA38 2739F83C */ addiu $t9, $t9, %lo(func_80A2F83C) ## $t9 = 80A2F83C
/* 008BC 80A2FA3C AD190238 */ sw $t9, 0x0238($t0) ## 00000238
.L80A2FA40:
/* 008C0 80A2FA40 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A2FA44:
/* 008C4 80A2FA44 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 008C8 80A2FA48 03E00008 */ jr $ra
/* 008CC 80A2FA4C 00000000 */ nop

View file

@ -1,66 +0,0 @@
glabel func_80A2FA50
/* 008D0 80A2FA50 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 008D4 80A2FA54 AFB10018 */ sw $s1, 0x0018($sp)
/* 008D8 80A2FA58 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 008DC 80A2FA5C AFBF001C */ sw $ra, 0x001C($sp)
/* 008E0 80A2FA60 AFB00014 */ sw $s0, 0x0014($sp)
/* 008E4 80A2FA64 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 008E8 80A2FA68 0C042F6F */ jal func_8010BDBC
/* 008EC 80A2FA6C 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 008F0 80A2FA70 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 008F4 80A2FA74 5441002E */ bnel $v0, $at, .L80A2FB30
/* 008F8 80A2FA78 8FBF001C */ lw $ra, 0x001C($sp)
/* 008FC 80A2FA7C 0C041AF2 */ jal func_80106BC8
/* 00900 80A2FA80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00904 80A2FA84 10400029 */ beq $v0, $zero, .L80A2FB2C
/* 00908 80A2FA88 3C028016 */ lui $v0, %hi(gSaveContext)
/* 0090C 80A2FA8C 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00910 80A2FA90 94430F0E */ lhu $v1, 0x0F0E($v0) ## 8015F56E
/* 00914 80A2FA94 306E0040 */ andi $t6, $v1, 0x0040 ## $t6 = 00000000
/* 00918 80A2FA98 15C00002 */ bne $t6, $zero, .L80A2FAA4
/* 0091C 80A2FA9C 346F0040 */ ori $t7, $v1, 0x0040 ## $t7 = 00000040
/* 00920 80A2FAA0 A44F0F0E */ sh $t7, 0x0F0E($v0) ## 8015F56E
.L80A2FAA4:
/* 00924 80A2FAA4 0C28BC60 */ jal func_80A2F180
/* 00928 80A2FAA8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0092C 80A2FAAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00930 80A2FAB0 8E051C44 */ lw $a1, 0x1C44($s0) ## 00001C44
/* 00934 80A2FAB4 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 00938 80A2FAB8 0C023B67 */ jal Player_UpdateBottleHeld
/* 0093C 80A2FABC 2407001E */ addiu $a3, $zero, 0x001E ## $a3 = 0000001E
/* 00940 80A2FAC0 0C021CC3 */ jal Rupees_ChangeBy
/* 00944 80A2FAC4 24040032 */ addiu $a0, $zero, 0x0032 ## $a0 = 00000032
/* 00948 80A2FAC8 3C028016 */ lui $v0, %hi(gSaveContext)
/* 0094C 80A2FACC 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00950 80A2FAD0 8C580EBC */ lw $t8, 0x0EBC($v0) ## 8015F51C
/* 00954 80A2FAD4 240103E8 */ addiu $at, $zero, 0x03E8 ## $at = 000003E8
/* 00958 80A2FAD8 240A70F8 */ addiu $t2, $zero, 0x70F8 ## $t2 = 000070F8
/* 0095C 80A2FADC 27190064 */ addiu $t9, $t8, 0x0064 ## $t9 = 00000064
/* 00960 80A2FAE0 13210009 */ beq $t9, $at, .L80A2FB08
/* 00964 80A2FAE4 AC590EBC */ sw $t9, 0x0EBC($v0) ## 8015F51C
/* 00968 80A2FAE8 2B21044D */ slti $at, $t9, 0x044D
/* 0096C 80A2FAEC 14200003 */ bne $at, $zero, .L80A2FAFC
/* 00970 80A2FAF0 3C0980A3 */ lui $t1, %hi(func_80A2F83C) ## $t1 = 80A30000
/* 00974 80A2FAF4 2408044C */ addiu $t0, $zero, 0x044C ## $t0 = 0000044C
/* 00978 80A2FAF8 AC480EBC */ sw $t0, 0x0EBC($v0) ## 8015F51C
.L80A2FAFC:
/* 0097C 80A2FAFC 2529F83C */ addiu $t1, $t1, %lo(func_80A2F83C) ## $t1 = 80A2F83C
/* 00980 80A2FB00 1000000A */ beq $zero, $zero, .L80A2FB2C
/* 00984 80A2FB04 AE290238 */ sw $t1, 0x0238($s1) ## 00000238
.L80A2FB08:
/* 00988 80A2FB08 8E021C44 */ lw $v0, 0x1C44($s0) ## 00001C44
/* 0098C 80A2FB0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00990 80A2FB10 3145FFFF */ andi $a1, $t2, 0xFFFF ## $a1 = 000070F8
/* 00994 80A2FB14 A0400693 */ sb $zero, 0x0693($v0) ## 8015ECF3
/* 00998 80A2FB18 0C042DC8 */ jal func_8010B720
/* 0099C 80A2FB1C A62A037E */ sh $t2, 0x037E($s1) ## 0000037E
/* 009A0 80A2FB20 3C0B80A3 */ lui $t3, %hi(func_80A2FB40) ## $t3 = 80A30000
/* 009A4 80A2FB24 256BFB40 */ addiu $t3, $t3, %lo(func_80A2FB40) ## $t3 = 80A2FB40
/* 009A8 80A2FB28 AE2B0238 */ sw $t3, 0x0238($s1) ## 00000238
.L80A2FB2C:
/* 009AC 80A2FB2C 8FBF001C */ lw $ra, 0x001C($sp)
.L80A2FB30:
/* 009B0 80A2FB30 8FB00014 */ lw $s0, 0x0014($sp)
/* 009B4 80A2FB34 8FB10018 */ lw $s1, 0x0018($sp)
/* 009B8 80A2FB38 03E00008 */ jr $ra
/* 009BC 80A2FB3C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View file

@ -1,31 +0,0 @@
glabel func_80A2FB40
/* 009C0 80A2FB40 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 009C4 80A2FB44 AFBF001C */ sw $ra, 0x001C($sp)
/* 009C8 80A2FB48 AFA40020 */ sw $a0, 0x0020($sp)
/* 009CC 80A2FB4C AFA50024 */ sw $a1, 0x0024($sp)
/* 009D0 80A2FB50 0C042F6F */ jal func_8010BDBC
/* 009D4 80A2FB54 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 009D8 80A2FB58 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 009DC 80A2FB5C 54410011 */ bnel $v0, $at, .L80A2FBA4
/* 009E0 80A2FB60 8FBF001C */ lw $ra, 0x001C($sp)
/* 009E4 80A2FB64 0C041AF2 */ jal func_80106BC8
/* 009E8 80A2FB68 8FA40024 */ lw $a0, 0x0024($sp)
/* 009EC 80A2FB6C 1040000C */ beq $v0, $zero, .L80A2FBA0
/* 009F0 80A2FB70 8FA40020 */ lw $a0, 0x0020($sp)
/* 009F4 80A2FB74 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 009F8 80A2FB78 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 009FC 80A2FB7C 8FA50024 */ lw $a1, 0x0024($sp)
/* 00A00 80A2FB80 2406000F */ addiu $a2, $zero, 0x000F ## $a2 = 0000000F
/* 00A04 80A2FB84 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00A08 80A2FB88 0C00BD0D */ jal func_8002F434
/* 00A0C 80A2FB8C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00A10 80A2FB90 8FAF0020 */ lw $t7, 0x0020($sp)
/* 00A14 80A2FB94 3C0E80A3 */ lui $t6, %hi(func_80A2FBB0) ## $t6 = 80A30000
/* 00A18 80A2FB98 25CEFBB0 */ addiu $t6, $t6, %lo(func_80A2FBB0) ## $t6 = 80A2FBB0
/* 00A1C 80A2FB9C ADEE0238 */ sw $t6, 0x0238($t7) ## 00000238
.L80A2FBA0:
/* 00A20 80A2FBA0 8FBF001C */ lw $ra, 0x001C($sp)
.L80A2FBA4:
/* 00A24 80A2FBA4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00A28 80A2FBA8 03E00008 */ jr $ra
/* 00A2C 80A2FBAC 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80A2FBB0
/* 00A30 80A2FBB0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00A34 80A2FBB4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00A38 80A2FBB8 AFA50024 */ sw $a1, 0x0024($sp)
/* 00A3C 80A2FBBC 0C00BD04 */ jal Actor_HasParent
/* 00A40 80A2FBC0 AFA40020 */ sw $a0, 0x0020($sp)
/* 00A44 80A2FBC4 10400006 */ beq $v0, $zero, .L80A2FBE0
/* 00A48 80A2FBC8 8FA40020 */ lw $a0, 0x0020($sp)
/* 00A4C 80A2FBCC 3C0E80A3 */ lui $t6, %hi(func_80A2FC0C) ## $t6 = 80A30000
/* 00A50 80A2FBD0 25CEFC0C */ addiu $t6, $t6, %lo(func_80A2FC0C) ## $t6 = 80A2FC0C
/* 00A54 80A2FBD4 AC800118 */ sw $zero, 0x0118($a0) ## 00000118
/* 00A58 80A2FBD8 10000008 */ beq $zero, $zero, .L80A2FBFC
/* 00A5C 80A2FBDC AC8E0238 */ sw $t6, 0x0238($a0) ## 00000238
.L80A2FBE0:
/* 00A60 80A2FBE0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00A64 80A2FBE4 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 00A68 80A2FBE8 8FA50024 */ lw $a1, 0x0024($sp)
/* 00A6C 80A2FBEC 2406000F */ addiu $a2, $zero, 0x000F ## $a2 = 0000000F
/* 00A70 80A2FBF0 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00A74 80A2FBF4 0C00BD0D */ jal func_8002F434
/* 00A78 80A2FBF8 E7A40010 */ swc1 $f4, 0x0010($sp)
.L80A2FBFC:
/* 00A7C 80A2FBFC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00A80 80A2FC00 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00A84 80A2FC04 03E00008 */ jr $ra
/* 00A88 80A2FC08 00000000 */ nop

View file

@ -1,28 +0,0 @@
glabel func_80A2FC0C
/* 00A8C 80A2FC0C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00A90 80A2FC10 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00A94 80A2FC14 AFA40018 */ sw $a0, 0x0018($sp)
/* 00A98 80A2FC18 AFA5001C */ sw $a1, 0x001C($sp)
/* 00A9C 80A2FC1C 0C042F6F */ jal func_8010BDBC
/* 00AA0 80A2FC20 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00AA4 80A2FC24 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00AA8 80A2FC28 5441000E */ bnel $v0, $at, .L80A2FC64
/* 00AAC 80A2FC2C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00AB0 80A2FC30 0C041AF2 */ jal func_80106BC8
/* 00AB4 80A2FC34 8FA4001C */ lw $a0, 0x001C($sp)
/* 00AB8 80A2FC38 10400009 */ beq $v0, $zero, .L80A2FC60
/* 00ABC 80A2FC3C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00AC0 80A2FC40 0C00BC65 */ jal func_8002F194
/* 00AC4 80A2FC44 8FA5001C */ lw $a1, 0x001C($sp)
/* 00AC8 80A2FC48 0C28BC60 */ jal func_80A2F180
/* 00ACC 80A2FC4C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00AD0 80A2FC50 8FAF0018 */ lw $t7, 0x0018($sp)
/* 00AD4 80A2FC54 3C0E80A3 */ lui $t6, %hi(func_80A2F83C) ## $t6 = 80A30000
/* 00AD8 80A2FC58 25CEF83C */ addiu $t6, $t6, %lo(func_80A2F83C) ## $t6 = 80A2F83C
/* 00ADC 80A2FC5C ADEE0238 */ sw $t6, 0x0238($t7) ## 00000238
.L80A2FC60:
/* 00AE0 80A2FC60 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A2FC64:
/* 00AE4 80A2FC64 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00AE8 80A2FC68 03E00008 */ jr $ra
/* 00AEC 80A2FC6C 00000000 */ nop

View file

@ -1,74 +0,0 @@
glabel func_80A2FC70
/* 00AF0 80A2FC70 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00AF4 80A2FC74 AFB00028 */ sw $s0, 0x0028($sp)
/* 00AF8 80A2FC78 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AFC 80A2FC7C AFBF002C */ sw $ra, 0x002C($sp)
/* 00B00 80A2FC80 3C040601 */ lui $a0, %hi(D_0600C8EC) ## $a0 = 06010000
/* 00B04 80A2FC84 AFA50034 */ sw $a1, 0x0034($sp)
/* 00B08 80A2FC88 0C028800 */ jal Animation_GetLastFrame
/* 00B0C 80A2FC8C 2484C8EC */ addiu $a0, $a0, %lo(D_0600C8EC) ## $a0 = 0600C8EC
/* 00B10 80A2FC90 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00B14 80A2FC94 C600017C */ lwc1 $f0, 0x017C($s0) ## 0000017C
/* 00B18 80A2FC98 3C040600 */ lui $a0, %hi(D_0600049C) ## $a0 = 06000000
/* 00B1C 80A2FC9C 468021A0 */ cvt.s.w $f6, $f4
/* 00B20 80A2FCA0 3C014190 */ lui $at, 0x4190 ## $at = 41900000
/* 00B24 80A2FCA4 46060032 */ c.eq.s $f0, $f6
/* 00B28 80A2FCA8 00000000 */ nop
/* 00B2C 80A2FCAC 45020014 */ bc1fl .L80A2FD00
/* 00B30 80A2FCB0 44818000 */ mtc1 $at, $f16 ## $f16 = 18.00
/* 00B34 80A2FCB4 0C028800 */ jal Animation_GetLastFrame
/* 00B38 80A2FCB8 2484049C */ addiu $a0, $a0, %lo(D_0600049C) ## $a0 = 0600049C
/* 00B3C 80A2FCBC 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 00B40 80A2FCC0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00B44 80A2FCC4 3C050600 */ lui $a1, %hi(D_0600049C) ## $a1 = 06000000
/* 00B48 80A2FCC8 468042A0 */ cvt.s.w $f10, $f8
/* 00B4C 80A2FCCC 44070000 */ mfc1 $a3, $f0
/* 00B50 80A2FCD0 24A5049C */ addiu $a1, $a1, %lo(D_0600049C) ## $a1 = 0600049C
/* 00B54 80A2FCD4 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 00B58 80A2FCD8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B5C 80A2FCDC AFA00014 */ sw $zero, 0x0014($sp)
/* 00B60 80A2FCE0 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00B64 80A2FCE4 0C029468 */ jal Animation_Change
/* 00B68 80A2FCE8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00B6C 80A2FCEC 3C0E80A3 */ lui $t6, %hi(func_80A2F83C) ## $t6 = 80A30000
/* 00B70 80A2FCF0 25CEF83C */ addiu $t6, $t6, %lo(func_80A2F83C) ## $t6 = 80A2F83C
/* 00B74 80A2FCF4 1000001A */ beq $zero, $zero, .L80A2FD60
/* 00B78 80A2FCF8 AE0E0238 */ sw $t6, 0x0238($s0) ## 00000238
/* 00B7C 80A2FCFC 44818000 */ mtc1 $at, $f16 ## $f16 = 0.00
.L80A2FD00:
/* 00B80 80A2FD00 24030003 */ addiu $v1, $zero, 0x0003 ## $v1 = 00000003
/* 00B84 80A2FD04 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
/* 00B88 80A2FD08 46008032 */ c.eq.s $f16, $f0
/* 00B8C 80A2FD0C 3C014416 */ lui $at, 0x4416 ## $at = 44160000
/* 00B90 80A2FD10 45020014 */ bc1fl .L80A2FD64
/* 00B94 80A2FD14 8FBF002C */ lw $ra, 0x002C($sp)
/* 00B98 80A2FD18 44816000 */ mtc1 $at, $f12 ## $f12 = 600.00
/* 00B9C 80A2FD1C A20303B5 */ sb $v1, 0x03B5($s0) ## 000003B5
/* 00BA0 80A2FD20 A20403B7 */ sb $a0, 0x03B7($s0) ## 000003B7
/* 00BA4 80A2FD24 A20303E1 */ sb $v1, 0x03E1($s0) ## 000003E1
/* 00BA8 80A2FD28 A20403E3 */ sb $a0, 0x03E3($s0) ## 000003E3
/* 00BAC 80A2FD2C A203040D */ sb $v1, 0x040D($s0) ## 0000040D
/* 00BB0 80A2FD30 A204040F */ sb $a0, 0x040F($s0) ## 0000040F
/* 00BB4 80A2FD34 A2030389 */ sb $v1, 0x0389($s0) ## 00000389
/* 00BB8 80A2FD38 0C00CFBE */ jal Rand_ZeroFloat
/* 00BBC 80A2FD3C A204038B */ sb $a0, 0x038B($s0) ## 0000038B
/* 00BC0 80A2FD40 4600048D */ trunc.w.s $f18, $f0
/* 00BC4 80A2FD44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BC8 80A2FD48 24052873 */ addiu $a1, $zero, 0x2873 ## $a1 = 00002873
/* 00BCC 80A2FD4C 44089000 */ mfc1 $t0, $f18
/* 00BD0 80A2FD50 00000000 */ nop
/* 00BD4 80A2FD54 25090258 */ addiu $t1, $t0, 0x0258 ## $t1 = 00000258
/* 00BD8 80A2FD58 0C00BE0A */ jal Audio_PlayActorSound2
/* 00BDC 80A2FD5C A6090382 */ sh $t1, 0x0382($s0) ## 00000382
.L80A2FD60:
/* 00BE0 80A2FD60 8FBF002C */ lw $ra, 0x002C($sp)
.L80A2FD64:
/* 00BE4 80A2FD64 8FB00028 */ lw $s0, 0x0028($sp)
/* 00BE8 80A2FD68 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00BEC 80A2FD6C 03E00008 */ jr $ra
/* 00BF0 80A2FD70 00000000 */ nop

View file

@ -1,248 +0,0 @@
.late_rodata
glabel D_80A307F4
.float 0.2
glabel D_80A307F8
.float 0.01
glabel D_80A307FC
.float 0.01
.text
glabel func_80A2FFFC
/* 00E7C 80A2FFFC 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
/* 00E80 80A30000 F7BE0040 */ sdc1 $f30, 0x0040($sp)
/* 00E84 80A30004 3C0180A3 */ lui $at, %hi(D_80A307F4) ## $at = 80A30000
/* 00E88 80A30008 C43E07F4 */ lwc1 $f30, %lo(D_80A307F4)($at)
/* 00E8C 80A3000C F7BC0038 */ sdc1 $f28, 0x0038($sp)
/* 00E90 80A30010 3C0180A3 */ lui $at, %hi(D_80A307F8) ## $at = 80A30000
/* 00E94 80A30014 C43C07F8 */ lwc1 $f28, %lo(D_80A307F8)($at)
/* 00E98 80A30018 F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 00E9C 80A3001C 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 00EA0 80A30020 4481D000 */ mtc1 $at, $f26 ## $f26 = 60.00
/* 00EA4 80A30024 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 00EA8 80A30028 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 00EAC 80A3002C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00EB0 80A30030 AFB60060 */ sw $s6, 0x0060($sp)
/* 00EB4 80A30034 AFB5005C */ sw $s5, 0x005C($sp)
/* 00EB8 80A30038 AFB40058 */ sw $s4, 0x0058($sp)
/* 00EBC 80A3003C AFB30054 */ sw $s3, 0x0054($sp)
/* 00EC0 80A30040 AFB20050 */ sw $s2, 0x0050($sp)
/* 00EC4 80A30044 AFB00048 */ sw $s0, 0x0048($sp)
/* 00EC8 80A30048 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00
/* 00ECC 80A3004C 4480B000 */ mtc1 $zero, $f22 ## $f22 = 0.00
/* 00ED0 80A30050 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
/* 00ED4 80A30054 AFBF0064 */ sw $ra, 0x0064($sp)
/* 00ED8 80A30058 AFB1004C */ sw $s1, 0x004C($sp)
/* 00EDC 80A3005C F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00EE0 80A30060 AFA5006C */ sw $a1, 0x006C($sp)
/* 00EE4 80A30064 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00EE8 80A30068 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 00EEC 80A3006C 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001
/* 00EF0 80A30070 24150001 */ addiu $s5, $zero, 0x0001 ## $s5 = 00000001
/* 00EF4 80A30074 24160003 */ addiu $s6, $zero, 0x0003 ## $s6 = 00000003
.L80A30078:
/* 00EF8 80A30078 92020389 */ lbu $v0, 0x0389($s0) ## 00000389
/* 00EFC 80A3007C 3C063CA3 */ lui $a2, 0x3CA3 ## $a2 = 3CA30000
/* 00F00 80A30080 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3CA3D70A
/* 00F04 80A30084 10400009 */ beq $v0, $zero, .L80A300AC
/* 00F08 80A30088 260403A8 */ addiu $a0, $s0, 0x03A8 ## $a0 = 000003A8
/* 00F0C 80A3008C 10550022 */ beq $v0, $s5, .L80A30118
/* 00F10 80A30090 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00F14 80A30094 1041002B */ beq $v0, $at, .L80A30144
/* 00F18 80A30098 260403A8 */ addiu $a0, $s0, 0x03A8 ## $a0 = 000003A8
/* 00F1C 80A3009C 1056004A */ beq $v0, $s6, .L80A301C8
/* 00F20 80A300A0 260403A8 */ addiu $a0, $s0, 0x03A8 ## $a0 = 000003A8
/* 00F24 80A300A4 1000005E */ beq $zero, $zero, .L80A30220
/* 00F28 80A300A8 C60203A8 */ lwc1 $f2, 0x03A8($s0) ## 000003A8
.L80A300AC:
/* 00F2C 80A300AC 4405C000 */ mfc1 $a1, $f24
/* 00F30 80A300B0 8E0703AC */ lw $a3, 0x03AC($s0) ## 000003AC
/* 00F34 80A300B4 0C01E107 */ jal Math_ApproachF
/* 00F38 80A300B8 261103AC */ addiu $s1, $s0, 0x03AC ## $s1 = 000003AC
/* 00F3C 80A300BC 4405C000 */ mfc1 $a1, $f24
/* 00F40 80A300C0 3C063A83 */ lui $a2, 0x3A83 ## $a2 = 3A830000
/* 00F44 80A300C4 4407C000 */ mfc1 $a3, $f24
/* 00F48 80A300C8 34C6126F */ ori $a2, $a2, 0x126F ## $a2 = 3A83126F
/* 00F4C 80A300CC 0C01E107 */ jal Math_ApproachF
/* 00F50 80A300D0 02202025 */ or $a0, $s1, $zero ## $a0 = 000003AC
/* 00F54 80A300D4 3C0180A3 */ lui $at, %hi(D_80A307FC) ## $at = 80A30000
/* 00F58 80A300D8 C42407FC */ lwc1 $f4, %lo(D_80A307FC)($at)
/* 00F5C 80A300DC C60003B0 */ lwc1 $f0, 0x03B0($s0) ## 000003B0
/* 00F60 80A300E0 C60203A8 */ lwc1 $f2, 0x03A8($s0) ## 000003A8
/* 00F64 80A300E4 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 00F68 80A300E8 46040181 */ sub.s $f6, $f0, $f4
/* 00F6C 80A300EC 4602303E */ c.le.s $f6, $f2
/* 00F70 80A300F0 00000000 */ nop
/* 00F74 80A300F4 4500004A */ bc1f .L80A30220
/* 00F78 80A300F8 00000000 */ nop
/* 00F7C 80A300FC E60003A8 */ swc1 $f0, 0x03A8($s0) ## 000003A8
/* 00F80 80A30100 E61603AC */ swc1 $f22, 0x03AC($s0) ## 000003AC
/* 00F84 80A30104 A2130389 */ sb $s3, 0x0389($s0) ## 00000389
/* 00F88 80A30108 A20E038A */ sb $t6, 0x038A($s0) ## 0000038A
/* 00F8C 80A3010C C60203A8 */ lwc1 $f2, 0x03A8($s0) ## 000003A8
/* 00F90 80A30110 10000043 */ beq $zero, $zero, .L80A30220
/* 00F94 80A30114 A600038E */ sh $zero, 0x038E($s0) ## 0000038E
.L80A30118:
/* 00F98 80A30118 8602038E */ lh $v0, 0x038E($s0) ## 0000038E
/* 00F9C 80A3011C 10400003 */ beq $v0, $zero, .L80A3012C
/* 00FA0 80A30120 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 00FA4 80A30124 10000005 */ beq $zero, $zero, .L80A3013C
/* 00FA8 80A30128 A60F038E */ sh $t7, 0x038E($s0) ## 0000038E
.L80A3012C:
/* 00FAC 80A3012C 9218038A */ lbu $t8, 0x038A($s0) ## 0000038A
/* 00FB0 80A30130 A200038B */ sb $zero, 0x038B($s0) ## 0000038B
/* 00FB4 80A30134 E61603AC */ swc1 $f22, 0x03AC($s0) ## 000003AC
/* 00FB8 80A30138 A2180389 */ sb $t8, 0x0389($s0) ## 00000389
.L80A3013C:
/* 00FBC 80A3013C 10000038 */ beq $zero, $zero, .L80A30220
/* 00FC0 80A30140 C60203A8 */ lwc1 $f2, 0x03A8($s0) ## 000003A8
.L80A30144:
/* 00FC4 80A30144 4405B000 */ mfc1 $a1, $f22
/* 00FC8 80A30148 3C063CA3 */ lui $a2, 0x3CA3 ## $a2 = 3CA30000
/* 00FCC 80A3014C 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3CA3D70A
/* 00FD0 80A30150 8E0703AC */ lw $a3, 0x03AC($s0) ## 000003AC
/* 00FD4 80A30154 0C01E107 */ jal Math_ApproachF
/* 00FD8 80A30158 261103AC */ addiu $s1, $s0, 0x03AC ## $s1 = 000003AC
/* 00FDC 80A3015C 4405C000 */ mfc1 $a1, $f24
/* 00FE0 80A30160 3C063A83 */ lui $a2, 0x3A83 ## $a2 = 3A830000
/* 00FE4 80A30164 4407C000 */ mfc1 $a3, $f24
/* 00FE8 80A30168 34C6126F */ ori $a2, $a2, 0x126F ## $a2 = 3A83126F
/* 00FEC 80A3016C 0C01E107 */ jal Math_ApproachF
/* 00FF0 80A30170 02202025 */ or $a0, $s1, $zero ## $a0 = 000003AC
/* 00FF4 80A30174 C60203A8 */ lwc1 $f2, 0x03A8($s0) ## 000003A8
/* 00FF8 80A30178 461C103E */ c.le.s $f2, $f28
/* 00FFC 80A3017C 00000000 */ nop
/* 01000 80A30180 45000027 */ bc1f .L80A30220
/* 01004 80A30184 00000000 */ nop
/* 01008 80A30188 C60803B0 */ lwc1 $f8, 0x03B0($s0) ## 000003B0
/* 0100C 80A3018C 461E4280 */ add.s $f10, $f8, $f30
/* 01010 80A30190 E60A03B0 */ swc1 $f10, 0x03B0($s0) ## 000003B0
/* 01014 80A30194 C61003B0 */ lwc1 $f16, 0x03B0($s0) ## 000003B0
/* 01018 80A30198 4610C03C */ c.lt.s $f24, $f16
/* 0101C 80A3019C 00000000 */ nop
/* 01020 80A301A0 45020003 */ bc1fl .L80A301B0
/* 01024 80A301A4 E61603A8 */ swc1 $f22, 0x03A8($s0) ## 000003A8
/* 01028 80A301A8 E61803B0 */ swc1 $f24, 0x03B0($s0) ## 000003B0
/* 0102C 80A301AC E61603A8 */ swc1 $f22, 0x03A8($s0) ## 000003A8
.L80A301B0:
/* 01030 80A301B0 E61603AC */ swc1 $f22, 0x03AC($s0) ## 000003AC
/* 01034 80A301B4 A2130389 */ sb $s3, 0x0389($s0) ## 00000389
/* 01038 80A301B8 A200038A */ sb $zero, 0x038A($s0) ## 0000038A
/* 0103C 80A301BC C60203A8 */ lwc1 $f2, 0x03A8($s0) ## 000003A8
/* 01040 80A301C0 10000017 */ beq $zero, $zero, .L80A30220
/* 01044 80A301C4 A600038E */ sh $zero, 0x038E($s0) ## 0000038E
.L80A301C8:
/* 01048 80A301C8 4405B000 */ mfc1 $a1, $f22
/* 0104C 80A301CC 4407C000 */ mfc1 $a3, $f24
/* 01050 80A301D0 0C01E107 */ jal Math_ApproachF
/* 01054 80A301D4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 01058 80A301D8 C60203A8 */ lwc1 $f2, 0x03A8($s0) ## 000003A8
/* 0105C 80A301DC 461C103E */ c.le.s $f2, $f28
/* 01060 80A301E0 00000000 */ nop
/* 01064 80A301E4 4500000E */ bc1f .L80A30220
/* 01068 80A301E8 00000000 */ nop
/* 0106C 80A301EC E61E03B0 */ swc1 $f30, 0x03B0($s0) ## 000003B0
/* 01070 80A301F0 E61603A8 */ swc1 $f22, 0x03A8($s0) ## 000003A8
/* 01074 80A301F4 E61603AC */ swc1 $f22, 0x03AC($s0) ## 000003AC
/* 01078 80A301F8 A2130389 */ sb $s3, 0x0389($s0) ## 00000389
/* 0107C 80A301FC A200038A */ sb $zero, 0x038A($s0) ## 0000038A
/* 01080 80A30200 0C00CFBE */ jal Rand_ZeroFloat
/* 01084 80A30204 4600D306 */ mov.s $f12, $f26
/* 01088 80A30208 4600048D */ trunc.w.s $f18, $f0
/* 0108C 80A3020C C60203A8 */ lwc1 $f2, 0x03A8($s0) ## 000003A8
/* 01090 80A30210 440A9000 */ mfc1 $t2, $f18
/* 01094 80A30214 00000000 */ nop
/* 01098 80A30218 254B003C */ addiu $t3, $t2, 0x003C ## $t3 = 0000003C
/* 0109C 80A3021C A60B038E */ sh $t3, 0x038E($s0) ## 0000038E
.L80A30220:
/* 010A0 80A30220 461A1502 */ mul.s $f20, $f2, $f26
/* 010A4 80A30224 52400004 */ beql $s2, $zero, .L80A30238
/* 010A8 80A30228 C60603A0 */ lwc1 $f6, 0x03A0($s0) ## 000003A0
/* 010AC 80A3022C 16560009 */ bne $s2, $s6, .L80A30254
/* 010B0 80A30230 00000000 */ nop
/* 010B4 80A30234 C60603A0 */ lwc1 $f6, 0x03A0($s0) ## 000003A0
.L80A30238:
/* 010B8 80A30238 C604039C */ lwc1 $f4, 0x039C($s0) ## 0000039C
/* 010BC 80A3023C C60A03A4 */ lwc1 $f10, 0x03A4($s0) ## 000003A4
/* 010C0 80A30240 46143200 */ add.s $f8, $f6, $f20
/* 010C4 80A30244 E6040390 */ swc1 $f4, 0x0390($s0) ## 00000390
/* 010C8 80A30248 E60A0398 */ swc1 $f10, 0x0398($s0) ## 00000398
/* 010CC 80A3024C 1000002C */ beq $zero, $zero, .L80A30300
/* 010D0 80A30250 E6080394 */ swc1 $f8, 0x0394($s0) ## 00000394
.L80A30254:
/* 010D4 80A30254 56550017 */ bnel $s2, $s5, .L80A302B4
/* 010D8 80A30258 86910032 */ lh $s1, 0x0032($s4) ## 00000032
/* 010DC 80A3025C 86910032 */ lh $s1, 0x0032($s4) ## 00000032
/* 010E0 80A30260 2631C000 */ addiu $s1, $s1, 0xC000 ## $s1 = FFFFC3AC
/* 010E4 80A30264 00118C00 */ sll $s1, $s1, 16
/* 010E8 80A30268 00118C03 */ sra $s1, $s1, 16
/* 010EC 80A3026C 00112400 */ sll $a0, $s1, 16
/* 010F0 80A30270 0C01DE1C */ jal Math_SinS
## sins?
/* 010F4 80A30274 00042403 */ sra $a0, $a0, 16
/* 010F8 80A30278 46140402 */ mul.s $f16, $f0, $f20
/* 010FC 80A3027C C612039C */ lwc1 $f18, 0x039C($s0) ## 0000039C
/* 01100 80A30280 00112400 */ sll $a0, $s1, 16
/* 01104 80A30284 00042403 */ sra $a0, $a0, 16
/* 01108 80A30288 46128100 */ add.s $f4, $f16, $f18
/* 0110C 80A3028C 0C01DE0D */ jal Math_CosS
## coss?
/* 01110 80A30290 E6040390 */ swc1 $f4, 0x0390($s0) ## 00000390
/* 01114 80A30294 46140182 */ mul.s $f6, $f0, $f20
/* 01118 80A30298 C60803A4 */ lwc1 $f8, 0x03A4($s0) ## 000003A4
/* 0111C 80A3029C C61003A0 */ lwc1 $f16, 0x03A0($s0) ## 000003A0
/* 01120 80A302A0 E6100394 */ swc1 $f16, 0x0394($s0) ## 00000394
/* 01124 80A302A4 46083280 */ add.s $f10, $f6, $f8
/* 01128 80A302A8 10000015 */ beq $zero, $zero, .L80A30300
/* 0112C 80A302AC E60A0398 */ swc1 $f10, 0x0398($s0) ## 00000398
/* 01130 80A302B0 86910032 */ lh $s1, 0x0032($s4) ## 00000032
.L80A302B4:
/* 01134 80A302B4 26314000 */ addiu $s1, $s1, 0x4000 ## $s1 = 000003AC
/* 01138 80A302B8 00118C00 */ sll $s1, $s1, 16
/* 0113C 80A302BC 00118C03 */ sra $s1, $s1, 16
/* 01140 80A302C0 00112400 */ sll $a0, $s1, 16
/* 01144 80A302C4 0C01DE1C */ jal Math_SinS
## sins?
/* 01148 80A302C8 00042403 */ sra $a0, $a0, 16
/* 0114C 80A302CC 46140482 */ mul.s $f18, $f0, $f20
/* 01150 80A302D0 C604039C */ lwc1 $f4, 0x039C($s0) ## 0000039C
/* 01154 80A302D4 00112400 */ sll $a0, $s1, 16
/* 01158 80A302D8 00042403 */ sra $a0, $a0, 16
/* 0115C 80A302DC 46049180 */ add.s $f6, $f18, $f4
/* 01160 80A302E0 0C01DE0D */ jal Math_CosS
## coss?
/* 01164 80A302E4 E6060390 */ swc1 $f6, 0x0390($s0) ## 00000390
/* 01168 80A302E8 46140202 */ mul.s $f8, $f0, $f20
/* 0116C 80A302EC C60A03A4 */ lwc1 $f10, 0x03A4($s0) ## 000003A4
/* 01170 80A302F0 C61203A0 */ lwc1 $f18, 0x03A0($s0) ## 000003A0
/* 01174 80A302F4 E6120394 */ swc1 $f18, 0x0394($s0) ## 00000394
/* 01178 80A302F8 460A4400 */ add.s $f16, $f8, $f10
/* 0117C 80A302FC E6100398 */ swc1 $f16, 0x0398($s0) ## 00000398
.L80A30300:
/* 01180 80A30300 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
/* 01184 80A30304 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 01188 80A30308 1641FF5B */ bne $s2, $at, .L80A30078
/* 0118C 80A3030C 2610002C */ addiu $s0, $s0, 0x002C ## $s0 = 0000002C
/* 01190 80A30310 8FBF0064 */ lw $ra, 0x0064($sp)
/* 01194 80A30314 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 01198 80A30318 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 0119C 80A3031C D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 011A0 80A30320 D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 011A4 80A30324 D7BC0038 */ ldc1 $f28, 0x0038($sp)
/* 011A8 80A30328 D7BE0040 */ ldc1 $f30, 0x0040($sp)
/* 011AC 80A3032C 8FB00048 */ lw $s0, 0x0048($sp)
/* 011B0 80A30330 8FB1004C */ lw $s1, 0x004C($sp)
/* 011B4 80A30334 8FB20050 */ lw $s2, 0x0050($sp)
/* 011B8 80A30338 8FB30054 */ lw $s3, 0x0054($sp)
/* 011BC 80A3033C 8FB40058 */ lw $s4, 0x0058($sp)
/* 011C0 80A30340 8FB5005C */ lw $s5, 0x005C($sp)
/* 011C4 80A30344 8FB60060 */ lw $s6, 0x0060($sp)
/* 011C8 80A30348 03E00008 */ jr $ra
/* 011CC 80A3034C 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000

View file

@ -1,209 +0,0 @@
.rdata
glabel D_80A307C0
.asciz "../z_en_gb.c"
.balign 4
glabel D_80A307D0
.asciz "../z_en_gb.c"
.balign 4
glabel D_80A307E0
.asciz "../z_en_gb.c"
.balign 4
.late_rodata
glabel D_80A30800
.float 0.007
.text
glabel func_80A30350
/* 011D0 80A30350 27BDFF40 */ addiu $sp, $sp, 0xFF40 ## $sp = FFFFFF40
/* 011D4 80A30354 AFB5005C */ sw $s5, 0x005C($sp)
/* 011D8 80A30358 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
/* 011DC 80A3035C AFBF006C */ sw $ra, 0x006C($sp)
/* 011E0 80A30360 AFBE0068 */ sw $s8, 0x0068($sp)
/* 011E4 80A30364 AFB70064 */ sw $s7, 0x0064($sp)
/* 011E8 80A30368 AFB60060 */ sw $s6, 0x0060($sp)
/* 011EC 80A3036C AFB40058 */ sw $s4, 0x0058($sp)
/* 011F0 80A30370 AFB30054 */ sw $s3, 0x0054($sp)
/* 011F4 80A30374 AFB20050 */ sw $s2, 0x0050($sp)
/* 011F8 80A30378 AFB1004C */ sw $s1, 0x004C($sp)
/* 011FC 80A3037C AFB00048 */ sw $s0, 0x0048($sp)
/* 01200 80A30380 F7B60040 */ sdc1 $f22, 0x0040($sp)
/* 01204 80A30384 F7B40038 */ sdc1 $f20, 0x0038($sp)
/* 01208 80A30388 AFA400C0 */ sw $a0, 0x00C0($sp)
/* 0120C 80A3038C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01210 80A30390 3C0680A3 */ lui $a2, %hi(D_80A307C0) ## $a2 = 80A30000
/* 01214 80A30394 24C607C0 */ addiu $a2, $a2, %lo(D_80A307C0) ## $a2 = 80A307C0
/* 01218 80A30398 27A400A4 */ addiu $a0, $sp, 0x00A4 ## $a0 = FFFFFFE4
/* 0121C 80A3039C 24070392 */ addiu $a3, $zero, 0x0392 ## $a3 = 00000392
/* 01220 80A303A0 0C031AB1 */ jal Graph_OpenDisps
/* 01224 80A303A4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01228 80A303A8 0C024F61 */ jal func_80093D84
/* 0122C 80A303AC 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000
/* 01230 80A303B0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01234 80A303B4 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 01238 80A303B8 02A1B021 */ addu $s6, $s5, $at
/* 0123C 80A303BC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01240 80A303C0 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 01244 80A303C4 3C0180A3 */ lui $at, %hi(D_80A30800) ## $at = 80A30000
/* 01248 80A303C8 3C170601 */ lui $s7, %hi(D_0600C0B0) ## $s7 = 06010000
/* 0124C 80A303CC 3C1EDB06 */ lui $s8, 0xDB06 ## $s8 = DB060000
/* 01250 80A303D0 8FB300C0 */ lw $s3, 0x00C0($sp)
/* 01254 80A303D4 37DE0020 */ ori $s8, $s8, 0x0020 ## $s8 = DB060020
/* 01258 80A303D8 26F7C0B0 */ addiu $s7, $s7, %lo(D_0600C0B0) ## $s7 = 0600C0B0
/* 0125C 80A303DC C4340800 */ lwc1 $f20, %lo(D_80A30800)($at)
/* 01260 80A303E0 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
.L80A303E4:
/* 01264 80A303E4 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 01268 80A303E8 8FA800C0 */ lw $t0, 0x00C0($sp)
/* 0126C 80A303EC 92630388 */ lbu $v1, 0x0388($s3) ## 00000388
/* 01270 80A303F0 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 01274 80A303F4 AE2E02D0 */ sw $t6, 0x02D0($s1) ## 000002D0
/* 01278 80A303F8 AC5E0000 */ sw $s8, 0x0000($v0) ## 00000000
/* 0127C 80A303FC 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000
/* 01280 80A30400 3C0A80A3 */ lui $t2, %hi(D_80A30660) ## $t2 = 80A30000
/* 01284 80A30404 254A0660 */ addiu $t2, $t2, %lo(D_80A30660) ## $t2 = 80A30660
/* 01288 80A30408 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020
/* 0128C 80A3040C 24180040 */ addiu $t8, $zero, 0x0040 ## $t8 = 00000040
/* 01290 80A30410 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 01294 80A30414 00034900 */ sll $t1, $v1, 4
/* 01298 80A30418 012A8021 */ addu $s0, $t1, $t2
/* 0129C 80A3041C AFB90018 */ sw $t9, 0x0018($sp)
/* 012A0 80A30420 AFB80014 */ sw $t8, 0x0014($sp)
/* 012A4 80A30424 AFAF0010 */ sw $t7, 0x0010($sp)
/* 012A8 80A30428 AFA0001C */ sw $zero, 0x001C($sp)
/* 012AC 80A3042C 860B000C */ lh $t3, 0x000C($s0) ## 0000000C
/* 012B0 80A30430 850C0380 */ lh $t4, 0x0380($t0) ## 00000380
/* 012B4 80A30434 24180080 */ addiu $t8, $zero, 0x0080 ## $t8 = 00000080
/* 012B8 80A30438 AFB80028 */ sw $t8, 0x0028($sp)
/* 012BC 80A3043C 016C0019 */ multu $t3, $t4
/* 012C0 80A30440 AFAF0024 */ sw $t7, 0x0024($sp)
/* 012C4 80A30444 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 012C8 80A30448 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 012CC 80A3044C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 012D0 80A30450 00409025 */ or $s2, $v0, $zero ## $s2 = 00000000
/* 012D4 80A30454 00006812 */ mflo $t5
/* 012D8 80A30458 31AE01FF */ andi $t6, $t5, 0x01FF ## $t6 = 00000000
/* 012DC 80A3045C 0C0253D0 */ jal Gfx_TwoTexScroll
/* 012E0 80A30460 AFAE0020 */ sw $t6, 0x0020($sp)
/* 012E4 80A30464 AE420004 */ sw $v0, 0x0004($s2) ## 00000004
/* 012E8 80A30468 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 012EC 80A3046C 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000
/* 012F0 80A30470 35290024 */ ori $t1, $t1, 0x0024 ## $t1 = DB060024
/* 012F4 80A30474 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 012F8 80A30478 AE3902D0 */ sw $t9, 0x02D0($s1) ## 000002D0
/* 012FC 80A3047C AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 01300 80A30480 8E040008 */ lw $a0, 0x0008($s0) ## 00000008
/* 01304 80A30484 3C0E8016 */ lui $t6, %hi(gSegments)
/* 01308 80A30488 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 0130C 80A3048C 00045900 */ sll $t3, $a0, 4
/* 01310 80A30490 000B6702 */ srl $t4, $t3, 28
/* 01314 80A30494 000C6880 */ sll $t5, $t4, 2
/* 01318 80A30498 01CD7021 */ addu $t6, $t6, $t5
/* 0131C 80A3049C 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
/* 01320 80A304A0 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 01324 80A304A4 00815024 */ and $t2, $a0, $at
/* 01328 80A304A8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 0132C 80A304AC 014E7821 */ addu $t7, $t2, $t6
/* 01330 80A304B0 01E1C021 */ addu $t8, $t7, $at
/* 01334 80A304B4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 01338 80A304B8 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 0133C 80A304BC 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000
/* 01340 80A304C0 35298080 */ ori $t1, $t1, 0x8080 ## $t1 = FA008080
/* 01344 80A304C4 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 01348 80A304C8 AE3902D0 */ sw $t9, 0x02D0($s1) ## 000002D0
/* 0134C 80A304CC AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 01350 80A304D0 920A0000 */ lbu $t2, 0x0000($s0) ## 00000000
/* 01354 80A304D4 920C0003 */ lbu $t4, 0x0003($s0) ## 00000003
/* 01358 80A304D8 92190001 */ lbu $t9, 0x0001($s0) ## 00000001
/* 0135C 80A304DC 000A7600 */ sll $t6, $t2, 24
/* 01360 80A304E0 920A0002 */ lbu $t2, 0x0002($s0) ## 00000002
/* 01364 80A304E4 018E7825 */ or $t7, $t4, $t6 ## $t7 = 80160000
/* 01368 80A304E8 00194C00 */ sll $t1, $t9, 16
/* 0136C 80A304EC 01E95825 */ or $t3, $t7, $t1 ## $t3 = FA168080
/* 01370 80A304F0 000A6200 */ sll $t4, $t2, 8
/* 01374 80A304F4 016C7025 */ or $t6, $t3, $t4 ## $t6 = FA168080
/* 01378 80A304F8 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 0137C 80A304FC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 01380 80A30500 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000
/* 01384 80A30504 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 01388 80A30508 AE3802D0 */ sw $t8, 0x02D0($s1) ## 000002D0
/* 0138C 80A3050C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 01390 80A30510 920A0004 */ lbu $t2, 0x0004($s0) ## 00000004
/* 01394 80A30514 92090007 */ lbu $t1, 0x0007($s0) ## 00000007
/* 01398 80A30518 92180005 */ lbu $t8, 0x0005($s0) ## 00000005
/* 0139C 80A3051C 000A5E00 */ sll $t3, $t2, 24
/* 013A0 80A30520 920A0006 */ lbu $t2, 0x0006($s0) ## 00000006
/* 013A4 80A30524 012B6025 */ or $t4, $t1, $t3 ## $t4 = FA168080
/* 013A8 80A30528 0018CC00 */ sll $t9, $t8, 16
/* 013AC 80A3052C 01997825 */ or $t7, $t4, $t9 ## $t7 = FB168080
/* 013B0 80A30530 000A4A00 */ sll $t1, $t2, 8
/* 013B4 80A30534 01E95825 */ or $t3, $t7, $t1 ## $t3 = FB168080
/* 013B8 80A30538 0C034213 */ jal Matrix_Push
/* 013BC 80A3053C AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
/* 013C0 80A30540 C66C0390 */ lwc1 $f12, 0x0390($s3) ## 00000390
/* 013C4 80A30544 C66E0394 */ lwc1 $f14, 0x0394($s3) ## 00000394
/* 013C8 80A30548 8E660398 */ lw $a2, 0x0398($s3) ## 00000398
/* 013CC 80A3054C 0C034261 */ jal Matrix_Translate
/* 013D0 80A30550 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 013D4 80A30554 0C0347F5 */ jal func_800D1FD4
/* 013D8 80A30558 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
/* 013DC 80A3055C 926E038C */ lbu $t6, 0x038C($s3) ## 0000038C
/* 013E0 80A30560 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
/* 013E4 80A30564 24058000 */ addiu $a1, $zero, 0x8000 ## $a1 = FFFF8000
/* 013E8 80A30568 11C00003 */ beq $t6, $zero, .L80A30578
/* 013EC 80A3056C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 013F0 80A30570 0C034421 */ jal Matrix_RotateRPY
/* 013F4 80A30574 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
.L80A30578:
/* 013F8 80A30578 4406B000 */ mfc1 $a2, $f22
/* 013FC 80A3057C 4600A306 */ mov.s $f12, $f20
/* 01400 80A30580 4600A386 */ mov.s $f14, $f20
/* 01404 80A30584 0C0342A3 */ jal Matrix_Scale
/* 01408 80A30588 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 0140C 80A3058C 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 01410 80A30590 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
/* 01414 80A30594 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
/* 01418 80A30598 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 0141C 80A3059C AE3802D0 */ sw $t8, 0x02D0($s1) ## 000002D0
/* 01420 80A305A0 3C0580A3 */ lui $a1, %hi(D_80A307D0) ## $a1 = 80A30000
/* 01424 80A305A4 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 01428 80A305A8 8EA40000 */ lw $a0, 0x0000($s5) ## 00000000
/* 0142C 80A305AC 24A507D0 */ addiu $a1, $a1, %lo(D_80A307D0) ## $a1 = 80A307D0
/* 01430 80A305B0 240603BB */ addiu $a2, $zero, 0x03BB ## $a2 = 000003BB
/* 01434 80A305B4 0C0346A2 */ jal Matrix_NewMtx
/* 01438 80A305B8 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 0143C 80A305BC AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 01440 80A305C0 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 01444 80A305C4 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 01448 80A305C8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 0144C 80A305CC AE3902D0 */ sw $t9, 0x02D0($s1) ## 000002D0
/* 01450 80A305D0 AC570004 */ sw $s7, 0x0004($v0) ## 00000004
/* 01454 80A305D4 0C034221 */ jal Matrix_Pull
/* 01458 80A305D8 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 0145C 80A305DC 2694002C */ addiu $s4, $s4, 0x002C ## $s4 = 0000002C
/* 01460 80A305E0 240100B0 */ addiu $at, $zero, 0x00B0 ## $at = 000000B0
/* 01464 80A305E4 1681FF7F */ bne $s4, $at, .L80A303E4
/* 01468 80A305E8 2673002C */ addiu $s3, $s3, 0x002C ## $s3 = 0000002C
/* 0146C 80A305EC 3C0680A3 */ lui $a2, %hi(D_80A307E0) ## $a2 = 80A30000
/* 01470 80A305F0 24C607E0 */ addiu $a2, $a2, %lo(D_80A307E0) ## $a2 = 80A307E0
/* 01474 80A305F4 27A400A4 */ addiu $a0, $sp, 0x00A4 ## $a0 = FFFFFFE4
/* 01478 80A305F8 8EA50000 */ lw $a1, 0x0000($s5) ## 00000000
/* 0147C 80A305FC 0C031AD5 */ jal Graph_CloseDisps
/* 01480 80A30600 240703C2 */ addiu $a3, $zero, 0x03C2 ## $a3 = 000003C2
/* 01484 80A30604 8FBF006C */ lw $ra, 0x006C($sp)
/* 01488 80A30608 D7B40038 */ ldc1 $f20, 0x0038($sp)
/* 0148C 80A3060C D7B60040 */ ldc1 $f22, 0x0040($sp)
/* 01490 80A30610 8FB00048 */ lw $s0, 0x0048($sp)
/* 01494 80A30614 8FB1004C */ lw $s1, 0x004C($sp)
/* 01498 80A30618 8FB20050 */ lw $s2, 0x0050($sp)
/* 0149C 80A3061C 8FB30054 */ lw $s3, 0x0054($sp)
/* 014A0 80A30620 8FB40058 */ lw $s4, 0x0058($sp)
/* 014A4 80A30624 8FB5005C */ lw $s5, 0x005C($sp)
/* 014A8 80A30628 8FB60060 */ lw $s6, 0x0060($sp)
/* 014AC 80A3062C 8FB70064 */ lw $s7, 0x0064($sp)
/* 014B0 80A30630 8FBE0068 */ lw $s8, 0x0068($sp)
/* 014B4 80A30634 03E00008 */ jr $ra
/* 014B8 80A30638 27BD00C0 */ addiu $sp, $sp, 0x00C0 ## $sp = 00000000
/* 014BC 80A3063C 00000000 */ nop

View file

@ -1,32 +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_Gb_InitVars
.word 0x01B80400, 0x00000009, 0x01890000, 0x00000438
.word EnGb_Init
.word EnGb_Destroy
.word EnGb_Update
.word EnGb_Draw
glabel D_80A30660
.word 0xFFFFAAFF, 0xFFC800FF, 0x0600A870, 0xFFF10000, 0xFFFFAAFF, 0x009600FF, 0x0600B070, 0xFFF40000, 0xFFAAFFFF, 0x640096FF, 0x0600B870, 0xFFF80000
glabel D_80A30690
.word 0x0A000039, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0028004B, 0x00000000, 0x00000000
glabel D_80A306BC
.word 0x0A000039, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00040014, 0x00000000, 0x00000000, 0x0A000039, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00040014, 0x00000000, 0x00000000, 0x0A000039, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x000A0014, 0x00000000, 0x00000000
glabel D_80A30740
.word 0x801F0006, 0x304C0898
glabel D_80A30748
.word 0xC1000000, 0x42E00000, 0xC1000000, 0xC0400000, 0x42E00000, 0x41E80000, 0x41F80000, 0x42E00000, 0x41E80000, 0x41F80000, 0x42E00000, 0xC1000000
glabel D_80A30778
.word 0xC2400000, 0x00000000, 0x42080000, 0xC25C0000, 0x00000000, 0x42440000, 0xC2400000, 0x00000000, 0x42700000
glabel D_80A3079C
.word 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_80A30810
.incbin "baserom/ovl_En_Gb", 0x1690, 0x00000160

3
spec
View file

@ -2299,8 +2299,7 @@ endseg
beginseg
name "ovl_En_Gb"
include "build/src/overlays/actors/ovl_En_Gb/z_en_gb.o"
include "build/data/overlays/actors/z_en_gb.data.o"
include "build/data/overlays/actors/z_en_gb.reloc.o"
include "build/src/overlays/actors/ovl_En_Gb/ovl_En_Gb_reloc.o"
endseg
beginseg

View file

@ -9,13 +9,18 @@ void EnGb_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnGb_Update(Actor* thisx, GlobalContext* globalCtx);
void EnGb_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_0600049C;
extern UNK_TYPE D_0600C0B0;
extern UNK_TYPE D_0600C220;
extern UNK_TYPE D_0600C2D0;
extern UNK_TYPE D_0600C8EC;
void func_80A2F83C(EnGb* this, GlobalContext* globalCtx);
void func_80A2FC70(EnGb* this, GlobalContext* globalCtx);
void func_80A2FA50(EnGb* this, GlobalContext* globalCtx);
void func_80A2F9C0(EnGb* this, GlobalContext* globalCtx);
void func_80A2F94C(EnGb* this, GlobalContext* globalCtx);
void func_80A2FB40(EnGb* this, GlobalContext* globalCtx);
void func_80A2FBB0(EnGb* this, GlobalContext* globalCtx);
void func_80A2FC0C(EnGb* this, GlobalContext* globalCtx);
void EnGb_DrawCagedSouls(EnGb* this, GlobalContext* globalCtx);
void EnGb_UpdateCagedSouls(EnGb* this, GlobalContext* globalCtx);
/*
const ActorInit En_Gb_InitVars = {
ACTOR_EN_GB,
ACTORCAT_NPC,
@ -28,6 +33,12 @@ const ActorInit En_Gb_InitVars = {
(ActorFunc)EnGb_Draw,
};
static EnGbCagedSoulInfo sCagedSoulInfo[] = {
{ { 255, 255, 170, 255 }, { 255, 200, 0, 255 }, 0x0600A870, -15 },
{ { 255, 255, 170, 255 }, { 0, 150, 0, 255 }, 0x0600B070, -12 },
{ { 255, 170, 255, 255 }, { 100, 0, 150, 255 }, 0x0600B870, -8 },
};
static ColliderCylinderInitType1 sCylinderInit = {
{
COLTYPE_NONE,
@ -47,57 +58,495 @@ static ColliderCylinderInitType1 sCylinderInit = {
{ 40, 75, 0, { 0, 0, 0 } },
};
static ColliderCylinderInitType1 sCylinderInit = {
static ColliderCylinderInitType1 sBottlesCylindersInit[] = {
{
COLTYPE_NONE,
AT_NONE,
AC_NONE,
OC1_ON | OC1_TYPE_ALL,
COLSHAPE_CYLINDER,
{
COLTYPE_NONE,
AT_NONE,
AC_NONE,
OC1_ON | OC1_TYPE_ALL,
COLSHAPE_CYLINDER,
},
{
ELEMTYPE_UNK0,
{ 0x00000000, 0x00, 0x00 },
{ 0x00000000, 0x00, 0x00 },
TOUCH_NONE,
BUMP_NONE,
OCELEM_ON,
},
{ 4, 20, 0, { 0, 0, 0 } },
},
{
ELEMTYPE_UNK0,
{ 0x00000000, 0x00, 0x00 },
{ 0x00000000, 0x00, 0x00 },
TOUCH_NONE,
BUMP_NONE,
OCELEM_ON,
{
COLTYPE_NONE,
AT_NONE,
AC_NONE,
OC1_ON | OC1_TYPE_ALL,
COLSHAPE_CYLINDER,
},
{
ELEMTYPE_UNK0,
{ 0x00000000, 0x00, 0x00 },
{ 0x00000000, 0x00, 0x00 },
TOUCH_NONE,
BUMP_NONE,
OCELEM_ON,
},
{ 4, 20, 0, { 0, 0, 0 } },
},
{
{
COLTYPE_NONE,
AT_NONE,
AC_NONE,
OC1_ON | OC1_TYPE_ALL,
COLSHAPE_CYLINDER,
},
{
ELEMTYPE_UNK0,
{ 0x00000000, 0x00, 0x00 },
{ 0x00000000, 0x00, 0x00 },
TOUCH_NONE,
BUMP_NONE,
OCELEM_ON,
},
{ 10, 20, 0, { 0, 0, 0 } },
},
{ 4, 20, 0, { 0, 0, 0 } },
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F180.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Init.s")
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2200, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Destroy.s")
// relative positions of poe souls
static Vec3f sCagedSoulPositions[] = {
{ -8.0f, 112.0f, -8.0f },
{ -3.0f, 112.0f, 29.0f },
{ 31.0f, 112.0f, 29.0f },
{ 31.0f, 112.0f, -8.0f },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F608.s")
// relative positions of bottles
static Vec3f sBottlesPositions[] = {
{ -48.0f, 0.0f, 34.0f },
{ -55.0f, 0.0f, 49.0f },
{ -48.0f, 0.0f, 60.0f },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F760.s")
extern AnimationHeader D_0600049C;
extern Gfx D_0600C0B0[];
extern FlexSkeletonHeader D_0600C220;
extern CollisionHeader D_0600C2D0;
extern AnimationHeader D_0600C8EC;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F7C0.s")
void func_80A2F180(EnGb* this) {
if (gSaveContext.infTable[0xB] & 0x40) {
this->textId = 0x70F5;
} else {
this->textId = 0x70F4;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F83C.s")
void EnGb_Init(Actor* thisx, GlobalContext* globalCtx) {
EnGb* this = THIS;
s32 pad;
CollisionHeader* colHeader = NULL;
s32 i;
f32 rand;
Vec3f focusOffset;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F94C.s")
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyActor_Init(&this->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&D_0600C2D0, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600C220, &D_0600049C, this->jointTable, this->morphTable, 12);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinderType1(globalCtx, &this->collider, &this->dyna.actor, &sCylinderInit);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F9C0.s")
for (i = 0; i < ARRAY_COUNT(sBottlesCylindersInit); i++) {
Collider_InitCylinder(globalCtx, &this->bottlesColliders[i]);
Collider_SetCylinderType1(globalCtx, &this->bottlesColliders[i], &this->dyna.actor, &sBottlesCylindersInit[i]);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FA50.s")
this->light = LightContext_InsertLight(globalCtx, &globalCtx->lightCtx, &this->lightInfo);
Lights_PointNoGlowSetInfo(&this->lightInfo, this->dyna.actor.home.pos.x, this->dyna.actor.home.pos.y,
this->dyna.actor.home.pos.z, 255, 255, 255, 200);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FB40.s")
ActorShape_Init(&this->dyna.actor.shape, 0.0f, ActorShadow_DrawCircle, 35.0f);
Actor_SetScale(&this->dyna.actor, 0.01f);
this->dyna.actor.colChkInfo.mass = 0xFF;
this->dyna.actor.speedXZ = 0.0f;
this->dyna.actor.velocity.y = 0.0f;
this->dyna.actor.gravity = -1.0f;
this->actionTimer = (s16)Rand_ZeroFloat(100.0f) + 100;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FBB0.s")
for (i = 0; i < ARRAY_COUNT(sCagedSoulPositions); i++) {
this->cagedSouls[i].unk_0 = (s32)Rand_ZeroFloat(30.0f) % 3;
this->cagedSouls[i].unk_14.x = this->cagedSouls[i].translation.x =
sCagedSoulPositions[i].x + this->dyna.actor.world.pos.x;
this->cagedSouls[i].unk_14.y = this->cagedSouls[i].translation.y =
sCagedSoulPositions[i].y + this->dyna.actor.world.pos.y;
this->cagedSouls[i].unk_14.z = this->cagedSouls[i].translation.z =
sCagedSoulPositions[i].z + this->dyna.actor.world.pos.z;
this->cagedSouls[i].unk_1 = 1;
this->cagedSouls[i].unk_3 = this->cagedSouls[i].unk_2 = 0;
this->cagedSouls[i].unk_20 = this->cagedSouls[i].unk_24 = 0.0f;
this->cagedSouls[i].unk_6 = Rand_ZeroFloat(40.0f);
this->cagedSouls[i].rotate180 = this->cagedSouls[i].unk_6 & 1;
this->cagedSouls[i].unk_28 = 0.2f;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FC0C.s")
rand = Rand_ZeroOne();
this->lightColor.r = (s8)(rand * 30.0f) + 225;
this->lightColor.g = (s8)(rand * 100.0f) + 155;
this->lightColor.b = (s8)(rand * 160.0f) + 95;
this->lightColor.a = 200;
Matrix_Translate(this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y, this->dyna.actor.world.pos.z,
MTXMODE_NEW);
Matrix_RotateRPY(this->dyna.actor.world.rot.x, this->dyna.actor.world.rot.y, this->dyna.actor.world.rot.z,
MTXMODE_APPLY);
focusOffset.x = focusOffset.y = 0.0f;
focusOffset.z = 44.0f;
Matrix_MultVec3f(&focusOffset, &this->dyna.actor.focus.pos);
this->dyna.actor.focus.pos.y += 62.5f;
func_80A2F180(this);
this->actionFunc = func_80A2F83C;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FC70.s")
void EnGb_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnGb* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Update.s")
Collider_DestroyCylinder(globalCtx, &this->collider);
LightContext_RemoveLight(globalCtx, &globalCtx->lightCtx, this->light);
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Draw.s")
void func_80A2F608(EnGb* this) {
s32 i;
Vec3f sp48;
Vec3f sp3C;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FFFC.s")
Matrix_Translate(this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y, this->dyna.actor.world.pos.z,
MTXMODE_NEW);
Matrix_RotateRPY(this->dyna.actor.world.rot.x, this->dyna.actor.world.rot.y, this->dyna.actor.world.rot.z,
MTXMODE_APPLY);
sp48.x = sp48.y = 0.0f;
sp48.z = 25.0f;
Matrix_MultVec3f(&sp48, &sp3C);
this->collider.dim.pos.x = sp3C.x;
this->collider.dim.pos.y = sp3C.y;
this->collider.dim.pos.z = sp3C.z;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A30350.s")
for (i = 0; i < ARRAY_COUNT(sBottlesPositions); i++) {
Matrix_Translate(this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y, this->dyna.actor.world.pos.z,
MTXMODE_NEW);
Matrix_RotateRPY(this->dyna.actor.world.rot.x, this->dyna.actor.world.rot.y, this->dyna.actor.world.rot.z,
MTXMODE_APPLY);
Matrix_MultVec3f(&sBottlesPositions[i], &sp3C);
this->bottlesColliders[i].dim.pos.x = sp3C.x;
this->bottlesColliders[i].dim.pos.y = sp3C.y;
this->bottlesColliders[i].dim.pos.z = sp3C.z;
}
}
s32 func_80A2F760(EnGb* this) {
s32 i;
for (i = 0; i < ARRAY_COUNT(this->cagedSouls); i++) {
if (this->cagedSouls[i].unk_3) {
return 1;
}
}
return 0;
}
void func_80A2F7C0(EnGb* this) {
Animation_Change(&this->skelAnime, &D_0600C8EC, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600C8EC), ANIMMODE_ONCE,
0.0f);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_NALE_MAGIC);
this->actionFunc = func_80A2FC70;
}
void func_80A2F83C(EnGb* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (!func_80A2F760(this)) {
if (this->actionTimer != 0) {
this->actionTimer--;
} else {
func_80A2F7C0(this);
return;
}
}
if (func_8002F194(&this->dyna.actor, globalCtx)) {
switch (func_8002F368(globalCtx)) {
case EXCH_ITEM_NONE:
func_80A2F180(this);
this->actionFunc = func_80A2F94C;
break;
case EXCH_ITEM_POE:
player->actor.textId = 0x70F6;
this->actionFunc = func_80A2F9C0;
break;
case EXCH_ITEM_BIG_POE:
player->actor.textId = 0x70F7;
this->actionFunc = func_80A2FA50;
break;
}
return;
}
if (this->dyna.actor.xzDistToPlayer < 100.0f) {
func_8002F298(&this->dyna.actor, globalCtx, 100.0f, EXCH_ITEM_POE);
}
}
void func_80A2F94C(EnGb* this, GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 6 && func_80106BC8(globalCtx)) {
if (!(gSaveContext.infTable[0xB] & 0x40)) {
gSaveContext.infTable[0xB] |= 0x40;
}
func_80A2F180(this);
this->actionFunc = func_80A2F83C;
}
}
void func_80A2F9C0(EnGb* this, GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 6 && func_80106BC8(globalCtx)) {
if (!(gSaveContext.infTable[0xB] & 0x40)) {
gSaveContext.infTable[0xB] |= 0x40;
}
func_80A2F180(this);
Player_UpdateBottleHeld(globalCtx, PLAYER, ITEM_BOTTLE, PLAYER_AP_BOTTLE);
Rupees_ChangeBy(10);
this->actionFunc = func_80A2F83C;
}
}
void func_80A2FA50(EnGb* this, GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 6 && func_80106BC8(globalCtx)) {
if (!(gSaveContext.infTable[0xB] & 0x40)) {
gSaveContext.infTable[0xB] |= 0x40;
}
func_80A2F180(this);
Player_UpdateBottleHeld(globalCtx, PLAYER, ITEM_BOTTLE, PLAYER_AP_BOTTLE);
Rupees_ChangeBy(50);
HIGH_SCORE(HS_POE_POINTS) += 100;
if (HIGH_SCORE(HS_POE_POINTS) != 1000) {
if (HIGH_SCORE(HS_POE_POINTS) > 1100) {
HIGH_SCORE(HS_POE_POINTS) = 1100;
}
this->actionFunc = func_80A2F83C;
} else {
Player* player = PLAYER;
player->exchangeItemId = EXCH_ITEM_NONE;
this->textId = 0x70F8;
func_8010B720(globalCtx, this->textId);
this->actionFunc = func_80A2FB40;
}
}
}
void func_80A2FB40(EnGb* this, GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 6 && func_80106BC8(globalCtx)) {
func_8002F434(&this->dyna.actor, globalCtx, GI_BOTTLE, 100.0f, 10.0f);
this->actionFunc = func_80A2FBB0;
}
}
void func_80A2FBB0(EnGb* this, GlobalContext* globalCtx) {
if (Actor_HasParent(&this->dyna.actor, globalCtx)) {
this->dyna.actor.parent = NULL;
this->actionFunc = func_80A2FC0C;
} else {
func_8002F434(&this->dyna.actor, globalCtx, GI_BOTTLE, 100.0f, 10.0f);
}
}
void func_80A2FC0C(EnGb* this, GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 6 && func_80106BC8(globalCtx)) {
func_8002F194(&this->dyna.actor, globalCtx);
func_80A2F180(this);
this->actionFunc = func_80A2F83C;
}
}
void func_80A2FC70(EnGb* this, GlobalContext* globalCtx) {
if (this->skelAnime.curFrame == Animation_GetLastFrame(&D_0600C8EC)) {
Animation_Change(&this->skelAnime, &D_0600049C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600049C), 0, 0.0f);
this->actionFunc = func_80A2F83C;
} else if (this->skelAnime.curFrame == 18.0f) {
this->cagedSouls[1].unk_1 = 3;
this->cagedSouls[1].unk_3 = 1;
this->cagedSouls[2].unk_1 = 3;
this->cagedSouls[2].unk_3 = 1;
this->cagedSouls[3].unk_1 = 3;
this->cagedSouls[3].unk_3 = 1;
if (this->actionFunc) {} // these ifs cannot just contain a constant
this->cagedSouls[0].unk_1 = 3;
this->cagedSouls[0].unk_3 = 1;
if (this->actionFunc) {}
this->actionTimer = (s16)Rand_ZeroFloat(600.0f) + 600;
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WOOD_HIT);
}
}
void EnGb_Update(Actor* thisx, GlobalContext* globalCtx) {
EnGb* this = THIS;
GlobalContext* globalCtx2 = globalCtx;
s32 i;
f32 rand;
this->frameTimer++;
SkelAnime_Update(&this->skelAnime);
this->actionFunc(this, globalCtx2);
this->dyna.actor.textId = this->textId;
func_80A2F608(this);
CollisionCheck_SetOC(globalCtx2, &globalCtx2->colChkCtx, &this->collider.base);
for (i = 0; i < ARRAY_COUNT(this->bottlesColliders); i++) {
CollisionCheck_SetOC(globalCtx2, &globalCtx2->colChkCtx, &this->bottlesColliders[i].base);
}
rand = Rand_ZeroOne();
this->lightColor.r = (s8)(rand * 30.0f) + 225;
this->lightColor.g = (s8)(rand * 100.0f) + 155;
this->lightColor.b = (s8)(rand * 160.0f) + 95;
this->lightColor.a = 200;
EnGb_UpdateCagedSouls(this, globalCtx2);
}
void EnGb_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnGb* this = THIS;
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_gb.c", 763);
func_80093D18(globalCtx->state.gfxCtx);
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, this->lightColor.r, this->lightColor.g, this->lightColor.b, 255);
Lights_PointNoGlowSetInfo(&this->lightInfo, this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y,
this->dyna.actor.world.pos.z, this->lightColor.r, this->lightColor.g, this->lightColor.b,
this->lightColor.a);
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, NULL, &this->dyna.actor);
EnGb_DrawCagedSouls(this, globalCtx);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_gb.c", 796);
}
void EnGb_UpdateCagedSouls(EnGb* this, GlobalContext* globalCtx) {
f32 temp_f20;
s16 rot;
s32 i;
for (i = 0; i < 4; i++) {
switch (this->cagedSouls[i].unk_1) {
case 0:
Math_ApproachF(&this->cagedSouls[i].unk_20, 1.0f, 0.02f, this->cagedSouls[i].unk_24);
Math_ApproachF(&this->cagedSouls[i].unk_24, 1.0f, 0.001f, 1.0f);
if ((this->cagedSouls[i].unk_28 - .01f) <= this->cagedSouls[i].unk_20) {
this->cagedSouls[i].unk_20 = this->cagedSouls[i].unk_28;
this->cagedSouls[i].unk_24 = 0.0f;
this->cagedSouls[i].unk_1 = 1;
this->cagedSouls[i].unk_2 = 2;
this->cagedSouls[i].unk_6 = 0;
}
break;
case 1:
if (this->cagedSouls[i].unk_6 != 0) {
this->cagedSouls[i].unk_6--;
} else {
this->cagedSouls[i].unk_3 = 0;
this->cagedSouls[i].unk_24 = 0.0f;
this->cagedSouls[i].unk_1 = this->cagedSouls[i].unk_2;
}
break;
case 2:
Math_ApproachF(&this->cagedSouls[i].unk_20, 0.0f, 0.02f, this->cagedSouls[i].unk_24);
Math_ApproachF(&this->cagedSouls[i].unk_24, 1.0f, 0.001f, 1.0f);
if (this->cagedSouls[i].unk_20 <= 0.01f) {
this->cagedSouls[i].unk_28 = this->cagedSouls[i].unk_28 + 0.2f;
if (this->cagedSouls[i].unk_28 > 1.0f) {
this->cagedSouls[i].unk_28 = 1.0f;
}
this->cagedSouls[i].unk_20 = 0.0f;
this->cagedSouls[i].unk_24 = 0.0f;
this->cagedSouls[i].unk_1 = 1;
this->cagedSouls[i].unk_2 = 0;
this->cagedSouls[i].unk_6 = 0;
}
break;
case 3:
Math_ApproachF(&this->cagedSouls[i].unk_20, 0.0f, 0.5f, 1.0f);
if (this->cagedSouls[i].unk_20 <= 0.01f) {
this->cagedSouls[i].unk_28 = 0.2f;
this->cagedSouls[i].unk_20 = 0.0f;
this->cagedSouls[i].unk_24 = 0.0f;
this->cagedSouls[i].unk_1 = 1;
this->cagedSouls[i].unk_2 = 0;
this->cagedSouls[i].unk_6 = (s16)Rand_ZeroFloat(60.0f) + 60;
}
break;
}
temp_f20 = this->cagedSouls[i].unk_20 * 60.0f;
if ((i == 0) || (i == 3)) {
this->cagedSouls[i].translation.x = this->cagedSouls[i].unk_14.x;
this->cagedSouls[i].translation.y = this->cagedSouls[i].unk_14.y + temp_f20;
this->cagedSouls[i].translation.z = this->cagedSouls[i].unk_14.z;
} else if (i == 1) {
rot = this->dyna.actor.world.rot.y - 0x4000;
this->cagedSouls[i].translation.x = this->cagedSouls[i].unk_14.x + Math_SinS(rot) * temp_f20;
this->cagedSouls[i].translation.z = this->cagedSouls[i].unk_14.z + Math_CosS(rot) * temp_f20;
this->cagedSouls[i].translation.y = this->cagedSouls[i].unk_14.y;
} else {
rot = this->dyna.actor.world.rot.y + 0x4000;
this->cagedSouls[i].translation.x = this->cagedSouls[i].unk_14.x + Math_SinS(rot) * temp_f20;
this->cagedSouls[i].translation.z = this->cagedSouls[i].unk_14.z + Math_CosS(rot) * temp_f20;
this->cagedSouls[i].translation.y = this->cagedSouls[i].unk_14.y;
}
}
}
void EnGb_DrawCagedSouls(EnGb* this, GlobalContext* globalCtx) {
s32 pad;
s32 i;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_gb.c", 914);
func_80093D84(globalCtx->state.gfxCtx);
for (i = 0; i < 4; i++) {
s32 idx = this->cagedSouls[i].unk_0;
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 32, 64, 1, 0,
(u32)(sCagedSoulInfo[idx].unk_C * this->frameTimer) % 512, 32, 128));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sCagedSoulInfo[idx].unk_8));
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, sCagedSoulInfo[idx].prim.r, sCagedSoulInfo[idx].prim.g,
sCagedSoulInfo[idx].prim.b, sCagedSoulInfo[idx].prim.a);
gDPSetEnvColor(POLY_XLU_DISP++, sCagedSoulInfo[idx].env.r, sCagedSoulInfo[idx].env.g, sCagedSoulInfo[idx].env.b,
sCagedSoulInfo[idx].env.a);
Matrix_Push();
Matrix_Translate(this->cagedSouls[i].translation.x, this->cagedSouls[i].translation.y,
this->cagedSouls[i].translation.z, MTXMODE_NEW);
func_800D1FD4(&globalCtx->mf_11DA0);
if (this->cagedSouls[i].rotate180) {
Matrix_RotateRPY(0, -0x8000, 0, MTXMODE_APPLY);
}
Matrix_Scale(0.007f, 0.007f, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_gb.c", 955),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_0600C0B0);
Matrix_Pull();
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_gb.c", 962);
}

View file

@ -6,9 +6,44 @@
struct EnGb;
typedef void (*EnGbActionFunc)(struct EnGb*, GlobalContext*);
typedef struct {
/* 0x00 */ Color_RGBA8 prim;
/* 0x04 */ Color_RGBA8 env;
/* 0x08 */ UNK_TYPE unk_8;
/* 0x0C */ s16 unk_C;
} EnGbCagedSoulInfo; // size = 0x10
typedef struct {
/* 0x00 */ u8 unk_0;
/* 0x01 */ u8 unk_1;
/* 0x02 */ u8 unk_2;
/* 0x03 */ u8 unk_3;
/* 0x04 */ u8 rotate180;
/* 0x06 */ s16 unk_6;
/* 0x08 */ Vec3f translation;
/* 0x14 */ Vec3f unk_14;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
} EnGbCagedSoul; // size = 0x2C
typedef struct EnGb {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x2EC];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ SkelAnime skelAnime;
/* 0x01A8 */ Vec3s jointTable[12];
/* 0x01F0 */ Vec3s morphTable[12];
/* 0x0238 */ EnGbActionFunc actionFunc;
/* 0x023C */ ColliderCylinder collider;
/* 0x0288 */ ColliderCylinder bottlesColliders[3];
/* 0x036C */ LightNode* light;
/* 0x0370 */ LightInfo lightInfo;
/* 0x037E */ u16 textId;
/* 0x0380 */ s16 frameTimer;
/* 0x0382 */ s16 actionTimer;
/* 0x0384 */ Color_RGBA8 lightColor;
/* 0x0388 */ EnGbCagedSoul cagedSouls[4];
} EnGb; // size = 0x0438
extern const ActorInit En_Gb_InitVars;