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

Gerudo2 OK and mostly documented (#610)

* OK, inlined small data, began naming

* spec

* more naming

* finished naming

* remove ASM

* hex to dec

* review

Co-authored-by: Fig02 <fig02srl@gmail.com>
This commit is contained in:
EllipticEllipsis 2021-02-01 20:12:24 +00:00 committed by GitHub
parent 43f47f9561
commit 45deae6357
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 617 additions and 1776 deletions

View File

@ -1,12 +0,0 @@
glabel EnGe2_Destroy
/* 002D4 80A32EA4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 002D8 80A32EA8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 002DC 80A32EAC AFBF0014 */ sw $ra, 0x0014($sp)
/* 002E0 80A32EB0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 002E4 80A32EB4 0C0170EB */ jal Collider_DestroyCylinder
/* 002E8 80A32EB8 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
/* 002EC 80A32EBC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 002F0 80A32EC0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 002F4 80A32EC4 03E00008 */ jr $ra
/* 002F8 80A32EC8 00000000 */ nop

View File

@ -1,79 +0,0 @@
.rdata
glabel D_80A3441C
.asciz "../z_en_ge2.c"
.balign 4
glabel D_80A3442C
.asciz "../z_en_ge2.c"
.balign 4
.text
glabel EnGe2_Draw
/* 01610 80A341E0 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 01614 80A341E4 AFB10028 */ sw $s1, 0x0028($sp)
/* 01618 80A341E8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0161C 80A341EC AFBF002C */ sw $ra, 0x002C($sp)
/* 01620 80A341F0 AFB00024 */ sw $s0, 0x0024($sp)
/* 01624 80A341F4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01628 80A341F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0162C 80A341FC 3C0680A3 */ lui $a2, %hi(D_80A3441C) ## $a2 = 80A30000
/* 01630 80A34200 24C6441C */ addiu $a2, $a2, %lo(D_80A3441C) ## $a2 = 80A3441C
/* 01634 80A34204 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
/* 01638 80A34208 240704FA */ addiu $a3, $zero, 0x04FA ## $a3 = 000004FA
/* 0163C 80A3420C 0C031AB1 */ jal Graph_OpenDisps
/* 01640 80A34210 AFA5004C */ sw $a1, 0x004C($sp)
/* 01644 80A34214 0C0250F2 */ jal func_800943C8
/* 01648 80A34218 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 0164C 80A3421C 8FA5004C */ lw $a1, 0x004C($sp)
/* 01650 80A34220 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 01654 80A34224 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
/* 01658 80A34228 8CA302C0 */ lw $v1, 0x02C0($a1) ## 000002C0
/* 0165C 80A3422C 3C0480A3 */ lui $a0, %hi(D_80A343BC) ## $a0 = 80A30000
/* 01660 80A34230 3C0C8016 */ lui $t4, %hi(gSegments)
/* 01664 80A34234 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 01668 80A34238 ACAE02C0 */ sw $t6, 0x02C0($a1) ## 000002C0
/* 0166C 80A3423C AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 01670 80A34240 861802E4 */ lh $t8, 0x02E4($s0) ## 000002E4
/* 01674 80A34244 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 01678 80A34248 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 0167C 80A3424C 0018C880 */ sll $t9, $t8, 2
/* 01680 80A34250 00992021 */ addu $a0, $a0, $t9
/* 01684 80A34254 8C8443BC */ lw $a0, %lo(D_80A343BC)($a0)
/* 01688 80A34258 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 0168C 80A3425C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01690 80A34260 00044900 */ sll $t1, $a0, 4
/* 01694 80A34264 00095702 */ srl $t2, $t1, 28
/* 01698 80A34268 000A5880 */ sll $t3, $t2, 2
/* 0169C 80A3426C 018B6021 */ addu $t4, $t4, $t3
/* 016A0 80A34270 8D8C6FA8 */ lw $t4, %lo(gSegments)($t4)
/* 016A4 80A34274 00814024 */ and $t0, $a0, $at
/* 016A8 80A34278 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 016AC 80A3427C 010C6821 */ addu $t5, $t0, $t4
/* 016B0 80A34280 01A17021 */ addu $t6, $t5, $at
/* 016B4 80A34284 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 016B8 80A34288 0C00BAF3 */ jal func_8002EBCC
/* 016BC 80A3428C AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
/* 016C0 80A34290 8E05019C */ lw $a1, 0x019C($s0) ## 0000019C
/* 016C4 80A34294 8E0601B8 */ lw $a2, 0x01B8($s0) ## 000001B8
/* 016C8 80A34298 9207019A */ lbu $a3, 0x019A($s0) ## 0000019A
/* 016CC 80A3429C 3C0F80A3 */ lui $t7, %hi(func_80A3415C) ## $t7 = 80A30000
/* 016D0 80A342A0 3C1880A3 */ lui $t8, %hi(func_80A341A0) ## $t8 = 80A30000
/* 016D4 80A342A4 271841A0 */ addiu $t8, $t8, %lo(func_80A341A0) ## $t8 = 80A341A0
/* 016D8 80A342A8 25EF415C */ addiu $t7, $t7, %lo(func_80A3415C) ## $t7 = 80A3415C
/* 016DC 80A342AC AFAF0010 */ sw $t7, 0x0010($sp)
/* 016E0 80A342B0 AFB80014 */ sw $t8, 0x0014($sp)
/* 016E4 80A342B4 AFB00018 */ sw $s0, 0x0018($sp)
/* 016E8 80A342B8 0C0286B2 */ jal SkelAnime_DrawFlexOpa
/* 016EC 80A342BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 016F0 80A342C0 3C0680A3 */ lui $a2, %hi(D_80A3442C) ## $a2 = 80A30000
/* 016F4 80A342C4 24C6442C */ addiu $a2, $a2, %lo(D_80A3442C) ## $a2 = 80A3442C
/* 016F8 80A342C8 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
/* 016FC 80A342CC 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 01700 80A342D0 0C031AD5 */ jal Graph_CloseDisps
/* 01704 80A342D4 2407050B */ addiu $a3, $zero, 0x050B ## $a3 = 0000050B
/* 01708 80A342D8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0170C 80A342DC 8FB00024 */ lw $s0, 0x0024($sp)
/* 01710 80A342E0 8FB10028 */ lw $s1, 0x0028($sp)
/* 01714 80A342E4 03E00008 */ jr $ra
/* 01718 80A342E8 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 0171C 80A342EC 00000000 */ nop

View File

@ -1,163 +0,0 @@
.rdata
glabel D_80A343D0
.asciz "0"
.balign 4
glabel D_80A343D4
.asciz "../z_en_ge2.c"
.balign 4
.text
glabel EnGe2_Init
/* 000A4 80A32C74 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 000A8 80A32C78 AFB00028 */ sw $s0, 0x0028($sp)
/* 000AC 80A32C7C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 000B0 80A32C80 AFBF002C */ sw $ra, 0x002C($sp)
/* 000B4 80A32C84 AFA50044 */ sw $a1, 0x0044($sp)
/* 000B8 80A32C88 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
/* 000BC 80A32C8C 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
/* 000C0 80A32C90 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 000C4 80A32C94 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
/* 000C8 80A32C98 0C00AC78 */ jal ActorShape_Init
/* 000CC 80A32C9C 3C074210 */ lui $a3, 0x4210 ## $a3 = 42100000
/* 000D0 80A32CA0 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198
/* 000D4 80A32CA4 3C060601 */ lui $a2, %hi(D_06008968) ## $a2 = 06010000
/* 000D8 80A32CA8 260E01DC */ addiu $t6, $s0, 0x01DC ## $t6 = 000001DC
/* 000DC 80A32CAC 260F0260 */ addiu $t7, $s0, 0x0260 ## $t7 = 00000260
/* 000E0 80A32CB0 24180016 */ addiu $t8, $zero, 0x0016 ## $t8 = 00000016
/* 000E4 80A32CB4 AFB80018 */ sw $t8, 0x0018($sp)
/* 000E8 80A32CB8 AFAF0014 */ sw $t7, 0x0014($sp)
/* 000EC 80A32CBC AFAE0010 */ sw $t6, 0x0010($sp)
/* 000F0 80A32CC0 24C68968 */ addiu $a2, $a2, %lo(D_06008968) ## $a2 = 06008968
/* 000F4 80A32CC4 AFA50030 */ sw $a1, 0x0030($sp)
/* 000F8 80A32CC8 8FA40044 */ lw $a0, 0x0044($sp)
/* 000FC 80A32CCC 0C0291BE */ jal SkelAnime_InitFlex
/* 00100 80A32CD0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00104 80A32CD4 3C050601 */ lui $a1, %hi(D_06009ED4) ## $a1 = 06010000
/* 00108 80A32CD8 24A59ED4 */ addiu $a1, $a1, %lo(D_06009ED4) ## $a1 = 06009ED4
/* 0010C 80A32CDC 0C0294BE */ jal Animation_PlayLoop
/* 00110 80A32CE0 8FA40030 */ lw $a0, 0x0030($sp)
/* 00114 80A32CE4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00118 80A32CE8 AFA50030 */ sw $a1, 0x0030($sp)
/* 0011C 80A32CEC 0C0170D9 */ jal Collider_InitCylinder
/* 00120 80A32CF0 8FA40044 */ lw $a0, 0x0044($sp)
/* 00124 80A32CF4 3C0780A3 */ lui $a3, %hi(D_80A34310) ## $a3 = 80A30000
/* 00128 80A32CF8 8FA50030 */ lw $a1, 0x0030($sp)
/* 0012C 80A32CFC 24E74310 */ addiu $a3, $a3, %lo(D_80A34310) ## $a3 = 80A34310
/* 00130 80A32D00 8FA40044 */ lw $a0, 0x0044($sp)
/* 00134 80A32D04 0C01712B */ jal Collider_SetCylinder
/* 00138 80A32D08 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 0013C 80A32D0C 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 00140 80A32D10 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 00144 80A32D14 A21900AE */ sb $t9, 0x00AE($s0) ## 000000AE
/* 00148 80A32D18 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 0014C 80A32D1C 0C00B58B */ jal Actor_SetScale
/* 00150 80A32D20 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00154 80A32D24 8FA80044 */ lw $t0, 0x0044($sp)
/* 00158 80A32D28 2401005A */ addiu $at, $zero, 0x005A ## $at = 0000005A
/* 0015C 80A32D2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00160 80A32D30 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
/* 00164 80A32D34 15210004 */ bne $t1, $at, .L80A32D48
/* 00168 80A32D38 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 0016C 80A32D3C 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
/* 00170 80A32D40 10000005 */ beq $zero, $zero, .L80A32D58
/* 00174 80A32D44 E60400F4 */ swc1 $f4, 0x00F4($s0) ## 000000F4
.L80A32D48:
/* 00178 80A32D48 3C014496 */ lui $at, 0x4496 ## $at = 44960000
/* 0017C 80A32D4C 44813000 */ mtc1 $at, $f6 ## $f6 = 1200.00
/* 00180 80A32D50 00000000 */ nop
/* 00184 80A32D54 E60600F4 */ swc1 $f6, 0x00F4($s0) ## 000000F4
.L80A32D58:
/* 00188 80A32D58 860A0034 */ lh $t2, 0x0034($s0) ## 00000034
/* 0018C 80A32D5C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00190 80A32D60 44818000 */ mtc1 $at, $f16 ## $f16 = 40.00
/* 00194 80A32D64 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
/* 00198 80A32D68 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00
/* 0019C 80A32D6C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 001A0 80A32D70 A6000034 */ sh $zero, 0x0034($s0) ## 00000034
/* 001A4 80A32D74 468042A0 */ cvt.s.w $f10, $f8
/* 001A8 80A32D78 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 00000000
/* 001AC 80A32D7C A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8
/* 001B0 80A32D80 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 001B4 80A32D84 46105482 */ mul.s $f18, $f10, $f16
/* 001B8 80A32D88 10400008 */ beq $v0, $zero, .L80A32DAC
/* 001BC 80A32D8C E61202FC */ swc1 $f18, 0x02FC($s0) ## 000002FC
/* 001C0 80A32D90 10410011 */ beq $v0, $at, .L80A32DD8
/* 001C4 80A32D94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001C8 80A32D98 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 001CC 80A32D9C 10410019 */ beq $v0, $at, .L80A32E04
/* 001D0 80A32DA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001D4 80A32DA4 10000022 */ beq $zero, $zero, .L80A32E30
/* 001D8 80A32DA8 3C0480A3 */ lui $a0, %hi(D_80A343D0) ## $a0 = 80A30000
.L80A32DAC:
/* 001DC 80A32DAC 0C28CAF4 */ jal func_80A32BD0
/* 001E0 80A32DB0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 001E4 80A32DB4 0C28CC28 */ jal func_80A330A0
/* 001E8 80A32DB8 00000000 */ nop
/* 001EC 80A32DBC 10400021 */ beq $v0, $zero, .L80A32E44
/* 001F0 80A32DC0 3C0C80A3 */ lui $t4, %hi(func_80A33D10) ## $t4 = 80A30000
/* 001F4 80A32DC4 258C3D10 */ addiu $t4, $t4, %lo(func_80A33D10) ## $t4 = 80A33D10
/* 001F8 80A32DC8 240D0006 */ addiu $t5, $zero, 0x0006 ## $t5 = 00000006
/* 001FC 80A32DCC AE0C0130 */ sw $t4, 0x0130($s0) ## 00000130
/* 00200 80A32DD0 1000001C */ beq $zero, $zero, .L80A32E44
/* 00204 80A32DD4 A20D001F */ sb $t5, 0x001F($s0) ## 0000001F
.L80A32DD8:
/* 00208 80A32DD8 0C28CAF4 */ jal func_80A32BD0
/* 0020C 80A32DDC 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007
/* 00210 80A32DE0 0C28CC28 */ jal func_80A330A0
/* 00214 80A32DE4 00000000 */ nop
/* 00218 80A32DE8 10400016 */ beq $v0, $zero, .L80A32E44
/* 0021C 80A32DEC 3C0E80A3 */ lui $t6, %hi(func_80A33D10) ## $t6 = 80A30000
/* 00220 80A32DF0 25CE3D10 */ addiu $t6, $t6, %lo(func_80A33D10) ## $t6 = 80A33D10
/* 00224 80A32DF4 240F0006 */ addiu $t7, $zero, 0x0006 ## $t7 = 00000006
/* 00228 80A32DF8 AE0E0130 */ sw $t6, 0x0130($s0) ## 00000130
/* 0022C 80A32DFC 10000011 */ beq $zero, $zero, .L80A32E44
/* 00230 80A32E00 A20F001F */ sb $t7, 0x001F($s0) ## 0000001F
.L80A32E04:
/* 00234 80A32E04 0C28CAF4 */ jal func_80A32BD0
/* 00238 80A32E08 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 0023C 80A32E0C 3C1880A3 */ lui $t8, %hi(func_80A33DE0) ## $t8 = 80A30000
/* 00240 80A32E10 3C1980A3 */ lui $t9, %hi(func_80A33AFC) ## $t9 = 80A30000
/* 00244 80A32E14 27183DE0 */ addiu $t8, $t8, %lo(func_80A33DE0) ## $t8 = 80A33DE0
/* 00248 80A32E18 27393AFC */ addiu $t9, $t9, %lo(func_80A33AFC) ## $t9 = 80A33AFC
/* 0024C 80A32E1C 24080006 */ addiu $t0, $zero, 0x0006 ## $t0 = 00000006
/* 00250 80A32E20 AE180130 */ sw $t8, 0x0130($s0) ## 00000130
/* 00254 80A32E24 AE190308 */ sw $t9, 0x0308($s0) ## 00000308
/* 00258 80A32E28 10000006 */ beq $zero, $zero, .L80A32E44
/* 0025C 80A32E2C A208001F */ sb $t0, 0x001F($s0) ## 0000001F
.L80A32E30:
/* 00260 80A32E30 3C0580A3 */ lui $a1, %hi(D_80A343D4) ## $a1 = 80A30000
/* 00264 80A32E34 24A543D4 */ addiu $a1, $a1, %lo(D_80A343D4) ## $a1 = 80A343D4
/* 00268 80A32E38 248443D0 */ addiu $a0, $a0, %lo(D_80A343D0) ## $a0 = 000043D0
/* 0026C 80A32E3C 0C0007FC */ jal __assert
/* 00270 80A32E40 240601A2 */ addiu $a2, $zero, 0x01A2 ## $a2 = 000001A2
.L80A32E44:
/* 00274 80A32E44 860A001C */ lh $t2, 0x001C($s0) ## 0000001C
/* 00278 80A32E48 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
/* 0027C 80A32E4C 44812000 */ mtc1 $at, $f4 ## $f4 = -4.00
/* 00280 80A32E50 314BFF00 */ andi $t3, $t2, 0xFF00 ## $t3 = 00000000
/* 00284 80A32E54 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 00288 80A32E58 000B6203 */ sra $t4, $t3, 8
/* 0028C 80A32E5C 44813000 */ mtc1 $at, $f6 ## $f6 = -1.00
/* 00290 80A32E60 86090032 */ lh $t1, 0x0032($s0) ## 00000032
/* 00294 80A32E64 000C6880 */ sll $t5, $t4, 2
/* 00298 80A32E68 01AC6821 */ addu $t5, $t5, $t4
/* 0029C 80A32E6C 000D6840 */ sll $t5, $t5, 1
/* 002A0 80A32E70 A60002F4 */ sh $zero, 0x02F4($s0) ## 000002F4
/* 002A4 80A32E74 A2000304 */ sb $zero, 0x0304($s0) ## 00000304
/* 002A8 80A32E78 A6000302 */ sh $zero, 0x0302($s0) ## 00000302
/* 002AC 80A32E7C A2000306 */ sb $zero, 0x0306($s0) ## 00000306
/* 002B0 80A32E80 A60D0300 */ sh $t5, 0x0300($s0) ## 00000300
/* 002B4 80A32E84 E6040070 */ swc1 $f4, 0x0070($s0) ## 00000070
/* 002B8 80A32E88 E606006C */ swc1 $f6, 0x006C($s0) ## 0000006C
/* 002BC 80A32E8C A60902F6 */ sh $t1, 0x02F6($s0) ## 000002F6
/* 002C0 80A32E90 8FBF002C */ lw $ra, 0x002C($sp)
/* 002C4 80A32E94 8FB00028 */ lw $s0, 0x0028($sp)
/* 002C8 80A32E98 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 002CC 80A32E9C 03E00008 */ jr $ra
/* 002D0 80A32EA0 00000000 */ nop

View File

@ -1,153 +0,0 @@
.rdata
glabel D_80A343E4
.asciz "\x1b[32m!!!!!!!!!!!!\n\x1b[m"
.balign 4
glabel D_80A34400
.asciz "\x1b[32m!!!!!!!!!!!!\n\x1b[m"
.balign 4
.text
glabel EnGe2_Update
/* 01264 80A33E34 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01268 80A33E38 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0126C 80A33E3C AFB00020 */ sw $s0, 0x0020($sp)
/* 01270 80A33E40 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01274 80A33E44 0C28CEFA */ jal func_80A33BE8
/* 01278 80A33E48 AFA5002C */ sw $a1, 0x002C($sp)
/* 0127C 80A33E4C 960202F4 */ lhu $v0, 0x02F4($s0) ## 000002F4
/* 01280 80A33E50 304E0004 */ andi $t6, $v0, 0x0004 ## $t6 = 00000000
/* 01284 80A33E54 15C00003 */ bne $t6, $zero, .L80A33E64
/* 01288 80A33E58 304F0008 */ andi $t7, $v0, 0x0008 ## $t7 = 00000000
/* 0128C 80A33E5C 51E00009 */ beql $t7, $zero, .L80A33E84
/* 01290 80A33E60 9218015D */ lbu $t8, 0x015D($s0) ## 0000015D
.L80A33E64:
/* 01294 80A33E64 8E190308 */ lw $t9, 0x0308($s0) ## 00000308
/* 01298 80A33E68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0129C 80A33E6C 8FA5002C */ lw $a1, 0x002C($sp)
/* 012A0 80A33E70 0320F809 */ jalr $ra, $t9
/* 012A4 80A33E74 00000000 */ nop
/* 012A8 80A33E78 1000004A */ beq $zero, $zero, .L80A33FA4
/* 012AC 80A33E7C 960902F4 */ lhu $t1, 0x02F4($s0) ## 000002F4
/* 012B0 80A33E80 9218015D */ lbu $t8, 0x015D($s0) ## 0000015D
.L80A33E84:
/* 012B4 80A33E84 33080002 */ andi $t0, $t8, 0x0002 ## $t0 = 00000000
/* 012B8 80A33E88 51000022 */ beql $t0, $zero, .L80A33F14
/* 012BC 80A33E8C 8E190308 */ lw $t9, 0x0308($s0) ## 00000308
/* 012C0 80A33E90 8E020188 */ lw $v0, 0x0188($s0) ## 00000188
/* 012C4 80A33E94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 012C8 80A33E98 1040000F */ beq $v0, $zero, .L80A33ED8
/* 012CC 80A33E9C 00000000 */ nop
/* 012D0 80A33EA0 8C490000 */ lw $t1, 0x0000($v0) ## 00000000
/* 012D4 80A33EA4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 012D8 80A33EA8 24060078 */ addiu $a2, $zero, 0x0078 ## $a2 = 00000078
/* 012DC 80A33EAC 312A0080 */ andi $t2, $t1, 0x0080 ## $t2 = 00000000
/* 012E0 80A33EB0 11400009 */ beq $t2, $zero, .L80A33ED8
/* 012E4 80A33EB4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 012E8 80A33EB8 240B0190 */ addiu $t3, $zero, 0x0190 ## $t3 = 00000190
/* 012EC 80A33EBC AFAB0010 */ sw $t3, 0x0010($sp)
/* 012F0 80A33EC0 0C00D09B */ jal func_8003426C
/* 012F4 80A33EC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 012F8 80A33EC8 3C0C80A3 */ lui $t4, %hi(func_80A3402C) ## $t4 = 80A30000
/* 012FC 80A33ECC 258C402C */ addiu $t4, $t4, %lo(func_80A3402C) ## $t4 = 80A3402C
/* 01300 80A33ED0 10000051 */ beq $zero, $zero, .L80A34018
/* 01304 80A33ED4 AE0C0130 */ sw $t4, 0x0130($s0) ## 00000130
.L80A33ED8:
/* 01308 80A33ED8 0C28CAF4 */ jal func_80A32BD0
/* 0130C 80A33EDC 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 01310 80A33EE0 960E02F4 */ lhu $t6, 0x02F4($s0) ## 000002F4
/* 01314 80A33EE4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01318 80A33EE8 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
/* 0131C 80A33EEC 35CF0004 */ ori $t7, $t6, 0x0004 ## $t7 = 00000004
/* 01320 80A33EF0 A20D0305 */ sb $t5, 0x0305($s0) ## 00000305
/* 01324 80A33EF4 A60F02F4 */ sh $t7, 0x02F4($s0) ## 000002F4
/* 01328 80A33EF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0132C 80A33EFC 24056872 */ addiu $a1, $zero, 0x6872 ## $a1 = 00006872
/* 01330 80A33F00 0C00BE0A */ jal Audio_PlayActorSound2
/* 01334 80A33F04 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 01338 80A33F08 10000026 */ beq $zero, $zero, .L80A33FA4
/* 0133C 80A33F0C 960902F4 */ lhu $t1, 0x02F4($s0) ## 000002F4
/* 01340 80A33F10 8E190308 */ lw $t9, 0x0308($s0) ## 00000308
.L80A33F14:
/* 01344 80A33F14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01348 80A33F18 8FA5002C */ lw $a1, 0x002C($sp)
/* 0134C 80A33F1C 0320F809 */ jalr $ra, $t9
/* 01350 80A33F20 00000000 */ nop
/* 01354 80A33F24 C60602FC */ lwc1 $f6, 0x02FC($s0) ## 000002FC
/* 01358 80A33F28 860700B6 */ lh $a3, 0x00B6($s0) ## 000000B6
/* 0135C 80A33F2C 8FA4002C */ lw $a0, 0x002C($sp)
/* 01360 80A33F30 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01364 80A33F34 26060038 */ addiu $a2, $s0, 0x0038 ## $a2 = 00000038
/* 01368 80A33F38 0C28CBDD */ jal func_80A32F74
/* 0136C 80A33F3C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01370 80A33F40 10400006 */ beq $v0, $zero, .L80A33F5C
/* 01374 80A33F44 3C0480A3 */ lui $a0, %hi(D_80A343E4) ## $a0 = 80A30000
/* 01378 80A33F48 0C00084C */ jal osSyncPrintf
/* 0137C 80A33F4C 248443E4 */ addiu $a0, $a0, %lo(D_80A343E4) ## $a0 = 80A343E4
/* 01380 80A33F50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01384 80A33F54 0C28CEDF */ jal func_80A33B7C
/* 01388 80A33F58 8FA5002C */ lw $a1, 0x002C($sp)
.L80A33F5C:
/* 0138C 80A33F5C 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
/* 01390 80A33F60 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01394 80A33F64 330800FF */ andi $t0, $t8, 0x00FF ## $t0 = 00000000
/* 01398 80A33F68 1501000D */ bne $t0, $at, .L80A33FA0
/* 0139C 80A33F6C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 013A0 80A33F70 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
/* 013A4 80A33F74 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090
/* 013A8 80A33F78 3C0480A3 */ lui $a0, %hi(D_80A34400) ## $a0 = 80A30000
/* 013AC 80A33F7C 460A403C */ c.lt.s $f8, $f10
/* 013B0 80A33F80 00000000 */ nop
/* 013B4 80A33F84 45020007 */ bc1fl .L80A33FA4
/* 013B8 80A33F88 960902F4 */ lhu $t1, 0x02F4($s0) ## 000002F4
/* 013BC 80A33F8C 0C00084C */ jal osSyncPrintf
/* 013C0 80A33F90 24844400 */ addiu $a0, $a0, %lo(D_80A34400) ## $a0 = 80A34400
/* 013C4 80A33F94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013C8 80A33F98 0C28CEDF */ jal func_80A33B7C
/* 013CC 80A33F9C 8FA5002C */ lw $a1, 0x002C($sp)
.L80A33FA0:
/* 013D0 80A33FA0 960902F4 */ lhu $t1, 0x02F4($s0) ## 000002F4
.L80A33FA4:
/* 013D4 80A33FA4 312A0004 */ andi $t2, $t1, 0x0004 ## $t2 = 00000000
/* 013D8 80A33FA8 5540000D */ bnel $t2, $zero, .L80A33FE0
/* 013DC 80A33FAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013E0 80A33FB0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 013E4 80A33FB4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 013E8 80A33FB8 8FA4002C */ lw $a0, 0x002C($sp)
/* 013EC 80A33FBC 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 00000000
/* 013F0 80A33FC0 10400002 */ beq $v0, $zero, .L80A33FCC
/* 013F4 80A33FC4 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
/* 013F8 80A33FC8 14410004 */ bne $v0, $at, .L80A33FDC
.L80A33FCC:
/* 013FC 80A33FCC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01400 80A33FD0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01404 80A33FD4 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01408 80A33FD8 00812821 */ addu $a1, $a0, $at
.L80A33FDC:
/* 0140C 80A33FDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A33FE0:
/* 01410 80A33FE0 0C28CF23 */ jal func_80A33C8C
/* 01414 80A33FE4 8FA5002C */ lw $a1, 0x002C($sp)
/* 01418 80A33FE8 0C28CC28 */ jal func_80A330A0
/* 0141C 80A33FEC 00000000 */ nop
/* 01420 80A33FF0 5040000A */ beql $v0, $zero, .L80A3401C
/* 01424 80A33FF4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01428 80A33FF8 960B02F4 */ lhu $t3, 0x02F4($s0) ## 000002F4
/* 0142C 80A33FFC 3C0D80A3 */ lui $t5, %hi(func_80A33D10) ## $t5 = 80A30000
/* 01430 80A34000 25AD3D10 */ addiu $t5, $t5, %lo(func_80A33D10) ## $t5 = 80A33D10
/* 01434 80A34004 316C0004 */ andi $t4, $t3, 0x0004 ## $t4 = 00000000
/* 01438 80A34008 15800003 */ bne $t4, $zero, .L80A34018
/* 0143C 80A3400C 240E0006 */ addiu $t6, $zero, 0x0006 ## $t6 = 00000006
/* 01440 80A34010 AE0D0130 */ sw $t5, 0x0130($s0) ## 00000130
/* 01444 80A34014 A20E001F */ sb $t6, 0x001F($s0) ## 0000001F
.L80A34018:
/* 01448 80A34018 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A3401C:
/* 0144C 80A3401C 8FB00020 */ lw $s0, 0x0020($sp)
/* 01450 80A34020 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01454 80A34024 03E00008 */ jr $ra
/* 01458 80A34028 00000000 */ nop

View File

@ -1,44 +0,0 @@
glabel func_80A32BD0
/* 00000 80A32BD0 00051080 */ sll $v0, $a1, 2
/* 00004 80A32BD4 3C0E80A3 */ lui $t6, %hi(D_80A3433C) ## $t6 = 80A30000
/* 00008 80A32BD8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 0000C 80A32BDC 01C27021 */ addu $t6, $t6, $v0
/* 00010 80A32BE0 8DCE433C */ lw $t6, %lo(D_80A3433C)($t6)
/* 00014 80A32BE4 3C1880A3 */ lui $t8, %hi(D_80A34360) ## $t8 = 80A30000
/* 00018 80A32BE8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0001C 80A32BEC AFA40030 */ sw $a0, 0x0030($sp)
/* 00020 80A32BF0 AFA50034 */ sw $a1, 0x0034($sp)
/* 00024 80A32BF4 27184360 */ addiu $t8, $t8, %lo(D_80A34360) ## $t8 = 80A34360
/* 00028 80A32BF8 00581821 */ addu $v1, $v0, $t8
/* 0002C 80A32BFC AC8E0308 */ sw $t6, 0x0308($a0) ## 00000308
/* 00030 80A32C00 AFA30028 */ sw $v1, 0x0028($sp)
/* 00034 80A32C04 0C028800 */ jal Animation_GetLastFrame
/* 00038 80A32C08 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 0003C 80A32C0C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00040 80A32C10 8FB90034 */ lw $t9, 0x0034($sp)
/* 00044 80A32C14 3C0880A3 */ lui $t0, %hi(D_80A34384) ## $t0 = 80A30000
/* 00048 80A32C18 468021A0 */ cvt.s.w $f6, $f4
/* 0004C 80A32C1C 3C01C100 */ lui $at, 0xC100 ## $at = C1000000
/* 00050 80A32C20 01194021 */ addu $t0, $t0, $t9
/* 00054 80A32C24 91084384 */ lbu $t0, %lo(D_80A34384)($t0)
/* 00058 80A32C28 44814000 */ mtc1 $at, $f8 ## $f8 = -8.00
/* 0005C 80A32C2C 8FA30028 */ lw $v1, 0x0028($sp)
/* 00060 80A32C30 8FA40030 */ lw $a0, 0x0030($sp)
/* 00064 80A32C34 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00068 80A32C38 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0006C 80A32C3C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00070 80A32C40 AFA80014 */ sw $t0, 0x0014($sp)
/* 00074 80A32C44 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 00078 80A32C48 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0007C 80A32C4C 0C029468 */ jal Animation_Change
/* 00080 80A32C50 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
/* 00084 80A32C54 8FA20030 */ lw $v0, 0x0030($sp)
/* 00088 80A32C58 944902F4 */ lhu $t1, 0x02F4($v0) ## 000002F4
/* 0008C 80A32C5C 312AFFFD */ andi $t2, $t1, 0xFFFD ## $t2 = 00000000
/* 00090 80A32C60 A44A02F4 */ sh $t2, 0x02F4($v0) ## 000002F4
/* 00094 80A32C64 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00098 80A32C68 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 0009C 80A32C6C 03E00008 */ jr $ra
/* 000A0 80A32C70 00000000 */ nop

View File

@ -1,48 +0,0 @@
glabel func_80A32ECC
/* 002FC 80A32ECC 3C0E8016 */ lui $t6, %hi(gSaveContext+0x10)
/* 00300 80A32ED0 8DCEE670 */ lw $t6, %lo(gSaveContext+0x10)($t6)
/* 00304 80A32ED4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00308 80A32ED8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0030C 80A32EDC 11C00005 */ beq $t6, $zero, .L80A32EF4
/* 00310 80A32EE0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 00314 80A32EE4 3C013F40 */ lui $at, 0x3F40 ## $at = 3F400000
/* 00318 80A32EE8 44810000 */ mtc1 $at, $f0 ## $f0 = 0.75
/* 0031C 80A32EEC 10000004 */ beq $zero, $zero, .L80A32F00
/* 00320 80A32EF0 3C01437A */ lui $at, 0x437A ## $at = 437A0000
.L80A32EF4:
/* 00324 80A32EF4 44810000 */ mtc1 $at, $f0 ## $f0 = 250.00
/* 00328 80A32EF8 00000000 */ nop
/* 0032C 80A32EFC 3C01437A */ lui $at, 0x437A ## $at = 437A0000
.L80A32F00:
/* 00330 80A32F00 44812000 */ mtc1 $at, $f4 ## $f4 = 250.00
/* 00334 80A32F04 C4A20090 */ lwc1 $f2, 0x0090($a1) ## 00000090
/* 00338 80A32F08 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 0033C 80A32F0C 46002182 */ mul.s $f6, $f4, $f0
/* 00340 80A32F10 4602303C */ c.lt.s $f6, $f2
/* 00344 80A32F14 00000000 */ nop
/* 00348 80A32F18 45020004 */ bc1fl .L80A32F2C
/* 0034C 80A32F1C 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00
/* 00350 80A32F20 10000010 */ beq $zero, $zero, .L80A32F64
/* 00354 80A32F24 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00358 80A32F28 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00
.L80A32F2C:
/* 0035C 80A32F2C 00000000 */ nop
/* 00360 80A32F30 4608103C */ c.lt.s $f2, $f8
/* 00364 80A32F34 00000000 */ nop
/* 00368 80A32F38 45000003 */ bc1f .L80A32F48
/* 0036C 80A32F3C 00000000 */ nop
/* 00370 80A32F40 10000008 */ beq $zero, $zero, .L80A32F64
/* 00374 80A32F44 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
.L80A32F48:
/* 00378 80A32F48 0C00B779 */ jal func_8002DDE4
/* 0037C 80A32F4C 00000000 */ nop
/* 00380 80A32F50 50400004 */ beql $v0, $zero, .L80A32F64
/* 00384 80A32F54 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00388 80A32F58 10000002 */ beq $zero, $zero, .L80A32F64
/* 0038C 80A32F5C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00390 80A32F60 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A32F64:
/* 00394 80A32F64 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00398 80A32F68 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0039C 80A32F6C 03E00008 */ jr $ra
/* 003A0 80A32F70 00000000 */ nop

View File

@ -1,84 +0,0 @@
glabel func_80A32F74
/* 003A4 80A32F74 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 003A8 80A32F78 3C0F8016 */ lui $t7, %hi(gSaveContext+0x10)
/* 003AC 80A32F7C 8DEFE670 */ lw $t7, %lo(gSaveContext+0x10)($t7)
/* 003B0 80A32F80 AFA70054 */ sw $a3, 0x0054($sp)
/* 003B4 80A32F84 00073C00 */ sll $a3, $a3, 16
/* 003B8 80A32F88 AFBF001C */ sw $ra, 0x001C($sp)
/* 003BC 80A32F8C AFA40048 */ sw $a0, 0x0048($sp)
/* 003C0 80A32F90 AFA60050 */ sw $a2, 0x0050($sp)
/* 003C4 80A32F94 00073C03 */ sra $a3, $a3, 16
/* 003C8 80A32F98 11E00005 */ beq $t7, $zero, .L80A32FB0
/* 003CC 80A32F9C 8C881C44 */ lw $t0, 0x1C44($a0) ## 00001C44
/* 003D0 80A32FA0 3C013F40 */ lui $at, 0x3F40 ## $at = 3F400000
/* 003D4 80A32FA4 44810000 */ mtc1 $at, $f0 ## $f0 = 0.75
/* 003D8 80A32FA8 10000005 */ beq $zero, $zero, .L80A32FC0
/* 003DC 80A32FAC 3C01437A */ lui $at, 0x437A ## $at = 437A0000
.L80A32FB0:
/* 003E0 80A32FB0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 003E4 80A32FB4 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50
/* 003E8 80A32FB8 00000000 */ nop
/* 003EC 80A32FBC 3C01437A */ lui $at, 0x437A ## $at = 437A0000
.L80A32FC0:
/* 003F0 80A32FC0 44812000 */ mtc1 $at, $f4 ## $f4 = 250.00
/* 003F4 80A32FC4 C4A80090 */ lwc1 $f8, 0x0090($a1) ## 00000090
/* 003F8 80A32FC8 C7B00058 */ lwc1 $f16, 0x0058($sp)
/* 003FC 80A32FCC 46002182 */ mul.s $f6, $f4, $f0
/* 00400 80A32FD0 4608303C */ c.lt.s $f6, $f8
/* 00404 80A32FD4 00000000 */ nop
/* 00408 80A32FD8 45020004 */ bc1fl .L80A32FEC
/* 0040C 80A32FDC C4A00094 */ lwc1 $f0, 0x0094($a1) ## 00000094
/* 00410 80A32FE0 1000002B */ beq $zero, $zero, .L80A33090
/* 00414 80A32FE4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00418 80A32FE8 C4A00094 */ lwc1 $f0, 0x0094($a1) ## 00000094
.L80A32FEC:
/* 0041C 80A32FEC 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00420 80A32FF0 00000000 */ nop
/* 00424 80A32FF4 4600503E */ c.le.s $f10, $f0
/* 00428 80A32FF8 00000000 */ nop
/* 0042C 80A32FFC 45020004 */ bc1fl .L80A33010
/* 00430 80A33000 46000087 */ neg.s $f2, $f0
/* 00434 80A33004 10000002 */ beq $zero, $zero, .L80A33010
/* 00438 80A33008 46000086 */ mov.s $f2, $f0
/* 0043C 80A3300C 46000087 */ neg.s $f2, $f0
.L80A33010:
/* 00440 80A33010 4602803C */ c.lt.s $f16, $f2
/* 00444 80A33014 00000000 */ nop
/* 00448 80A33018 45020004 */ bc1fl .L80A3302C
/* 0044C 80A3301C 84B8008A */ lh $t8, 0x008A($a1) ## 0000008A
/* 00450 80A33020 1000001B */ beq $zero, $zero, .L80A33090
/* 00454 80A33024 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00458 80A33028 84B8008A */ lh $t8, 0x008A($a1) ## 0000008A
.L80A3302C:
/* 0045C 80A3302C 8FA50050 */ lw $a1, 0x0050($sp)
/* 00460 80A33030 8FA40048 */ lw $a0, 0x0048($sp)
/* 00464 80A33034 03071023 */ subu $v0, $t8, $a3
/* 00468 80A33038 00021400 */ sll $v0, $v0, 16
/* 0046C 80A3303C 00021403 */ sra $v0, $v0, 16
/* 00470 80A33040 04400003 */ bltz $v0, .L80A33050
/* 00474 80A33044 00021823 */ subu $v1, $zero, $v0
/* 00478 80A33048 10000001 */ beq $zero, $zero, .L80A33050
/* 0047C 80A3304C 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A33050:
/* 00480 80A33050 28612001 */ slti $at, $v1, 0x2001
/* 00484 80A33054 14200003 */ bne $at, $zero, .L80A33064
/* 00488 80A33058 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
/* 0048C 80A3305C 1000000C */ beq $zero, $zero, .L80A33090
/* 00490 80A33060 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A33064:
/* 00494 80A33064 27B90034 */ addiu $t9, $sp, 0x0034 ## $t9 = FFFFFFEC
/* 00498 80A33068 AFB90010 */ sw $t9, 0x0010($sp)
/* 0049C 80A3306C 2506095C */ addiu $a2, $t0, 0x095C ## $a2 = 0000095C
/* 004A0 80A33070 27A70038 */ addiu $a3, $sp, 0x0038 ## $a3 = FFFFFFF0
/* 004A4 80A33074 0C00F82E */ jal BgCheck_AnyLineTest1
/* 004A8 80A33078 AFA00014 */ sw $zero, 0x0014($sp)
/* 004AC 80A3307C 50400004 */ beql $v0, $zero, .L80A33090
/* 004B0 80A33080 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 004B4 80A33084 10000002 */ beq $zero, $zero, .L80A33090
/* 004B8 80A33088 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 004BC 80A3308C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A33090:
/* 004C0 80A33090 8FBF001C */ lw $ra, 0x001C($sp)
/* 004C4 80A33094 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 004C8 80A33098 03E00008 */ jr $ra
/* 004CC 80A3309C 00000000 */ nop

View File

@ -1,13 +0,0 @@
glabel func_80A330A0
/* 004D0 80A330A0 3C0E8016 */ lui $t6, %hi(gSaveContext+0xee6)
/* 004D4 80A330A4 95CFF546 */ lhu $t7, %lo(gSaveContext+0xee6)($t6)
/* 004D8 80A330A8 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 004DC 80A330AC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 004E0 80A330B0 31F8000F */ andi $t8, $t7, 0x000F ## $t8 = 00000000
/* 004E4 80A330B4 17010003 */ bne $t8, $at, .L80A330C4
/* 004E8 80A330B8 00000000 */ nop
/* 004EC 80A330BC 03E00008 */ jr $ra
/* 004F0 80A330C0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A330C4:
/* 004F4 80A330C4 03E00008 */ jr $ra
/* 004F8 80A330C8 00000000 */ nop

View File

@ -1,60 +0,0 @@
glabel func_80A330CC
/* 004FC 80A330CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00500 80A330D0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00504 80A330D4 90820305 */ lbu $v0, 0x0305($a0) ## 00000305
/* 00508 80A330D8 18400003 */ blez $v0, .L80A330E8
/* 0050C 80A330DC 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00510 80A330E0 1000002B */ beq $zero, $zero, .L80A33190
/* 00514 80A330E4 A08E0305 */ sb $t6, 0x0305($a0) ## 00000305
.L80A330E8:
/* 00518 80A330E8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0051C 80A330EC 0C01B41D */ jal func_8006D074
/* 00520 80A330F0 AFA5001C */ sw $a1, 0x001C($sp)
/* 00524 80A330F4 3C048012 */ lui $a0, %hi(gItemSlots)
/* 00528 80A330F8 24847464 */ addiu $a0, %lo(gItemSlots)
/* 0052C 80A330FC 908F000A */ lbu $t7, 0x000A($a0) ## 8012746E
/* 00530 80A33100 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00534 80A33104 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00538 80A33108 004FC021 */ addu $t8, $v0, $t7
/* 0053C 80A3310C 93190074 */ lbu $t9, 0x0074($t8) ## 00000074
/* 00540 80A33110 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
/* 00544 80A33114 8FA5001C */ lw $a1, 0x001C($sp)
/* 00548 80A33118 10790005 */ beq $v1, $t9, .L80A33130
/* 0054C 80A3311C 24180026 */ addiu $t8, $zero, 0x0026 ## $t8 = 00000026
/* 00550 80A33120 9088000B */ lbu $t0, 0x000B($a0) ## 8012746F
/* 00554 80A33124 00484821 */ addu $t1, $v0, $t0
/* 00558 80A33128 912A0074 */ lbu $t2, 0x0074($t1) ## 00000074
/* 0055C 80A3312C 146A0005 */ bne $v1, $t2, .L80A33144
.L80A33130:
/* 00560 80A33130 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00564 80A33134 00250821 */ addu $at, $at, $a1
/* 00568 80A33138 240B01A5 */ addiu $t3, $zero, 0x01A5 ## $t3 = 000001A5
/* 0056C 80A3313C 1000000D */ beq $zero, $zero, .L80A33174
/* 00570 80A33140 A42B1E1A */ sh $t3, 0x1E1A($at) ## 00011E1A
.L80A33144:
/* 00574 80A33144 944C0EEC */ lhu $t4, 0x0EEC($v0) ## 8015F54C
/* 00578 80A33148 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0057C 80A3314C 00250821 */ addu $at, $at, $a1
/* 00580 80A33150 318D0080 */ andi $t5, $t4, 0x0080 ## $t5 = 00000000
/* 00584 80A33154 11A00006 */ beq $t5, $zero, .L80A33170
/* 00588 80A33158 240F03B4 */ addiu $t7, $zero, 0x03B4 ## $t7 = 000003B4
/* 0058C 80A3315C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00590 80A33160 00250821 */ addu $at, $at, $a1
/* 00594 80A33164 240E05F8 */ addiu $t6, $zero, 0x05F8 ## $t6 = 000005F8
/* 00598 80A33168 10000002 */ beq $zero, $zero, .L80A33174
/* 0059C 80A3316C A42E1E1A */ sh $t6, 0x1E1A($at) ## 00011E1A
.L80A33170:
/* 005A0 80A33170 A42F1E1A */ sh $t7, 0x1E1A($at) ## 00011E1A
.L80A33174:
/* 005A4 80A33174 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 005A8 80A33178 00250821 */ addu $at, $at, $a1
/* 005AC 80A3317C A0381E5E */ sb $t8, 0x1E5E($at) ## 00011E5E
/* 005B0 80A33180 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 005B4 80A33184 00250821 */ addu $at, $at, $a1
/* 005B8 80A33188 24190014 */ addiu $t9, $zero, 0x0014 ## $t9 = 00000014
/* 005BC 80A3318C A0391E15 */ sb $t9, 0x1E15($at) ## 00011E15
.L80A33190:
/* 005C0 80A33190 8FBF0014 */ lw $ra, 0x0014($sp)
/* 005C4 80A33194 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 005C8 80A33198 03E00008 */ jr $ra
/* 005CC 80A3319C 00000000 */ nop

View File

@ -1,86 +0,0 @@
glabel func_80A331A0
/* 005D0 80A331A0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 005D4 80A331A4 AFB10020 */ sw $s1, 0x0020($sp)
/* 005D8 80A331A8 AFB0001C */ sw $s0, 0x001C($sp)
/* 005DC 80A331AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005E0 80A331B0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 005E4 80A331B4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 005E8 80A331B8 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 005EC 80A331BC 240E0100 */ addiu $t6, $zero, 0x0100 ## $t6 = 00000100
/* 005F0 80A331C0 AFAE0010 */ sw $t6, 0x0010($sp)
/* 005F4 80A331C4 24840032 */ addiu $a0, $a0, 0x0032 ## $a0 = 00000032
/* 005F8 80A331C8 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 005FC 80A331CC 0C01E1A7 */ jal Math_SmoothStepToS
/* 00600 80A331D0 24070400 */ addiu $a3, $zero, 0x0400 ## $a3 = 00000400
/* 00604 80A331D4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00608 80A331D8 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00
/* 0060C 80A331DC C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
/* 00610 80A331E0 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
/* 00614 80A331E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00618 80A331E8 4606203C */ c.lt.s $f4, $f6
/* 0061C 80A331EC A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6
/* 00620 80A331F0 45020007 */ bc1fl .L80A33210
/* 00624 80A331F4 92020305 */ lbu $v0, 0x0305($s0) ## 00000305
/* 00628 80A331F8 0C28CAF4 */ jal func_80A32BD0
/* 0062C 80A331FC 24050006 */ addiu $a1, $zero, 0x0006 ## $a1 = 00000006
/* 00630 80A33200 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 00634 80A33204 00000000 */ nop
/* 00638 80A33208 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
/* 0063C 80A3320C 92020305 */ lbu $v0, 0x0305($s0) ## 00000305
.L80A33210:
/* 00640 80A33210 18400003 */ blez $v0, .L80A33220
/* 00644 80A33214 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 00648 80A33218 10000029 */ beq $zero, $zero, .L80A332C0
/* 0064C 80A3321C A2180305 */ sb $t8, 0x0305($s0) ## 00000305
.L80A33220:
/* 00650 80A33220 0C01B41D */ jal func_8006D074
/* 00654 80A33224 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00658 80A33228 3C048012 */ lui $a0, %hi(gItemSlots)
/* 0065C 80A3322C 24847464 */ addiu $a0, %lo(gItemSlots)
/* 00660 80A33230 9099000A */ lbu $t9, 0x000A($a0) ## 8012746E
/* 00664 80A33234 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00668 80A33238 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 0066C 80A3323C 00594021 */ addu $t0, $v0, $t9
/* 00670 80A33240 91090074 */ lbu $t1, 0x0074($t0) ## 00000074
/* 00674 80A33244 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
/* 00678 80A33248 240D01A5 */ addiu $t5, $zero, 0x01A5 ## $t5 = 000001A5
/* 0067C 80A3324C 10690005 */ beq $v1, $t1, .L80A33264
/* 00680 80A33250 24080026 */ addiu $t0, $zero, 0x0026 ## $t0 = 00000026
/* 00684 80A33254 908A000B */ lbu $t2, 0x000B($a0) ## 8012746F
/* 00688 80A33258 004A5821 */ addu $t3, $v0, $t2
/* 0068C 80A3325C 916C0074 */ lbu $t4, 0x0074($t3) ## 00000074
/* 00690 80A33260 146C0004 */ bne $v1, $t4, .L80A33274
.L80A33264:
/* 00694 80A33264 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00698 80A33268 00310821 */ addu $at, $at, $s1
/* 0069C 80A3326C 1000000D */ beq $zero, $zero, .L80A332A4
/* 006A0 80A33270 A42D1E1A */ sh $t5, 0x1E1A($at) ## 00011E1A
.L80A33274:
/* 006A4 80A33274 944E0EEC */ lhu $t6, 0x0EEC($v0) ## 8015F54C
/* 006A8 80A33278 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 006AC 80A3327C 00310821 */ addu $at, $at, $s1
/* 006B0 80A33280 31CF0080 */ andi $t7, $t6, 0x0080 ## $t7 = 00000000
/* 006B4 80A33284 11E00006 */ beq $t7, $zero, .L80A332A0
/* 006B8 80A33288 241903B4 */ addiu $t9, $zero, 0x03B4 ## $t9 = 000003B4
/* 006BC 80A3328C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 006C0 80A33290 00310821 */ addu $at, $at, $s1
/* 006C4 80A33294 241805F8 */ addiu $t8, $zero, 0x05F8 ## $t8 = 000005F8
/* 006C8 80A33298 10000002 */ beq $zero, $zero, .L80A332A4
/* 006CC 80A3329C A4381E1A */ sh $t8, 0x1E1A($at) ## 00011E1A
.L80A332A0:
/* 006D0 80A332A0 A4391E1A */ sh $t9, 0x1E1A($at) ## 00011E1A
.L80A332A4:
/* 006D4 80A332A4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 006D8 80A332A8 00310821 */ addu $at, $at, $s1
/* 006DC 80A332AC A0281E5E */ sb $t0, 0x1E5E($at) ## 00011E5E
/* 006E0 80A332B0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 006E4 80A332B4 00310821 */ addu $at, $at, $s1
/* 006E8 80A332B8 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
/* 006EC 80A332BC A0291E15 */ sb $t1, 0x1E15($at) ## 00011E15
.L80A332C0:
/* 006F0 80A332C0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 006F4 80A332C4 8FB0001C */ lw $s0, 0x001C($sp)
/* 006F8 80A332C8 8FB10020 */ lw $s1, 0x0020($sp)
/* 006FC 80A332CC 03E00008 */ jr $ra
/* 00700 80A332D0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000

View File

@ -1,33 +0,0 @@
glabel func_80A332D4
/* 00704 80A332D4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00708 80A332D8 AFB00020 */ sw $s0, 0x0020($sp)
/* 0070C 80A332DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00710 80A332E0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00714 80A332E4 AFA5002C */ sw $a1, 0x002C($sp)
/* 00718 80A332E8 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 0071C 80A332EC 240E0100 */ addiu $t6, $zero, 0x0100 ## $t6 = 00000100
/* 00720 80A332F0 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00724 80A332F4 24840032 */ addiu $a0, $a0, 0x0032 ## $a0 = 00000032
/* 00728 80A332F8 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 0072C 80A332FC 0C01E1A7 */ jal Math_SmoothStepToS
/* 00730 80A33300 24070400 */ addiu $a3, $zero, 0x0400 ## $a3 = 00000400
/* 00734 80A33304 86020032 */ lh $v0, 0x0032($s0) ## 00000032
/* 00738 80A33308 860F008A */ lh $t7, 0x008A($s0) ## 0000008A
/* 0073C 80A3330C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00740 80A33310 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
/* 00744 80A33314 55E20009 */ bnel $t7, $v0, .L80A3333C
/* 00748 80A33318 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0074C 80A3331C 0C28CAF4 */ jal func_80A32BD0
/* 00750 80A33320 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 00754 80A33324 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 00758 80A33328 44812000 */ mtc1 $at, $f4 ## $f4 = 4.00
/* 0075C 80A3332C 24180032 */ addiu $t8, $zero, 0x0032 ## $t8 = 00000032
/* 00760 80A33330 A2180305 */ sb $t8, 0x0305($s0) ## 00000305
/* 00764 80A33334 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 00768 80A33338 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A3333C:
/* 0076C 80A3333C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00770 80A33340 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00774 80A33344 03E00008 */ jr $ra
/* 00778 80A33348 00000000 */ nop

View File

@ -1,66 +0,0 @@
glabel func_80A3334C
/* 0077C 80A3334C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00780 80A33350 AFBF002C */ sw $ra, 0x002C($sp)
/* 00784 80A33354 AFB00028 */ sw $s0, 0x0028($sp)
/* 00788 80A33358 AFA5004C */ sw $a1, 0x004C($sp)
/* 0078C 80A3335C 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
/* 00790 80A33360 949802F4 */ lhu $t8, 0x02F4($a0) ## 000002F4
/* 00794 80A33364 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 00798 80A33368 01C17824 */ and $t7, $t6, $at
/* 0079C 80A3336C 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000
/* 007A0 80A33370 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 007A4 80A33374 1320002E */ beq $t9, $zero, .L80A33430
/* 007A8 80A33378 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
/* 007AC 80A3337C 8FA8004C */ lw $t0, 0x004C($sp)
/* 007B0 80A33380 8D01009C */ lw $at, 0x009C($t0) ## 0000009C
/* 007B4 80A33384 00011080 */ sll $v0, $at, 2
/* 007B8 80A33388 00411021 */ addu $v0, $v0, $at
/* 007BC 80A3338C 000212C0 */ sll $v0, $v0, 11
/* 007C0 80A33390 00022400 */ sll $a0, $v0, 16
/* 007C4 80A33394 00042403 */ sra $a0, $a0, 16
/* 007C8 80A33398 0C01DE0D */ jal Math_CosS
## coss?
/* 007CC 80A3339C AFA40034 */ sw $a0, 0x0034($sp)
/* 007D0 80A333A0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 007D4 80A333A4 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
/* 007D8 80A333A8 C6080038 */ lwc1 $f8, 0x0038($s0) ## 00000038
/* 007DC 80A333AC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 007E0 80A333B0 46040182 */ mul.s $f6, $f0, $f4
/* 007E4 80A333B4 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
/* 007E8 80A333B8 8FA40034 */ lw $a0, 0x0034($sp)
/* 007EC 80A333BC 46083280 */ add.s $f10, $f6, $f8
/* 007F0 80A333C0 E7AA0038 */ swc1 $f10, 0x0038($sp)
/* 007F4 80A333C4 C610003C */ lwc1 $f16, 0x003C($s0) ## 0000003C
/* 007F8 80A333C8 46128100 */ add.s $f4, $f16, $f18
/* 007FC 80A333CC 0C01DE1C */ jal Math_SinS
## sins?
/* 00800 80A333D0 E7A4003C */ swc1 $f4, 0x003C($sp)
/* 00804 80A333D4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00808 80A333D8 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
/* 0080C 80A333DC C60A0040 */ lwc1 $f10, 0x0040($s0) ## 00000040
/* 00810 80A333E0 3C0980A3 */ lui $t1, %hi(D_80A343A8) ## $t1 = 80A30000
/* 00814 80A333E4 46060202 */ mul.s $f8, $f0, $f6
/* 00818 80A333E8 3C0A80A3 */ lui $t2, %hi(D_80A343AC) ## $t2 = 80A30000
/* 0081C 80A333EC 254A43AC */ addiu $t2, $t2, %lo(D_80A343AC) ## $t2 = 80A343AC
/* 00820 80A333F0 252943A8 */ addiu $t1, $t1, %lo(D_80A343A8) ## $t1 = 80A343A8
/* 00824 80A333F4 3C0680A3 */ lui $a2, %hi(D_80A34390) ## $a2 = 80A30000
/* 00828 80A333F8 3C0780A3 */ lui $a3, %hi(D_80A3439C) ## $a3 = 80A30000
/* 0082C 80A333FC 240B03E8 */ addiu $t3, $zero, 0x03E8 ## $t3 = 000003E8
/* 00830 80A33400 460A4400 */ add.s $f16, $f8, $f10
/* 00834 80A33404 240C0010 */ addiu $t4, $zero, 0x0010 ## $t4 = 00000010
/* 00838 80A33408 AFAC001C */ sw $t4, 0x001C($sp)
/* 0083C 80A3340C AFAB0018 */ sw $t3, 0x0018($sp)
/* 00840 80A33410 E7B00040 */ swc1 $f16, 0x0040($sp)
/* 00844 80A33414 24E7439C */ addiu $a3, $a3, %lo(D_80A3439C) ## $a3 = 80A3439C
/* 00848 80A33418 24C64390 */ addiu $a2, $a2, %lo(D_80A34390) ## $a2 = 80A34390
/* 0084C 80A3341C AFA90010 */ sw $t1, 0x0010($sp)
/* 00850 80A33420 AFAA0014 */ sw $t2, 0x0014($sp)
/* 00854 80A33424 8FA4004C */ lw $a0, 0x004C($sp)
/* 00858 80A33428 0C00A2EC */ jal EffectSsKiraKira_SpawnDispersed
/* 0085C 80A3342C 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF0
.L80A33430:
/* 00860 80A33430 8FBF002C */ lw $ra, 0x002C($sp)
/* 00864 80A33434 8FB00028 */ lw $s0, 0x0028($sp)
/* 00868 80A33438 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 0086C 80A3343C 03E00008 */ jr $ra
/* 00870 80A33440 00000000 */ nop

View File

@ -1,77 +0,0 @@
glabel func_80A33444
/* 00874 80A33444 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00878 80A33448 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0087C 80A3344C AFB00020 */ sw $s0, 0x0020($sp)
/* 00880 80A33450 948202F4 */ lhu $v0, 0x02F4($a0) ## 000002F4
/* 00884 80A33454 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00888 80A33458 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0088C 80A3345C 304E0010 */ andi $t6, $v0, 0x0010 ## $t6 = 00000000
/* 00890 80A33460 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 00894 80A33464 11C00004 */ beq $t6, $zero, .L80A33478
/* 00898 80A33468 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 0089C 80A3346C 304FFFEF */ andi $t7, $v0, 0xFFEF ## $t7 = 00000000
/* 008A0 80A33470 10000018 */ beq $zero, $zero, .L80A334D4
/* 008A4 80A33474 A48F02F4 */ sh $t7, 0x02F4($a0) ## 000002F4
.L80A33478:
/* 008A8 80A33478 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 008AC 80A3347C 0C28CBB3 */ jal func_80A32ECC
/* 008B0 80A33480 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 008B4 80A33484 10400009 */ beq $v0, $zero, .L80A334AC
/* 008B8 80A33488 24180064 */ addiu $t8, $zero, 0x0064 ## $t8 = 00000064
/* 008BC 80A3348C 92080306 */ lbu $t0, 0x0306($s0) ## 00000306
/* 008C0 80A33490 8619008A */ lh $t9, 0x008A($s0) ## 0000008A
/* 008C4 80A33494 A2180305 */ sb $t8, 0x0305($s0) ## 00000305
/* 008C8 80A33498 0102082A */ slt $at, $t0, $v0
/* 008CC 80A3349C 1020000D */ beq $at, $zero, .L80A334D4
/* 008D0 80A334A0 A61902F8 */ sh $t9, 0x02F8($s0) ## 000002F8
/* 008D4 80A334A4 1000000B */ beq $zero, $zero, .L80A334D4
/* 008D8 80A334A8 A2020306 */ sb $v0, 0x0306($s0) ## 00000306
.L80A334AC:
/* 008DC 80A334AC 860902F8 */ lh $t1, 0x02F8($s0) ## 000002F8
/* 008E0 80A334B0 860A0032 */ lh $t2, 0x0032($s0) ## 00000032
/* 008E4 80A334B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008E8 80A334B8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 008EC 80A334BC 552A0006 */ bnel $t1, $t2, .L80A334D8
/* 008F0 80A334C0 92020306 */ lbu $v0, 0x0306($s0) ## 00000306
/* 008F4 80A334C4 0C28CAF4 */ jal func_80A32BD0
/* 008F8 80A334C8 A2000306 */ sb $zero, 0x0306($s0) ## 00000306
/* 008FC 80A334CC 1000001B */ beq $zero, $zero, .L80A3353C
/* 00900 80A334D0 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A334D4:
/* 00904 80A334D4 92020306 */ lbu $v0, 0x0306($s0) ## 00000306
.L80A334D8:
/* 00908 80A334D8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0090C 80A334DC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00910 80A334E0 10410006 */ beq $v0, $at, .L80A334FC
/* 00914 80A334E4 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00918 80A334E8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0091C 80A334EC 1041000A */ beq $v0, $at, .L80A33518
/* 00920 80A334F0 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00924 80A334F4 1000000F */ beq $zero, $zero, .L80A33534
/* 00928 80A334F8 86030032 */ lh $v1, 0x0032($s0) ## 00000032
.L80A334FC:
/* 0092C 80A334FC 860502F8 */ lh $a1, 0x02F8($s0) ## 000002F8
/* 00930 80A33500 240B0100 */ addiu $t3, $zero, 0x0100 ## $t3 = 00000100
/* 00934 80A33504 AFAB0010 */ sw $t3, 0x0010($sp)
/* 00938 80A33508 0C01E1A7 */ jal Math_SmoothStepToS
/* 0093C 80A3350C 24070200 */ addiu $a3, $zero, 0x0200 ## $a3 = 00000200
/* 00940 80A33510 10000008 */ beq $zero, $zero, .L80A33534
/* 00944 80A33514 86030032 */ lh $v1, 0x0032($s0) ## 00000032
.L80A33518:
/* 00948 80A33518 860502F8 */ lh $a1, 0x02F8($s0) ## 000002F8
/* 0094C 80A3351C 240C0180 */ addiu $t4, $zero, 0x0180 ## $t4 = 00000180
/* 00950 80A33520 AFAC0010 */ sw $t4, 0x0010($sp)
/* 00954 80A33524 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00958 80A33528 0C01E1A7 */ jal Math_SmoothStepToS
/* 0095C 80A3352C 24070600 */ addiu $a3, $zero, 0x0600 ## $a3 = 00000600
/* 00960 80A33530 86030032 */ lh $v1, 0x0032($s0) ## 00000032
.L80A33534:
/* 00964 80A33534 A60300B6 */ sh $v1, 0x00B6($s0) ## 000000B6
/* 00968 80A33538 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A3353C:
/* 0096C 80A3353C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00970 80A33540 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00974 80A33544 03E00008 */ jr $ra
/* 00978 80A33548 00000000 */ nop

View File

@ -1,50 +0,0 @@
glabel func_80A3354C
/* 0097C 80A3354C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00980 80A33550 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00984 80A33554 AFB00020 */ sw $s0, 0x0020($sp)
/* 00988 80A33558 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0098C 80A3355C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00990 80A33560 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 00994 80A33564 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00998 80A33568 0C28CBB3 */ jal func_80A32ECC
/* 0099C 80A3356C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 009A0 80A33570 1040000B */ beq $v0, $zero, .L80A335A0
/* 009A4 80A33574 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009A8 80A33578 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 009AC 80A3357C 0C28CAF4 */ jal func_80A32BD0
/* 009B0 80A33580 AFA2002C */ sw $v0, 0x002C($sp)
/* 009B4 80A33584 8FA3002C */ lw $v1, 0x002C($sp)
/* 009B8 80A33588 860F008A */ lh $t7, 0x008A($s0) ## 0000008A
/* 009BC 80A3358C 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 009C0 80A33590 A20E0305 */ sb $t6, 0x0305($s0) ## 00000305
/* 009C4 80A33594 A2030306 */ sb $v1, 0x0306($s0) ## 00000306
/* 009C8 80A33598 1000000D */ beq $zero, $zero, .L80A335D0
/* 009CC 80A3359C A60F02F8 */ sh $t7, 0x02F8($s0) ## 000002F8
.L80A335A0:
/* 009D0 80A335A0 961802F4 */ lhu $t8, 0x02F4($s0) ## 000002F4
/* 009D4 80A335A4 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 009D8 80A335A8 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 009DC 80A335AC 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000
/* 009E0 80A335B0 13200007 */ beq $t9, $zero, .L80A335D0
/* 009E4 80A335B4 24070400 */ addiu $a3, $zero, 0x0400 ## $a3 = 00000400
/* 009E8 80A335B8 860502F6 */ lh $a1, 0x02F6($s0) ## 000002F6
/* 009EC 80A335BC 24080200 */ addiu $t0, $zero, 0x0200 ## $t0 = 00000200
/* 009F0 80A335C0 0C01E1A7 */ jal Math_SmoothStepToS
/* 009F4 80A335C4 AFA80010 */ sw $t0, 0x0010($sp)
/* 009F8 80A335C8 86090032 */ lh $t1, 0x0032($s0) ## 00000032
/* 009FC 80A335CC A60900B6 */ sh $t1, 0x00B6($s0) ## 000000B6
.L80A335D0:
/* 00A00 80A335D0 860A02F6 */ lh $t2, 0x02F6($s0) ## 000002F6
/* 00A04 80A335D4 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
/* 00A08 80A335D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A0C 80A335DC 554B0004 */ bnel $t2, $t3, .L80A335F0
/* 00A10 80A335E0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00A14 80A335E4 0C28CAF4 */ jal func_80A32BD0
/* 00A18 80A335E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00A1C 80A335EC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A335F0:
/* 00A20 80A335F0 8FB00020 */ lw $s0, 0x0020($sp)
/* 00A24 80A335F4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00A28 80A335F8 03E00008 */ jr $ra
/* 00A2C 80A335FC 00000000 */ nop

View File

@ -1,53 +0,0 @@
glabel func_80A33600
/* 00A30 80A33600 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00A34 80A33604 AFB00018 */ sw $s0, 0x0018($sp)
/* 00A38 80A33608 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A3C 80A3360C AFBF001C */ sw $ra, 0x001C($sp)
/* 00A40 80A33610 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00A44 80A33614 0C28CBB3 */ jal func_80A32ECC
/* 00A48 80A33618 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00A4C 80A3361C 304E00FF */ andi $t6, $v0, 0x00FF ## $t6 = 00000000
/* 00A50 80A33620 11C0000E */ beq $t6, $zero, .L80A3365C
/* 00A54 80A33624 304300FF */ andi $v1, $v0, 0x00FF ## $v1 = 00000000
/* 00A58 80A33628 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00A5C 80A3362C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A60 80A33630 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 00A64 80A33634 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 00A68 80A33638 0C28CAF4 */ jal func_80A32BD0
/* 00A6C 80A3363C A3A30027 */ sb $v1, 0x0027($sp)
/* 00A70 80A33640 93A30027 */ lbu $v1, 0x0027($sp)
/* 00A74 80A33644 8618008A */ lh $t8, 0x008A($s0) ## 0000008A
/* 00A78 80A33648 240F0064 */ addiu $t7, $zero, 0x0064 ## $t7 = 00000064
/* 00A7C 80A3364C A20F0305 */ sb $t7, 0x0305($s0) ## 00000305
/* 00A80 80A33650 A2030306 */ sb $v1, 0x0306($s0) ## 00000306
/* 00A84 80A33654 10000016 */ beq $zero, $zero, .L80A336B0
/* 00A88 80A33658 A61802F8 */ sh $t8, 0x02F8($s0) ## 000002F8
.L80A3365C:
/* 00A8C 80A3365C 96020302 */ lhu $v0, 0x0302($s0) ## 00000302
/* 00A90 80A33660 96190300 */ lhu $t9, 0x0300($s0) ## 00000300
/* 00A94 80A33664 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A98 80A33668 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00A9C 80A3366C 0059082A */ slt $at, $v0, $t9
/* 00AA0 80A33670 5420000B */ bnel $at, $zero, .L80A336A0
/* 00AA4 80A33674 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00AA8 80A33678 860802F6 */ lh $t0, 0x02F6($s0) ## 000002F6
/* 00AAC 80A3367C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00AB0 80A33680 A6000302 */ sh $zero, 0x0302($s0) ## 00000302
/* 00AB4 80A33684 01014821 */ addu $t1, $t0, $at
/* 00AB8 80A33688 0C28CAF4 */ jal func_80A32BD0
/* 00ABC 80A3368C A60902F6 */ sh $t1, 0x02F6($s0) ## 000002F6
/* 00AC0 80A33690 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00AC4 80A33694 10000006 */ beq $zero, $zero, .L80A336B0
/* 00AC8 80A33698 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 00ACC 80A3369C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
.L80A336A0:
/* 00AD0 80A336A0 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
/* 00AD4 80A336A4 244A0001 */ addiu $t2, $v0, 0x0001 ## $t2 = 00000001
/* 00AD8 80A336A8 A60A0302 */ sh $t2, 0x0302($s0) ## 00000302
/* 00ADC 80A336AC E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
.L80A336B0:
/* 00AE0 80A336B0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00AE4 80A336B4 8FB00018 */ lw $s0, 0x0018($sp)
/* 00AE8 80A336B8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00AEC 80A336BC 03E00008 */ jr $ra
/* 00AF0 80A336C0 00000000 */ nop

View File

@ -1,18 +0,0 @@
glabel func_80A336C4
/* 00AF4 80A336C4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00AF8 80A336C8 AFBF001C */ sw $ra, 0x001C($sp)
/* 00AFC 80A336CC AFA40020 */ sw $a0, 0x0020($sp)
/* 00B00 80A336D0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00B04 80A336D4 00807025 */ or $t6, $a0, $zero ## $t6 = 00000000
/* 00B08 80A336D8 85C502F6 */ lh $a1, 0x02F6($t6) ## 000002F6
/* 00B0C 80A336DC 240F0200 */ addiu $t7, $zero, 0x0200 ## $t7 = 00000200
/* 00B10 80A336E0 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00B14 80A336E4 24840032 */ addiu $a0, $a0, 0x0032 ## $a0 = 00000032
/* 00B18 80A336E8 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00B1C 80A336EC 0C01E1A7 */ jal Math_SmoothStepToS
/* 00B20 80A336F0 24070400 */ addiu $a3, $zero, 0x0400 ## $a3 = 00000400
/* 00B24 80A336F4 8FBF001C */ lw $ra, 0x001C($sp)
/* 00B28 80A336F8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00B2C 80A336FC 03E00008 */ jr $ra
/* 00B30 80A33700 00000000 */ nop

View File

@ -1,80 +0,0 @@
glabel func_80A33704
/* 00B34 80A33704 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00B38 80A33708 AFBF002C */ sw $ra, 0x002C($sp)
/* 00B3C 80A3370C AFB00028 */ sw $s0, 0x0028($sp)
/* 00B40 80A33710 AFA50044 */ sw $a1, 0x0044($sp)
/* 00B44 80A33714 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 00B48 80A33718 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B4C 80A3371C 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00B50 80A33720 AFAE0030 */ sw $t6, 0x0030($sp)
/* 00B54 80A33724 849800B6 */ lh $t8, 0x00B6($a0) ## 000000B6
/* 00B58 80A33728 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00B5C 80A3372C 87A50032 */ lh $a1, 0x0032($sp)
/* 00B60 80A33730 01D81023 */ subu $v0, $t6, $t8
/* 00B64 80A33734 00021400 */ sll $v0, $v0, 16
/* 00B68 80A33738 00021403 */ sra $v0, $v0, 16
/* 00B6C 80A3373C 04400003 */ bltz $v0, .L80A3374C
/* 00B70 80A33740 00021823 */ subu $v1, $zero, $v0
/* 00B74 80A33744 10000001 */ beq $zero, $zero, .L80A3374C
/* 00B78 80A33748 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A3374C:
/* 00B7C 80A3374C 28614001 */ slti $at, $v1, 0x4001
/* 00B80 80A33750 10200013 */ beq $at, $zero, .L80A337A0
/* 00B84 80A33754 24070FA0 */ addiu $a3, $zero, 0x0FA0 ## $a3 = 00000FA0
/* 00B88 80A33758 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
/* 00B8C 80A3375C 0C01E1A7 */ jal Math_SmoothStepToS
/* 00B90 80A33760 AFB90010 */ sw $t9, 0x0010($sp)
/* 00B94 80A33764 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 00B98 80A33768 8E0A0038 */ lw $t2, 0x0038($s0) ## 00000038
/* 00B9C 80A3376C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00BA0 80A33770 A6080032 */ sh $t0, 0x0032($s0) ## 00000032
/* 00BA4 80A33774 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00BA8 80A33778 8E09003C */ lw $t1, 0x003C($s0) ## 0000003C
/* 00BAC 80A3377C 8FA40044 */ lw $a0, 0x0044($sp)
/* 00BB0 80A33780 260602E8 */ addiu $a2, $s0, 0x02E8 ## $a2 = 000002E8
/* 00BB4 80A33784 AFA90014 */ sw $t1, 0x0014($sp)
/* 00BB8 80A33788 8E0A0040 */ lw $t2, 0x0040($s0) ## 00000040
/* 00BBC 80A3378C 260702EE */ addiu $a3, $s0, 0x02EE ## $a3 = 000002EE
/* 00BC0 80A33790 0C00E0A4 */ jal func_80038290
/* 00BC4 80A33794 AFAA0018 */ sw $t2, 0x0018($sp)
/* 00BC8 80A33798 1000001C */ beq $zero, $zero, .L80A3380C
/* 00BCC 80A3379C 8FBF002C */ lw $ra, 0x002C($sp)
.L80A337A0:
/* 00BD0 80A337A0 0441000A */ bgez $v0, .L80A337CC
/* 00BD4 80A337A4 260402EA */ addiu $a0, $s0, 0x02EA ## $a0 = 000002EA
/* 00BD8 80A337A8 240B0100 */ addiu $t3, $zero, 0x0100 ## $t3 = 00000100
/* 00BDC 80A337AC AFAB0010 */ sw $t3, 0x0010($sp)
/* 00BE0 80A337B0 260402EA */ addiu $a0, $s0, 0x02EA ## $a0 = 000002EA
/* 00BE4 80A337B4 2405E000 */ addiu $a1, $zero, 0xE000 ## $a1 = FFFFE000
/* 00BE8 80A337B8 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00BEC 80A337BC 0C01E1A7 */ jal Math_SmoothStepToS
/* 00BF0 80A337C0 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00BF4 80A337C4 10000008 */ beq $zero, $zero, .L80A337E8
/* 00BF8 80A337C8 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
.L80A337CC:
/* 00BFC 80A337CC 240C0100 */ addiu $t4, $zero, 0x0100 ## $t4 = 00000100
/* 00C00 80A337D0 AFAC0010 */ sw $t4, 0x0010($sp)
/* 00C04 80A337D4 24052000 */ addiu $a1, $zero, 0x2000 ## $a1 = 00002000
/* 00C08 80A337D8 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00C0C 80A337DC 0C01E1A7 */ jal Math_SmoothStepToS
/* 00C10 80A337E0 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00C14 80A337E4 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
.L80A337E8:
/* 00C18 80A337E8 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
/* 00C1C 80A337EC AFAD0010 */ sw $t5, 0x0010($sp)
/* 00C20 80A337F0 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00C24 80A337F4 2406000C */ addiu $a2, $zero, 0x000C ## $a2 = 0000000C
/* 00C28 80A337F8 0C01E1A7 */ jal Math_SmoothStepToS
/* 00C2C 80A337FC 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 00C30 80A33800 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 00C34 80A33804 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
/* 00C38 80A33808 8FBF002C */ lw $ra, 0x002C($sp)
.L80A3380C:
/* 00C3C 80A3380C 8FB00028 */ lw $s0, 0x0028($sp)
/* 00C40 80A33810 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 00C44 80A33814 03E00008 */ jr $ra
/* 00C48 80A33818 00000000 */ nop

View File

@ -1,78 +0,0 @@
glabel func_80A3381C
/* 00C4C 80A3381C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00C50 80A33820 AFBF002C */ sw $ra, 0x002C($sp)
/* 00C54 80A33824 AFB00028 */ sw $s0, 0x0028($sp)
/* 00C58 80A33828 AFA50034 */ sw $a1, 0x0034($sp)
/* 00C5C 80A3382C 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 00C60 80A33830 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 00C64 80A33834 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C68 80A33838 260402E8 */ addiu $a0, $s0, 0x02E8 ## $a0 = 000002E8
/* 00C6C 80A3383C 01CF1023 */ subu $v0, $t6, $t7
/* 00C70 80A33840 00021400 */ sll $v0, $v0, 16
/* 00C74 80A33844 00021403 */ sra $v0, $v0, 16
/* 00C78 80A33848 04400003 */ bltz $v0, .L80A33858
/* 00C7C 80A3384C 00021823 */ subu $v1, $zero, $v0
/* 00C80 80A33850 10000001 */ beq $zero, $zero, .L80A33858
/* 00C84 80A33854 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A33858:
/* 00C88 80A33858 28614301 */ slti $at, $v1, 0x4301
/* 00C8C 80A3385C 10200015 */ beq $at, $zero, .L80A338B4
/* 00C90 80A33860 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00C94 80A33864 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00C98 80A33868 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 00C9C 80A3386C C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
/* 00CA0 80A33870 4606203C */ c.lt.s $f4, $f6
/* 00CA4 80A33874 00000000 */ nop
/* 00CA8 80A33878 4502000F */ bc1fl .L80A338B8
/* 00CAC 80A3387C 24080064 */ addiu $t0, $zero, 0x0064 ## $t0 = 00000064
/* 00CB0 80A33880 8E190038 */ lw $t9, 0x0038($s0) ## 00000038
/* 00CB4 80A33884 8FA40034 */ lw $a0, 0x0034($sp)
/* 00CB8 80A33888 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00CBC 80A3388C AFB90010 */ sw $t9, 0x0010($sp)
/* 00CC0 80A33890 8E18003C */ lw $t8, 0x003C($s0) ## 0000003C
/* 00CC4 80A33894 260602E8 */ addiu $a2, $s0, 0x02E8 ## $a2 = 000002E8
/* 00CC8 80A33898 260702EE */ addiu $a3, $s0, 0x02EE ## $a3 = 000002EE
/* 00CCC 80A3389C AFB80014 */ sw $t8, 0x0014($sp)
/* 00CD0 80A338A0 8E190040 */ lw $t9, 0x0040($s0) ## 00000040
/* 00CD4 80A338A4 0C00E0A4 */ jal func_80038290
/* 00CD8 80A338A8 AFB90018 */ sw $t9, 0x0018($sp)
/* 00CDC 80A338AC 1000001C */ beq $zero, $zero, .L80A33920
/* 00CE0 80A338B0 8FBF002C */ lw $ra, 0x002C($sp)
.L80A338B4:
/* 00CE4 80A338B4 24080064 */ addiu $t0, $zero, 0x0064 ## $t0 = 00000064
.L80A338B8:
/* 00CE8 80A338B8 AFA80010 */ sw $t0, 0x0010($sp)
/* 00CEC 80A338BC 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00CF0 80A338C0 0C01E1A7 */ jal Math_SmoothStepToS
/* 00CF4 80A338C4 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00CF8 80A338C8 24090064 */ addiu $t1, $zero, 0x0064 ## $t1 = 00000064
/* 00CFC 80A338CC AFA90010 */ sw $t1, 0x0010($sp)
/* 00D00 80A338D0 260402EA */ addiu $a0, $s0, 0x02EA ## $a0 = 000002EA
/* 00D04 80A338D4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00D08 80A338D8 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00D0C 80A338DC 0C01E1A7 */ jal Math_SmoothStepToS
/* 00D10 80A338E0 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00D14 80A338E4 240A0064 */ addiu $t2, $zero, 0x0064 ## $t2 = 00000064
/* 00D18 80A338E8 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00D1C 80A338EC 260402EE */ addiu $a0, $s0, 0x02EE ## $a0 = 000002EE
/* 00D20 80A338F0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00D24 80A338F4 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00D28 80A338F8 0C01E1A7 */ jal Math_SmoothStepToS
/* 00D2C 80A338FC 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00D30 80A33900 240B0064 */ addiu $t3, $zero, 0x0064 ## $t3 = 00000064
/* 00D34 80A33904 AFAB0010 */ sw $t3, 0x0010($sp)
/* 00D38 80A33908 260402F0 */ addiu $a0, $s0, 0x02F0 ## $a0 = 000002F0
/* 00D3C 80A3390C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00D40 80A33910 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00D44 80A33914 0C01E1A7 */ jal Math_SmoothStepToS
/* 00D48 80A33918 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00D4C 80A3391C 8FBF002C */ lw $ra, 0x002C($sp)
.L80A33920:
/* 00D50 80A33920 8FB00028 */ lw $s0, 0x0028($sp)
/* 00D54 80A33924 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00D58 80A33928 03E00008 */ jr $ra
/* 00D5C 80A3392C 00000000 */ nop

View File

@ -1,53 +0,0 @@
glabel func_80A33930
/* 00D60 80A33930 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00D64 80A33934 AFBF001C */ sw $ra, 0x001C($sp)
/* 00D68 80A33938 AFB00018 */ sw $s0, 0x0018($sp)
/* 00D6C 80A3393C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D70 80A33940 0C00BCCD */ jal func_8002F334
/* 00D74 80A33944 AFA50024 */ sw $a1, 0x0024($sp)
/* 00D78 80A33948 50400021 */ beql $v0, $zero, .L80A339D0
/* 00D7C 80A3394C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D80 80A33950 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00D84 80A33954 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00D88 80A33958 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D8C 80A3395C 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 00000000
/* 00D90 80A33960 10400008 */ beq $v0, $zero, .L80A33984
/* 00D94 80A33964 00000000 */ nop
/* 00D98 80A33968 1041000A */ beq $v0, $at, .L80A33994
/* 00D9C 80A3396C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DA0 80A33970 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00DA4 80A33974 1041000B */ beq $v0, $at, .L80A339A4
/* 00DA8 80A33978 3C0E80A3 */ lui $t6, %hi(func_80A339EC) ## $t6 = 80A30000
/* 00DAC 80A3397C 1000000C */ beq $zero, $zero, .L80A339B0
/* 00DB0 80A33980 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
.L80A33984:
/* 00DB4 80A33984 0C28CAF4 */ jal func_80A32BD0
/* 00DB8 80A33988 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00DBC 80A3398C 10000008 */ beq $zero, $zero, .L80A339B0
/* 00DC0 80A33990 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
.L80A33994:
/* 00DC4 80A33994 0C28CAF4 */ jal func_80A32BD0
/* 00DC8 80A33998 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007
/* 00DCC 80A3399C 10000004 */ beq $zero, $zero, .L80A339B0
/* 00DD0 80A339A0 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
.L80A339A4:
/* 00DD4 80A339A4 25CE39EC */ addiu $t6, $t6, %lo(func_80A339EC) ## $t6 = 000039EC
/* 00DD8 80A339A8 AE0E0308 */ sw $t6, 0x0308($s0) ## 00000308
/* 00DDC 80A339AC 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
.L80A339B0:
/* 00DE0 80A339B0 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
/* 00DE4 80A339B4 3C0F80A3 */ lui $t7, %hi(func_80A33D10) ## $t7 = 80A30000
/* 00DE8 80A339B8 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
/* 00DEC 80A339BC 25EF3D10 */ addiu $t7, $t7, %lo(func_80A33D10) ## $t7 = 80A33D10
/* 00DF0 80A339C0 0301C824 */ and $t9, $t8, $at
/* 00DF4 80A339C4 AE0F0130 */ sw $t7, 0x0130($s0) ## 00000130
/* 00DF8 80A339C8 AE190004 */ sw $t9, 0x0004($s0) ## 00000004
/* 00DFC 80A339CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A339D0:
/* 00E00 80A339D0 0C28CDC1 */ jal func_80A33704
/* 00E04 80A339D4 8FA50024 */ lw $a1, 0x0024($sp)
/* 00E08 80A339D8 8FBF001C */ lw $ra, 0x001C($sp)
/* 00E0C 80A339DC 8FB00018 */ lw $s0, 0x0018($sp)
/* 00E10 80A339E0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00E14 80A339E4 03E00008 */ jr $ra
/* 00E18 80A339E8 00000000 */ nop

View File

@ -1,9 +0,0 @@
glabel func_80A339EC
/* 00E1C 80A339EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00E20 80A339F0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00E24 80A339F4 0C28CE07 */ jal func_80A3381C
/* 00E28 80A339F8 00000000 */ nop
/* 00E2C 80A339FC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00E30 80A33A00 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00E34 80A33A04 03E00008 */ jr $ra
/* 00E38 80A33A08 00000000 */ nop

View File

@ -1,27 +0,0 @@
glabel func_80A33A0C
/* 00E3C 80A33A0C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00E40 80A33A10 AFBF001C */ sw $ra, 0x001C($sp)
/* 00E44 80A33A14 AFA50024 */ sw $a1, 0x0024($sp)
/* 00E48 80A33A18 0C00BD04 */ jal Actor_HasParent
/* 00E4C 80A33A1C AFA40020 */ sw $a0, 0x0020($sp)
/* 00E50 80A33A20 10400006 */ beq $v0, $zero, .L80A33A3C
/* 00E54 80A33A24 8FA40020 */ lw $a0, 0x0020($sp)
/* 00E58 80A33A28 3C0E80A3 */ lui $t6, %hi(func_80A33930) ## $t6 = 80A30000
/* 00E5C 80A33A2C 25CE3930 */ addiu $t6, $t6, %lo(func_80A33930) ## $t6 = 80A33930
/* 00E60 80A33A30 AC800118 */ sw $zero, 0x0118($a0) ## 00000118
/* 00E64 80A33A34 10000009 */ beq $zero, $zero, .L80A33A5C
/* 00E68 80A33A38 AC8E0308 */ sw $t6, 0x0308($a0) ## 00000308
.L80A33A3C:
/* 00E6C 80A33A3C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00E70 80A33A40 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 00E74 80A33A44 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000
/* 00E78 80A33A48 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000
/* 00E7C 80A33A4C 8FA50024 */ lw $a1, 0x0024($sp)
/* 00E80 80A33A50 2406003A */ addiu $a2, $zero, 0x003A ## $a2 = 0000003A
/* 00E84 80A33A54 0C00BD0D */ jal func_8002F434
/* 00E88 80A33A58 E7A40010 */ swc1 $f4, 0x0010($sp)
.L80A33A5C:
/* 00E8C 80A33A5C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00E90 80A33A60 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00E94 80A33A64 03E00008 */ jr $ra
/* 00E98 80A33A68 00000000 */ nop

View File

@ -1,38 +0,0 @@
glabel func_80A33A6C
/* 00E9C 80A33A6C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00EA0 80A33A70 AFBF001C */ sw $ra, 0x001C($sp)
/* 00EA4 80A33A74 AFA40020 */ sw $a0, 0x0020($sp)
/* 00EA8 80A33A78 AFA50024 */ sw $a1, 0x0024($sp)
/* 00EAC 80A33A7C 0C042F6F */ jal func_8010BDBC
/* 00EB0 80A33A80 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00EB4 80A33A84 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00EB8 80A33A88 54410019 */ bnel $v0, $at, .L80A33AF0
/* 00EBC 80A33A8C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00EC0 80A33A90 0C041AF2 */ jal func_80106BC8
/* 00EC4 80A33A94 8FA40024 */ lw $a0, 0x0024($sp)
/* 00EC8 80A33A98 50400015 */ beql $v0, $zero, .L80A33AF0
/* 00ECC 80A33A9C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00ED0 80A33AA0 0C041B33 */ jal func_80106CCC
/* 00ED4 80A33AA4 8FA40024 */ lw $a0, 0x0024($sp)
/* 00ED8 80A33AA8 8FA40020 */ lw $a0, 0x0020($sp)
/* 00EDC 80A33AAC 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
/* 00EE0 80A33AB0 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
/* 00EE4 80A33AB4 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
/* 00EE8 80A33AB8 3C1880A3 */ lui $t8, %hi(func_80A33A0C) ## $t8 = 80A30000
/* 00EEC 80A33ABC 27183A0C */ addiu $t8, $t8, %lo(func_80A33A0C) ## $t8 = 80A33A0C
/* 00EF0 80A33AC0 01C17824 */ and $t7, $t6, $at
/* 00EF4 80A33AC4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00EF8 80A33AC8 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 00EFC 80A33ACC 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000
/* 00F00 80A33AD0 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
/* 00F04 80A33AD4 AC980308 */ sw $t8, 0x0308($a0) ## 00000308
/* 00F08 80A33AD8 8FA50024 */ lw $a1, 0x0024($sp)
/* 00F0C 80A33ADC 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000
/* 00F10 80A33AE0 2406003A */ addiu $a2, $zero, 0x003A ## $a2 = 0000003A
/* 00F14 80A33AE4 0C00BD0D */ jal func_8002F434
/* 00F18 80A33AE8 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00F1C 80A33AEC 8FBF001C */ lw $ra, 0x001C($sp)
.L80A33AF0:
/* 00F20 80A33AF0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00F24 80A33AF4 03E00008 */ jr $ra
/* 00F28 80A33AF8 00000000 */ nop

View File

@ -1,35 +0,0 @@
glabel func_80A33AFC
/* 00F2C 80A33AFC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00F30 80A33B00 AFBF001C */ sw $ra, 0x001C($sp)
/* 00F34 80A33B04 AFA50024 */ sw $a1, 0x0024($sp)
/* 00F38 80A33B08 0C00BC65 */ jal func_8002F194
/* 00F3C 80A33B0C AFA40020 */ sw $a0, 0x0020($sp)
/* 00F40 80A33B10 10400005 */ beq $v0, $zero, .L80A33B28
/* 00F44 80A33B14 8FA40020 */ lw $a0, 0x0020($sp)
/* 00F48 80A33B18 3C0E80A3 */ lui $t6, %hi(func_80A33A6C) ## $t6 = 80A30000
/* 00F4C 80A33B1C 25CE3A6C */ addiu $t6, $t6, %lo(func_80A33A6C) ## $t6 = 80A33A6C
/* 00F50 80A33B20 10000010 */ beq $zero, $zero, .L80A33B64
/* 00F54 80A33B24 AC8E0308 */ sw $t6, 0x0308($a0) ## 00000308
.L80A33B28:
/* 00F58 80A33B28 3C014396 */ lui $at, 0x4396 ## $at = 43960000
/* 00F5C 80A33B2C 44810000 */ mtc1 $at, $f0 ## $f0 = 300.00
/* 00F60 80A33B30 8C980004 */ lw $t8, 0x0004($a0) ## 00000004
/* 00F64 80A33B34 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00F68 80A33B38 240F6004 */ addiu $t7, $zero, 0x6004 ## $t7 = 00006004
/* 00F6C 80A33B3C 0301C825 */ or $t9, $t8, $at ## $t9 = 00010000
/* 00F70 80A33B40 A48F010E */ sh $t7, 0x010E($a0) ## 0000010E
/* 00F74 80A33B44 AC990004 */ sw $t9, 0x0004($a0) ## 00000004
/* 00F78 80A33B48 44060000 */ mfc1 $a2, $f0
/* 00F7C 80A33B4C 44070000 */ mfc1 $a3, $f0
/* 00F80 80A33B50 AFA40020 */ sw $a0, 0x0020($sp)
/* 00F84 80A33B54 AFA00010 */ sw $zero, 0x0010($sp)
/* 00F88 80A33B58 0C00BC71 */ jal func_8002F1C4
/* 00F8C 80A33B5C 8FA50024 */ lw $a1, 0x0024($sp)
/* 00F90 80A33B60 8FA40020 */ lw $a0, 0x0020($sp)
.L80A33B64:
/* 00F94 80A33B64 0C28CE07 */ jal func_80A3381C
/* 00F98 80A33B68 8FA50024 */ lw $a1, 0x0024($sp)
/* 00F9C 80A33B6C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00FA0 80A33B70 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00FA4 80A33B74 03E00008 */ jr $ra
/* 00FA8 80A33B78 00000000 */ nop

View File

@ -1,28 +0,0 @@
glabel func_80A33B7C
/* 00FAC 80A33B7C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00FB0 80A33B80 AFBF001C */ sw $ra, 0x001C($sp)
/* 00FB4 80A33B84 AFB00018 */ sw $s0, 0x0018($sp)
/* 00FB8 80A33B88 AFA50024 */ sw $a1, 0x0024($sp)
/* 00FBC 80A33B8C 948E02F4 */ lhu $t6, 0x02F4($a0) ## 000002F4
/* 00FC0 80A33B90 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00FC4 80A33B94 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00FC8 80A33B98 35CF0008 */ ori $t7, $t6, 0x0008 ## $t7 = 00000008
/* 00FCC 80A33B9C A48F02F4 */ sh $t7, 0x02F4($a0) ## 000002F4
/* 00FD0 80A33BA0 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 00FD4 80A33BA4 0C28CAF4 */ jal func_80A32BD0
/* 00FD8 80A33BA8 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 00FDC 80A33BAC 8FA40024 */ lw $a0, 0x0024($sp)
/* 00FE0 80A33BB0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00FE4 80A33BB4 0C00B7D5 */ jal func_8002DF54
/* 00FE8 80A33BB8 2406005F */ addiu $a2, $zero, 0x005F ## $a2 = 0000005F
/* 00FEC 80A33BBC 0C01E221 */ jal func_80078884
/* 00FF0 80A33BC0 2404482C */ addiu $a0, $zero, 0x482C ## $a0 = 0000482C
/* 00FF4 80A33BC4 8FA40024 */ lw $a0, 0x0024($sp)
/* 00FF8 80A33BC8 24056000 */ addiu $a1, $zero, 0x6000 ## $a1 = 00006000
/* 00FFC 80A33BCC 0C042DA0 */ jal func_8010B680
/* 01000 80A33BD0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 01004 80A33BD4 8FBF001C */ lw $ra, 0x001C($sp)
/* 01008 80A33BD8 8FB00018 */ lw $s0, 0x0018($sp)
/* 0100C 80A33BDC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01010 80A33BE0 03E00008 */ jr $ra
/* 01014 80A33BE4 00000000 */ nop

View File

@ -1,46 +0,0 @@
glabel func_80A33BE8
/* 01018 80A33BE8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 0101C 80A33BEC AFB00020 */ sw $s0, 0x0020($sp)
/* 01020 80A33BF0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01024 80A33BF4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01028 80A33BF8 AFA5003C */ sw $a1, 0x003C($sp)
/* 0102C 80A33BFC 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
/* 01030 80A33C00 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000014C
/* 01034 80A33C04 0C0189B7 */ jal Collider_UpdateCylinder
/* 01038 80A33C08 AFA6002C */ sw $a2, 0x002C($sp)
/* 0103C 80A33C0C 8FA4003C */ lw $a0, 0x003C($sp)
/* 01040 80A33C10 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01044 80A33C14 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01048 80A33C18 8FA6002C */ lw $a2, 0x002C($sp)
/* 0104C 80A33C1C 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 01050 80A33C20 00812821 */ addu $a1, $a0, $at
/* 01054 80A33C24 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 01058 80A33C28 44810000 */ mtc1 $at, $f0 ## $f0 = 40.00
/* 0105C 80A33C2C 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 01060 80A33C30 AFAE0014 */ sw $t6, 0x0014($sp)
/* 01064 80A33C34 44060000 */ mfc1 $a2, $f0
/* 01068 80A33C38 8FA4003C */ lw $a0, 0x003C($sp)
/* 0106C 80A33C3C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01070 80A33C40 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
/* 01074 80A33C44 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 01078 80A33C48 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 0107C 80A33C4C 960F02F4 */ lhu $t7, 0x02F4($s0) ## 000002F4
/* 01080 80A33C50 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 01084 80A33C54 57000009 */ bnel $t8, $zero, .L80A33C7C
/* 01088 80A33C58 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0108C 80A33C5C 0C02927F */ jal SkelAnime_Update
/* 01090 80A33C60 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 01094 80A33C64 50400005 */ beql $v0, $zero, .L80A33C7C
/* 01098 80A33C68 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0109C 80A33C6C 961902F4 */ lhu $t9, 0x02F4($s0) ## 000002F4
/* 010A0 80A33C70 37280002 */ ori $t0, $t9, 0x0002 ## $t0 = 00000002
/* 010A4 80A33C74 A60802F4 */ sh $t0, 0x02F4($s0) ## 000002F4
/* 010A8 80A33C78 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A33C7C:
/* 010AC 80A33C7C 8FB00020 */ lw $s0, 0x0020($sp)
/* 010B0 80A33C80 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 010B4 80A33C84 03E00008 */ jr $ra
/* 010B8 80A33C88 00000000 */ nop

View File

@ -1,40 +0,0 @@
glabel func_80A33C8C
/* 010BC 80A33C8C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 010C0 80A33C90 AFBF0014 */ sw $ra, 0x0014($sp)
/* 010C4 80A33C94 AFA5001C */ sw $a1, 0x001C($sp)
/* 010C8 80A33C98 0C00B638 */ jal Actor_MoveForward
/* 010CC 80A33C9C AFA40018 */ sw $a0, 0x0018($sp)
/* 010D0 80A33CA0 8FA60018 */ lw $a2, 0x0018($sp)
/* 010D4 80A33CA4 2404003C */ addiu $a0, $zero, 0x003C ## $a0 = 0000003C
/* 010D8 80A33CA8 2405003C */ addiu $a1, $zero, 0x003C ## $a1 = 0000003C
/* 010DC 80A33CAC 84C302E6 */ lh $v1, 0x02E6($a2) ## 000002E6
/* 010E0 80A33CB0 14600003 */ bne $v1, $zero, .L80A33CC0
/* 010E4 80A33CB4 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
/* 010E8 80A33CB8 10000004 */ beq $zero, $zero, .L80A33CCC
/* 010EC 80A33CBC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A33CC0:
/* 010F0 80A33CC0 A4CE02E6 */ sh $t6, 0x02E6($a2) ## 000002E6
/* 010F4 80A33CC4 84C302E6 */ lh $v1, 0x02E6($a2) ## 000002E6
/* 010F8 80A33CC8 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L80A33CCC:
/* 010FC 80A33CCC 54400007 */ bnel $v0, $zero, .L80A33CEC
/* 01100 80A33CD0 A4C302E4 */ sh $v1, 0x02E4($a2) ## 000002E4
/* 01104 80A33CD4 0C01DF64 */ jal Rand_S16Offset
/* 01108 80A33CD8 AFA60018 */ sw $a2, 0x0018($sp)
/* 0110C 80A33CDC 8FA60018 */ lw $a2, 0x0018($sp)
/* 01110 80A33CE0 A4C202E6 */ sh $v0, 0x02E6($a2) ## 000002E6
/* 01114 80A33CE4 84C302E6 */ lh $v1, 0x02E6($a2) ## 000002E6
/* 01118 80A33CE8 A4C302E4 */ sh $v1, 0x02E4($a2) ## 000002E4
.L80A33CEC:
/* 0111C 80A33CEC 84CF02E4 */ lh $t7, 0x02E4($a2) ## 000002E4
/* 01120 80A33CF0 29E10003 */ slti $at, $t7, 0x0003
/* 01124 80A33CF4 54200003 */ bnel $at, $zero, .L80A33D04
/* 01128 80A33CF8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0112C 80A33CFC A4C002E4 */ sh $zero, 0x02E4($a2) ## 000002E4
/* 01130 80A33D00 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A33D04:
/* 01134 80A33D04 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01138 80A33D08 03E00008 */ jr $ra
/* 0113C 80A33D0C 00000000 */ nop

View File

@ -1,57 +0,0 @@
glabel func_80A33D10
/* 01140 80A33D10 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01144 80A33D14 AFBF001C */ sw $ra, 0x001C($sp)
/* 01148 80A33D18 AFB10018 */ sw $s1, 0x0018($sp)
/* 0114C 80A33D1C AFB00014 */ sw $s0, 0x0014($sp)
/* 01150 80A33D20 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01154 80A33D24 0C28CEFA */ jal func_80A33BE8
/* 01158 80A33D28 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0115C 80A33D2C 8E190308 */ lw $t9, 0x0308($s0) ## 00000308
/* 01160 80A33D30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01164 80A33D34 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01168 80A33D38 0320F809 */ jalr $ra, $t9
/* 0116C 80A33D3C 00000000 */ nop
/* 01170 80A33D40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01174 80A33D44 0C00BC65 */ jal func_8002F194
/* 01178 80A33D48 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 0117C 80A33D4C 10400011 */ beq $v0, $zero, .L80A33D94
/* 01180 80A33D50 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01184 80A33D54 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 01188 80A33D58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0118C 80A33D5C 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000
/* 01190 80A33D60 15E00005 */ bne $t7, $zero, .L80A33D78
/* 01194 80A33D64 00000000 */ nop
/* 01198 80A33D68 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0119C 80A33D6C 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 011A0 80A33D70 0C28CAF4 */ jal func_80A32BD0
/* 011A4 80A33D74 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
.L80A33D78:
/* 011A8 80A33D78 3C1880A3 */ lui $t8, %hi(func_80A33930) ## $t8 = 80A30000
/* 011AC 80A33D7C 3C0880A3 */ lui $t0, %hi(func_80A33DE0) ## $t0 = 80A30000
/* 011B0 80A33D80 27183930 */ addiu $t8, $t8, %lo(func_80A33930) ## $t8 = 80A33930
/* 011B4 80A33D84 25083DE0 */ addiu $t0, $t0, %lo(func_80A33DE0) ## $t0 = 80A33DE0
/* 011B8 80A33D88 AE180308 */ sw $t8, 0x0308($s0) ## 00000308
/* 011BC 80A33D8C 1000000C */ beq $zero, $zero, .L80A33DC0
/* 011C0 80A33D90 AE080130 */ sw $t0, 0x0130($s0) ## 00000130
.L80A33D94:
/* 011C4 80A33D94 44810000 */ mtc1 $at, $f0 ## $f0 = 0.00
/* 011C8 80A33D98 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
/* 011CC 80A33D9C 24096005 */ addiu $t1, $zero, 0x6005 ## $t1 = 00006005
/* 011D0 80A33DA0 A609010E */ sh $t1, 0x010E($s0) ## 0000010E
/* 011D4 80A33DA4 4600303C */ c.lt.s $f6, $f0
/* 011D8 80A33DA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 011DC 80A33DAC 45020005 */ bc1fl .L80A33DC4
/* 011E0 80A33DB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 011E4 80A33DB4 44060000 */ mfc1 $a2, $f0
/* 011E8 80A33DB8 0C00BCB3 */ jal func_8002F2CC
/* 011EC 80A33DBC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
.L80A33DC0:
/* 011F0 80A33DC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A33DC4:
/* 011F4 80A33DC4 0C28CF23 */ jal func_80A33C8C
/* 011F8 80A33DC8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 011FC 80A33DCC 8FBF001C */ lw $ra, 0x001C($sp)
/* 01200 80A33DD0 8FB00014 */ lw $s0, 0x0014($sp)
/* 01204 80A33DD4 8FB10018 */ lw $s1, 0x0018($sp)
/* 01208 80A33DD8 03E00008 */ jr $ra
/* 0120C 80A33DDC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View File

@ -1,22 +0,0 @@
glabel func_80A33DE0
/* 01210 80A33DE0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01214 80A33DE4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01218 80A33DE8 AFA5001C */ sw $a1, 0x001C($sp)
/* 0121C 80A33DEC 948E02F4 */ lhu $t6, 0x02F4($a0) ## 000002F4
/* 01220 80A33DF0 35CF0010 */ ori $t7, $t6, 0x0010 ## $t7 = 00000010
/* 01224 80A33DF4 A48F02F4 */ sh $t7, 0x02F4($a0) ## 000002F4
/* 01228 80A33DF8 AFA40018 */ sw $a0, 0x0018($sp)
/* 0122C 80A33DFC 0C28CEFA */ jal func_80A33BE8
/* 01230 80A33E00 8FA5001C */ lw $a1, 0x001C($sp)
/* 01234 80A33E04 8FA40018 */ lw $a0, 0x0018($sp)
/* 01238 80A33E08 8FA5001C */ lw $a1, 0x001C($sp)
/* 0123C 80A33E0C 8C990308 */ lw $t9, 0x0308($a0) ## 00000308
/* 01240 80A33E10 0320F809 */ jalr $ra, $t9
/* 01244 80A33E14 00000000 */ nop
/* 01248 80A33E18 8FA40018 */ lw $a0, 0x0018($sp)
/* 0124C 80A33E1C 0C28CF23 */ jal func_80A33C8C
/* 01250 80A33E20 8FA5001C */ lw $a1, 0x001C($sp)
/* 01254 80A33E24 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01258 80A33E28 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0125C 80A33E2C 03E00008 */ jr $ra
/* 01260 80A33E30 00000000 */ nop

View File

@ -1,86 +0,0 @@
glabel func_80A3402C
/* 0145C 80A3402C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 01460 80A34030 AFB10020 */ sw $s1, 0x0020($sp)
/* 01464 80A34034 AFB0001C */ sw $s0, 0x001C($sp)
/* 01468 80A34038 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0146C 80A3403C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01470 80A34040 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01474 80A34044 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 01478 80A34048 0C0189B7 */ jal Collider_UpdateCylinder
/* 0147C 80A3404C AFA5002C */ sw $a1, 0x002C($sp)
/* 01480 80A34050 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01484 80A34054 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01488 80A34058 02212821 */ addu $a1, $s1, $at
/* 0148C 80A3405C AFA50028 */ sw $a1, 0x0028($sp)
/* 01490 80A34060 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01494 80A34064 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 01498 80A34068 8FA6002C */ lw $a2, 0x002C($sp)
/* 0149C 80A3406C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 014A0 80A34070 44810000 */ mtc1 $at, $f0 ## $f0 = 40.00
/* 014A4 80A34074 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 014A8 80A34078 AFAE0014 */ sw $t6, 0x0014($sp)
/* 014AC 80A3407C 44060000 */ mfc1 $a2, $f0
/* 014B0 80A34080 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 014B4 80A34084 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 014B8 80A34088 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
/* 014BC 80A3408C 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 014C0 80A34090 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 014C4 80A34094 920F015D */ lbu $t7, 0x015D($s0) ## 0000015D
/* 014C8 80A34098 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 014CC 80A3409C 53000017 */ beql $t8, $zero, .L80A340FC
/* 014D0 80A340A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 014D4 80A340A4 8E020188 */ lw $v0, 0x0188($s0) ## 00000188
/* 014D8 80A340A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 014DC 80A340AC 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 014E0 80A340B0 10400005 */ beq $v0, $zero, .L80A340C8
/* 014E4 80A340B4 00000000 */ nop
/* 014E8 80A340B8 8C590000 */ lw $t9, 0x0000($v0) ## 00000000
/* 014EC 80A340BC 33280080 */ andi $t0, $t9, 0x0080 ## $t0 = 00000000
/* 014F0 80A340C0 5500000E */ bnel $t0, $zero, .L80A340FC
/* 014F4 80A340C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A340C8:
/* 014F8 80A340C8 0C28CAF4 */ jal func_80A32BD0
/* 014FC 80A340CC A2000114 */ sb $zero, 0x0114($s0) ## 00000114
/* 01500 80A340D0 960A02F4 */ lhu $t2, 0x02F4($s0) ## 000002F4
/* 01504 80A340D4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01508 80A340D8 24090064 */ addiu $t1, $zero, 0x0064 ## $t1 = 00000064
/* 0150C 80A340DC 354B0004 */ ori $t3, $t2, 0x0004 ## $t3 = 00000004
/* 01510 80A340E0 A2090305 */ sb $t1, 0x0305($s0) ## 00000305
/* 01514 80A340E4 A60B02F4 */ sh $t3, 0x02F4($s0) ## 000002F4
/* 01518 80A340E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0151C 80A340EC 24056872 */ addiu $a1, $zero, 0x6872 ## $a1 = 00006872
/* 01520 80A340F0 0C00BE0A */ jal Audio_PlayActorSound2
/* 01524 80A340F4 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 01528 80A340F8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A340FC:
/* 0152C 80A340FC 8FA50028 */ lw $a1, 0x0028($sp)
/* 01530 80A34100 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01534 80A34104 8FA6002C */ lw $a2, 0x002C($sp)
/* 01538 80A34108 0C28CC28 */ jal func_80A330A0
/* 0153C 80A3410C 00000000 */ nop
/* 01540 80A34110 10400007 */ beq $v0, $zero, .L80A34130
/* 01544 80A34114 3C0C80A3 */ lui $t4, %hi(func_80A33D10) ## $t4 = 80A30000
/* 01548 80A34118 258C3D10 */ addiu $t4, $t4, %lo(func_80A33D10) ## $t4 = 80A33D10
/* 0154C 80A3411C 240D0006 */ addiu $t5, $zero, 0x0006 ## $t5 = 00000006
/* 01550 80A34120 AE0C0130 */ sw $t4, 0x0130($s0) ## 00000130
/* 01554 80A34124 A20D001F */ sb $t5, 0x001F($s0) ## 0000001F
/* 01558 80A34128 10000007 */ beq $zero, $zero, .L80A34148
/* 0155C 80A3412C A2000114 */ sb $zero, 0x0114($s0) ## 00000114
.L80A34130:
/* 01560 80A34130 920E0114 */ lbu $t6, 0x0114($s0) ## 00000114
/* 01564 80A34134 3C0F80A3 */ lui $t7, %hi(EnGe2_Update) ## $t7 = 80A30000
/* 01568 80A34138 25EF3E34 */ addiu $t7, $t7, %lo(EnGe2_Update) ## $t7 = 80A33E34
/* 0156C 80A3413C 55C00003 */ bnel $t6, $zero, .L80A3414C
/* 01570 80A34140 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01574 80A34144 AE0F0130 */ sw $t7, 0x0130($s0) ## 00000130
.L80A34148:
/* 01578 80A34148 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A3414C:
/* 0157C 80A3414C 8FB0001C */ lw $s0, 0x001C($sp)
/* 01580 80A34150 8FB10020 */ lw $s1, 0x0020($sp)
/* 01584 80A34154 03E00008 */ jr $ra
/* 01588 80A34158 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View File

@ -1,19 +0,0 @@
glabel func_80A3415C
/* 0158C 80A3415C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01590 80A34160 AFA40000 */ sw $a0, 0x0000($sp)
/* 01594 80A34164 AFA60008 */ sw $a2, 0x0008($sp)
/* 01598 80A34168 14A1000B */ bne $a1, $at, .L80A34198
/* 0159C 80A3416C AFA7000C */ sw $a3, 0x000C($sp)
/* 015A0 80A34170 8FA20014 */ lw $v0, 0x0014($sp)
/* 015A4 80A34174 8FA30010 */ lw $v1, 0x0010($sp)
/* 015A8 80A34178 844F02EA */ lh $t7, 0x02EA($v0) ## 000002EA
/* 015AC 80A3417C 846E0000 */ lh $t6, 0x0000($v1) ## 00000000
/* 015B0 80A34180 84790004 */ lh $t9, 0x0004($v1) ## 00000004
/* 015B4 80A34184 01CFC021 */ addu $t8, $t6, $t7
/* 015B8 80A34188 A4780000 */ sh $t8, 0x0000($v1) ## 00000000
/* 015BC 80A3418C 844802E8 */ lh $t0, 0x02E8($v0) ## 000002E8
/* 015C0 80A34190 03284821 */ addu $t1, $t9, $t0
/* 015C4 80A34194 A4690004 */ sh $t1, 0x0004($v1) ## 00000004
.L80A34198:
/* 015C8 80A34198 03E00008 */ jr $ra
/* 015CC 80A3419C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View File

@ -1,18 +0,0 @@
glabel func_80A341A0
/* 015D0 80A341A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 015D4 80A341A4 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 015D8 80A341A8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 015DC 80A341AC AFA40018 */ sw $a0, 0x0018($sp)
/* 015E0 80A341B0 AFA60020 */ sw $a2, 0x0020($sp)
/* 015E4 80A341B4 14A10006 */ bne $a1, $at, .L80A341D0
/* 015E8 80A341B8 AFA70024 */ sw $a3, 0x0024($sp)
/* 015EC 80A341BC 8FA50028 */ lw $a1, 0x0028($sp)
/* 015F0 80A341C0 3C0480A3 */ lui $a0, %hi(D_80A343B0) ## $a0 = 80A30000
/* 015F4 80A341C4 248443B0 */ addiu $a0, $a0, %lo(D_80A343B0) ## $a0 = 80A343B0
/* 015F8 80A341C8 0C0346BD */ jal Matrix_MultVec3f
/* 015FC 80A341CC 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
.L80A341D0:
/* 01600 80A341D0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01604 80A341D4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01608 80A341D8 03E00008 */ jr $ra
/* 0160C 80A341DC 00000000 */ nop

View File

@ -1,46 +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_Ge2_InitVars
.word 0x01860400, 0x00000019, 0x01670000, 0x0000030C
.word EnGe2_Init
.word EnGe2_Destroy
.word EnGe2_Update
.word EnGe2_Draw
glabel D_80A34310
.word 0x0A000939, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x000007A2, 0x00000000, 0x00010100, 0x0014003C, 0x00000000, 0x00000000
glabel D_80A3433C
.word func_80A33600
.word func_80A3354C
.word func_80A33444
.word func_80A3334C
.word func_80A332D4
.word func_80A331A0
.word func_80A330CC
.word func_80A336C4
.word func_80A339EC
glabel D_80A34360
.word 0x06009ED4, 0x060098AC, 0x060098AC, 0x060011F4, 0x060098AC, 0x06008D60, 0x060098AC, 0x060098AC, 0x060098AC
glabel D_80A34384
.word 0x00020002, 0x00000000, 0x02000000
glabel D_80A34390
.word 0x00000000, 0xBD4CCCCD, 0x00000000
glabel D_80A3439C
.word 0x00000000, 0xBCCCCCCD, 0x00000000
glabel D_80A343A8
.word 0xFFFFFF00
glabel D_80A343AC
.word 0xFF960000
glabel D_80A343B0
.word 0x44160000, 0x442F0000, 0x00000000
glabel D_80A343BC
.word 0x06004F78, 0x06005578, 0x06005BF8, 0x00000000, 0x00000000

View File

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

View File

@ -908,7 +908,7 @@ s32 SkelCurve_Update(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve);
void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve,
OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, void* data);
// ? func_8006CFC0(?);
// ? func_8006D074(?);
void func_8006D074(GlobalContext* globalCtx);
// ? func_8006D0AC(?);
// ? func_8006D0EC(?);
// ? func_8006D684(?);

3
spec
View File

@ -2321,8 +2321,7 @@ endseg
beginseg
name "ovl_En_Ge2"
include "build/src/overlays/actors/ovl_En_Ge2/z_en_ge2.o"
include "build/data/overlays/actors/z_en_ge2.data.o"
include "build/data/overlays/actors/z_en_ge2.reloc.o"
include "build/src/overlays/actors/ovl_En_Ge2/ovl_En_Ge2_reloc.o"
endseg
beginseg

View File

@ -242,8 +242,8 @@ void DemoKankyo_Init(Actor* thisx, GlobalContext* globalCtx) {
this->unk_150[0].unk_18 = 0.0f;
if (!(gSaveContext.eventChkInf[4] & 0x800)) {
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_TOKI,
this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0,
0, 0x0000);
this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0,
0x0000);
} else {
globalCtx->unk_11D30[1] = 0xFF;
Actor_Kill(&this->actor);

View File

@ -1,18 +1,56 @@
#include "z_en_ge2.h"
#include "vt.h"
#define FLAGS 0x00000019
#define THIS ((EnGe2*)thisx)
#define GE2_STATE_ANIMCOMPLETE (1 << 1)
#define GE2_STATE_KO (1 << 2)
#define GE2_STATE_CAPTURING (1 << 3)
#define GE2_STATE_TALKED (1 << 4)
typedef enum {
/* 0 */ GE2_TYPE_PATROLLING,
/* 1 */ GE2_TYPE_STATIONARY,
/* 2 */ GE2_TYPE_GERUDO_CARD_GIVER
} EnGe2Type;
typedef enum {
/* 0 */ GE2_ACTION_WALK,
/* 1 */ GE2_ACTION_ABOUTTURN,
/* 2 */ GE2_ACTION_TURNPLAYERSPOTTED,
/* 3 */ GE2_ACTION_KNOCKEDOUT,
/* 4 */ GE2_ACTION_CAPTURETURN,
/* 5 */ GE2_ACTION_CAPTURECHARGE,
/* 6 */ GE2_ACTION_CAPTURECLOSE,
/* 7 */ GE2_ACTION_STAND,
/* 8 */ GE2_ACTION_WAITLOOKATPLAYER
} EnGe2Action;
void EnGe2_Init(Actor* thisx, GlobalContext* globalCtx);
void EnGe2_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnGe2_Update(Actor* thisx, GlobalContext* globalCtx);
void EnGe2_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_06008968;
extern UNK_TYPE D_06009ED4;
s32 EnGe2_CheckCarpentersFreed(void);
void EnGe2_CaptureClose(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_CaptureCharge(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_CaptureTurn(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_KnockedOut(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_TurnPlayerSpotted(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_AboutTurn(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_Walk(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_Stand(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_WaitLookAtPlayer(EnGe2* this, GlobalContext* globalCtx);
void EnGe2_ForceTalk(EnGe2* this, GlobalContext* globalCtx);
// Update functions
void EnGe2_UpdateFriendly(Actor* thisx, GlobalContext* globalCtx);
void EnGe2_UpdateAfterTalk(Actor* thisx, GlobalContext* globalCtx);
void EnGe2_UpdateStunned(Actor* thisx, GlobalContext* globalCtx);
/*
const ActorInit En_Ge2_InitVars = {
ACTOR_EN_GE2,
ACTORCAT_NPC,
@ -25,7 +63,7 @@ const ActorInit En_Ge2_InitVars = {
(ActorFunc)EnGe2_Draw,
};
static ColliderCylinderInit D_80A34310 = {
static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_NONE,
AT_NONE,
@ -44,65 +82,584 @@ static ColliderCylinderInit D_80A34310 = {
},
{ 20, 60, 0, { 0, 0, 0 } },
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A32BD0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Init.s")
static EnGe2ActionFunc sActionFuncs[] = {
EnGe2_Walk, EnGe2_AboutTurn, EnGe2_TurnPlayerSpotted,
EnGe2_KnockedOut, EnGe2_CaptureTurn, EnGe2_CaptureCharge,
EnGe2_CaptureClose, EnGe2_Stand, EnGe2_WaitLookAtPlayer,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Destroy.s")
static AnimationHeader* sAnimations[] = {
0x06009ED4, // Walking, spear on shoulder
0x060098AC, // Standing, looking left and right
0x060098AC,
0x060011F4, // Falling to ground
0x060098AC,
0x06008D60, // Runnng, spear in attack position
0x060098AC, 0x060098AC, 0x060098AC,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A32ECC.s")
static u8 sAnimModes[] = {
ANIMMODE_LOOP, ANIMMODE_ONCE, ANIMMODE_LOOP, ANIMMODE_ONCE, ANIMMODE_LOOP,
ANIMMODE_LOOP, ANIMMODE_LOOP, ANIMMODE_LOOP, ANIMMODE_ONCE,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A32F74.s")
extern FlexSkeletonHeader D_06008968;
extern AnimationHeader D_06009ED4;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A330A0.s")
void EnGe2_ChangeAction(EnGe2* this, s32 i) {
this->actionFunc = sActionFuncs[i];
Animation_Change(&this->skelAnime, sAnimations[i], 1.0f, 0.0f, Animation_GetLastFrame(sAnimations[i]),
sAnimModes[i], -8.0f);
this->stateFlags &= ~GE2_STATE_ANIMCOMPLETE;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A330CC.s")
void EnGe2_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGe2* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A331A0.s")
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008968, NULL, this->jointTable, this->morphTable, 22);
Animation_PlayLoop(&this->skelAnime, &D_06009ED4);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
Actor_SetScale(&this->actor, 0.01f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A332D4.s")
if (globalCtx->sceneNum == SCENE_SPOT09) {
this->actor.uncullZoneForward = 1000.0f;
} else {
this->actor.uncullZoneForward = 1200.0f;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A3334C.s")
this->yDetectRange = (this->actor.world.rot.z + 1) * 40.0f;
this->actor.world.rot.z = 0;
this->actor.shape.rot.z = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33444.s")
switch (this->actor.params & 0xFF) {
case GE2_TYPE_PATROLLING:
EnGe2_ChangeAction(this, GE2_ACTION_WALK);
if (EnGe2_CheckCarpentersFreed()) {
this->actor.update = EnGe2_UpdateFriendly;
this->actor.targetMode = 6;
}
break;
case GE2_TYPE_STATIONARY:
EnGe2_ChangeAction(this, GE2_ACTION_STAND);
if (EnGe2_CheckCarpentersFreed()) {
this->actor.update = EnGe2_UpdateFriendly;
this->actor.targetMode = 6;
}
break;
case GE2_TYPE_GERUDO_CARD_GIVER:
EnGe2_ChangeAction(this, GE2_ACTION_WAITLOOKATPLAYER);
this->actor.update = EnGe2_UpdateAfterTalk;
this->actionFunc = EnGe2_ForceTalk;
this->actor.targetMode = 6;
break;
default:
__assert("0", "../z_en_ge2.c", 418);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A3354C.s")
this->stateFlags = 0;
this->unk_304 = 0; // Set and not used
this->walkTimer = 0;
this->playerSpottedParam = 0;
this->actor.minVelocityY = -4.0f;
this->actor.gravity = -1.0f;
this->walkDirection = this->actor.world.rot.y;
this->walkDuration = ((this->actor.params & 0xFF00) >> 8) * 10;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33600.s")
void EnGe2_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnGe2* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A336C4.s")
Collider_DestroyCylinder(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33704.s")
// Detection/check functions
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A3381C.s")
s32 Ge2_DetectPlayerInAction(GlobalContext* globalCtx, EnGe2* this) {
f32 visionScale;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33930.s")
visionScale = ((gSaveContext.nightFlag != 0) ? 0.75f : 1.5f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A339EC.s")
if ((250.0f * visionScale) < this->actor.xzDistToPlayer) {
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33A0C.s")
if (this->actor.xzDistToPlayer < 50.0f) {
return 2;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33A6C.s")
if (func_8002DDE4(globalCtx)) {
return 1;
}
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33AFC.s")
s32 Ge2_DetectPlayerInUpdate(GlobalContext* globalCtx, EnGe2* this, Vec3f* pos, s16 yRot, f32 yDetectRange) {
Player* player = PLAYER;
Vec3f posResult;
CollisionPoly* outPoly;
f32 visionScale;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33B7C.s")
visionScale = ((gSaveContext.nightFlag != 0) ? 0.75f : 1.5f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33BE8.s")
if ((250.0f * visionScale) < this->actor.xzDistToPlayer) {
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33C8C.s")
if (yDetectRange < ABS(this->actor.yDistToPlayer)) {
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33D10.s")
if (ABS((s16)(this->actor.yawTowardsPlayer - yRot)) > 0x2000) {
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33DE0.s")
if (BgCheck_AnyLineTest1(&globalCtx->colCtx, pos, &player->bodyPartsPos[7], &posResult, &outPoly, 0)) {
return 0;
}
return 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Update.s")
s32 EnGe2_CheckCarpentersFreed(void) {
if ((u8)(gSaveContext.eventChkInf[9] & 0xF) == 0xF) {
return 1;
}
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A3402C.s")
// Actions
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A3415C.s")
void EnGe2_CaptureClose(EnGe2* this, GlobalContext* globalCtx) {
if (this->timer > 0) {
this->timer--;
} else {
func_8006D074(globalCtx);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A341A0.s")
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
globalCtx->nextEntranceIndex = 0x1A5;
} else if (gSaveContext.eventChkInf[12] & 0x80) {
globalCtx->nextEntranceIndex = 0x5F8;
} else {
globalCtx->nextEntranceIndex = 0x3B4;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Draw.s")
globalCtx->fadeTransition = 0x26;
globalCtx->sceneLoadFlag = 0x14;
}
}
void EnGe2_CaptureCharge(EnGe2* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 2, 0x400, 0x100);
this->actor.shape.rot.y = this->actor.world.rot.y;
if (this->actor.xzDistToPlayer < 50.0f) {
EnGe2_ChangeAction(this, GE2_ACTION_CAPTURECLOSE);
this->actor.speedXZ = 0.0f;
}
if (this->timer > 0) {
this->timer--;
} else {
func_8006D074(globalCtx);
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
globalCtx->nextEntranceIndex = 0x1A5;
} else if (gSaveContext.eventChkInf[12] & 0x80) {
globalCtx->nextEntranceIndex = 0x5F8;
} else {
globalCtx->nextEntranceIndex = 0x3B4;
}
globalCtx->fadeTransition = 0x26;
globalCtx->sceneLoadFlag = 0x14;
}
}
void EnGe2_CaptureTurn(EnGe2* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 2, 0x400, 0x100);
this->actor.shape.rot.y = this->actor.world.rot.y;
if (this->actor.world.rot.y == this->actor.yawTowardsPlayer) {
EnGe2_ChangeAction(this, GE2_ACTION_CAPTURECHARGE);
this->timer = 50;
this->actor.speedXZ = 4.0f;
}
}
void EnGe2_KnockedOut(EnGe2* this, GlobalContext* globalCtx) {
static Vec3f effectVelocity = { 0.0f, -0.05f, 0.0f };
static Vec3f effectAccel = { 0.0f, -0.025f, 0.0f };
static Color_RGBA8 effectPrimColor = { 255, 255, 255, 0 };
static Color_RGBA8 effectEnvColor = { 255, 150, 0, 0 };
s32 effectAngle;
Vec3f effectPos;
this->actor.flags &= ~1;
if (this->stateFlags & GE2_STATE_ANIMCOMPLETE) {
effectAngle = (globalCtx->state.frames) * 0x2800;
effectPos.x = this->actor.focus.pos.x + (Math_CosS(effectAngle) * 5.0f);
effectPos.y = this->actor.focus.pos.y + 10.0f;
effectPos.z = this->actor.focus.pos.z + (Math_SinS(effectAngle) * 5.0f);
EffectSsKiraKira_SpawnDispersed(globalCtx, &effectPos, &effectVelocity, &effectAccel, &effectPrimColor,
&effectEnvColor, 1000, 16);
}
}
void EnGe2_TurnPlayerSpotted(EnGe2* this, GlobalContext* globalCtx) {
s32 playerSpotted;
this->actor.speedXZ = 0.0f;
if (this->stateFlags & GE2_STATE_TALKED) {
this->stateFlags &= ~GE2_STATE_TALKED;
} else {
playerSpotted = Ge2_DetectPlayerInAction(globalCtx, this);
if (playerSpotted != 0) {
this->timer = 100;
this->yawTowardsPlayer = this->actor.yawTowardsPlayer;
if (this->playerSpottedParam < playerSpotted) {
this->playerSpottedParam = playerSpotted;
}
} else if (this->actor.world.rot.y == this->yawTowardsPlayer) {
this->playerSpottedParam = 0;
EnGe2_ChangeAction(this, GE2_ACTION_ABOUTTURN);
return;
}
}
switch (this->playerSpottedParam) {
case 1:
Math_SmoothStepToS(&this->actor.world.rot.y, this->yawTowardsPlayer, 2, 0x200, 0x100);
break;
case 2:
Math_SmoothStepToS(&this->actor.world.rot.y, this->yawTowardsPlayer, 2, 0x600, 0x180);
break;
}
this->actor.shape.rot.y = this->actor.world.rot.y;
}
void EnGe2_AboutTurn(EnGe2* this, GlobalContext* globalCtx) {
s32 playerSpotted;
this->actor.speedXZ = 0.0f;
playerSpotted = Ge2_DetectPlayerInAction(globalCtx, this);
if (playerSpotted != 0) {
EnGe2_ChangeAction(this, GE2_ACTION_TURNPLAYERSPOTTED);
this->timer = 100;
this->playerSpottedParam = playerSpotted;
this->yawTowardsPlayer = this->actor.yawTowardsPlayer;
} else if (this->stateFlags & GE2_STATE_ANIMCOMPLETE) {
Math_SmoothStepToS(&this->actor.world.rot.y, this->walkDirection, 2, 0x400, 0x200);
this->actor.shape.rot.y = this->actor.world.rot.y;
}
if (this->actor.shape.rot.y == this->walkDirection) {
EnGe2_ChangeAction(this, GE2_ACTION_WALK);
}
}
void EnGe2_Walk(EnGe2* this, GlobalContext* globalCtx) {
u8 playerSpotted;
playerSpotted = Ge2_DetectPlayerInAction(globalCtx, this);
if (playerSpotted != 0) {
this->actor.speedXZ = 0.0f;
EnGe2_ChangeAction(this, GE2_ACTION_TURNPLAYERSPOTTED);
this->timer = 100;
this->playerSpottedParam = playerSpotted;
this->yawTowardsPlayer = this->actor.yawTowardsPlayer;
} else if (this->walkTimer >= this->walkDuration) {
this->walkTimer = 0;
this->walkDirection += 0x8000;
EnGe2_ChangeAction(this, GE2_ACTION_ABOUTTURN);
this->actor.speedXZ = 0.0f;
} else {
this->walkTimer++;
this->actor.speedXZ = 2.0f;
}
}
void EnGe2_Stand(EnGe2* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.world.rot.y, this->walkDirection, 2, 0x400, 0x200);
}
void EnGe2_TurnToFacePlayer(EnGe2* this, GlobalContext* globalCtx) {
s32 pad;
s16 angleDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
if (ABS(angleDiff) <= 0x4000) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 6, 4000, 100);
this->actor.world.rot.y = this->actor.shape.rot.y;
func_80038290(globalCtx, &this->actor, &this->headRot, &this->unk_2EE, this->actor.focus.pos);
} else {
if (angleDiff < 0) {
Math_SmoothStepToS(&this->headRot.y, -0x2000, 6, 6200, 0x100);
} else {
Math_SmoothStepToS(&this->headRot.y, 0x2000, 6, 6200, 0x100);
}
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 12, 1000, 100);
this->actor.world.rot.y = this->actor.shape.rot.y;
}
}
void EnGe2_LookAtPlayer(EnGe2* this, GlobalContext* globalCtx) {
if ((ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) <= 0x4300) &&
(this->actor.xzDistToPlayer < 200.0f)) {
func_80038290(globalCtx, &this->actor, &this->headRot, &this->unk_2EE, this->actor.focus.pos);
} else {
Math_SmoothStepToS(&this->headRot.x, 0, 6, 6200, 100);
Math_SmoothStepToS(&this->headRot.y, 0, 6, 6200, 100);
Math_SmoothStepToS(&this->unk_2EE.x, 0, 6, 6200, 100);
Math_SmoothStepToS(&this->unk_2EE.y, 0, 6, 6200, 100);
}
}
void EnGe2_SetActionAfterTalk(EnGe2* this, GlobalContext* globalCtx) {
if (func_8002F334(&this->actor, globalCtx)) {
switch (this->actor.params & 0xFF) {
case GE2_TYPE_PATROLLING:
EnGe2_ChangeAction(this, GE2_ACTION_ABOUTTURN);
break;
case GE2_TYPE_STATIONARY:
EnGe2_ChangeAction(this, GE2_ACTION_STAND);
break;
case GE2_TYPE_GERUDO_CARD_GIVER:
this->actionFunc = EnGe2_WaitLookAtPlayer;
break;
}
this->actor.update = EnGe2_UpdateFriendly;
this->actor.flags &= ~0x10000;
}
EnGe2_TurnToFacePlayer(this, globalCtx);
}
void EnGe2_WaitLookAtPlayer(EnGe2* this, GlobalContext* globalCtx) {
EnGe2_LookAtPlayer(this, globalCtx);
}
void EnGe2_WaitTillCardGiven(EnGe2* this, GlobalContext* globalCtx) {
if (Actor_HasParent(&this->actor, globalCtx)) {
this->actor.parent = NULL;
this->actionFunc = EnGe2_SetActionAfterTalk;
} else {
func_8002F434(&this->actor, globalCtx, GI_GERUDO_CARD, 10000.0f, 50.0f);
}
}
void EnGe2_GiveCard(EnGe2* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
func_80106CCC(globalCtx);
this->actor.flags &= ~0x10000;
this->actionFunc = EnGe2_WaitTillCardGiven;
func_8002F434(&this->actor, globalCtx, GI_GERUDO_CARD, 10000.0f, 50.0f);
}
}
void EnGe2_ForceTalk(EnGe2* this, GlobalContext* globalCtx) {
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = EnGe2_GiveCard;
} else {
this->actor.textId = 0x6004;
this->actor.flags |= 0x10000;
func_8002F1C4(&this->actor, globalCtx, 300.0f, 300.0f, 0);
}
EnGe2_LookAtPlayer(this, globalCtx);
}
void EnGe2_SetupCapturePlayer(EnGe2* this, GlobalContext* globalCtx) {
this->stateFlags |= GE2_STATE_CAPTURING;
this->actor.speedXZ = 0.0f;
EnGe2_ChangeAction(this, GE2_ACTION_CAPTURETURN);
func_8002DF54(globalCtx, &this->actor, 95);
func_80078884(NA_SE_SY_FOUND);
func_8010B680(globalCtx, 0x6000, &this->actor);
}
void EnGe2_MaintainColliderAndSetAnimState(EnGe2* this, GlobalContext* globalCtx) {
s32 pad;
s32 pad2;
Collider_UpdateCylinder(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 40.0f, 25.0f, 40.0f, 5);
if (!(this->stateFlags & GE2_STATE_ANIMCOMPLETE) && SkelAnime_Update(&this->skelAnime)) {
this->stateFlags |= GE2_STATE_ANIMCOMPLETE;
}
}
void EnGe2_MoveAndBlink(EnGe2* this, GlobalContext* globalCtx) {
Actor_MoveForward(&this->actor);
if (DECR(this->blinkTimer) == 0) {
this->blinkTimer = Rand_S16Offset(60, 60);
}
this->eyeIndex = this->blinkTimer;
if (this->eyeIndex >= 3) {
this->eyeIndex = 0;
}
}
// Update functions
void EnGe2_UpdateFriendly(Actor* thisx, GlobalContext* globalCtx) {
EnGe2* this = THIS;
EnGe2_MaintainColliderAndSetAnimState(this, globalCtx);
this->actionFunc(this, globalCtx);
if (func_8002F194(&this->actor, globalCtx)) {
if ((this->actor.params & 0xFF) == GE2_TYPE_PATROLLING) {
this->actor.speedXZ = 0.0f;
EnGe2_ChangeAction(this, GE2_ACTION_WAITLOOKATPLAYER);
}
this->actionFunc = EnGe2_SetActionAfterTalk;
this->actor.update = EnGe2_UpdateAfterTalk;
} else {
this->actor.textId = 0x6005;
if (this->actor.xzDistToPlayer < 100.0f) {
func_8002F2CC(&this->actor, globalCtx, 100.0f);
}
}
EnGe2_MoveAndBlink(this, globalCtx);
}
void EnGe2_UpdateAfterTalk(Actor* thisx, GlobalContext* globalCtx) {
EnGe2* this = THIS;
this->stateFlags |= GE2_STATE_TALKED;
EnGe2_MaintainColliderAndSetAnimState(this, globalCtx);
this->actionFunc(this, globalCtx);
EnGe2_MoveAndBlink(this, globalCtx);
}
void EnGe2_Update(Actor* thisx, GlobalContext* globalCtx) {
EnGe2* this = THIS;
s32 paramsType;
EnGe2_MaintainColliderAndSetAnimState(this, globalCtx);
if ((this->stateFlags & GE2_STATE_KO) || (this->stateFlags & GE2_STATE_CAPTURING)) {
this->actionFunc(this, globalCtx);
} else if (this->collider.base.acFlags & 2) {
if ((this->collider.info.acHitInfo != NULL) && (this->collider.info.acHitInfo->toucher.dmgFlags & 0x80)) {
func_8003426C(&this->actor, 0, 120, 0, 400);
this->actor.update = EnGe2_UpdateStunned;
return;
}
EnGe2_ChangeAction(this, GE2_ACTION_KNOCKEDOUT);
this->timer = 100;
this->stateFlags |= GE2_STATE_KO;
this->actor.speedXZ = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_VO_SK_CRASH);
} else {
this->actionFunc(this, globalCtx);
if (Ge2_DetectPlayerInUpdate(globalCtx, this, &this->actor.focus.pos, this->actor.shape.rot.y,
this->yDetectRange)) {
// Discovered!
osSyncPrintf(VT_FGCOL(GREEN) "発見!!!!!!!!!!!!\n" VT_RST);
EnGe2_SetupCapturePlayer(this, globalCtx);
}
if (((this->actor.params & 0xFF) == GE2_TYPE_STATIONARY) && (this->actor.xzDistToPlayer < 100.0f)) {
// Discovered!
osSyncPrintf(VT_FGCOL(GREEN) "発見!!!!!!!!!!!!\n" VT_RST);
EnGe2_SetupCapturePlayer(this, globalCtx);
}
}
if (!(this->stateFlags & GE2_STATE_KO)) {
paramsType = this->actor.params & 0xFF; // Not necessary, but looks a bit nicer
if ((paramsType == GE2_TYPE_PATROLLING) || (paramsType == GE2_TYPE_STATIONARY)) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
}
EnGe2_MoveAndBlink(this, globalCtx);
if (EnGe2_CheckCarpentersFreed() && !(this->stateFlags & GE2_STATE_KO)) {
this->actor.update = EnGe2_UpdateFriendly;
this->actor.targetMode = 6;
}
}
void EnGe2_UpdateStunned(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
EnGe2* this = THIS;
Collider_UpdateCylinder(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 40.0f, 25.0f, 40.0f, 5);
if ((this->collider.base.acFlags & 2) &&
((this->collider.info.acHitInfo == NULL) || !(this->collider.info.acHitInfo->toucher.dmgFlags & 0x80))) {
this->actor.colorFilterTimer = 0;
EnGe2_ChangeAction(this, GE2_ACTION_KNOCKEDOUT);
this->timer = 100;
this->stateFlags |= GE2_STATE_KO;
this->actor.speedXZ = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_VO_SK_CRASH);
}
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
if (EnGe2_CheckCarpentersFreed()) {
this->actor.update = EnGe2_UpdateFriendly;
this->actor.targetMode = 6;
this->actor.colorFilterTimer = 0;
} else if (this->actor.colorFilterTimer == 0) {
this->actor.update = EnGe2_Update;
}
}
s32 EnGe2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
EnGe2* this = THIS;
if (limbIndex == 3) {
rot->x += this->headRot.y;
rot->z += this->headRot.x;
}
return 0;
}
void EnGe2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
static Vec3f D_80A343B0 = { 600.0f, 700.0f, 0.0f };
EnGe2* this = THIS;
if (limbIndex == 6) {
Matrix_MultVec3f(&D_80A343B0, &this->actor.focus.pos);
}
}
static u64* sEyeTextures[] = {
0x06004F78, // Half-open
0x06005578, // Quarter-open
0x06005BF8, // Closed
};
void EnGe2_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGe2* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ge2.c", 1274);
func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
func_8002EBCC(&this->actor, globalCtx, 0);
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnGe2_OverrideLimbDraw, EnGe2_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ge2.c", 1291);
}

View File

@ -6,9 +6,28 @@
struct EnGe2;
typedef void (*EnGe2ActionFunc)(struct EnGe2*, GlobalContext*);
typedef struct EnGe2 {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C0];
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
/* 0x01DC */ Vec3s jointTable[22];
/* 0x0260 */ Vec3s morphTable[22];
/* 0x02E4 */ s16 eyeIndex;
/* 0x02E6 */ s16 blinkTimer;
/* 0x02E8 */ Vec3s headRot;
/* 0x02EE */ Vec3s unk_2EE;
/* 0x02F4 */ u16 stateFlags;
/* 0x02F6 */ s16 walkDirection;
/* 0x02F8 */ s16 yawTowardsPlayer;
/* 0x02FC */ f32 yDetectRange;
/* 0x0300 */ u16 walkDuration;
/* 0x0302 */ u16 walkTimer;
/* 0x0304 */ u8 unk_304;
/* 0x0305 */ u8 timer;
/* 0x0306 */ u8 playerSpottedParam;
/* 0x0308 */ EnGe2ActionFunc actionFunc;
} EnGe2; // size = 0x030C
extern const ActorInit En_Ge2_InitVars;