mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-09 05:44:26 +00:00
Merge remote-tracking branch 'upstream/master' into ovl_Eff_Dust
This commit is contained in:
commit
b8ada3cd35
46 changed files with 1020 additions and 2588 deletions
|
@ -1,17 +0,0 @@
|
|||
glabel EnHorseGameCheck_Destroy
|
||||
/* 00E40 80A68390 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00E44 80A68394 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00E48 80A68398 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 00E4C 80A6839C 3C0280A7 */ lui $v0, %hi(D_80A68504) ## $v0 = 80A70000
|
||||
/* 00E50 80A683A0 000E7880 */ sll $t7, $t6, 2
|
||||
/* 00E54 80A683A4 004F1021 */ addu $v0, $v0, $t7
|
||||
/* 00E58 80A683A8 8C428504 */ lw $v0, %lo(D_80A68504)($v0)
|
||||
/* 00E5C 80A683AC 50400004 */ beql $v0, $zero, .L80A683C0
|
||||
/* 00E60 80A683B0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00E64 80A683B4 0040F809 */ jalr $ra, $v0
|
||||
/* 00E68 80A683B8 00000000 */ nop
|
||||
/* 00E6C 80A683BC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A683C0:
|
||||
/* 00E70 80A683C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00E74 80A683C4 03E00008 */ jr $ra
|
||||
/* 00E78 80A683C8 00000000 */ nop
|
|
@ -1,7 +0,0 @@
|
|||
glabel EnHorseGameCheck_Draw
|
||||
/* 00EB8 80A68408 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00EBC 80A6840C 03E00008 */ jr $ra
|
||||
/* 00EC0 80A68410 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00EC4 80A68414 00000000 */ nop
|
||||
/* 00EC8 80A68418 00000000 */ nop
|
||||
/* 00ECC 80A6841C 00000000 */ nop
|
|
@ -1,37 +0,0 @@
|
|||
glabel EnHorseGameCheck_Init
|
||||
/* 00DC0 80A68310 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00DC4 80A68314 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00DC8 80A68318 84AE00A4 */ lh $t6, 0x00A4($a1) ## 000000A4
|
||||
/* 00DCC 80A6831C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00DD0 80A68320 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
|
||||
/* 00DD4 80A68324 15C1000D */ bne $t6, $at, .L80A6835C
|
||||
/* 00DD8 80A68328 24040018 */ addiu $a0, $zero, 0x0018 ## $a0 = 00000018
|
||||
/* 00DDC 80A6832C AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00DE0 80A68330 0C00D6D3 */ jal Flags_GetEventChkInf
|
||||
|
||||
/* 00DE4 80A68334 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00DE8 80A68338 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00DEC 80A6833C 14400005 */ bne $v0, $zero, .L80A68354
|
||||
/* 00DF0 80A68340 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00DF4 80A68344 3C0F8016 */ lui $t7, %hi(gGameInfo)
|
||||
/* 00DF8 80A68348 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
|
||||
/* 00DFC 80A6834C 85F80556 */ lh $t8, 0x0556($t7) ## 80160556
|
||||
/* 00E00 80A68350 13000002 */ beq $t8, $zero, .L80A6835C
|
||||
.L80A68354:
|
||||
/* 00E04 80A68354 24190004 */ addiu $t9, $zero, 0x0004 ## $t9 = 00000004
|
||||
/* 00E08 80A68358 A4D9001C */ sh $t9, 0x001C($a2) ## 0000001C
|
||||
.L80A6835C:
|
||||
/* 00E0C 80A6835C 84C8001C */ lh $t0, 0x001C($a2) ## 0000001C
|
||||
/* 00E10 80A68360 3C0280A7 */ lui $v0, %hi(D_80A684F0) ## $v0 = 80A70000
|
||||
/* 00E14 80A68364 00084880 */ sll $t1, $t0, 2
|
||||
/* 00E18 80A68368 00491021 */ addu $v0, $v0, $t1
|
||||
/* 00E1C 80A6836C 8C4284F0 */ lw $v0, %lo(D_80A684F0)($v0)
|
||||
/* 00E20 80A68370 50400004 */ beql $v0, $zero, .L80A68384
|
||||
/* 00E24 80A68374 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00E28 80A68378 0040F809 */ jalr $ra, $v0
|
||||
/* 00E2C 80A6837C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00E30 80A68380 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A68384:
|
||||
/* 00E34 80A68384 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00E38 80A68388 03E00008 */ jr $ra
|
||||
/* 00E3C 80A6838C 00000000 */ nop
|
|
@ -1,17 +0,0 @@
|
|||
glabel EnHorseGameCheck_Update
|
||||
/* 00E7C 80A683CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00E80 80A683D0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00E84 80A683D4 8C8E014C */ lw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 00E88 80A683D8 3C0280A7 */ lui $v0, %hi(D_80A68518) ## $v0 = 80A70000
|
||||
/* 00E8C 80A683DC 000E7880 */ sll $t7, $t6, 2
|
||||
/* 00E90 80A683E0 004F1021 */ addu $v0, $v0, $t7
|
||||
/* 00E94 80A683E4 8C428518 */ lw $v0, %lo(D_80A68518)($v0)
|
||||
/* 00E98 80A683E8 50400004 */ beql $v0, $zero, .L80A683FC
|
||||
/* 00E9C 80A683EC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00EA0 80A683F0 0040F809 */ jalr $ra, $v0
|
||||
/* 00EA4 80A683F4 00000000 */ nop
|
||||
/* 00EA8 80A683F8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A683FC:
|
||||
/* 00EAC 80A683FC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00EB0 80A68400 03E00008 */ jr $ra
|
||||
/* 00EB4 80A68404 00000000 */ nop
|
|
@ -1,60 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A68530
|
||||
.asciz "../z_en_horse_game_check.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80A68570
|
||||
.float -1650.0
|
||||
|
||||
.text
|
||||
glabel func_80A67550
|
||||
/* 00000 80A67550 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 80A67554 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 00008 80A67558 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 0000C 80A6755C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00010 80A67560 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00014 80A67564 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 00018 80A67568 AC800150 */ sw $zero, 0x0150($a0) ## 00000150
|
||||
/* 0001C 80A6756C 00801825 */ or $v1, $a0, $zero ## $v1 = 00000000
|
||||
/* 00020 80A67570 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003
|
||||
/* 00024 80A67574 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A67578:
|
||||
/* 00028 80A67578 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
|
||||
/* 0002C 80A6757C 24630004 */ addiu $v1, $v1, 0x0004 ## $v1 = 00000004
|
||||
/* 00030 80A67580 1444FFFD */ bne $v0, $a0, .L80A67578
|
||||
/* 00034 80A67584 AC600150 */ sw $zero, 0x0150($v1) ## 00000154
|
||||
/* 00038 80A67588 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0003C 80A6758C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 00040 80A67590 3C0180A7 */ lui $at, %hi(D_80A68570) ## $at = 80A70000
|
||||
/* 00044 80A67594 C4268570 */ lwc1 $f6, %lo(D_80A68570)($at)
|
||||
/* 00048 80A67598 240F4000 */ addiu $t7, $zero, 0x4000 ## $t7 = 00004000
|
||||
/* 0004C 80A6759C 24188003 */ addiu $t8, $zero, 0x8003 ## $t8 = FFFF8003
|
||||
/* 00050 80A675A0 AFB80024 */ sw $t8, 0x0024($sp)
|
||||
/* 00054 80A675A4 AFAF001C */ sw $t7, 0x001C($sp)
|
||||
/* 00058 80A675A8 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
|
||||
/* 0005C 80A675AC 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 00060 80A675B0 3C07C37A */ lui $a3, 0xC37A ## $a3 = C37A0000
|
||||
/* 00064 80A675B4 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00068 80A675B8 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 0006C 80A675BC E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00070 80A675C0 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 00074 80A675C4 E7A60014 */ swc1 $f6, 0x0014($sp)
|
||||
/* 00078 80A675C8 14400005 */ bne $v0, $zero, .L80A675E0
|
||||
/* 0007C 80A675CC AE02016C */ sw $v0, 0x016C($s0) ## 0000016C
|
||||
/* 00080 80A675D0 3C0480A7 */ lui $a0, %hi(D_80A68530) ## $a0 = 80A70000
|
||||
/* 00084 80A675D4 24848530 */ addiu $a0, $a0, %lo(D_80A68530) ## $a0 = 80A68530
|
||||
/* 00088 80A675D8 0C000B94 */ jal LogUtils_HungupThread
|
||||
/* 0008C 80A675DC 24050181 */ addiu $a1, $zero, 0x0181 ## $a1 = 00000181
|
||||
.L80A675E0:
|
||||
/* 00090 80A675E0 AE000170 */ sw $zero, 0x0170($s0) ## 00000170
|
||||
/* 00094 80A675E4 AE000178 */ sw $zero, 0x0178($s0) ## 00000178
|
||||
/* 00098 80A675E8 AE000174 */ sw $zero, 0x0174($s0) ## 00000174
|
||||
/* 0009C 80A675EC AE00017C */ sw $zero, 0x017C($s0) ## 0000017C
|
||||
/* 000A0 80A675F0 AE000180 */ sw $zero, 0x0180($s0) ## 00000180
|
||||
/* 000A4 80A675F4 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 000A8 80A675F8 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 000AC 80A675FC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 000B0 80A67600 03E00008 */ jr $ra
|
||||
/* 000B4 80A67604 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80A67608
|
||||
/* 000B8 80A67608 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 000BC 80A6760C AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 000C0 80A67610 03E00008 */ jr $ra
|
||||
/* 000C4 80A67614 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,87 +0,0 @@
|
|||
glabel func_80A67618
|
||||
/* 000C8 80A67618 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 000CC 80A6761C 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 000D0 80A67620 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 000D4 80A67624 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000D8 80A67628 AC400008 */ sw $zero, 0x0008($v0) ## 8015E668
|
||||
/* 000DC 80A6762C 8C8E0174 */ lw $t6, 0x0174($a0) ## 00000174
|
||||
/* 000E0 80A67630 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 000E4 80A67634 24090558 */ addiu $t1, $zero, 0x0558 ## $t1 = 00000558
|
||||
/* 000E8 80A67638 15C1002E */ bne $t6, $at, .L80A676F4
|
||||
/* 000EC 80A6763C 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020
|
||||
/* 000F0 80A67640 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 000F4 80A67644 00250821 */ addu $at, $at, $a1
|
||||
/* 000F8 80A67648 240F04CE */ addiu $t7, $zero, 0x04CE ## $t7 = 000004CE
|
||||
/* 000FC 80A6764C A42F1E1A */ sh $t7, 0x1E1A($at) ## 00011E1A
|
||||
/* 00100 80A67650 944313FA */ lhu $v1, 0x13FA($v0) ## 8015FA5A
|
||||
/* 00104 80A67654 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
|
||||
/* 00108 80A67658 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF
|
||||
/* 0010C 80A6765C 30780040 */ andi $t8, $v1, 0x0040 ## $t8 = 00000000
|
||||
/* 00110 80A67660 13000014 */ beq $t8, $zero, .L80A676B4
|
||||
/* 00114 80A67664 306DFFF0 */ andi $t5, $v1, 0xFFF0 ## $t5 = 00000000
|
||||
/* 00118 80A67668 3079FFF0 */ andi $t9, $v1, 0xFFF0 ## $t9 = 00000000
|
||||
/* 0011C 80A6766C 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
|
||||
/* 00120 80A67670 37290006 */ ori $t1, $t9, 0x0006 ## $t1 = 00000006
|
||||
/* 00124 80A67674 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF
|
||||
/* 00128 80A67678 01215024 */ and $t2, $t1, $at
|
||||
/* 0012C 80A6767C A44913FA */ sh $t1, 0x13FA($v0) ## 8015FA5A
|
||||
/* 00130 80A67680 354B8000 */ ori $t3, $t2, 0x8000 ## $t3 = 00008000
|
||||
/* 00134 80A67684 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00138 80A67688 A44B13FA */ sh $t3, 0x13FA($v0) ## 8015FA5A
|
||||
/* 0013C 80A6768C 00250821 */ addu $at, $at, $a1
|
||||
/* 00140 80A67690 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003
|
||||
/* 00144 80A67694 A02C1E5E */ sb $t4, 0x1E5E($at) ## 00011E5E
|
||||
/* 00148 80A67698 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 0014C 80A6769C 0C01DD7C */ jal func_800775F0
|
||||
/* 00150 80A676A0 24040042 */ addiu $a0, $zero, 0x0042 ## $a0 = 00000042
|
||||
/* 00154 80A676A4 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00158 80A676A8 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 0015C 80A676AC 10000021 */ beq $zero, $zero, .L80A67734
|
||||
/* 00160 80A676B0 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
.L80A676B4:
|
||||
/* 00164 80A676B4 35AF0004 */ ori $t7, $t5, 0x0004 ## $t7 = 00000004
|
||||
/* 00168 80A676B8 01E1C024 */ and $t8, $t7, $at
|
||||
/* 0016C 80A676BC A44F13FA */ sh $t7, 0x13FA($v0) ## 8015FA5A
|
||||
/* 00170 80A676C0 37198000 */ ori $t9, $t8, 0x8000 ## $t9 = 00008000
|
||||
/* 00174 80A676C4 A45913FA */ sh $t9, 0x13FA($v0) ## 8015FA5A
|
||||
/* 00178 80A676C8 24040042 */ addiu $a0, $zero, 0x0042 ## $a0 = 00000042
|
||||
/* 0017C 80A676CC 0C01DD7C */ jal func_800775F0
|
||||
/* 00180 80A676D0 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00184 80A676D4 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00188 80A676D8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0018C 80A676DC 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00190 80A676E0 2408002E */ addiu $t0, $zero, 0x002E ## $t0 = 0000002E
|
||||
/* 00194 80A676E4 00250821 */ addu $at, $at, $a1
|
||||
/* 00198 80A676E8 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 0019C 80A676EC 10000011 */ beq $zero, $zero, .L80A67734
|
||||
/* 001A0 80A676F0 A0281E5E */ sb $t0, 0x1E5E($at) ## 00011E5E
|
||||
.L80A676F4:
|
||||
/* 001A4 80A676F4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 001A8 80A676F8 00250821 */ addu $at, $at, $a1
|
||||
/* 001AC 80A676FC A4291E1A */ sh $t1, 0x1E1A($at) ## 00011E1A
|
||||
/* 001B0 80A67700 944A13FA */ lhu $t2, 0x13FA($v0) ## 8015FA5A
|
||||
/* 001B4 80A67704 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 001B8 80A67708 00250821 */ addu $at, $at, $a1
|
||||
/* 001BC 80A6770C 314BFFF0 */ andi $t3, $t2, 0xFFF0 ## $t3 = 00000000
|
||||
/* 001C0 80A67710 356C0003 */ ori $t4, $t3, 0x0003 ## $t4 = 00000003
|
||||
/* 001C4 80A67714 A44C13FA */ sh $t4, 0x13FA($v0) ## 8015FA5A
|
||||
/* 001C8 80A67718 A02D1E5E */ sb $t5, 0x1E5E($at) ## 00011E5E
|
||||
/* 001CC 80A6771C 944E13FA */ lhu $t6, 0x13FA($v0) ## 8015FA5A
|
||||
/* 001D0 80A67720 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000
|
||||
/* 001D4 80A67724 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF
|
||||
/* 001D8 80A67728 01C17824 */ and $t7, $t6, $at
|
||||
/* 001DC 80A6772C 35F88000 */ ori $t8, $t7, 0x8000 ## $t8 = 00008000
|
||||
/* 001E0 80A67730 A45813FA */ sh $t8, 0x13FA($v0) ## 8015FA5A
|
||||
.L80A67734:
|
||||
/* 001E4 80A67734 3C198016 */ lui $t9, %hi(gGameInfo)
|
||||
/* 001E8 80A67738 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
|
||||
/* 001EC 80A6773C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 001F0 80A67740 00250821 */ addu $at, $at, $a1
|
||||
/* 001F4 80A67744 24080014 */ addiu $t0, $zero, 0x0014 ## $t0 = 00000014
|
||||
/* 001F8 80A67748 A7200586 */ sh $zero, 0x0586($t9) ## 80160586
|
||||
/* 001FC 80A6774C A0281E15 */ sb $t0, 0x1E15($at) ## 00011E15
|
||||
/* 00200 80A67750 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00204 80A67754 A44013CE */ sh $zero, 0x13CE($v0) ## 8015FA2E
|
||||
/* 00208 80A67758 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0020C 80A6775C 03E00008 */ jr $ra
|
||||
/* 00210 80A67760 00000000 */ nop
|
|
@ -1,321 +0,0 @@
|
|||
glabel func_80A67764
|
||||
/* 00214 80A67764 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00218 80A67768 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 0021C 80A6776C AFB40038 */ sw $s4, 0x0038($sp)
|
||||
/* 00220 80A67770 AFB30034 */ sw $s3, 0x0034($sp)
|
||||
/* 00224 80A67774 AFB20030 */ sw $s2, 0x0030($sp)
|
||||
/* 00228 80A67778 AFB1002C */ sw $s1, 0x002C($sp)
|
||||
/* 0022C 80A6777C AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00230 80A67780 F7B40020 */ sdc1 $f20, 0x0020($sp)
|
||||
/* 00234 80A67784 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00238 80A67788 8C830170 */ lw $v1, 0x0170($a0) ## 00000170
|
||||
/* 0023C 80A6778C 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
|
||||
/* 00240 80A67790 8CB41C44 */ lw $s4, 0x1C44($a1) ## 00001C44
|
||||
/* 00244 80A67794 28610033 */ slti $at, $v1, 0x0033
|
||||
/* 00248 80A67798 5420000B */ bnel $at, $zero, .L80A677C8
|
||||
/* 0024C 80A6779C 28610051 */ slti $at, $v1, 0x0051
|
||||
/* 00250 80A677A0 8C820150 */ lw $v0, 0x0150($a0) ## 00000150
|
||||
/* 00254 80A677A4 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000
|
||||
/* 00258 80A677A8 15E00006 */ bne $t7, $zero, .L80A677C4
|
||||
/* 0025C 80A677AC 34580002 */ ori $t8, $v0, 0x0002 ## $t8 = 00000002
|
||||
/* 00260 80A677B0 AC980150 */ sw $t8, 0x0150($a0) ## 00000150
|
||||
/* 00264 80A677B4 0C0222CD */ jal func_80088B34
|
||||
/* 00268 80A677B8 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 0026C 80A677BC 10000029 */ beq $zero, $zero, .L80A67864
|
||||
/* 00270 80A677C0 8E430170 */ lw $v1, 0x0170($s2) ## 00000170
|
||||
.L80A677C4:
|
||||
/* 00274 80A677C4 28610051 */ slti $at, $v1, 0x0051
|
||||
.L80A677C8:
|
||||
/* 00278 80A677C8 5420000F */ bnel $at, $zero, .L80A67808
|
||||
/* 0027C 80A677CC 28610052 */ slti $at, $v1, 0x0052
|
||||
/* 00280 80A677D0 8E990440 */ lw $t9, 0x0440($s4) ## 00000440
|
||||
/* 00284 80A677D4 5320000C */ beql $t9, $zero, .L80A67808
|
||||
/* 00288 80A677D8 28610052 */ slti $at, $v1, 0x0052
|
||||
/* 0028C 80A677DC 8E420150 */ lw $v0, 0x0150($s2) ## 00000150
|
||||
/* 00290 80A677E0 30480001 */ andi $t0, $v0, 0x0001 ## $t0 = 00000000
|
||||
/* 00294 80A677E4 15000007 */ bne $t0, $zero, .L80A67804
|
||||
/* 00298 80A677E8 34490001 */ ori $t1, $v0, 0x0001 ## $t1 = 00000001
|
||||
/* 0029C 80A677EC AE490150 */ sw $t1, 0x0150($s2) ## 00000150
|
||||
/* 002A0 80A677F0 8E840440 */ lw $a0, 0x0440($s4) ## 00000440
|
||||
/* 002A4 80A677F4 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001
|
||||
/* 002A8 80A677F8 AC930388 */ sw $s3, 0x0388($a0) ## 00000388
|
||||
/* 002AC 80A677FC 10000019 */ beq $zero, $zero, .L80A67864
|
||||
/* 002B0 80A67800 8E430170 */ lw $v1, 0x0170($s2) ## 00000170
|
||||
.L80A67804:
|
||||
/* 002B4 80A67804 28610052 */ slti $at, $v1, 0x0052
|
||||
.L80A67808:
|
||||
/* 002B8 80A67808 54200017 */ bnel $at, $zero, .L80A67868
|
||||
/* 002BC 80A6780C 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
|
||||
/* 002C0 80A67810 8E4A0150 */ lw $t2, 0x0150($s2) ## 00000150
|
||||
/* 002C4 80A67814 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001
|
||||
/* 002C8 80A67818 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835
|
||||
/* 002CC 80A6781C 314B0004 */ andi $t3, $t2, 0x0004 ## $t3 = 00000000
|
||||
/* 002D0 80A67820 15600010 */ bne $t3, $zero, .L80A67864
|
||||
/* 002D4 80A67824 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 002D8 80A67828 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C
|
||||
/* 002DC 80A6782C 3C0E8013 */ lui $t6, %hi(D_801333E0)
|
||||
/* 002E0 80A67830 3C0F8013 */ lui $t7, %hi(D_801333E8)
|
||||
/* 002E4 80A67834 AC530388 */ sw $s3, 0x0388($v0) ## 00000388
|
||||
/* 002E8 80A67838 8E4C0150 */ lw $t4, 0x0150($s2) ## 00000150
|
||||
/* 002EC 80A6783C 25EF33E8 */ addiu $t7, %lo(D_801333E8)
|
||||
/* 002F0 80A67840 25C733E0 */ addiu $a3, $t6, %lo(D_801333E0)
|
||||
/* 002F4 80A67844 358D0004 */ ori $t5, $t4, 0x0004 ## $t5 = 00000004
|
||||
/* 002F8 80A67848 AE4D0150 */ sw $t5, 0x0150($s2) ## 00000150
|
||||
/* 002FC 80A6784C AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 00300 80A67850 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 00304 80A67854 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 00308 80A67858 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 0030C 80A6785C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 00310 80A67860 8E430170 */ lw $v1, 0x0170($s2) ## 00000170
|
||||
.L80A67864:
|
||||
/* 00314 80A67864 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
|
||||
.L80A67868:
|
||||
/* 00318 80A67868 24780001 */ addiu $t8, $v1, 0x0001 ## $t8 = 00000001
|
||||
/* 0031C 80A6786C 3C1180A7 */ lui $s1, %hi(D_80A68440) ## $s1 = 80A70000
|
||||
/* 00320 80A67870 4481A000 */ mtc1 $at, $f20 ## $f20 = 400.00
|
||||
/* 00324 80A67874 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001
|
||||
/* 00328 80A67878 AE580170 */ sw $t8, 0x0170($s2) ## 00000170
|
||||
/* 0032C 80A6787C 26318440 */ addiu $s1, $s1, %lo(D_80A68440) ## $s1 = 80A68440
|
||||
/* 00330 80A67880 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
.L80A67884:
|
||||
/* 00334 80A67884 8E820440 */ lw $v0, 0x0440($s4) ## 00000440
|
||||
/* 00338 80A67888 02202025 */ or $a0, $s1, $zero ## $a0 = 80A68440
|
||||
/* 0033C 80A6788C 50400014 */ beql $v0, $zero, .L80A678E0
|
||||
/* 00340 80A67890 8E45016C */ lw $a1, 0x016C($s2) ## 0000016C
|
||||
/* 00344 80A67894 0C032D9E */ jal Math3D_Vec3f_DistXYZ
|
||||
/* 00348 80A67898 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024
|
||||
/* 0034C 80A6789C 4614003C */ c.lt.s $f0, $f20
|
||||
/* 00350 80A678A0 00000000 */ nop
|
||||
/* 00354 80A678A4 4502000E */ bc1fl .L80A678E0
|
||||
/* 00358 80A678A8 8E45016C */ lw $a1, 0x016C($s2) ## 0000016C
|
||||
/* 0035C 80A678AC 1A000007 */ blez $s0, .L80A678CC
|
||||
/* 00360 80A678B0 0010C880 */ sll $t9, $s0, 2
|
||||
/* 00364 80A678B4 02591021 */ addu $v0, $s2, $t9
|
||||
/* 00368 80A678B8 8C480150 */ lw $t0, 0x0150($v0) ## 00000150
|
||||
/* 0036C 80A678BC 16680003 */ bne $s3, $t0, .L80A678CC
|
||||
/* 00370 80A678C0 00000000 */ nop
|
||||
/* 00374 80A678C4 10000005 */ beq $zero, $zero, .L80A678DC
|
||||
/* 00378 80A678C8 AC530154 */ sw $s3, 0x0154($v0) ## 00000154
|
||||
.L80A678CC:
|
||||
/* 0037C 80A678CC 16000003 */ bne $s0, $zero, .L80A678DC
|
||||
/* 00380 80A678D0 00104880 */ sll $t1, $s0, 2
|
||||
/* 00384 80A678D4 02495021 */ addu $t2, $s2, $t1
|
||||
/* 00388 80A678D8 AD530154 */ sw $s3, 0x0154($t2) ## 00000154
|
||||
.L80A678DC:
|
||||
/* 0038C 80A678DC 8E45016C */ lw $a1, 0x016C($s2) ## 0000016C
|
||||
.L80A678E0:
|
||||
/* 00390 80A678E0 02202025 */ or $a0, $s1, $zero ## $a0 = 80A68440
|
||||
/* 00394 80A678E4 0C032D9E */ jal Math3D_Vec3f_DistXYZ
|
||||
/* 00398 80A678E8 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 0039C 80A678EC 4614003C */ c.lt.s $f0, $f20
|
||||
/* 003A0 80A678F0 00000000 */ nop
|
||||
/* 003A4 80A678F4 4502000E */ bc1fl .L80A67930
|
||||
/* 003A8 80A678F8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 003AC 80A678FC 1A000007 */ blez $s0, .L80A6791C
|
||||
/* 003B0 80A67900 00105880 */ sll $t3, $s0, 2
|
||||
/* 003B4 80A67904 024B1021 */ addu $v0, $s2, $t3
|
||||
/* 003B8 80A67908 8C4C015C */ lw $t4, 0x015C($v0) ## 0000015C
|
||||
/* 003BC 80A6790C 166C0003 */ bne $s3, $t4, .L80A6791C
|
||||
/* 003C0 80A67910 00000000 */ nop
|
||||
/* 003C4 80A67914 10000005 */ beq $zero, $zero, .L80A6792C
|
||||
/* 003C8 80A67918 AC530160 */ sw $s3, 0x0160($v0) ## 00000160
|
||||
.L80A6791C:
|
||||
/* 003CC 80A6791C 16000003 */ bne $s0, $zero, .L80A6792C
|
||||
/* 003D0 80A67920 00106880 */ sll $t5, $s0, 2
|
||||
/* 003D4 80A67924 024D7021 */ addu $t6, $s2, $t5
|
||||
/* 003D8 80A67928 ADD30160 */ sw $s3, 0x0160($t6) ## 00000160
|
||||
.L80A6792C:
|
||||
/* 003DC 80A6792C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002
|
||||
.L80A67930:
|
||||
/* 003E0 80A67930 2A010003 */ slti $at, $s0, 0x0003
|
||||
/* 003E4 80A67934 1420FFD3 */ bne $at, $zero, .L80A67884
|
||||
/* 003E8 80A67938 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 80A6844C
|
||||
/* 003EC 80A6793C 8E4F0174 */ lw $t7, 0x0174($s2) ## 00000174
|
||||
/* 003F0 80A67940 55E00095 */ bnel $t7, $zero, .L80A67B98
|
||||
/* 003F4 80A67944 8E420178 */ lw $v0, 0x0178($s2) ## 00000178
|
||||
/* 003F8 80A67948 8E820440 */ lw $v0, 0x0440($s4) ## 00000440
|
||||
/* 003FC 80A6794C 5040002D */ beql $v0, $zero, .L80A67A04
|
||||
/* 00400 80A67950 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C
|
||||
/* 00404 80A67954 8E58015C */ lw $t8, 0x015C($s2) ## 0000015C
|
||||
/* 00408 80A67958 3C0380A7 */ lui $v1, %hi(D_80A68464) ## $v1 = 80A70000
|
||||
/* 0040C 80A6795C 24638464 */ addiu $v1, $v1, %lo(D_80A68464) ## $v1 = 80A68464
|
||||
/* 00410 80A67960 56780028 */ bnel $s3, $t8, .L80A67A04
|
||||
/* 00414 80A67964 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C
|
||||
/* 00418 80A67968 C4440024 */ lwc1 $f4, 0x0024($v0) ## 00000024
|
||||
/* 0041C 80A6796C C46C0000 */ lwc1 $f12, 0x0000($v1) ## 80A68464
|
||||
/* 00420 80A67970 C46E0004 */ lwc1 $f14, 0x0004($v1) ## 80A68468
|
||||
/* 00424 80A67974 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00428 80A67978 C446002C */ lwc1 $f6, 0x002C($v0) ## 0000002C
|
||||
/* 0042C 80A6797C 8C660008 */ lw $a2, 0x0008($v1) ## 80A6846C
|
||||
/* 00430 80A67980 8C67000C */ lw $a3, 0x000C($v1) ## 80A68470
|
||||
/* 00434 80A67984 0C032C66 */ jal Math3D_PointInSquare2D
|
||||
/* 00438 80A67988 E7A60014 */ swc1 $f6, 0x0014($sp)
|
||||
/* 0043C 80A6798C 5040001D */ beql $v0, $zero, .L80A67A04
|
||||
/* 00440 80A67990 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C
|
||||
/* 00444 80A67994 8E59017C */ lw $t9, 0x017C($s2) ## 0000017C
|
||||
/* 00448 80A67998 240A0037 */ addiu $t2, $zero, 0x0037 ## $t2 = 00000037
|
||||
/* 0044C 80A6799C 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041
|
||||
/* 00450 80A679A0 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
|
||||
/* 00454 80A679A4 1900000F */ blez $t0, .L80A679E4
|
||||
/* 00458 80A679A8 AE48017C */ sw $t0, 0x017C($s2) ## 0000017C
|
||||
/* 0045C 80A679AC AE530174 */ sw $s3, 0x0174($s2) ## 00000174
|
||||
/* 00460 80A679B0 0C03E803 */ jal Audio_SetBGM
|
||||
|
||||
/* 00464 80A679B4 AE4A0178 */ sw $t2, 0x0178($s2) ## 00000178
|
||||
/* 00468 80A679B8 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 0046C 80A679BC 3C0B8013 */ lui $t3, %hi(D_801333E8)
|
||||
/* 00470 80A679C0 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 00474 80A679C4 256B33E8 */ addiu $t3, %lo(D_801333E8)
|
||||
/* 00478 80A679C8 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 0047C 80A679CC 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 00480 80A679D0 AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 00484 80A679D4 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 00488 80A679D8 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835
|
||||
/* 0048C 80A679DC 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 00490 80A679E0 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
.L80A679E4:
|
||||
/* 00494 80A679E4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00498 80A679E8 02401025 */ or $v0, $s2, $zero ## $v0 = 00000000
|
||||
/* 0049C 80A679EC 24110003 */ addiu $s1, $zero, 0x0003 ## $s1 = 00000003
|
||||
.L80A679F0:
|
||||
/* 004A0 80A679F0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 004A4 80A679F4 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000004
|
||||
/* 004A8 80A679F8 1611FFFD */ bne $s0, $s1, .L80A679F0
|
||||
/* 004AC 80A679FC AC400150 */ sw $zero, 0x0150($v0) ## 00000154
|
||||
/* 004B0 80A67A00 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C
|
||||
.L80A67A04:
|
||||
/* 004B4 80A67A04 3C0380A7 */ lui $v1, %hi(D_80A68464) ## $v1 = 80A70000
|
||||
/* 004B8 80A67A08 24638464 */ addiu $v1, $v1, %lo(D_80A68464) ## $v1 = 80A68464
|
||||
/* 004BC 80A67A0C 1040002F */ beq $v0, $zero, .L80A67ACC
|
||||
/* 004C0 80A67A10 24110003 */ addiu $s1, $zero, 0x0003 ## $s1 = 00000003
|
||||
/* 004C4 80A67A14 8E4C0168 */ lw $t4, 0x0168($s2) ## 00000168
|
||||
/* 004C8 80A67A18 566C002D */ bnel $s3, $t4, .L80A67AD0
|
||||
/* 004CC 80A67A1C 8E820440 */ lw $v0, 0x0440($s4) ## 00000440
|
||||
/* 004D0 80A67A20 C4480024 */ lwc1 $f8, 0x0024($v0) ## 00000028
|
||||
/* 004D4 80A67A24 C46C0000 */ lwc1 $f12, 0x0000($v1) ## 80A68464
|
||||
/* 004D8 80A67A28 C46E0004 */ lwc1 $f14, 0x0004($v1) ## 80A68468
|
||||
/* 004DC 80A67A2C E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 004E0 80A67A30 C44A002C */ lwc1 $f10, 0x002C($v0) ## 00000030
|
||||
/* 004E4 80A67A34 8C660008 */ lw $a2, 0x0008($v1) ## 80A6846C
|
||||
/* 004E8 80A67A38 8C67000C */ lw $a3, 0x000C($v1) ## 80A68470
|
||||
/* 004EC 80A67A3C 0C032C66 */ jal Math3D_PointInSquare2D
|
||||
/* 004F0 80A67A40 E7AA0014 */ swc1 $f10, 0x0014($sp)
|
||||
/* 004F4 80A67A44 50400022 */ beql $v0, $zero, .L80A67AD0
|
||||
/* 004F8 80A67A48 8E820440 */ lw $v0, 0x0440($s4) ## 00000440
|
||||
/* 004FC 80A67A4C 8E4D0180 */ lw $t5, 0x0180($s2) ## 00000180
|
||||
/* 00500 80A67A50 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
|
||||
/* 00504 80A67A54 24190046 */ addiu $t9, $zero, 0x0046 ## $t9 = 00000046
|
||||
/* 00508 80A67A58 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
|
||||
/* 0050C 80A67A5C 19C00015 */ blez $t6, .L80A67AB4
|
||||
/* 00510 80A67A60 AE4E0180 */ sw $t6, 0x0180($s2) ## 00000180
|
||||
/* 00514 80A67A64 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C
|
||||
/* 00518 80A67A68 AE580174 */ sw $t8, 0x0174($s2) ## 00000174
|
||||
/* 0051C 80A67A6C AE590178 */ sw $t9, 0x0178($s2) ## 00000178
|
||||
/* 00520 80A67A70 8C4801F0 */ lw $t0, 0x01F0($v0) ## 000001F0
|
||||
/* 00524 80A67A74 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
||||
/* 00528 80A67A78 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041
|
||||
/* 0052C 80A67A7C 01014825 */ or $t1, $t0, $at ## $t1 = 00800000
|
||||
/* 00530 80A67A80 0C03E803 */ jal Audio_SetBGM
|
||||
|
||||
/* 00534 80A67A84 AC4901F0 */ sw $t1, 0x01F0($v0) ## 000001F0
|
||||
/* 00538 80A67A88 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 0053C 80A67A8C 3C0A8013 */ lui $t2, %hi(D_801333E8)
|
||||
/* 00540 80A67A90 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 00544 80A67A94 254A33E8 */ addiu $t2, %lo(D_801333E8)
|
||||
/* 00548 80A67A98 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 0054C 80A67A9C 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 00550 80A67AA0 AFAA0014 */ sw $t2, 0x0014($sp)
|
||||
/* 00554 80A67AA4 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 00558 80A67AA8 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835
|
||||
/* 0055C 80A67AAC 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 00560 80A67AB0 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
.L80A67AB4:
|
||||
/* 00564 80A67AB4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00568 80A67AB8 02401025 */ or $v0, $s2, $zero ## $v0 = 00000000
|
||||
.L80A67ABC:
|
||||
/* 0056C 80A67ABC 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00570 80A67AC0 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000004
|
||||
/* 00574 80A67AC4 1611FFFD */ bne $s0, $s1, .L80A67ABC
|
||||
/* 00578 80A67AC8 AC40015C */ sw $zero, 0x015C($v0) ## 00000160
|
||||
.L80A67ACC:
|
||||
/* 0057C 80A67ACC 8E820440 */ lw $v0, 0x0440($s4) ## 00000440
|
||||
.L80A67AD0:
|
||||
/* 00580 80A67AD0 3C1080A7 */ lui $s0, %hi(D_80A68474) ## $s0 = 80A70000
|
||||
/* 00584 80A67AD4 26108474 */ addiu $s0, $s0, %lo(D_80A68474) ## $s0 = 80A68474
|
||||
/* 00588 80A67AD8 5040000D */ beql $v0, $zero, .L80A67B10
|
||||
/* 0058C 80A67ADC C6840024 */ lwc1 $f4, 0x0024($s4) ## 00000024
|
||||
/* 00590 80A67AE0 C4500024 */ lwc1 $f16, 0x0024($v0) ## 00000028
|
||||
/* 00594 80A67AE4 C60C0000 */ lwc1 $f12, 0x0000($s0) ## 80A68474
|
||||
/* 00598 80A67AE8 C60E0004 */ lwc1 $f14, 0x0004($s0) ## 80A68478
|
||||
/* 0059C 80A67AEC E7B00010 */ swc1 $f16, 0x0010($sp)
|
||||
/* 005A0 80A67AF0 C452002C */ lwc1 $f18, 0x002C($v0) ## 00000030
|
||||
/* 005A4 80A67AF4 8E060008 */ lw $a2, 0x0008($s0) ## 80A6847C
|
||||
/* 005A8 80A67AF8 8E07000C */ lw $a3, 0x000C($s0) ## 80A68480
|
||||
/* 005AC 80A67AFC 0C032C66 */ jal Math3D_PointInSquare2D
|
||||
/* 005B0 80A67B00 E7B20014 */ swc1 $f18, 0x0014($sp)
|
||||
/* 005B4 80A67B04 1440000E */ bne $v0, $zero, .L80A67B40
|
||||
/* 005B8 80A67B08 00000000 */ nop
|
||||
/* 005BC 80A67B0C C6840024 */ lwc1 $f4, 0x0024($s4) ## 00000024
|
||||
.L80A67B10:
|
||||
/* 005C0 80A67B10 3C1080A7 */ lui $s0, %hi(D_80A68474) ## $s0 = 80A70000
|
||||
/* 005C4 80A67B14 26108474 */ addiu $s0, $s0, %lo(D_80A68474) ## $s0 = 80A68474
|
||||
/* 005C8 80A67B18 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 005CC 80A67B1C C686002C */ lwc1 $f6, 0x002C($s4) ## 0000002C
|
||||
/* 005D0 80A67B20 C60C0000 */ lwc1 $f12, 0x0000($s0) ## 80A68474
|
||||
/* 005D4 80A67B24 C60E0004 */ lwc1 $f14, 0x0004($s0) ## 80A68478
|
||||
/* 005D8 80A67B28 8E060008 */ lw $a2, 0x0008($s0) ## 80A6847C
|
||||
/* 005DC 80A67B2C 8E07000C */ lw $a3, 0x000C($s0) ## 80A68480
|
||||
/* 005E0 80A67B30 0C032C66 */ jal Math3D_PointInSquare2D
|
||||
/* 005E4 80A67B34 E7A60014 */ swc1 $f6, 0x0014($sp)
|
||||
/* 005E8 80A67B38 10400007 */ beq $v0, $zero, .L80A67B58
|
||||
/* 005EC 80A67B3C 00000000 */ nop
|
||||
.L80A67B40:
|
||||
/* 005F0 80A67B40 0C03E803 */ jal Audio_SetBGM
|
||||
|
||||
/* 005F4 80A67B44 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041
|
||||
/* 005F8 80A67B48 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
|
||||
/* 005FC 80A67B4C 240C0014 */ addiu $t4, $zero, 0x0014 ## $t4 = 00000014
|
||||
/* 00600 80A67B50 AE4B0174 */ sw $t3, 0x0174($s2) ## 00000174
|
||||
/* 00604 80A67B54 AE4C0178 */ sw $t4, 0x0178($s2) ## 00000178
|
||||
.L80A67B58:
|
||||
/* 00608 80A67B58 3C0D8016 */ lui $t5, %hi(gSaveContext+0x13d0)
|
||||
/* 0060C 80A67B5C 85ADFA30 */ lh $t5, %lo(gSaveContext+0x13d0)($t5)
|
||||
/* 00610 80A67B60 29A100B4 */ slti $at, $t5, 0x00B4
|
||||
/* 00614 80A67B64 54200014 */ bnel $at, $zero, .L80A67BB8
|
||||
/* 00618 80A67B68 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 0061C 80A67B6C 8E4E0150 */ lw $t6, 0x0150($s2) ## 00000150
|
||||
/* 00620 80A67B70 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
|
||||
/* 00624 80A67B74 51E00010 */ beql $t7, $zero, .L80A67BB8
|
||||
/* 00628 80A67B78 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 0062C 80A67B7C 0C03E803 */ jal Audio_SetBGM
|
||||
|
||||
/* 00630 80A67B80 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041
|
||||
/* 00634 80A67B84 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
|
||||
/* 00638 80A67B88 AE510174 */ sw $s1, 0x0174($s2) ## 00000174
|
||||
/* 0063C 80A67B8C 10000009 */ beq $zero, $zero, .L80A67BB4
|
||||
/* 00640 80A67B90 AE580178 */ sw $t8, 0x0178($s2) ## 00000178
|
||||
/* 00644 80A67B94 8E420178 */ lw $v0, 0x0178($s2) ## 00000178
|
||||
.L80A67B98:
|
||||
/* 00648 80A67B98 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 0064C 80A67B9C 18400003 */ blez $v0, .L80A67BAC
|
||||
/* 00650 80A67BA0 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 00654 80A67BA4 10000003 */ beq $zero, $zero, .L80A67BB4
|
||||
/* 00658 80A67BA8 AE590178 */ sw $t9, 0x0178($s2) ## 00000178
|
||||
.L80A67BAC:
|
||||
/* 0065C 80A67BAC 0C299D86 */ jal func_80A67618
|
||||
/* 00660 80A67BB0 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
.L80A67BB4:
|
||||
/* 00664 80A67BB4 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
.L80A67BB8:
|
||||
/* 00668 80A67BB8 D7B40020 */ ldc1 $f20, 0x0020($sp)
|
||||
/* 0066C 80A67BBC 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00670 80A67BC0 8FB1002C */ lw $s1, 0x002C($sp)
|
||||
/* 00674 80A67BC4 8FB20030 */ lw $s2, 0x0030($sp)
|
||||
/* 00678 80A67BC8 8FB30034 */ lw $s3, 0x0034($sp)
|
||||
/* 0067C 80A67BCC 8FB40038 */ lw $s4, 0x0038($sp)
|
||||
/* 00680 80A67BD0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00684 80A67BD4 03E00008 */ jr $ra
|
||||
/* 00688 80A67BD8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,8 +0,0 @@
|
|||
glabel func_80A67BDC
|
||||
/* 0068C 80A67BDC AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00690 80A67BE0 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 00694 80A67BE4 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 00698 80A67BE8 AC800150 */ sw $zero, 0x0150($a0) ## 00000150
|
||||
/* 0069C 80A67BEC AC800154 */ sw $zero, 0x0154($a0) ## 00000154
|
||||
/* 006A0 80A67BF0 03E00008 */ jr $ra
|
||||
/* 006A4 80A67BF4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80A67BF8
|
||||
/* 006A8 80A67BF8 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 006AC 80A67BFC AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 006B0 80A67C00 03E00008 */ jr $ra
|
||||
/* 006B4 80A67C04 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,22 +0,0 @@
|
|||
glabel func_80A67C08
|
||||
/* 006B8 80A67C08 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 006BC 80A67C0C 8C430440 */ lw $v1, 0x0440($v0) ## 00000440
|
||||
/* 006C0 80A67C10 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 006C4 80A67C14 54600004 */ bnel $v1, $zero, .L80A67C28
|
||||
/* 006C8 80A67C18 8C860154 */ lw $a2, 0x0154($a0) ## 00000154
|
||||
/* 006CC 80A67C1C 03E00008 */ jr $ra
|
||||
/* 006D0 80A67C20 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80A67C24:
|
||||
/* 006D4 80A67C24 8C860154 */ lw $a2, 0x0154($a0) ## 00000154
|
||||
.L80A67C28:
|
||||
/* 006D8 80A67C28 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 006DC 80A67C2C 2CC1005B */ sltiu $at, $a2, 0x005B
|
||||
/* 006E0 80A67C30 54200004 */ bnel $at, $zero, .L80A67C44
|
||||
/* 006E4 80A67C34 24CF0001 */ addiu $t7, $a2, 0x0001 ## $t7 = 00000001
|
||||
/* 006E8 80A67C38 AC6E03A0 */ sw $t6, 0x03A0($v1) ## 000003A0
|
||||
/* 006EC 80A67C3C 8C860154 */ lw $a2, 0x0154($a0) ## 00000154
|
||||
/* 006F0 80A67C40 24CF0001 */ addiu $t7, $a2, 0x0001 ## $t7 = 00000001
|
||||
.L80A67C44:
|
||||
/* 006F4 80A67C44 AC8F0154 */ sw $t7, 0x0154($a0) ## 00000154
|
||||
/* 006F8 80A67C48 03E00008 */ jr $ra
|
||||
/* 006FC 80A67C4C 00000000 */ nop
|
|
@ -1,7 +0,0 @@
|
|||
glabel func_80A67C50
|
||||
/* 00700 80A67C50 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00704 80A67C54 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
|
||||
/* 00708 80A67C58 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 0070C 80A67C5C AC800150 */ sw $zero, 0x0150($a0) ## 00000150
|
||||
/* 00710 80A67C60 03E00008 */ jr $ra
|
||||
/* 00714 80A67C64 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80A67C68
|
||||
/* 00718 80A67C68 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 0071C 80A67C6C AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00720 80A67C70 03E00008 */ jr $ra
|
||||
/* 00724 80A67C74 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80A67C78
|
||||
/* 00728 80A67C78 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 0072C 80A67C7C AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00730 80A67C80 03E00008 */ jr $ra
|
||||
/* 00734 80A67C84 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,21 +0,0 @@
|
|||
glabel func_80A67C88
|
||||
/* 00738 80A67C88 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 0073C 80A67C8C 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
|
||||
/* 00740 80A67C90 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
|
||||
/* 00744 80A67C94 AC800154 */ sw $zero, 0x0154($a0) ## 00000154
|
||||
/* 00748 80A67C98 AC800198 */ sw $zero, 0x0198($a0) ## 00000198
|
||||
/* 0074C 80A67C9C AC80019C */ sw $zero, 0x019C($a0) ## 0000019C
|
||||
/* 00750 80A67CA0 24050010 */ addiu $a1, $zero, 0x0010 ## $a1 = 00000010
|
||||
/* 00754 80A67CA4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00758 80A67CA8 00801825 */ or $v1, $a0, $zero ## $v1 = 00000000
|
||||
.L80A67CAC:
|
||||
/* 0075C 80A67CAC 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000004
|
||||
/* 00760 80A67CB0 AC60015C */ sw $zero, 0x015C($v1) ## 0000015C
|
||||
/* 00764 80A67CB4 AC600160 */ sw $zero, 0x0160($v1) ## 00000160
|
||||
/* 00768 80A67CB8 AC600164 */ sw $zero, 0x0164($v1) ## 00000164
|
||||
/* 0076C 80A67CBC 24630010 */ addiu $v1, $v1, 0x0010 ## $v1 = 00000010
|
||||
/* 00770 80A67CC0 1445FFFA */ bne $v0, $a1, .L80A67CAC
|
||||
/* 00774 80A67CC4 AC600148 */ sw $zero, 0x0148($v1) ## 00000158
|
||||
/* 00778 80A67CC8 AC8001A0 */ sw $zero, 0x01A0($a0) ## 000001A0
|
||||
/* 0077C 80A67CCC 03E00008 */ jr $ra
|
||||
/* 00780 80A67CD0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_80A67CD4
|
||||
/* 00784 80A67CD4 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00788 80A67CD8 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 0078C 80A67CDC 03E00008 */ jr $ra
|
||||
/* 00790 80A67CE0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,82 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A6854C
|
||||
.asciz "En_HGC_Spot20_Ta_end():対応せず\n"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80A67CE4
|
||||
/* 00794 80A67CE4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00798 80A67CE8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0079C 80A67CEC 8C82019C */ lw $v0, 0x019C($a0) ## 0000019C
|
||||
/* 007A0 80A67CF0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 007A4 80A67CF4 240E04CE */ addiu $t6, $zero, 0x04CE ## $t6 = 000004CE
|
||||
/* 007A8 80A67CF8 10410004 */ beq $v0, $at, .L80A67D0C
|
||||
/* 007AC 80A67CFC 240F002E */ addiu $t7, $zero, 0x002E ## $t7 = 0000002E
|
||||
/* 007B0 80A67D00 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 007B4 80A67D04 54410010 */ bnel $v0, $at, .L80A67D48
|
||||
/* 007B8 80A67D08 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
.L80A67D0C:
|
||||
/* 007BC 80A67D0C 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 007C0 80A67D10 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 007C4 80A67D14 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 007C8 80A67D18 AC400008 */ sw $zero, 0x0008($v0) ## 8015E668
|
||||
/* 007CC 80A67D1C 00250821 */ addu $at, $at, $a1
|
||||
/* 007D0 80A67D20 A42E1E1A */ sh $t6, 0x1E1A($at) ## 00011E1A
|
||||
/* 007D4 80A67D24 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 007D8 80A67D28 00250821 */ addu $at, $at, $a1
|
||||
/* 007DC 80A67D2C A02F1E5E */ sb $t7, 0x1E5E($at) ## 00011E5E
|
||||
/* 007E0 80A67D30 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 007E4 80A67D34 00250821 */ addu $at, $at, $a1
|
||||
/* 007E8 80A67D38 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
|
||||
/* 007EC 80A67D3C 1000002B */ beq $zero, $zero, .L80A67DEC
|
||||
/* 007F0 80A67D40 A0381E15 */ sb $t8, 0x1E15($at) ## 00011E15
|
||||
/* 007F4 80A67D44 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
.L80A67D48:
|
||||
/* 007F8 80A67D48 14410014 */ bne $v0, $at, .L80A67D9C
|
||||
/* 007FC 80A67D4C 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00800 80A67D50 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00804 80A67D54 241900F0 */ addiu $t9, $zero, 0x00F0 ## $t9 = 000000F0
|
||||
/* 00808 80A67D58 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F
|
||||
/* 0080C 80A67D5C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00810 80A67D60 A45913D0 */ sh $t9, 0x13D0($v0) ## 8015FA30
|
||||
/* 00814 80A67D64 A44813CE */ sh $t0, 0x13CE($v0) ## 8015FA2E
|
||||
/* 00818 80A67D68 AC400008 */ sw $zero, 0x0008($v0) ## 8015E668
|
||||
/* 0081C 80A67D6C 00250821 */ addu $at, $at, $a1
|
||||
/* 00820 80A67D70 240904CE */ addiu $t1, $zero, 0x04CE ## $t1 = 000004CE
|
||||
/* 00824 80A67D74 A4291E1A */ sh $t1, 0x1E1A($at) ## 00011E1A
|
||||
/* 00828 80A67D78 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0082C 80A67D7C 00250821 */ addu $at, $at, $a1
|
||||
/* 00830 80A67D80 240A002E */ addiu $t2, $zero, 0x002E ## $t2 = 0000002E
|
||||
/* 00834 80A67D84 A02A1E5E */ sb $t2, 0x1E5E($at) ## 00011E5E
|
||||
/* 00838 80A67D88 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0083C 80A67D8C 00250821 */ addu $at, $at, $a1
|
||||
/* 00840 80A67D90 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
|
||||
/* 00844 80A67D94 10000015 */ beq $zero, $zero, .L80A67DEC
|
||||
/* 00848 80A67D98 A02B1E15 */ sb $t3, 0x1E15($at) ## 00011E15
|
||||
.L80A67D9C:
|
||||
/* 0084C 80A67D9C 3C0480A7 */ lui $a0, %hi(D_80A6854C) ## $a0 = 80A70000
|
||||
/* 00850 80A67DA0 2484854C */ addiu $a0, $a0, %lo(D_80A6854C) ## $a0 = 80A6854C
|
||||
/* 00854 80A67DA4 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00858 80A67DA8 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 0085C 80A67DAC 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00860 80A67DB0 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00864 80A67DB4 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00868 80A67DB8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0086C 80A67DBC AC400008 */ sw $zero, 0x0008($v0) ## 8015E668
|
||||
/* 00870 80A67DC0 240C0157 */ addiu $t4, $zero, 0x0157 ## $t4 = 00000157
|
||||
/* 00874 80A67DC4 00250821 */ addu $at, $at, $a1
|
||||
/* 00878 80A67DC8 A42C1E1A */ sh $t4, 0x1E1A($at) ## 00011E1A
|
||||
/* 0087C 80A67DCC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00880 80A67DD0 240D002E */ addiu $t5, $zero, 0x002E ## $t5 = 0000002E
|
||||
/* 00884 80A67DD4 00250821 */ addu $at, $at, $a1
|
||||
/* 00888 80A67DD8 A02D1E5E */ sb $t5, 0x1E5E($at) ## 00011E5E
|
||||
/* 0088C 80A67DDC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00890 80A67DE0 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
|
||||
/* 00894 80A67DE4 00250821 */ addu $at, $at, $a1
|
||||
/* 00898 80A67DE8 A02E1E15 */ sb $t6, 0x1E15($at) ## 00011E15
|
||||
.L80A67DEC:
|
||||
/* 0089C 80A67DEC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 008A0 80A67DF0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 008A4 80A67DF4 03E00008 */ jr $ra
|
||||
/* 008A8 80A67DF8 00000000 */ nop
|
|
@ -1,358 +0,0 @@
|
|||
glabel func_80A67DFC
|
||||
/* 008AC 80A67DFC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 008B0 80A67E00 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 008B4 80A67E04 AFB40030 */ sw $s4, 0x0030($sp)
|
||||
/* 008B8 80A67E08 AFB3002C */ sw $s3, 0x002C($sp)
|
||||
/* 008BC 80A67E0C AFB20028 */ sw $s2, 0x0028($sp)
|
||||
/* 008C0 80A67E10 AFB10024 */ sw $s1, 0x0024($sp)
|
||||
/* 008C4 80A67E14 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 008C8 80A67E18 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 008CC 80A67E1C 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154
|
||||
/* 008D0 80A67E20 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
|
||||
/* 008D4 80A67E24 8CB31C44 */ lw $s3, 0x1C44($a1) ## 00001C44
|
||||
/* 008D8 80A67E28 31F80040 */ andi $t8, $t7, 0x0040 ## $t8 = 00000000
|
||||
/* 008DC 80A67E2C 17000012 */ bne $t8, $zero, .L80A67E78
|
||||
/* 008E0 80A67E30 3C0280A7 */ lui $v0, %hi(D_80A68464) ## $v0 = 80A70000
|
||||
/* 008E4 80A67E34 8E710440 */ lw $s1, 0x0440($s3) ## 00000440
|
||||
/* 008E8 80A67E38 24428464 */ addiu $v0, $v0, %lo(D_80A68464) ## $v0 = 80A68464
|
||||
/* 008EC 80A67E3C C44C0000 */ lwc1 $f12, 0x0000($v0) ## 80A68464
|
||||
/* 008F0 80A67E40 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
|
||||
/* 008F4 80A67E44 C44E0004 */ lwc1 $f14, 0x0004($v0) ## 80A68468
|
||||
/* 008F8 80A67E48 8C460008 */ lw $a2, 0x0008($v0) ## 80A6846C
|
||||
/* 008FC 80A67E4C E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00900 80A67E50 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C
|
||||
/* 00904 80A67E54 8C47000C */ lw $a3, 0x000C($v0) ## 80A68470
|
||||
/* 00908 80A67E58 0C032C66 */ jal Math3D_PointInSquare2D
|
||||
/* 0090C 80A67E5C E7A60014 */ swc1 $f6, 0x0014($sp)
|
||||
/* 00910 80A67E60 50400006 */ beql $v0, $zero, .L80A67E7C
|
||||
/* 00914 80A67E64 8E420154 */ lw $v0, 0x0154($s2) ## 00000154
|
||||
/* 00918 80A67E68 8E590154 */ lw $t9, 0x0154($s2) ## 00000154
|
||||
/* 0091C 80A67E6C 37280040 */ ori $t0, $t9, 0x0040 ## $t0 = 00000040
|
||||
/* 00920 80A67E70 10000017 */ beq $zero, $zero, .L80A67ED0
|
||||
/* 00924 80A67E74 AE480154 */ sw $t0, 0x0154($s2) ## 00000154
|
||||
.L80A67E78:
|
||||
/* 00928 80A67E78 8E420154 */ lw $v0, 0x0154($s2) ## 00000154
|
||||
.L80A67E7C:
|
||||
/* 0092C 80A67E7C 30490040 */ andi $t1, $v0, 0x0040 ## $t1 = 00000000
|
||||
/* 00930 80A67E80 11200013 */ beq $t1, $zero, .L80A67ED0
|
||||
/* 00934 80A67E84 304A0020 */ andi $t2, $v0, 0x0020 ## $t2 = 00000000
|
||||
/* 00938 80A67E88 15400011 */ bne $t2, $zero, .L80A67ED0
|
||||
/* 0093C 80A67E8C 3C0280A7 */ lui $v0, %hi(D_80A68464) ## $v0 = 80A70000
|
||||
/* 00940 80A67E90 8E710440 */ lw $s1, 0x0440($s3) ## 00000440
|
||||
/* 00944 80A67E94 24428464 */ addiu $v0, $v0, %lo(D_80A68464) ## $v0 = 80A68464
|
||||
/* 00948 80A67E98 C44C0000 */ lwc1 $f12, 0x0000($v0) ## 80A68464
|
||||
/* 0094C 80A67E9C C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024
|
||||
/* 00950 80A67EA0 C44E0004 */ lwc1 $f14, 0x0004($v0) ## 80A68468
|
||||
/* 00954 80A67EA4 8C460008 */ lw $a2, 0x0008($v0) ## 80A6846C
|
||||
/* 00958 80A67EA8 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 0095C 80A67EAC C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C
|
||||
/* 00960 80A67EB0 8C47000C */ lw $a3, 0x000C($v0) ## 80A68470
|
||||
/* 00964 80A67EB4 0C032C66 */ jal Math3D_PointInSquare2D
|
||||
/* 00968 80A67EB8 E7AA0014 */ swc1 $f10, 0x0014($sp)
|
||||
/* 0096C 80A67EBC 54400005 */ bnel $v0, $zero, .L80A67ED4
|
||||
/* 00970 80A67EC0 8E440150 */ lw $a0, 0x0150($s2) ## 00000150
|
||||
/* 00974 80A67EC4 8E4B0154 */ lw $t3, 0x0154($s2) ## 00000154
|
||||
/* 00978 80A67EC8 356C0020 */ ori $t4, $t3, 0x0020 ## $t4 = 00000020
|
||||
/* 0097C 80A67ECC AE4C0154 */ sw $t4, 0x0154($s2) ## 00000154
|
||||
.L80A67ED0:
|
||||
/* 00980 80A67ED0 8E440150 */ lw $a0, 0x0150($s2) ## 00000150
|
||||
.L80A67ED4:
|
||||
/* 00984 80A67ED4 28810033 */ slti $at, $a0, 0x0033
|
||||
/* 00988 80A67ED8 5420000B */ bnel $at, $zero, .L80A67F08
|
||||
/* 0098C 80A67EDC 28810051 */ slti $at, $a0, 0x0051
|
||||
/* 00990 80A67EE0 8E420154 */ lw $v0, 0x0154($s2) ## 00000154
|
||||
/* 00994 80A67EE4 304D0002 */ andi $t5, $v0, 0x0002 ## $t5 = 00000000
|
||||
/* 00998 80A67EE8 15A00006 */ bne $t5, $zero, .L80A67F04
|
||||
/* 0099C 80A67EEC 344E0002 */ ori $t6, $v0, 0x0002 ## $t6 = 00000002
|
||||
/* 009A0 80A67EF0 AE4E0154 */ sw $t6, 0x0154($s2) ## 00000154
|
||||
/* 009A4 80A67EF4 0C0222CD */ jal func_80088B34
|
||||
/* 009A8 80A67EF8 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 009AC 80A67EFC 10000025 */ beq $zero, $zero, .L80A67F94
|
||||
/* 009B0 80A67F00 8E440150 */ lw $a0, 0x0150($s2) ## 00000150
|
||||
.L80A67F04:
|
||||
/* 009B4 80A67F04 28810051 */ slti $at, $a0, 0x0051
|
||||
.L80A67F08:
|
||||
/* 009B8 80A67F08 5420000F */ bnel $at, $zero, .L80A67F48
|
||||
/* 009BC 80A67F0C 28810052 */ slti $at, $a0, 0x0052
|
||||
/* 009C0 80A67F10 8E6F0440 */ lw $t7, 0x0440($s3) ## 00000440
|
||||
/* 009C4 80A67F14 51E0000C */ beql $t7, $zero, .L80A67F48
|
||||
/* 009C8 80A67F18 28810052 */ slti $at, $a0, 0x0052
|
||||
/* 009CC 80A67F1C 8E420154 */ lw $v0, 0x0154($s2) ## 00000154
|
||||
/* 009D0 80A67F20 30580001 */ andi $t8, $v0, 0x0001 ## $t8 = 00000000
|
||||
/* 009D4 80A67F24 17000007 */ bne $t8, $zero, .L80A67F44
|
||||
/* 009D8 80A67F28 34590001 */ ori $t9, $v0, 0x0001 ## $t9 = 00000001
|
||||
/* 009DC 80A67F2C AE590154 */ sw $t9, 0x0154($s2) ## 00000154
|
||||
/* 009E0 80A67F30 8E630440 */ lw $v1, 0x0440($s3) ## 00000440
|
||||
/* 009E4 80A67F34 24140001 */ addiu $s4, $zero, 0x0001 ## $s4 = 00000001
|
||||
/* 009E8 80A67F38 AC740388 */ sw $s4, 0x0388($v1) ## 00000388
|
||||
/* 009EC 80A67F3C 10000015 */ beq $zero, $zero, .L80A67F94
|
||||
/* 009F0 80A67F40 8E440150 */ lw $a0, 0x0150($s2) ## 00000150
|
||||
.L80A67F44:
|
||||
/* 009F4 80A67F44 28810052 */ slti $at, $a0, 0x0052
|
||||
.L80A67F48:
|
||||
/* 009F8 80A67F48 54200013 */ bnel $at, $zero, .L80A67F98
|
||||
/* 009FC 80A67F4C 8E4D019C */ lw $t5, 0x019C($s2) ## 0000019C
|
||||
/* 00A00 80A67F50 8E420154 */ lw $v0, 0x0154($s2) ## 00000154
|
||||
/* 00A04 80A67F54 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 00A08 80A67F58 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 00A0C 80A67F5C 30480010 */ andi $t0, $v0, 0x0010 ## $t0 = 00000000
|
||||
/* 00A10 80A67F60 1500000C */ bne $t0, $zero, .L80A67F94
|
||||
/* 00A14 80A67F64 34490010 */ ori $t1, $v0, 0x0010 ## $t1 = 00000010
|
||||
/* 00A18 80A67F68 3C0A8013 */ lui $t2, %hi(D_801333E0)
|
||||
/* 00A1C 80A67F6C 3C0B8013 */ lui $t3, %hi(D_801333E8)
|
||||
/* 00A20 80A67F70 AE490154 */ sw $t1, 0x0154($s2) ## 00000154
|
||||
/* 00A24 80A67F74 256B33E8 */ addiu $t3, %lo(D_801333E8)
|
||||
/* 00A28 80A67F78 254733E0 */ addiu $a3, $t2, %lo(D_801333E0)
|
||||
/* 00A2C 80A67F7C AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 00A30 80A67F80 AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 00A34 80A67F84 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835
|
||||
/* 00A38 80A67F88 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 00A3C 80A67F8C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 00A40 80A67F90 8E440150 */ lw $a0, 0x0150($s2) ## 00000150
|
||||
.L80A67F94:
|
||||
/* 00A44 80A67F94 8E4D019C */ lw $t5, 0x019C($s2) ## 0000019C
|
||||
.L80A67F98:
|
||||
/* 00A48 80A67F98 248C0001 */ addiu $t4, $a0, 0x0001 ## $t4 = 00000001
|
||||
/* 00A4C 80A67F9C 24140001 */ addiu $s4, $zero, 0x0001 ## $s4 = 00000001
|
||||
/* 00A50 80A67FA0 15A000CA */ bne $t5, $zero, .L80A682CC
|
||||
/* 00A54 80A67FA4 AE4C0150 */ sw $t4, 0x0150($s2) ## 00000150
|
||||
/* 00A58 80A67FA8 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00A5C 80A67FAC 8E710440 */ lw $s1, 0x0440($s3) ## 00000440
|
||||
.L80A67FB0:
|
||||
/* 00A60 80A67FB0 8E4E01A0 */ lw $t6, 0x01A0($s2) ## 000001A0
|
||||
/* 00A64 80A67FB4 3C1980A7 */ lui $t9, %hi(D_80A68490) ## $t9 = 80A70000
|
||||
/* 00A68 80A67FB8 2A010008 */ slti $at, $s0, 0x0008
|
||||
/* 00A6C 80A67FBC 15C00003 */ bne $t6, $zero, .L80A67FCC
|
||||
/* 00A70 80A67FC0 27398490 */ addiu $t9, $t9, %lo(D_80A68490) ## $t9 = 80A68490
|
||||
/* 00A74 80A67FC4 10200039 */ beq $at, $zero, .L80A680AC
|
||||
/* 00A78 80A67FC8 00000000 */ nop
|
||||
.L80A67FCC:
|
||||
/* 00A7C 80A67FCC 06010004 */ bgez $s0, .L80A67FE0
|
||||
/* 00A80 80A67FD0 320F0007 */ andi $t7, $s0, 0x0007 ## $t7 = 00000000
|
||||
/* 00A84 80A67FD4 11E00002 */ beq $t7, $zero, .L80A67FE0
|
||||
/* 00A88 80A67FD8 00000000 */ nop
|
||||
/* 00A8C 80A67FDC 25EFFFF8 */ addiu $t7, $t7, 0xFFF8 ## $t7 = FFFFFFF8
|
||||
.L80A67FE0:
|
||||
/* 00A90 80A67FE0 000FC080 */ sll $t8, $t7, 2
|
||||
/* 00A94 80A67FE4 030FC023 */ subu $t8, $t8, $t7
|
||||
/* 00A98 80A67FE8 0018C080 */ sll $t8, $t8, 2
|
||||
/* 00A9C 80A67FEC 03192021 */ addu $a0, $t8, $t9
|
||||
/* 00AA0 80A67FF0 0C01E00A */ jal Math_Vec3f_DistXZ
|
||||
|
||||
/* 00AA4 80A67FF4 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024
|
||||
/* 00AA8 80A67FF8 8E710440 */ lw $s1, 0x0440($s3) ## 00000440
|
||||
/* 00AAC 80A67FFC 3C01437A */ lui $at, 0x437A ## $at = 437A0000
|
||||
/* 00AB0 80A68000 52200027 */ beql $s1, $zero, .L80A680A0
|
||||
/* 00AB4 80A68004 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00AB8 80A68008 44818000 */ mtc1 $at, $f16 ## $f16 = 250.00
|
||||
/* 00ABC 80A6800C 00000000 */ nop
|
||||
/* 00AC0 80A68010 4610003C */ c.lt.s $f0, $f16
|
||||
/* 00AC4 80A68014 00000000 */ nop
|
||||
/* 00AC8 80A68018 45020021 */ bc1fl .L80A680A0
|
||||
/* 00ACC 80A6801C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002
|
||||
/* 00AD0 80A68020 8E2801F0 */ lw $t0, 0x01F0($s1) ## 000001F0
|
||||
/* 00AD4 80A68024 00105080 */ sll $t2, $s0, 2
|
||||
/* 00AD8 80A68028 31090004 */ andi $t1, $t0, 0x0004 ## $t1 = 00000000
|
||||
/* 00ADC 80A6802C 5120001C */ beql $t1, $zero, .L80A680A0
|
||||
/* 00AE0 80A68030 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000003
|
||||
/* 00AE4 80A68034 1A000006 */ blez $s0, .L80A68050
|
||||
/* 00AE8 80A68038 024A1021 */ addu $v0, $s2, $t2
|
||||
/* 00AEC 80A6803C 8C4B0154 */ lw $t3, 0x0154($v0) ## 00000154
|
||||
/* 00AF0 80A68040 168B0003 */ bne $s4, $t3, .L80A68050
|
||||
/* 00AF4 80A68044 00000000 */ nop
|
||||
/* 00AF8 80A68048 10000004 */ beq $zero, $zero, .L80A6805C
|
||||
/* 00AFC 80A6804C AC540158 */ sw $s4, 0x0158($v0) ## 00000158
|
||||
.L80A68050:
|
||||
/* 00B00 80A68050 56000003 */ bnel $s0, $zero, .L80A68060
|
||||
/* 00B04 80A68054 8C4C0154 */ lw $t4, 0x0154($v0) ## 00000154
|
||||
/* 00B08 80A68058 AC540158 */ sw $s4, 0x0158($v0) ## 00000158
|
||||
.L80A6805C:
|
||||
/* 00B0C 80A6805C 8C4C0154 */ lw $t4, 0x0154($v0) ## 00000154
|
||||
.L80A68060:
|
||||
/* 00B10 80A68060 5580000F */ bnel $t4, $zero, .L80A680A0
|
||||
/* 00B14 80A68064 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000004
|
||||
/* 00B18 80A68068 8E420154 */ lw $v0, 0x0154($s2) ## 00000154
|
||||
/* 00B1C 80A6806C 2405208C */ addiu $a1, $zero, 0x208C ## $a1 = 0000208C
|
||||
/* 00B20 80A68070 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00B24 80A68074 304D0008 */ andi $t5, $v0, 0x0008 ## $t5 = 00000000
|
||||
/* 00B28 80A68078 15A00008 */ bne $t5, $zero, .L80A6809C
|
||||
/* 00B2C 80A6807C 344E0008 */ ori $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 00B30 80A68080 AE4E0154 */ sw $t6, 0x0154($s2) ## 00000154
|
||||
/* 00B34 80A68084 0C042DA0 */ jal func_8010B680
|
||||
/* 00B38 80A68088 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00B3C 80A6808C 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 00B40 80A68090 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
|
||||
/* 00B44 80A68094 AE4F019C */ sw $t7, 0x019C($s2) ## 0000019C
|
||||
/* 00B48 80A68098 AE580198 */ sw $t8, 0x0198($s2) ## 00000198
|
||||
.L80A6809C:
|
||||
/* 00B4C 80A6809C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000005
|
||||
.L80A680A0:
|
||||
/* 00B50 80A680A0 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
|
||||
/* 00B54 80A680A4 1601FFC2 */ bne $s0, $at, .L80A67FB0
|
||||
/* 00B58 80A680A8 8E710440 */ lw $s1, 0x0440($s3) ## 00000440
|
||||
.L80A680AC:
|
||||
/* 00B5C 80A680AC 12200076 */ beq $s1, $zero, .L80A68288
|
||||
/* 00B60 80A680B0 00000000 */ nop
|
||||
/* 00B64 80A680B4 8E590154 */ lw $t9, 0x0154($s2) ## 00000154
|
||||
/* 00B68 80A680B8 3C0280A7 */ lui $v0, %hi(D_80A68464) ## $v0 = 80A70000
|
||||
/* 00B6C 80A680BC 24428464 */ addiu $v0, $v0, %lo(D_80A68464) ## $v0 = 80A68464
|
||||
/* 00B70 80A680C0 33280020 */ andi $t0, $t9, 0x0020 ## $t0 = 00000000
|
||||
/* 00B74 80A680C4 11000070 */ beq $t0, $zero, .L80A68288
|
||||
/* 00B78 80A680C8 00000000 */ nop
|
||||
/* 00B7C 80A680CC C6320024 */ lwc1 $f18, 0x0024($s1) ## 00000024
|
||||
/* 00B80 80A680D0 C44C0000 */ lwc1 $f12, 0x0000($v0) ## 80A68464
|
||||
/* 00B84 80A680D4 C44E0004 */ lwc1 $f14, 0x0004($v0) ## 80A68468
|
||||
/* 00B88 80A680D8 E7B20010 */ swc1 $f18, 0x0010($sp)
|
||||
/* 00B8C 80A680DC C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C
|
||||
/* 00B90 80A680E0 8C460008 */ lw $a2, 0x0008($v0) ## 80A6846C
|
||||
/* 00B94 80A680E4 8C47000C */ lw $a3, 0x000C($v0) ## 80A68470
|
||||
/* 00B98 80A680E8 0C032C66 */ jal Math3D_PointInSquare2D
|
||||
/* 00B9C 80A680EC E7A40014 */ swc1 $f4, 0x0014($sp)
|
||||
/* 00BA0 80A680F0 10400065 */ beq $v0, $zero, .L80A68288
|
||||
/* 00BA4 80A680F4 00000000 */ nop
|
||||
/* 00BA8 80A680F8 8E4901A0 */ lw $t1, 0x01A0($s2) ## 000001A0
|
||||
/* 00BAC 80A680FC 56890019 */ bnel $s4, $t1, .L80A68164
|
||||
/* 00BB0 80A68100 8E580194 */ lw $t8, 0x0194($s2) ## 00000194
|
||||
/* 00BB4 80A68104 8E4A0194 */ lw $t2, 0x0194($s2) ## 00000194
|
||||
/* 00BB8 80A68108 55400016 */ bnel $t2, $zero, .L80A68164
|
||||
/* 00BBC 80A6810C 8E580194 */ lw $t8, 0x0194($s2) ## 00000194
|
||||
/* 00BC0 80A68110 8E6B0440 */ lw $t3, 0x0440($s3) ## 00000440
|
||||
/* 00BC4 80A68114 3C01C348 */ lui $at, 0xC348 ## $at = C3480000
|
||||
/* 00BC8 80A68118 44814000 */ mtc1 $at, $f8 ## $f8 = -200.00
|
||||
/* 00BCC 80A6811C C5660100 */ lwc1 $f6, 0x0100($t3) ## 00000100
|
||||
/* 00BD0 80A68120 4608303C */ c.lt.s $f6, $f8
|
||||
/* 00BD4 80A68124 00000000 */ nop
|
||||
/* 00BD8 80A68128 4502000E */ bc1fl .L80A68164
|
||||
/* 00BDC 80A6812C 8E580194 */ lw $t8, 0x0194($s2) ## 00000194
|
||||
/* 00BE0 80A68130 8E4C0154 */ lw $t4, 0x0154($s2) ## 00000154
|
||||
/* 00BE4 80A68134 2405208C */ addiu $a1, $zero, 0x208C ## $a1 = 0000208C
|
||||
/* 00BE8 80A68138 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00BEC 80A6813C 358D0008 */ ori $t5, $t4, 0x0008 ## $t5 = 00000008
|
||||
/* 00BF0 80A68140 AE4D0154 */ sw $t5, 0x0154($s2) ## 00000154
|
||||
/* 00BF4 80A68144 0C042DA0 */ jal func_8010B680
|
||||
/* 00BF8 80A68148 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00BFC 80A6814C 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
|
||||
/* 00C00 80A68150 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
|
||||
/* 00C04 80A68154 AE4E019C */ sw $t6, 0x019C($s2) ## 0000019C
|
||||
/* 00C08 80A68158 1000004B */ beq $zero, $zero, .L80A68288
|
||||
/* 00C0C 80A6815C AE4F0198 */ sw $t7, 0x0198($s2) ## 00000198
|
||||
/* 00C10 80A68160 8E580194 */ lw $t8, 0x0194($s2) ## 00000194
|
||||
.L80A68164:
|
||||
/* 00C14 80A68164 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
|
||||
/* 00C18 80A68168 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041
|
||||
/* 00C1C 80A6816C 56980017 */ bnel $s4, $t8, .L80A681CC
|
||||
/* 00C20 80A68170 8E430174 */ lw $v1, 0x0174($s2) ## 00000174
|
||||
/* 00C24 80A68174 0C03E803 */ jal Audio_SetBGM
|
||||
|
||||
/* 00C28 80A68178 AE5901A0 */ sw $t9, 0x01A0($s2) ## 000001A0
|
||||
/* 00C2C 80A6817C 3C078013 */ lui $a3, %hi(D_801333E0)
|
||||
/* 00C30 80A68180 3C088013 */ lui $t0, %hi(D_801333E8)
|
||||
/* 00C34 80A68184 24E733E0 */ addiu $a3, %lo(D_801333E0)
|
||||
/* 00C38 80A68188 250833E8 */ addiu $t0, %lo(D_801333E8)
|
||||
/* 00C3C 80A6818C 3C058013 */ lui $a1, %hi(D_801333D4)
|
||||
/* 00C40 80A68190 24A533D4 */ addiu $a1, %lo(D_801333D4)
|
||||
/* 00C44 80A68194 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 00C48 80A68198 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 00C4C 80A6819C 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835
|
||||
/* 00C50 80A681A0 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 00C54 80A681A4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 00C58 80A681A8 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00C5C 80A681AC 24090046 */ addiu $t1, $zero, 0x0046 ## $t1 = 00000046
|
||||
/* 00C60 80A681B0 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00C64 80A681B4 AE54019C */ sw $s4, 0x019C($s2) ## 0000019C
|
||||
/* 00C68 80A681B8 AE490198 */ sw $t1, 0x0198($s2) ## 00000198
|
||||
/* 00C6C 80A681BC 240A000F */ addiu $t2, $zero, 0x000F ## $t2 = 0000000F
|
||||
/* 00C70 80A681C0 10000031 */ beq $zero, $zero, .L80A68288
|
||||
/* 00C74 80A681C4 A44A13CE */ sh $t2, 0x13CE($v0) ## 8015FA2E
|
||||
/* 00C78 80A681C8 8E430174 */ lw $v1, 0x0174($s2) ## 00000174
|
||||
.L80A681CC:
|
||||
/* 00C7C 80A681CC 1683000D */ bne $s4, $v1, .L80A68204
|
||||
/* 00C80 80A681D0 00000000 */ nop
|
||||
/* 00C84 80A681D4 8E420154 */ lw $v0, 0x0154($s2) ## 00000154
|
||||
/* 00C88 80A681D8 2405208D */ addiu $a1, $zero, 0x208D ## $a1 = 0000208D
|
||||
/* 00C8C 80A681DC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00C90 80A681E0 304B0004 */ andi $t3, $v0, 0x0004 ## $t3 = 00000000
|
||||
/* 00C94 80A681E4 15600007 */ bne $t3, $zero, .L80A68204
|
||||
/* 00C98 80A681E8 344C0004 */ ori $t4, $v0, 0x0004 ## $t4 = 8015E664
|
||||
/* 00C9C 80A681EC AE5401A0 */ sw $s4, 0x01A0($s2) ## 000001A0
|
||||
/* 00CA0 80A681F0 AE4C0154 */ sw $t4, 0x0154($s2) ## 00000154
|
||||
/* 00CA4 80A681F4 0C042DA0 */ jal func_8010B680
|
||||
/* 00CA8 80A681F8 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00CAC 80A681FC 10000022 */ beq $zero, $zero, .L80A68288
|
||||
/* 00CB0 80A68200 00000000 */ nop
|
||||
.L80A68204:
|
||||
/* 00CB4 80A68204 5460000E */ bnel $v1, $zero, .L80A68240
|
||||
/* 00CB8 80A68208 8E790440 */ lw $t9, 0x0440($s3) ## 00000440
|
||||
/* 00CBC 80A6820C 8E4D0154 */ lw $t5, 0x0154($s2) ## 00000154
|
||||
/* 00CC0 80A68210 2405208C */ addiu $a1, $zero, 0x208C ## $a1 = 0000208C
|
||||
/* 00CC4 80A68214 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00CC8 80A68218 35AE0008 */ ori $t6, $t5, 0x0008 ## $t6 = 00000008
|
||||
/* 00CCC 80A6821C AE4E0154 */ sw $t6, 0x0154($s2) ## 00000154
|
||||
/* 00CD0 80A68220 0C042DA0 */ jal func_8010B680
|
||||
/* 00CD4 80A68224 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00CD8 80A68228 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 00CDC 80A6822C 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
|
||||
/* 00CE0 80A68230 AE4F019C */ sw $t7, 0x019C($s2) ## 0000019C
|
||||
/* 00CE4 80A68234 10000014 */ beq $zero, $zero, .L80A68288
|
||||
/* 00CE8 80A68238 AE580198 */ sw $t8, 0x0198($s2) ## 00000198
|
||||
/* 00CEC 80A6823C 8E790440 */ lw $t9, 0x0440($s3) ## 00000440
|
||||
.L80A68240:
|
||||
/* 00CF0 80A68240 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 00CF4 80A68244 44815000 */ mtc1 $at, $f10 ## $f10 = 80.00
|
||||
/* 00CF8 80A68248 C7300100 */ lwc1 $f16, 0x0100($t9) ## 00000100
|
||||
/* 00CFC 80A6824C 4610503C */ c.lt.s $f10, $f16
|
||||
/* 00D00 80A68250 00000000 */ nop
|
||||
/* 00D04 80A68254 4500000C */ bc1f .L80A68288
|
||||
/* 00D08 80A68258 00000000 */ nop
|
||||
/* 00D0C 80A6825C 8E480154 */ lw $t0, 0x0154($s2) ## 00000154
|
||||
/* 00D10 80A68260 2405208C */ addiu $a1, $zero, 0x208C ## $a1 = 0000208C
|
||||
/* 00D14 80A68264 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00D18 80A68268 35090008 */ ori $t1, $t0, 0x0008 ## $t1 = 00000008
|
||||
/* 00D1C 80A6826C AE490154 */ sw $t1, 0x0154($s2) ## 00000154
|
||||
/* 00D20 80A68270 0C042DA0 */ jal func_8010B680
|
||||
/* 00D24 80A68274 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00D28 80A68278 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004
|
||||
/* 00D2C 80A6827C 240B001E */ addiu $t3, $zero, 0x001E ## $t3 = 0000001E
|
||||
/* 00D30 80A68280 AE4A019C */ sw $t2, 0x019C($s2) ## 0000019C
|
||||
/* 00D34 80A68284 AE4B0198 */ sw $t3, 0x0198($s2) ## 00000198
|
||||
.L80A68288:
|
||||
/* 00D38 80A68288 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00D3C 80A6828C 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00D40 80A68290 844C13D0 */ lh $t4, 0x13D0($v0) ## 8015FA30
|
||||
/* 00D44 80A68294 298100B4 */ slti $at, $t4, 0x00B4
|
||||
/* 00D48 80A68298 54200015 */ bnel $at, $zero, .L80A682F0
|
||||
/* 00D4C 80A6829C 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00D50 80A682A0 8E4D0154 */ lw $t5, 0x0154($s2) ## 00000154
|
||||
/* 00D54 80A682A4 240F00F0 */ addiu $t7, $zero, 0x00F0 ## $t7 = 000000F0
|
||||
/* 00D58 80A682A8 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
|
||||
/* 00D5C 80A682AC 31AE0002 */ andi $t6, $t5, 0x0002 ## $t6 = 00000000
|
||||
/* 00D60 80A682B0 11C0000E */ beq $t6, $zero, .L80A682EC
|
||||
/* 00D64 80A682B4 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E
|
||||
/* 00D68 80A682B8 A44F13D0 */ sh $t7, 0x13D0($v0) ## 8015FA30
|
||||
/* 00D6C 80A682BC AE58019C */ sw $t8, 0x019C($s2) ## 0000019C
|
||||
/* 00D70 80A682C0 AE590198 */ sw $t9, 0x0198($s2) ## 00000198
|
||||
/* 00D74 80A682C4 10000009 */ beq $zero, $zero, .L80A682EC
|
||||
/* 00D78 80A682C8 A44013CE */ sh $zero, 0x13CE($v0) ## 8015FA2E
|
||||
.L80A682CC:
|
||||
/* 00D7C 80A682CC 8E420198 */ lw $v0, 0x0198($s2) ## 00000198
|
||||
/* 00D80 80A682D0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 00D84 80A682D4 18400003 */ blez $v0, .L80A682E4
|
||||
/* 00D88 80A682D8 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = 8015E65F
|
||||
/* 00D8C 80A682DC 10000003 */ beq $zero, $zero, .L80A682EC
|
||||
/* 00D90 80A682E0 AE480198 */ sw $t0, 0x0198($s2) ## 00000198
|
||||
.L80A682E4:
|
||||
/* 00D94 80A682E4 0C299F39 */ jal func_80A67CE4
|
||||
/* 00D98 80A682E8 8FA5003C */ lw $a1, 0x003C($sp)
|
||||
.L80A682EC:
|
||||
/* 00D9C 80A682EC 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L80A682F0:
|
||||
/* 00DA0 80A682F0 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00DA4 80A682F4 8FB10024 */ lw $s1, 0x0024($sp)
|
||||
/* 00DA8 80A682F8 8FB20028 */ lw $s2, 0x0028($sp)
|
||||
/* 00DAC 80A682FC 8FB3002C */ lw $s3, 0x002C($sp)
|
||||
/* 00DB0 80A68300 8FB40030 */ lw $s4, 0x0030($sp)
|
||||
/* 00DB4 80A68304 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00DB8 80A68308 03E00008 */ jr $ra
|
||||
/* 00DBC 80A6830C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
@ -1,12 +0,0 @@
|
|||
glabel EnTrap_Destroy
|
||||
/* 003B8 80B24A18 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 003BC 80B24A1C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 003C0 80B24A20 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 003C4 80B24A24 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 003C8 80B24A28 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 003CC 80B24A2C 24C501A0 */ addiu $a1, $a2, 0x01A0 ## $a1 = 000001A0
|
||||
/* 003D0 80B24A30 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003D4 80B24A34 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 003D8 80B24A38 03E00008 */ jr $ra
|
||||
/* 003DC 80B24A3C 00000000 */ nop
|
|
@ -1,18 +0,0 @@
|
|||
glabel EnTrap_Draw
|
||||
/* 01170 80B257D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 01174 80B257D4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01178 80B257D8 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 0117C 80B257DC 0C00BAF3 */ jal func_8002EBCC
|
||||
/* 01180 80B257E0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 01184 80B257E4 3C050600 */ lui $a1, %hi(D_06001400) ## $a1 = 06000000
|
||||
/* 01188 80B257E8 24A51400 */ addiu $a1, $a1, %lo(D_06001400) ## $a1 = 06001400
|
||||
/* 0118C 80B257EC 0C00D498 */ jal Gfx_DrawDListOpa
|
||||
|
||||
/* 01190 80B257F0 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 01194 80B257F4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01198 80B257F8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0119C 80B257FC 03E00008 */ jr $ra
|
||||
/* 011A0 80B25800 00000000 */ nop
|
||||
/* 011A4 80B25804 00000000 */ nop
|
||||
/* 011A8 80B25808 00000000 */ nop
|
||||
/* 011AC 80B2580C 00000000 */ nop
|
|
@ -1,263 +0,0 @@
|
|||
glabel EnTrap_Init
|
||||
/* 00000 80B24660 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00004 80B24664 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00008 80B24668 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 0000C 80B2466C F7B40020 */ sdc1 $f20, 0x0020($sp)
|
||||
/* 00010 80B24670 AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 00014 80B24674 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
|
||||
/* 00018 80B24678 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
|
||||
/* 0001C 80B2467C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00020 80B24680 00027203 */ sra $t6, $v0, 8
|
||||
/* 00024 80B24684 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000
|
||||
/* 00028 80B24688 305800FF */ andi $t8, $v0, 0x00FF ## $t8 = 00000000
|
||||
/* 0002C 80B2468C A48F0150 */ sh $t7, 0x0150($a0) ## 00000150
|
||||
/* 00030 80B24690 A498001C */ sh $t8, 0x001C($a0) ## 0000001C
|
||||
/* 00034 80B24694 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00038 80B24698 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
|
||||
/* 0003C 80B2469C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00040 80B246A0 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
|
||||
/* 00044 80B246A4 44812000 */ mtc1 $at, $f4 ## $f4 = -2.00
|
||||
/* 00048 80B246A8 30590010 */ andi $t9, $v0, 0x0010 ## $t9 = 00000000
|
||||
/* 0004C 80B246AC 1320000E */ beq $t9, $zero, .L80B246E8
|
||||
/* 00050 80B246B0 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
|
||||
/* 00054 80B246B4 86080150 */ lh $t0, 0x0150($s0) ## 00000150
|
||||
/* 00058 80B246B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0005C 80B246BC 2405287D */ addiu $a1, $zero, 0x287D ## $a1 = 0000287D
|
||||
/* 00060 80B246C0 3109000F */ andi $t1, $t0, 0x000F ## $t1 = 00000000
|
||||
/* 00064 80B246C4 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00
|
||||
/* 00068 80B246C8 00000000 */ nop
|
||||
/* 0006C 80B246CC 46803020 */ cvt.s.w $f0, $f6
|
||||
/* 00070 80B246D0 E600019C */ swc1 $f0, 0x019C($s0) ## 0000019C
|
||||
/* 00074 80B246D4 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00078 80B246D8 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
|
||||
/* 0007C 80B246DC 260A0024 */ addiu $t2, $s0, 0x0024 ## $t2 = 00000024
|
||||
/* 00080 80B246E0 100000AC */ beq $zero, $zero, .L80B24994
|
||||
/* 00084 80B246E4 AFAA0030 */ sw $t2, 0x0030($sp)
|
||||
.L80B246E8:
|
||||
/* 00088 80B246E8 304B0020 */ andi $t3, $v0, 0x0020 ## $t3 = 00000000
|
||||
/* 0008C 80B246EC 1160001E */ beq $t3, $zero, .L80B24768
|
||||
/* 00090 80B246F0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00094 80B246F4 86020150 */ lh $v0, 0x0150($s0) ## 00000150
|
||||
/* 00098 80B246F8 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 0009C 80B246FC 44818000 */ mtc1 $at, $f16 ## $f16 = 40.00
|
||||
/* 000A0 80B24700 304C000F */ andi $t4, $v0, 0x000F ## $t4 = 00000000
|
||||
/* 000A4 80B24704 448C4000 */ mtc1 $t4, $f8 ## $f8 = 0.00
|
||||
/* 000A8 80B24708 304D00F0 */ andi $t5, $v0, 0x00F0 ## $t5 = 00000000
|
||||
/* 000AC 80B2470C 25AE0010 */ addiu $t6, $t5, 0x0010 ## $t6 = 00000010
|
||||
/* 000B0 80B24710 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 000B4 80B24714 000E7940 */ sll $t7, $t6, 5
|
||||
/* 000B8 80B24718 A60F0150 */ sh $t7, 0x0150($s0) ## 00000150
|
||||
/* 000BC 80B2471C 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 000C0 80B24720 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 000C4 80B24724 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 000C8 80B24728 E6120154 */ swc1 $f18, 0x0154($s0) ## 00000154
|
||||
/* 000CC 80B2472C C6040154 */ lwc1 $f4, 0x0154($s0) ## 00000154
|
||||
/* 000D0 80B24730 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008
|
||||
/* 000D4 80B24734 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 000D8 80B24738 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 000DC 80B2473C 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 000E0 80B24740 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 000E4 80B24744 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 000E8 80B24748 C6100154 */ lwc1 $f16, 0x0154($s0) ## 00000154
|
||||
/* 000EC 80B2474C C6040010 */ lwc1 $f4, 0x0010($s0) ## 00000010
|
||||
/* 000F0 80B24750 26180024 */ addiu $t8, $s0, 0x0024 ## $t8 = 00000024
|
||||
/* 000F4 80B24754 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 000F8 80B24758 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 000FC 80B2475C E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 00100 80B24760 1000008C */ beq $zero, $zero, .L80B24994
|
||||
/* 00104 80B24764 AFB80030 */ sw $t8, 0x0030($sp)
|
||||
.L80B24768:
|
||||
/* 00108 80B24768 86020150 */ lh $v0, 0x0150($s0) ## 00000150
|
||||
/* 0010C 80B2476C 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
|
||||
/* 00110 80B24770 240B001D */ addiu $t3, $zero, 0x001D ## $t3 = 0000001D
|
||||
/* 00114 80B24774 1040000B */ beq $v0, $zero, .L80B247A4
|
||||
/* 00118 80B24778 3049000F */ andi $t1, $v0, 0x000F ## $t1 = 00000000
|
||||
/* 0011C 80B2477C 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00
|
||||
/* 00120 80B24780 0002C903 */ sra $t9, $v0, 4
|
||||
/* 00124 80B24784 00194080 */ sll $t0, $t9, 2
|
||||
/* 00128 80B24788 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 0012C 80B2478C 01194021 */ addu $t0, $t0, $t9
|
||||
/* 00130 80B24790 000840C0 */ sll $t0, $t0, 3
|
||||
/* 00134 80B24794 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
|
||||
/* 00138 80B24798 E7B00048 */ swc1 $f16, 0x0048($sp)
|
||||
/* 0013C 80B2479C 10000008 */ beq $zero, $zero, .L80B247C0
|
||||
/* 00140 80B247A0 46804520 */ cvt.s.w $f20, $f8
|
||||
.L80B247A4:
|
||||
/* 00144 80B247A4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00148 80B247A8 4481A000 */ mtc1 $at, $f20 ## $f20 = 200.00
|
||||
/* 0014C 80B247AC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00150 80B247B0 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
|
||||
/* 00154 80B247B4 240A000F */ addiu $t2, $zero, 0x000F ## $t2 = 0000000F
|
||||
/* 00158 80B247B8 E7B20048 */ swc1 $f18, 0x0048($sp)
|
||||
/* 0015C 80B247BC A60A001C */ sh $t2, 0x001C($s0) ## 0000001C
|
||||
.L80B247C0:
|
||||
/* 00160 80B247C0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00164 80B247C4 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00
|
||||
/* 00168 80B247C8 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 0016C 80B247CC AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 00170 80B247D0 44070000 */ mfc1 $a3, $f0
|
||||
/* 00174 80B247D4 0C00B92D */ jal Actor_UpdateBgCheckInfo
|
||||
/* 00178 80B247D8 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 0017C 80B247DC 26020024 */ addiu $v0, $s0, 0x0024 ## $v0 = 00000024
|
||||
/* 00180 80B247E0 8C4D0000 */ lw $t5, 0x0000($v0) ## 00000024
|
||||
/* 00184 80B247E4 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 00188 80B247E8 AE0D0008 */ sw $t5, 0x0008($s0) ## 00000008
|
||||
/* 0018C 80B247EC 8C4C0004 */ lw $t4, 0x0004($v0) ## 00000028
|
||||
/* 00190 80B247F0 AE0C000C */ sw $t4, 0x000C($s0) ## 0000000C
|
||||
/* 00194 80B247F4 8C4D0008 */ lw $t5, 0x0008($v0) ## 0000002C
|
||||
/* 00198 80B247F8 AE0D0010 */ sw $t5, 0x0010($s0) ## 00000010
|
||||
/* 0019C 80B247FC 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 001A0 80B24800 AFA20030 */ sw $v0, 0x0030($sp)
|
||||
/* 001A4 80B24804 46140102 */ mul.s $f4, $f0, $f20
|
||||
/* 001A8 80B24808 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 001AC 80B2480C 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 001B0 80B24810 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 001B4 80B24814 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 001B8 80B24818 E6080158 */ swc1 $f8, 0x0158($s0) ## 00000158
|
||||
/* 001BC 80B2481C 46140402 */ mul.s $f16, $f0, $f20
|
||||
/* 001C0 80B24820 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 001C4 80B24824 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 001C8 80B24828 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 001CC 80B2482C 00812021 */ addu $a0, $a0, $at
|
||||
/* 001D0 80B24830 00042400 */ sll $a0, $a0, 16
|
||||
/* 001D4 80B24834 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 001D8 80B24838 00042403 */ sra $a0, $a0, 16
|
||||
/* 001DC 80B2483C 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 001E0 80B24840 E6120160 */ swc1 $f18, 0x0160($s0) ## 00000160
|
||||
/* 001E4 80B24844 46140102 */ mul.s $f4, $f0, $f20
|
||||
/* 001E8 80B24848 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 001EC 80B2484C 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 001F0 80B24850 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 001F4 80B24854 00812021 */ addu $a0, $a0, $at
|
||||
/* 001F8 80B24858 00042400 */ sll $a0, $a0, 16
|
||||
/* 001FC 80B2485C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00200 80B24860 00042403 */ sra $a0, $a0, 16
|
||||
/* 00204 80B24864 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00208 80B24868 E6080164 */ swc1 $f8, 0x0164($s0) ## 00000164
|
||||
/* 0020C 80B2486C 46140402 */ mul.s $f16, $f0, $f20
|
||||
/* 00210 80B24870 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 00214 80B24874 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 00218 80B24878 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 0021C 80B2487C 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00220 80B24880 E612016C */ swc1 $f18, 0x016C($s0) ## 0000016C
|
||||
/* 00224 80B24884 46140102 */ mul.s $f4, $f0, $f20
|
||||
/* 00228 80B24888 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 0022C 80B2488C 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 00230 80B24890 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00234 80B24894 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00238 80B24898 E6080170 */ swc1 $f8, 0x0170($s0) ## 00000170
|
||||
/* 0023C 80B2489C 46140282 */ mul.s $f10, $f0, $f20
|
||||
/* 00240 80B248A0 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 00244 80B248A4 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 00248 80B248A8 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 0024C 80B248AC 00812021 */ addu $a0, $a0, $at
|
||||
/* 00250 80B248B0 00042400 */ sll $a0, $a0, 16
|
||||
/* 00254 80B248B4 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00258 80B248B8 00042403 */ sra $a0, $a0, 16
|
||||
/* 0025C 80B248BC 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00260 80B248C0 E6120178 */ swc1 $f18, 0x0178($s0) ## 00000178
|
||||
/* 00264 80B248C4 46140102 */ mul.s $f4, $f0, $f20
|
||||
/* 00268 80B248C8 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 0026C 80B248CC 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 00270 80B248D0 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 00274 80B248D4 00812021 */ addu $a0, $a0, $at
|
||||
/* 00278 80B248D8 00042400 */ sll $a0, $a0, 16
|
||||
/* 0027C 80B248DC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00280 80B248E0 00042403 */ sra $a0, $a0, 16
|
||||
/* 00284 80B248E4 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00288 80B248E8 E608017C */ swc1 $f8, 0x017C($s0) ## 0000017C
|
||||
/* 0028C 80B248EC 46140282 */ mul.s $f10, $f0, $f20
|
||||
/* 00290 80B248F0 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 00294 80B248F4 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 00298 80B248F8 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 0029C 80B248FC 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 002A0 80B24900 E6120184 */ swc1 $f18, 0x0184($s0) ## 00000184
|
||||
/* 002A4 80B24904 C7A40048 */ lwc1 $f4, 0x0048($sp)
|
||||
/* 002A8 80B24908 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 002AC 80B2490C 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 002B0 80B24910 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 002B4 80B24914 44024000 */ mfc1 $v0, $f8
|
||||
/* 002B8 80B24918 00000000 */ nop
|
||||
/* 002BC 80B2491C 00021400 */ sll $v0, $v0, 16
|
||||
/* 002C0 80B24920 00021403 */ sra $v0, $v0, 16
|
||||
/* 002C4 80B24924 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 002C8 80B24928 A7A20046 */ sh $v0, 0x0046($sp)
|
||||
/* 002CC 80B2492C C7AA0048 */ lwc1 $f10, 0x0048($sp)
|
||||
/* 002D0 80B24930 87A20046 */ lh $v0, 0x0046($sp)
|
||||
/* 002D4 80B24934 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 002D8 80B24938 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 002DC 80B2493C 44039000 */ mfc1 $v1, $f18
|
||||
/* 002E0 80B24940 00000000 */ nop
|
||||
/* 002E4 80B24944 00032C00 */ sll $a1, $v1, 16
|
||||
/* 002E8 80B24948 04410004 */ bgez $v0, .L80B2495C
|
||||
/* 002EC 80B2494C 00052C03 */ sra $a1, $a1, 16
|
||||
/* 002F0 80B24950 00021023 */ subu $v0, $zero, $v0
|
||||
/* 002F4 80B24954 00021400 */ sll $v0, $v0, 16
|
||||
/* 002F8 80B24958 00021403 */ sra $v0, $v0, 16
|
||||
.L80B2495C:
|
||||
/* 002FC 80B2495C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00300 80B24960 00032400 */ sll $a0, $v1, 16
|
||||
/* 00304 80B24964 00042403 */ sra $a0, $a0, 16
|
||||
/* 00308 80B24968 04810004 */ bgez $a0, .L80B2497C
|
||||
/* 0030C 80B2496C 46802020 */ cvt.s.w $f0, $f4
|
||||
/* 00310 80B24970 00042823 */ subu $a1, $zero, $a0
|
||||
/* 00314 80B24974 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00318 80B24978 00052C03 */ sra $a1, $a1, 16
|
||||
.L80B2497C:
|
||||
/* 0031C 80B2497C 44853000 */ mtc1 $a1, $f6 ## $f6 = 0.00
|
||||
/* 00320 80B24980 E600019C */ swc1 $f0, 0x019C($s0) ## 0000019C
|
||||
/* 00324 80B24984 E6000188 */ swc1 $f0, 0x0188($s0) ## 00000188
|
||||
/* 00328 80B24988 468030A0 */ cvt.s.w $f2, $f6
|
||||
/* 0032C 80B2498C E6020194 */ swc1 $f2, 0x0194($s0) ## 00000194
|
||||
/* 00330 80B24990 E6020190 */ swc1 $f2, 0x0190($s0) ## 00000190
|
||||
.L80B24994:
|
||||
/* 00334 80B24994 8FB80030 */ lw $t8, 0x0030($sp)
|
||||
/* 00338 80B24998 260501A0 */ addiu $a1, $s0, 0x01A0 ## $a1 = 000001A0
|
||||
/* 0033C 80B2499C 8F080000 */ lw $t0, 0x0000($t8) ## 00000000
|
||||
/* 00340 80B249A0 AE080038 */ sw $t0, 0x0038($s0) ## 00000038
|
||||
/* 00344 80B249A4 8F190004 */ lw $t9, 0x0004($t8) ## 00000004
|
||||
/* 00348 80B249A8 AE19003C */ sw $t9, 0x003C($s0) ## 0000003C
|
||||
/* 0034C 80B249AC 8F080008 */ lw $t0, 0x0008($t8) ## 00000008
|
||||
/* 00350 80B249B0 AE080040 */ sw $t0, 0x0040($s0) ## 00000040
|
||||
/* 00354 80B249B4 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00358 80B249B8 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 0035C 80B249BC 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00360 80B249C0 3C0780B2 */ lui $a3, %hi(D_80B25830) ## $a3 = 80B20000
|
||||
/* 00364 80B249C4 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 00368 80B249C8 24E75830 */ addiu $a3, $a3, %lo(D_80B25830) ## $a3 = 80B25830
|
||||
/* 0036C 80B249CC 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00370 80B249D0 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00374 80B249D4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00378 80B249D8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 0037C 80B249DC 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
|
||||
/* 00380 80B249E0 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
|
||||
/* 00384 80B249E4 44050000 */ mfc1 $a1, $f0
|
||||
/* 00388 80B249E8 44070000 */ mfc1 $a3, $f0
|
||||
/* 0038C 80B249EC 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00390 80B249F0 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00394 80B249F4 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003
|
||||
/* 00398 80B249F8 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
|
||||
/* 0039C 80B249FC A209001F */ sb $t1, 0x001F($s0) ## 0000001F
|
||||
/* 003A0 80B24A00 A20A00AE */ sb $t2, 0x00AE($s0) ## 000000AE
|
||||
/* 003A4 80B24A04 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 003A8 80B24A08 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 003AC 80B24A0C D7B40020 */ ldc1 $f20, 0x0020($sp)
|
||||
/* 003B0 80B24A10 03E00008 */ jr $ra
|
||||
/* 003B4 80B24A14 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
|
@ -1,983 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80B25860
|
||||
.float 1.8
|
||||
glabel D_80B25864
|
||||
.float 1.8
|
||||
glabel D_80B25868
|
||||
.float 1.8
|
||||
glabel D_80B2586C
|
||||
.float 65535.0
|
||||
glabel D_80B25870
|
||||
.float 65535.0
|
||||
glabel D_80B25874
|
||||
.float 65535.0
|
||||
glabel D_80B25878
|
||||
.float 65535.0
|
||||
glabel D_80B2587C
|
||||
.float 65535.0
|
||||
|
||||
.text
|
||||
glabel EnTrap_Update
|
||||
/* 003E0 80B24A40 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58
|
||||
/* 003E4 80B24A44 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 003E8 80B24A48 AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 003EC 80B24A4C AFA500AC */ sw $a1, 0x00AC($sp)
|
||||
/* 003F0 80B24A50 848F0032 */ lh $t7, 0x0032($a0) ## 00000032
|
||||
/* 003F4 80B24A54 848E007E */ lh $t6, 0x007E($a0) ## 0000007E
|
||||
/* 003F8 80B24A58 908201B2 */ lbu $v0, 0x01B2($a0) ## 000001B2
|
||||
/* 003FC 80B24A5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00400 80B24A60 01CF4023 */ subu $t0, $t6, $t7
|
||||
/* 00404 80B24A64 00084400 */ sll $t0, $t0, 16
|
||||
/* 00408 80B24A68 30580002 */ andi $t8, $v0, 0x0002 ## $t8 = 00000000
|
||||
/* 0040C 80B24A6C 00005025 */ or $t2, $zero, $zero ## $t2 = 00000000
|
||||
/* 00410 80B24A70 00005825 */ or $t3, $zero, $zero ## $t3 = 00000000
|
||||
/* 00414 80B24A74 13000011 */ beq $t8, $zero, .L80B24ABC
|
||||
/* 00418 80B24A78 00084403 */ sra $t0, $t0, 16
|
||||
/* 0041C 80B24A7C 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000
|
||||
/* 00420 80B24A80 A09901B2 */ sb $t9, 0x01B2($a0) ## 000001B2
|
||||
/* 00424 80B24A84 8C8401AC */ lw $a0, 0x01AC($a0) ## 000001AC
|
||||
/* 00428 80B24A88 A7A00090 */ sh $zero, 0x0090($sp)
|
||||
/* 0042C 80B24A8C A7A8008A */ sh $t0, 0x008A($sp)
|
||||
/* 00430 80B24A90 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
|
||||
/* 00434 80B24A94 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00438 80B24A98 24840024 */ addiu $a0, $a0, 0x0024 ## $a0 = 00000024
|
||||
/* 0043C 80B24A9C 860C0032 */ lh $t4, 0x0032($s0) ## 00000032
|
||||
/* 00440 80B24AA0 87A8008A */ lh $t0, 0x008A($sp)
|
||||
/* 00444 80B24AA4 87AB0090 */ lh $t3, 0x0090($sp)
|
||||
/* 00448 80B24AA8 004C4821 */ addu $t1, $v0, $t4
|
||||
/* 0044C 80B24AAC 00094C00 */ sll $t1, $t1, 16
|
||||
/* 00450 80B24AB0 00094C03 */ sra $t1, $t1, 16
|
||||
/* 00454 80B24AB4 A7A90094 */ sh $t1, 0x0094($sp)
|
||||
/* 00458 80B24AB8 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
.L80B24ABC:
|
||||
/* 0045C 80B24ABC 920D01B1 */ lbu $t5, 0x01B1($s0) ## 000001B1
|
||||
/* 00460 80B24AC0 87A90094 */ lh $t1, 0x0094($sp)
|
||||
/* 00464 80B24AC4 31AE0002 */ andi $t6, $t5, 0x0002 ## $t6 = 00000000
|
||||
/* 00468 80B24AC8 51C0006E */ beql $t6, $zero, .L80B24C84
|
||||
/* 0046C 80B24ACC 920F0114 */ lbu $t7, 0x0114($s0) ## 00000114
|
||||
/* 00470 80B24AD0 8E190024 */ lw $t9, 0x0024($s0) ## 00000024
|
||||
/* 00474 80B24AD4 27AF007C */ addiu $t7, $sp, 0x007C ## $t7 = FFFFFFD4
|
||||
/* 00478 80B24AD8 240E00FA */ addiu $t6, $zero, 0x00FA ## $t6 = 000000FA
|
||||
/* 0047C 80B24ADC ADF90000 */ sw $t9, 0x0000($t7) ## FFFFFFD4
|
||||
/* 00480 80B24AE0 8E180028 */ lw $t8, 0x0028($s0) ## 00000028
|
||||
/* 00484 80B24AE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00488 80B24AE8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0048C 80B24AEC ADF80004 */ sw $t8, 0x0004($t7) ## FFFFFFD8
|
||||
/* 00490 80B24AF0 8E19002C */ lw $t9, 0x002C($s0) ## 0000002C
|
||||
/* 00494 80B24AF4 240600FA */ addiu $a2, $zero, 0x00FA ## $a2 = 000000FA
|
||||
/* 00498 80B24AF8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 0049C 80B24AFC ADF90008 */ sw $t9, 0x0008($t7) ## FFFFFFDC
|
||||
/* 004A0 80B24B00 920C01B1 */ lbu $t4, 0x01B1($s0) ## 000001B1
|
||||
/* 004A4 80B24B04 318DFFFD */ andi $t5, $t4, 0xFFFD ## $t5 = 00000000
|
||||
/* 004A8 80B24B08 A20D01B1 */ sb $t5, 0x01B1($s0) ## 000001B1
|
||||
/* 004AC 80B24B0C A7AB0090 */ sh $t3, 0x0090($sp)
|
||||
/* 004B0 80B24B10 A7AA0092 */ sh $t2, 0x0092($sp)
|
||||
/* 004B4 80B24B14 A7A90094 */ sh $t1, 0x0094($sp)
|
||||
/* 004B8 80B24B18 A7A8008A */ sh $t0, 0x008A($sp)
|
||||
/* 004BC 80B24B1C 0C00D09B */ jal func_8003426C
|
||||
/* 004C0 80B24B20 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 004C4 80B24B24 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 004C8 80B24B28 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00
|
||||
/* 004CC 80B24B2C C7A40080 */ lwc1 $f4, 0x0080($sp)
|
||||
/* 004D0 80B24B30 C7A80084 */ lwc1 $f8, 0x0084($sp)
|
||||
/* 004D4 80B24B34 3C0180B2 */ lui $at, %hi(D_80B25860) ## $at = 80B20000
|
||||
/* 004D8 80B24B38 46002180 */ add.s $f6, $f4, $f0
|
||||
/* 004DC 80B24B3C C4305860 */ lwc1 $f16, %lo(D_80B25860)($at)
|
||||
/* 004E0 80B24B40 240F0096 */ addiu $t7, $zero, 0x0096 ## $t7 = 00000096
|
||||
/* 004E4 80B24B44 46004280 */ add.s $f10, $f8, $f0
|
||||
/* 004E8 80B24B48 24180096 */ addiu $t8, $zero, 0x0096 ## $t8 = 00000096
|
||||
/* 004EC 80B24B4C 241900FA */ addiu $t9, $zero, 0x00FA ## $t9 = 000000FA
|
||||
/* 004F0 80B24B50 240C00EB */ addiu $t4, $zero, 0x00EB ## $t4 = 000000EB
|
||||
/* 004F4 80B24B54 240D00F5 */ addiu $t5, $zero, 0x00F5 ## $t5 = 000000F5
|
||||
/* 004F8 80B24B58 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
||||
/* 004FC 80B24B5C E7A60080 */ swc1 $f6, 0x0080($sp)
|
||||
/* 00500 80B24B60 E7AA0084 */ swc1 $f10, 0x0084($sp)
|
||||
/* 00504 80B24B64 AFAE0024 */ sw $t6, 0x0024($sp)
|
||||
/* 00508 80B24B68 AFAD0020 */ sw $t5, 0x0020($sp)
|
||||
/* 0050C 80B24B6C AFAC001C */ sw $t4, 0x001C($sp)
|
||||
/* 00510 80B24B70 AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 00514 80B24B74 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00518 80B24B78 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 0051C 80B24B7C 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 00520 80B24B80 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00524 80B24B84 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFD4
|
||||
/* 00528 80B24B88 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
|
||||
/* 0052C 80B24B8C 0C00A850 */ jal EffectSsEnIce_SpawnFlyingVec3f
|
||||
/* 00530 80B24B90 E7B00028 */ swc1 $f16, 0x0028($sp)
|
||||
/* 00534 80B24B94 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00538 80B24B98 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
|
||||
/* 0053C 80B24B9C C7B2007C */ lwc1 $f18, 0x007C($sp)
|
||||
/* 00540 80B24BA0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00544 80B24BA4 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00
|
||||
/* 00548 80B24BA8 C7A80084 */ lwc1 $f8, 0x0084($sp)
|
||||
/* 0054C 80B24BAC 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00550 80B24BB0 3C0180B2 */ lui $at, %hi(D_80B25864) ## $at = 80B20000
|
||||
/* 00554 80B24BB4 C4325864 */ lwc1 $f18, %lo(D_80B25864)($at)
|
||||
/* 00558 80B24BB8 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 0055C 80B24BBC 240F0096 */ addiu $t7, $zero, 0x0096 ## $t7 = 00000096
|
||||
/* 00560 80B24BC0 24180096 */ addiu $t8, $zero, 0x0096 ## $t8 = 00000096
|
||||
/* 00564 80B24BC4 241900FA */ addiu $t9, $zero, 0x00FA ## $t9 = 000000FA
|
||||
/* 00568 80B24BC8 240C00EB */ addiu $t4, $zero, 0x00EB ## $t4 = 000000EB
|
||||
/* 0056C 80B24BCC 240D00F5 */ addiu $t5, $zero, 0x00F5 ## $t5 = 000000F5
|
||||
/* 00570 80B24BD0 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
||||
/* 00574 80B24BD4 E7A6007C */ swc1 $f6, 0x007C($sp)
|
||||
/* 00578 80B24BD8 E7B00084 */ swc1 $f16, 0x0084($sp)
|
||||
/* 0057C 80B24BDC AFAE0024 */ sw $t6, 0x0024($sp)
|
||||
/* 00580 80B24BE0 AFAD0020 */ sw $t5, 0x0020($sp)
|
||||
/* 00584 80B24BE4 AFAC001C */ sw $t4, 0x001C($sp)
|
||||
/* 00588 80B24BE8 AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 0058C 80B24BEC AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00590 80B24BF0 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 00594 80B24BF4 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 00598 80B24BF8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 0059C 80B24BFC 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFD4
|
||||
/* 005A0 80B24C00 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
|
||||
/* 005A4 80B24C04 0C00A850 */ jal EffectSsEnIce_SpawnFlyingVec3f
|
||||
/* 005A8 80B24C08 E7B20028 */ swc1 $f18, 0x0028($sp)
|
||||
/* 005AC 80B24C0C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 005B0 80B24C10 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
|
||||
/* 005B4 80B24C14 C7A4007C */ lwc1 $f4, 0x007C($sp)
|
||||
/* 005B8 80B24C18 3C0180B2 */ lui $at, %hi(D_80B25868) ## $at = 80B20000
|
||||
/* 005BC 80B24C1C C42A5868 */ lwc1 $f10, %lo(D_80B25868)($at)
|
||||
/* 005C0 80B24C20 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 005C4 80B24C24 240F0096 */ addiu $t7, $zero, 0x0096 ## $t7 = 00000096
|
||||
/* 005C8 80B24C28 24180096 */ addiu $t8, $zero, 0x0096 ## $t8 = 00000096
|
||||
/* 005CC 80B24C2C 241900FA */ addiu $t9, $zero, 0x00FA ## $t9 = 000000FA
|
||||
/* 005D0 80B24C30 240C00EB */ addiu $t4, $zero, 0x00EB ## $t4 = 000000EB
|
||||
/* 005D4 80B24C34 240D00F5 */ addiu $t5, $zero, 0x00F5 ## $t5 = 000000F5
|
||||
/* 005D8 80B24C38 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
||||
/* 005DC 80B24C3C E7A8007C */ swc1 $f8, 0x007C($sp)
|
||||
/* 005E0 80B24C40 AFAE0024 */ sw $t6, 0x0024($sp)
|
||||
/* 005E4 80B24C44 AFAD0020 */ sw $t5, 0x0020($sp)
|
||||
/* 005E8 80B24C48 AFAC001C */ sw $t4, 0x001C($sp)
|
||||
/* 005EC 80B24C4C AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 005F0 80B24C50 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 005F4 80B24C54 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 005F8 80B24C58 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 005FC 80B24C5C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00600 80B24C60 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFD4
|
||||
/* 00604 80B24C64 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
|
||||
/* 00608 80B24C68 0C00A850 */ jal EffectSsEnIce_SpawnFlyingVec3f
|
||||
/* 0060C 80B24C6C E7AA0028 */ swc1 $f10, 0x0028($sp)
|
||||
/* 00610 80B24C70 87A8008A */ lh $t0, 0x008A($sp)
|
||||
/* 00614 80B24C74 87A90094 */ lh $t1, 0x0094($sp)
|
||||
/* 00618 80B24C78 87AA0092 */ lh $t2, 0x0092($sp)
|
||||
/* 0061C 80B24C7C 87AB0090 */ lh $t3, 0x0090($sp)
|
||||
/* 00620 80B24C80 920F0114 */ lbu $t7, 0x0114($s0) ## 00000114
|
||||
.L80B24C84:
|
||||
/* 00624 80B24C84 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 00628 80B24C88 55E002BB */ bnel $t7, $zero, .L80B25778
|
||||
/* 0062C 80B24C8C 260501A0 */ addiu $a1, $s0, 0x01A0 ## $a1 = 000001A0
|
||||
/* 00630 80B24C90 8E02014C */ lw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 00634 80B24C94 44818000 */ mtc1 $at, $f16 ## $f16 = 40.00
|
||||
/* 00638 80B24C98 10400002 */ beq $v0, $zero, .L80B24CA4
|
||||
/* 0063C 80B24C9C 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 00640 80B24CA0 AE18014C */ sw $t8, 0x014C($s0) ## 0000014C
|
||||
.L80B24CA4:
|
||||
/* 00644 80B24CA4 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090
|
||||
/* 00648 80B24CA8 4610903E */ c.le.s $f18, $f16
|
||||
/* 0064C 80B24CAC 00000000 */ nop
|
||||
/* 00650 80B24CB0 45020037 */ bc1fl .L80B24D90
|
||||
/* 00654 80B24CB4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00658 80B24CB8 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
|
||||
/* 0065C 80B24CBC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00660 80B24CC0 57200033 */ bnel $t9, $zero, .L80B24D90
|
||||
/* 00664 80B24CC4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00668 80B24CC8 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
|
||||
/* 0066C 80B24CCC C6060094 */ lwc1 $f6, 0x0094($s0) ## 00000094
|
||||
/* 00670 80B24CD0 4604303E */ c.le.s $f6, $f4
|
||||
/* 00674 80B24CD4 00000000 */ nop
|
||||
/* 00678 80B24CD8 4502002D */ bc1fl .L80B24D90
|
||||
/* 0067C 80B24CDC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00680 80B24CE0 860C001C */ lh $t4, 0x001C($s0) ## 0000001C
|
||||
/* 00684 80B24CE4 318D0030 */ andi $t5, $t4, 0x0030 ## $t5 = 00000000
|
||||
/* 00688 80B24CE8 55A0000E */ bnel $t5, $zero, .L80B24D24
|
||||
/* 0068C 80B24CEC 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
|
||||
/* 00690 80B24CF0 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
/* 00694 80B24CF4 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
|
||||
/* 00698 80B24CF8 24ECC000 */ addiu $t4, $a3, 0xC000 ## $t4 = FFFFC000
|
||||
/* 0069C 80B24CFC 00EE7823 */ subu $t7, $a3, $t6
|
||||
/* 006A0 80B24D00 000FC400 */ sll $t8, $t7, 16
|
||||
/* 006A4 80B24D04 0018CC03 */ sra $t9, $t8, 16
|
||||
/* 006A8 80B24D08 07200003 */ bltz $t9, .L80B24D18
|
||||
/* 006AC 80B24D0C 24ED4000 */ addiu $t5, $a3, 0x4000 ## $t5 = 00004000
|
||||
/* 006B0 80B24D10 10000005 */ beq $zero, $zero, .L80B24D28
|
||||
/* 006B4 80B24D14 A7AC0096 */ sh $t4, 0x0096($sp)
|
||||
.L80B24D18:
|
||||
/* 006B8 80B24D18 10000003 */ beq $zero, $zero, .L80B24D28
|
||||
/* 006BC 80B24D1C A7AD0096 */ sh $t5, 0x0096($sp)
|
||||
/* 006C0 80B24D20 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
|
||||
.L80B24D24:
|
||||
/* 006C4 80B24D24 A7AE0096 */ sh $t6, 0x0096($sp)
|
||||
.L80B24D28:
|
||||
/* 006C8 80B24D28 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 006CC 80B24D2C 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
|
||||
/* 006D0 80B24D30 A7A8008A */ sh $t0, 0x008A($sp)
|
||||
/* 006D4 80B24D34 A7A90094 */ sh $t1, 0x0094($sp)
|
||||
/* 006D8 80B24D38 A7AA0092 */ sh $t2, 0x0092($sp)
|
||||
/* 006DC 80B24D3C A7AB0090 */ sh $t3, 0x0090($sp)
|
||||
/* 006E0 80B24D40 0324C821 */ addu $t9, $t9, $a0
|
||||
/* 006E4 80B24D44 8F391D58 */ lw $t9, 0x1D58($t9) ## 00011D58
|
||||
/* 006E8 80B24D48 2405FFFC */ addiu $a1, $zero, 0xFFFC ## $a1 = FFFFFFFC
|
||||
/* 006EC 80B24D4C 0320F809 */ jalr $ra, $t9
|
||||
/* 006F0 80B24D50 00000000 */ nop
|
||||
/* 006F4 80B24D54 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 006F8 80B24D58 44810000 */ mtc1 $at, $f0 ## $f0 = 6.00
|
||||
/* 006FC 80B24D5C 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 00700 80B24D60 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00704 80B24D64 44060000 */ mfc1 $a2, $f0
|
||||
/* 00708 80B24D68 87A70096 */ lh $a3, 0x0096($sp)
|
||||
/* 0070C 80B24D6C 0C00BDE8 */ jal func_8002F7A0
|
||||
/* 00710 80B24D70 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00714 80B24D74 87A8008A */ lh $t0, 0x008A($sp)
|
||||
/* 00718 80B24D78 87A90094 */ lh $t1, 0x0094($sp)
|
||||
/* 0071C 80B24D7C 87AA0092 */ lh $t2, 0x0092($sp)
|
||||
/* 00720 80B24D80 87AB0090 */ lh $t3, 0x0090($sp)
|
||||
/* 00724 80B24D84 2418000F */ addiu $t8, $zero, 0x000F ## $t8 = 0000000F
|
||||
/* 00728 80B24D88 AE18014C */ sw $t8, 0x014C($s0) ## 0000014C
|
||||
/* 0072C 80B24D8C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L80B24D90:
|
||||
/* 00730 80B24D90 304C0010 */ andi $t4, $v0, 0x0010 ## $t4 = 00000000
|
||||
/* 00734 80B24D94 51800069 */ beql $t4, $zero, .L80B24F3C
|
||||
/* 00738 80B24D98 304C0020 */ andi $t4, $v0, 0x0020 ## $t4 = 00000000
|
||||
/* 0073C 80B24D9C 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
|
||||
/* 00740 80B24DA0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00744 80B24DA4 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
|
||||
/* 00748 80B24DA8 31AE0008 */ andi $t6, $t5, 0x0008 ## $t6 = 00000000
|
||||
/* 0074C 80B24DAC 11C0000B */ beq $t6, $zero, .L80B24DDC
|
||||
/* 00750 80B24DB0 E6080154 */ swc1 $f8, 0x0154($s0) ## 00000154
|
||||
/* 00754 80B24DB4 05000003 */ bltz $t0, .L80B24DC4
|
||||
/* 00758 80B24DB8 00081823 */ subu $v1, $zero, $t0
|
||||
/* 0075C 80B24DBC 10000001 */ beq $zero, $zero, .L80B24DC4
|
||||
/* 00760 80B24DC0 01001825 */ or $v1, $t0, $zero ## $v1 = 00000000
|
||||
.L80B24DC4:
|
||||
/* 00764 80B24DC4 28616000 */ slti $at, $v1, 0x6000
|
||||
/* 00768 80B24DC8 54200005 */ bnel $at, $zero, .L80B24DE0
|
||||
/* 0076C 80B24DCC 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00770 80B24DD0 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00774 80B24DD4 00000000 */ nop
|
||||
/* 00778 80B24DD8 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
.L80B24DDC:
|
||||
/* 0077C 80B24DDC 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
.L80B24DE0:
|
||||
/* 00780 80B24DE0 C60A0154 */ lwc1 $f10, 0x0154($s0) ## 00000154
|
||||
/* 00784 80B24DE4 260F0024 */ addiu $t7, $s0, 0x0024 ## $t7 = 00000024
|
||||
/* 00788 80B24DE8 460A1032 */ c.eq.s $f2, $f10
|
||||
/* 0078C 80B24DEC 00000000 */ nop
|
||||
/* 00790 80B24DF0 4501002B */ bc1t .L80B24EA0
|
||||
/* 00794 80B24DF4 00000000 */ nop
|
||||
/* 00798 80B24DF8 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 0079C 80B24DFC A7AA0092 */ sh $t2, 0x0092($sp)
|
||||
/* 007A0 80B24E00 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 007A4 80B24E04 AFAF0048 */ sw $t7, 0x0048($sp)
|
||||
/* 007A8 80B24E08 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 007AC 80B24E0C 44818000 */ mtc1 $at, $f16 ## $f16 = 30.00
|
||||
/* 007B0 80B24E10 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 007B4 80B24E14 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 007B8 80B24E18 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 007BC 80B24E1C E7A60070 */ swc1 $f6, 0x0070($sp)
|
||||
/* 007C0 80B24E20 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 007C4 80B24E24 86040032 */ lh $a0, 0x0032($s0) ## 00000032
|
||||
/* 007C8 80B24E28 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 007CC 80B24E2C 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
|
||||
/* 007D0 80B24E30 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 007D4 80B24E34 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 007D8 80B24E38 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 007DC 80B24E3C 27B90060 */ addiu $t9, $sp, 0x0060 ## $t9 = FFFFFFB8
|
||||
/* 007E0 80B24E40 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 007E4 80B24E44 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
|
||||
/* 007E8 80B24E48 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
||||
/* 007EC 80B24E4C 27AE005C */ addiu $t6, $sp, 0x005C ## $t6 = FFFFFFB4
|
||||
/* 007F0 80B24E50 8FA50048 */ lw $a1, 0x0048($sp)
|
||||
/* 007F4 80B24E54 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 007F8 80B24E58 27A60070 */ addiu $a2, $sp, 0x0070 ## $a2 = FFFFFFC8
|
||||
/* 007FC 80B24E5C 27A70064 */ addiu $a3, $sp, 0x0064 ## $a3 = FFFFFFBC
|
||||
/* 00800 80B24E60 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
|
||||
/* 00804 80B24E64 E7B20078 */ swc1 $f18, 0x0078($sp)
|
||||
/* 00808 80B24E68 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 0080C 80B24E6C AFAE0024 */ sw $t6, 0x0024($sp)
|
||||
/* 00810 80B24E70 AFAD0020 */ sw $t5, 0x0020($sp)
|
||||
/* 00814 80B24E74 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00818 80B24E78 AFAC0018 */ sw $t4, 0x0018($sp)
|
||||
/* 0081C 80B24E7C AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00820 80B24E80 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00824 80B24E84 0C00F7A1 */ jal BgCheck_EntityLineTest1
|
||||
/* 00828 80B24E88 E7A40074 */ swc1 $f4, 0x0074($sp)
|
||||
/* 0082C 80B24E8C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00830 80B24E90 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00834 80B24E94 14410002 */ bne $v0, $at, .L80B24EA0
|
||||
/* 00838 80B24E98 87AA0092 */ lh $t2, 0x0092($sp)
|
||||
/* 0083C 80B24E9C E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
.L80B24EA0:
|
||||
/* 00840 80B24EA0 51400018 */ beql $t2, $zero, .L80B24F04
|
||||
/* 00844 80B24EA4 C6080154 */ lwc1 $f8, 0x0154($s0) ## 00000154
|
||||
/* 00848 80B24EA8 C6060154 */ lwc1 $f6, 0x0154($s0) ## 00000154
|
||||
/* 0084C 80B24EAC 46061032 */ c.eq.s $f2, $f6
|
||||
/* 00850 80B24EB0 00000000 */ nop
|
||||
/* 00854 80B24EB4 45030013 */ bc1tl .L80B24F04
|
||||
/* 00858 80B24EB8 C6080154 */ lwc1 $f8, 0x0154($s0) ## 00000154
|
||||
/* 0085C 80B24EBC 8E0501AC */ lw $a1, 0x01AC($s0) ## 000001AC
|
||||
/* 00860 80B24EC0 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00864 80B24EC4 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00868 80B24EC8 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 0086C 80B24ECC 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
|
||||
/* 00870 80B24ED0 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00874 80B24ED4 004F4823 */ subu $t1, $v0, $t7
|
||||
/* 00878 80B24ED8 00094C00 */ sll $t1, $t1, 16
|
||||
/* 0087C 80B24EDC 00094C03 */ sra $t1, $t1, 16
|
||||
/* 00880 80B24EE0 05200003 */ bltz $t1, .L80B24EF0
|
||||
/* 00884 80B24EE4 00091823 */ subu $v1, $zero, $t1
|
||||
/* 00888 80B24EE8 10000001 */ beq $zero, $zero, .L80B24EF0
|
||||
/* 0088C 80B24EEC 01201825 */ or $v1, $t1, $zero ## $v1 = 00000000
|
||||
.L80B24EF0:
|
||||
/* 00890 80B24EF0 28611000 */ slti $at, $v1, 0x1000
|
||||
/* 00894 80B24EF4 50200003 */ beql $at, $zero, .L80B24F04
|
||||
/* 00898 80B24EF8 C6080154 */ lwc1 $f8, 0x0154($s0) ## 00000154
|
||||
/* 0089C 80B24EFC E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 008A0 80B24F00 C6080154 */ lwc1 $f8, 0x0154($s0) ## 00000154
|
||||
.L80B24F04:
|
||||
/* 008A4 80B24F04 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 008A8 80B24F08 46081032 */ c.eq.s $f2, $f8
|
||||
/* 008AC 80B24F0C 00000000 */ nop
|
||||
/* 008B0 80B24F10 450001FA */ bc1f .L80B256FC
|
||||
/* 008B4 80B24F14 00000000 */ nop
|
||||
/* 008B8 80B24F18 86190032 */ lh $t9, 0x0032($s0) ## 00000032
|
||||
/* 008BC 80B24F1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008C0 80B24F20 2405287D */ addiu $a1, $zero, 0x287D ## $a1 = 0000287D
|
||||
/* 008C4 80B24F24 0321C021 */ addu $t8, $t9, $at
|
||||
/* 008C8 80B24F28 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 008CC 80B24F2C A6180032 */ sh $t8, 0x0032($s0) ## 00000032
|
||||
/* 008D0 80B24F30 100001F2 */ beq $zero, $zero, .L80B256FC
|
||||
/* 008D4 80B24F34 00000000 */ nop
|
||||
/* 008D8 80B24F38 304C0020 */ andi $t4, $v0, 0x0020 ## $t4 = 00000000
|
||||
.L80B24F3C:
|
||||
/* 008DC 80B24F3C 1180002E */ beq $t4, $zero, .L80B24FF8
|
||||
/* 008E0 80B24F40 260D0024 */ addiu $t5, $s0, 0x0024 ## $t5 = 00000024
|
||||
/* 008E4 80B24F44 86040152 */ lh $a0, 0x0152($s0) ## 00000152
|
||||
/* 008E8 80B24F48 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 008EC 80B24F4C AFAD0048 */ sw $t5, 0x0048($sp)
|
||||
/* 008F0 80B24F50 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 008F4 80B24F54 860E0152 */ lh $t6, 0x0152($s0) ## 00000152
|
||||
/* 008F8 80B24F58 860F0150 */ lh $t7, 0x0150($s0) ## 00000150
|
||||
/* 008FC 80B24F5C 4602003C */ c.lt.s $f0, $f2
|
||||
/* 00900 80B24F60 01CFC821 */ addu $t9, $t6, $t7
|
||||
/* 00904 80B24F64 A6190152 */ sh $t9, 0x0152($s0) ## 00000152
|
||||
/* 00908 80B24F68 4500000B */ bc1f .L80B24F98
|
||||
/* 0090C 80B24F6C 00000000 */ nop
|
||||
/* 00910 80B24F70 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00914 80B24F74 86040152 */ lh $a0, 0x0152($s0) ## 00000152
|
||||
/* 00918 80B24F78 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 0091C 80B24F7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00920 80B24F80 4600103E */ c.le.s $f2, $f0
|
||||
/* 00924 80B24F84 00000000 */ nop
|
||||
/* 00928 80B24F88 45000003 */ bc1f .L80B24F98
|
||||
/* 0092C 80B24F8C 00000000 */ nop
|
||||
/* 00930 80B24F90 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00934 80B24F94 240528D2 */ addiu $a1, $zero, 0x28D2 ## $a1 = 000028D2
|
||||
.L80B24F98:
|
||||
/* 00938 80B24F98 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 0093C 80B24F9C 86040152 */ lh $a0, 0x0152($s0) ## 00000152
|
||||
/* 00940 80B24FA0 C60A0154 */ lwc1 $f10, 0x0154($s0) ## 00000154
|
||||
/* 00944 80B24FA4 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
|
||||
/* 00948 80B24FA8 86040152 */ lh $a0, 0x0152($s0) ## 00000152
|
||||
/* 0094C 80B24FAC 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 00950 80B24FB0 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00954 80B24FB4 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00958 80B24FB8 E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 0095C 80B24FBC C6060154 */ lwc1 $f6, 0x0154($s0) ## 00000154
|
||||
/* 00960 80B24FC0 C60A0010 */ lwc1 $f10, 0x0010($s0) ## 00000010
|
||||
/* 00964 80B24FC4 C6120080 */ lwc1 $f18, 0x0080($s0) ## 00000080
|
||||
/* 00968 80B24FC8 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 0096C 80B24FCC E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028
|
||||
/* 00970 80B24FD0 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 00974 80B24FD4 E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 00978 80B24FD8 8FB80048 */ lw $t8, 0x0048($sp)
|
||||
/* 0097C 80B24FDC 8F0D0000 */ lw $t5, 0x0000($t8) ## 00000000
|
||||
/* 00980 80B24FE0 AE0D0100 */ sw $t5, 0x0100($s0) ## 00000100
|
||||
/* 00984 80B24FE4 8F0C0004 */ lw $t4, 0x0004($t8) ## 00000004
|
||||
/* 00988 80B24FE8 AE0C0104 */ sw $t4, 0x0104($s0) ## 00000104
|
||||
/* 0098C 80B24FEC 8F0D0008 */ lw $t5, 0x0008($t8) ## 00000008
|
||||
/* 00990 80B24FF0 100001C2 */ beq $zero, $zero, .L80B256FC
|
||||
/* 00994 80B24FF4 AE0D0108 */ sw $t5, 0x0108($s0) ## 00000108
|
||||
.L80B24FF8:
|
||||
/* 00998 80B24FF8 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 0099C 80B24FFC C6000154 */ lwc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 009A0 80B25000 46001032 */ c.eq.s $f2, $f0
|
||||
/* 009A4 80B25004 00000000 */ nop
|
||||
/* 009A8 80B25008 45030120 */ bc1tl .L80B2548C
|
||||
/* 009AC 80B2500C C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
|
||||
/* 009B0 80B25010 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
/* 009B4 80B25014 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000
|
||||
/* 009B8 80B25018 30590002 */ andi $t9, $v0, 0x0002 ## $t9 = 00000000
|
||||
/* 009BC 80B2501C 10E1008D */ beq $a3, $at, .L80B25254
|
||||
/* 009C0 80B25020 2401C000 */ addiu $at, $zero, 0xC000 ## $at = FFFFC000
|
||||
/* 009C4 80B25024 10E100D0 */ beq $a3, $at, .L80B25368
|
||||
/* 009C8 80B25028 304E0008 */ andi $t6, $v0, 0x0008 ## $t6 = 00000000
|
||||
/* 009CC 80B2502C 10E00006 */ beq $a3, $zero, .L80B25048
|
||||
/* 009D0 80B25030 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000
|
||||
/* 009D4 80B25034 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 009D8 80B25038 10E10046 */ beq $a3, $at, .L80B25154
|
||||
/* 009DC 80B2503C 304C0004 */ andi $t4, $v0, 0x0004 ## $t4 = 00000000
|
||||
/* 009E0 80B25040 10000109 */ beq $zero, $zero, .L80B25468
|
||||
/* 009E4 80B25044 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80B25048:
|
||||
/* 009E8 80B25048 55C00005 */ bnel $t6, $zero, .L80B25060
|
||||
/* 009EC 80B2504C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
|
||||
/* 009F0 80B25050 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 009F4 80B25054 1000000E */ beq $zero, $zero, .L80B25090
|
||||
/* 009F8 80B25058 C6000154 */ lwc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 009FC 80B2505C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
|
||||
.L80B25060:
|
||||
/* 00A00 80B25060 31F90008 */ andi $t9, $t7, 0x0008 ## $t9 = 00000000
|
||||
/* 00A04 80B25064 1320000A */ beq $t9, $zero, .L80B25090
|
||||
/* 00A08 80B25068 00000000 */ nop
|
||||
/* 00A0C 80B2506C 05000003 */ bltz $t0, .L80B2507C
|
||||
/* 00A10 80B25070 00081823 */ subu $v1, $zero, $t0
|
||||
/* 00A14 80B25074 10000001 */ beq $zero, $zero, .L80B2507C
|
||||
/* 00A18 80B25078 01001825 */ or $v1, $t0, $zero ## $v1 = 00000000
|
||||
.L80B2507C:
|
||||
/* 00A1C 80B2507C 28616001 */ slti $at, $v1, 0x6001
|
||||
/* 00A20 80B25080 14200003 */ bne $at, $zero, .L80B25090
|
||||
/* 00A24 80B25084 00000000 */ nop
|
||||
/* 00A28 80B25088 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00A2C 80B2508C C6000154 */ lwc1 $f0, 0x0154($s0) ## 00000154
|
||||
.L80B25090:
|
||||
/* 00A30 80B25090 5140000F */ beql $t2, $zero, .L80B250D0
|
||||
/* 00A34 80B25094 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00A38 80B25098 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00A3C 80B2509C 00000000 */ nop
|
||||
/* 00A40 80B250A0 4503000B */ bc1tl .L80B250D0
|
||||
/* 00A44 80B250A4 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00A48 80B250A8 05200003 */ bltz $t1, .L80B250B8
|
||||
/* 00A4C 80B250AC 00091823 */ subu $v1, $zero, $t1
|
||||
/* 00A50 80B250B0 10000001 */ beq $zero, $zero, .L80B250B8
|
||||
/* 00A54 80B250B4 01201825 */ or $v1, $t1, $zero ## $v1 = 00000000
|
||||
.L80B250B8:
|
||||
/* 00A58 80B250B8 28616001 */ slti $at, $v1, 0x6001
|
||||
/* 00A5C 80B250BC 54200004 */ bnel $at, $zero, .L80B250D0
|
||||
/* 00A60 80B250C0 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00A64 80B250C4 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00A68 80B250C8 C6000154 */ lwc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 00A6C 80B250CC 46001032 */ c.eq.s $f2, $f0
|
||||
.L80B250D0:
|
||||
/* 00A70 80B250D0 3C0180B2 */ lui $at, %hi(D_80B2586C) ## $at = 80B20000
|
||||
/* 00A74 80B250D4 4501001D */ bc1t .L80B2514C
|
||||
/* 00A78 80B250D8 00000000 */ nop
|
||||
/* 00A7C 80B250DC C424586C */ lwc1 $f4, %lo(D_80B2586C)($at)
|
||||
/* 00A80 80B250E0 26180024 */ addiu $t8, $s0, 0x0024 ## $t8 = 00000024
|
||||
/* 00A84 80B250E4 AFB80048 */ sw $t8, 0x0048($sp)
|
||||
/* 00A88 80B250E8 46002032 */ c.eq.s $f4, $f0
|
||||
/* 00A8C 80B250EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A90 80B250F0 45020006 */ bc1fl .L80B2510C
|
||||
/* 00A94 80B250F4 8E050178 */ lw $a1, 0x0178($s0) ## 00000178
|
||||
/* 00A98 80B250F8 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00A9C 80B250FC 2405287D */ addiu $a1, $zero, 0x287D ## $a1 = 0000287D
|
||||
/* 00AA0 80B25100 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00AA4 80B25104 00000000 */ nop
|
||||
/* 00AA8 80B25108 8E050178 */ lw $a1, 0x0178($s0) ## 00000178
|
||||
.L80B2510C:
|
||||
/* 00AAC 80B2510C 8E07019C */ lw $a3, 0x019C($s0) ## 0000019C
|
||||
/* 00AB0 80B25110 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00AB4 80B25114 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 00AB8 80B25118 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00ABC 80B2511C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00AC0 80B25120 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00AC4 80B25124 E6000154 */ swc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 00AC8 80B25128 8E050170 */ lw $a1, 0x0170($s0) ## 00000170
|
||||
/* 00ACC 80B2512C 8E070194 */ lw $a3, 0x0194($s0) ## 00000194
|
||||
/* 00AD0 80B25130 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 00AD4 80B25134 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00AD8 80B25138 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00ADC 80B2513C E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00AE0 80B25140 C6060154 */ lwc1 $f6, 0x0154($s0) ## 00000154
|
||||
/* 00AE4 80B25144 46003200 */ add.s $f8, $f6, $f0
|
||||
/* 00AE8 80B25148 E6080154 */ swc1 $f8, 0x0154($s0) ## 00000154
|
||||
.L80B2514C:
|
||||
/* 00AEC 80B2514C 100000C5 */ beq $zero, $zero, .L80B25464
|
||||
/* 00AF0 80B25150 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B25154:
|
||||
/* 00AF4 80B25154 55800005 */ bnel $t4, $zero, .L80B2516C
|
||||
/* 00AF8 80B25158 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
|
||||
/* 00AFC 80B2515C E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00B00 80B25160 1000000D */ beq $zero, $zero, .L80B25198
|
||||
/* 00B04 80B25164 C6000154 */ lwc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 00B08 80B25168 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
|
||||
.L80B2516C:
|
||||
/* 00B0C 80B2516C 2901E000 */ slti $at, $t0, 0xE000
|
||||
/* 00B10 80B25170 31AE0008 */ andi $t6, $t5, 0x0008 ## $t6 = 00000000
|
||||
/* 00B14 80B25174 11C00008 */ beq $t6, $zero, .L80B25198
|
||||
/* 00B18 80B25178 00000000 */ nop
|
||||
/* 00B1C 80B2517C 10200006 */ beq $at, $zero, .L80B25198
|
||||
/* 00B20 80B25180 2901A001 */ slti $at, $t0, 0xA001
|
||||
/* 00B24 80B25184 14200004 */ bne $at, $zero, .L80B25198
|
||||
/* 00B28 80B25188 00000000 */ nop
|
||||
/* 00B2C 80B2518C E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00B30 80B25190 100000B4 */ beq $zero, $zero, .L80B25464
|
||||
/* 00B34 80B25194 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B25198:
|
||||
/* 00B38 80B25198 5140000D */ beql $t2, $zero, .L80B251D0
|
||||
/* 00B3C 80B2519C 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00B40 80B251A0 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00B44 80B251A4 2921E001 */ slti $at, $t1, 0xE001
|
||||
/* 00B48 80B251A8 45030009 */ bc1tl .L80B251D0
|
||||
/* 00B4C 80B251AC 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00B50 80B251B0 10200006 */ beq $at, $zero, .L80B251CC
|
||||
/* 00B54 80B251B4 2921A001 */ slti $at, $t1, 0xA001
|
||||
/* 00B58 80B251B8 54200005 */ bnel $at, $zero, .L80B251D0
|
||||
/* 00B5C 80B251BC 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00B60 80B251C0 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00B64 80B251C4 100000A7 */ beq $zero, $zero, .L80B25464
|
||||
/* 00B68 80B251C8 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B251CC:
|
||||
/* 00B6C 80B251CC 46001032 */ c.eq.s $f2, $f0
|
||||
.L80B251D0:
|
||||
/* 00B70 80B251D0 3C0180B2 */ lui $at, %hi(D_80B25870) ## $at = 80B20000
|
||||
/* 00B74 80B251D4 4501001D */ bc1t .L80B2524C
|
||||
/* 00B78 80B251D8 00000000 */ nop
|
||||
/* 00B7C 80B251DC C42A5870 */ lwc1 $f10, %lo(D_80B25870)($at)
|
||||
/* 00B80 80B251E0 260F0024 */ addiu $t7, $s0, 0x0024 ## $t7 = 00000024
|
||||
/* 00B84 80B251E4 AFAF0048 */ sw $t7, 0x0048($sp)
|
||||
/* 00B88 80B251E8 46005032 */ c.eq.s $f10, $f0
|
||||
/* 00B8C 80B251EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B90 80B251F0 45020006 */ bc1fl .L80B2520C
|
||||
/* 00B94 80B251F4 8E050158 */ lw $a1, 0x0158($s0) ## 00000158
|
||||
/* 00B98 80B251F8 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00B9C 80B251FC 2405287D */ addiu $a1, $zero, 0x287D ## $a1 = 0000287D
|
||||
/* 00BA0 80B25200 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00BA4 80B25204 00000000 */ nop
|
||||
/* 00BA8 80B25208 8E050158 */ lw $a1, 0x0158($s0) ## 00000158
|
||||
.L80B2520C:
|
||||
/* 00BAC 80B2520C 8E070188 */ lw $a3, 0x0188($s0) ## 00000188
|
||||
/* 00BB0 80B25210 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00BB4 80B25214 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 00BB8 80B25218 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00BBC 80B2521C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00BC0 80B25220 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00BC4 80B25224 E6000154 */ swc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 00BC8 80B25228 8E050160 */ lw $a1, 0x0160($s0) ## 00000160
|
||||
/* 00BCC 80B2522C 8E070190 */ lw $a3, 0x0190($s0) ## 00000190
|
||||
/* 00BD0 80B25230 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 00BD4 80B25234 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00BD8 80B25238 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00BDC 80B2523C E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00BE0 80B25240 C6100154 */ lwc1 $f16, 0x0154($s0) ## 00000154
|
||||
/* 00BE4 80B25244 46008480 */ add.s $f18, $f16, $f0
|
||||
/* 00BE8 80B25248 E6120154 */ swc1 $f18, 0x0154($s0) ## 00000154
|
||||
.L80B2524C:
|
||||
/* 00BEC 80B2524C 10000085 */ beq $zero, $zero, .L80B25464
|
||||
/* 00BF0 80B25250 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B25254:
|
||||
/* 00BF4 80B25254 57200005 */ bnel $t9, $zero, .L80B2526C
|
||||
/* 00BF8 80B25258 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
|
||||
/* 00BFC 80B2525C E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00C00 80B25260 1000000F */ beq $zero, $zero, .L80B252A0
|
||||
/* 00C04 80B25264 C6000154 */ lwc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 00C08 80B25268 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
|
||||
.L80B2526C:
|
||||
/* 00C0C 80B2526C 330C0008 */ andi $t4, $t8, 0x0008 ## $t4 = 00000000
|
||||
/* 00C10 80B25270 1180000B */ beq $t4, $zero, .L80B252A0
|
||||
/* 00C14 80B25274 00000000 */ nop
|
||||
/* 00C18 80B25278 05000003 */ bltz $t0, .L80B25288
|
||||
/* 00C1C 80B2527C 00081823 */ subu $v1, $zero, $t0
|
||||
/* 00C20 80B25280 10000001 */ beq $zero, $zero, .L80B25288
|
||||
/* 00C24 80B25284 01001825 */ or $v1, $t0, $zero ## $v1 = 00000000
|
||||
.L80B25288:
|
||||
/* 00C28 80B25288 28612000 */ slti $at, $v1, 0x2000
|
||||
/* 00C2C 80B2528C 10200004 */ beq $at, $zero, .L80B252A0
|
||||
/* 00C30 80B25290 00000000 */ nop
|
||||
/* 00C34 80B25294 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00C38 80B25298 10000072 */ beq $zero, $zero, .L80B25464
|
||||
/* 00C3C 80B2529C 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B252A0:
|
||||
/* 00C40 80B252A0 51400010 */ beql $t2, $zero, .L80B252E4
|
||||
/* 00C44 80B252A4 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00C48 80B252A8 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00C4C 80B252AC 00000000 */ nop
|
||||
/* 00C50 80B252B0 4503000C */ bc1tl .L80B252E4
|
||||
/* 00C54 80B252B4 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00C58 80B252B8 05200003 */ bltz $t1, .L80B252C8
|
||||
/* 00C5C 80B252BC 00091823 */ subu $v1, $zero, $t1
|
||||
/* 00C60 80B252C0 10000001 */ beq $zero, $zero, .L80B252C8
|
||||
/* 00C64 80B252C4 01201825 */ or $v1, $t1, $zero ## $v1 = 00000000
|
||||
.L80B252C8:
|
||||
/* 00C68 80B252C8 28612000 */ slti $at, $v1, 0x2000
|
||||
/* 00C6C 80B252CC 50200005 */ beql $at, $zero, .L80B252E4
|
||||
/* 00C70 80B252D0 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00C74 80B252D4 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00C78 80B252D8 10000062 */ beq $zero, $zero, .L80B25464
|
||||
/* 00C7C 80B252DC 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
/* 00C80 80B252E0 46001032 */ c.eq.s $f2, $f0
|
||||
.L80B252E4:
|
||||
/* 00C84 80B252E4 3C0180B2 */ lui $at, %hi(D_80B25874) ## $at = 80B20000
|
||||
/* 00C88 80B252E8 4501001D */ bc1t .L80B25360
|
||||
/* 00C8C 80B252EC 00000000 */ nop
|
||||
/* 00C90 80B252F0 C4245874 */ lwc1 $f4, %lo(D_80B25874)($at)
|
||||
/* 00C94 80B252F4 260D0024 */ addiu $t5, $s0, 0x0024 ## $t5 = 00000024
|
||||
/* 00C98 80B252F8 AFAD0048 */ sw $t5, 0x0048($sp)
|
||||
/* 00C9C 80B252FC 46002032 */ c.eq.s $f4, $f0
|
||||
/* 00CA0 80B25300 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00CA4 80B25304 45020006 */ bc1fl .L80B25320
|
||||
/* 00CA8 80B25308 8E050184 */ lw $a1, 0x0184($s0) ## 00000184
|
||||
/* 00CAC 80B2530C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00CB0 80B25310 2405287D */ addiu $a1, $zero, 0x287D ## $a1 = 0000287D
|
||||
/* 00CB4 80B25314 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00CB8 80B25318 00000000 */ nop
|
||||
/* 00CBC 80B2531C 8E050184 */ lw $a1, 0x0184($s0) ## 00000184
|
||||
.L80B25320:
|
||||
/* 00CC0 80B25320 8E07019C */ lw $a3, 0x019C($s0) ## 0000019C
|
||||
/* 00CC4 80B25324 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00CC8 80B25328 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 00CCC 80B2532C 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00CD0 80B25330 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00CD4 80B25334 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00CD8 80B25338 E6000154 */ swc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 00CDC 80B2533C 8E05017C */ lw $a1, 0x017C($s0) ## 0000017C
|
||||
/* 00CE0 80B25340 8E070194 */ lw $a3, 0x0194($s0) ## 00000194
|
||||
/* 00CE4 80B25344 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 00CE8 80B25348 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00CEC 80B2534C 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00CF0 80B25350 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00CF4 80B25354 C6060154 */ lwc1 $f6, 0x0154($s0) ## 00000154
|
||||
/* 00CF8 80B25358 46003200 */ add.s $f8, $f6, $f0
|
||||
/* 00CFC 80B2535C E6080154 */ swc1 $f8, 0x0154($s0) ## 00000154
|
||||
.L80B25360:
|
||||
/* 00D00 80B25360 10000040 */ beq $zero, $zero, .L80B25464
|
||||
/* 00D04 80B25364 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B25368:
|
||||
/* 00D08 80B25368 55C00005 */ bnel $t6, $zero, .L80B25380
|
||||
/* 00D0C 80B2536C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
|
||||
/* 00D10 80B25370 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00D14 80B25374 1000000D */ beq $zero, $zero, .L80B253AC
|
||||
/* 00D18 80B25378 C6000154 */ lwc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 00D1C 80B2537C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
|
||||
.L80B25380:
|
||||
/* 00D20 80B25380 29012001 */ slti $at, $t0, 0x2001
|
||||
/* 00D24 80B25384 31F90008 */ andi $t9, $t7, 0x0008 ## $t9 = 00000000
|
||||
/* 00D28 80B25388 13200008 */ beq $t9, $zero, .L80B253AC
|
||||
/* 00D2C 80B2538C 00000000 */ nop
|
||||
/* 00D30 80B25390 14200006 */ bne $at, $zero, .L80B253AC
|
||||
/* 00D34 80B25394 29016000 */ slti $at, $t0, 0x6000
|
||||
/* 00D38 80B25398 10200004 */ beq $at, $zero, .L80B253AC
|
||||
/* 00D3C 80B2539C 00000000 */ nop
|
||||
/* 00D40 80B253A0 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00D44 80B253A4 1000002F */ beq $zero, $zero, .L80B25464
|
||||
/* 00D48 80B253A8 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B253AC:
|
||||
/* 00D4C 80B253AC 5140000D */ beql $t2, $zero, .L80B253E4
|
||||
/* 00D50 80B253B0 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00D54 80B253B4 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00D58 80B253B8 29212001 */ slti $at, $t1, 0x2001
|
||||
/* 00D5C 80B253BC 45030009 */ bc1tl .L80B253E4
|
||||
/* 00D60 80B253C0 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00D64 80B253C4 14200006 */ bne $at, $zero, .L80B253E0
|
||||
/* 00D68 80B253C8 29216000 */ slti $at, $t1, 0x6000
|
||||
/* 00D6C 80B253CC 50200005 */ beql $at, $zero, .L80B253E4
|
||||
/* 00D70 80B253D0 46001032 */ c.eq.s $f2, $f0
|
||||
/* 00D74 80B253D4 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00D78 80B253D8 10000022 */ beq $zero, $zero, .L80B25464
|
||||
/* 00D7C 80B253DC 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B253E0:
|
||||
/* 00D80 80B253E0 46001032 */ c.eq.s $f2, $f0
|
||||
.L80B253E4:
|
||||
/* 00D84 80B253E4 3C0180B2 */ lui $at, %hi(D_80B25878) ## $at = 80B20000
|
||||
/* 00D88 80B253E8 4503001E */ bc1tl .L80B25464
|
||||
/* 00D8C 80B253EC 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
/* 00D90 80B253F0 C42A5878 */ lwc1 $f10, %lo(D_80B25878)($at)
|
||||
/* 00D94 80B253F4 26180024 */ addiu $t8, $s0, 0x0024 ## $t8 = 00000024
|
||||
/* 00D98 80B253F8 AFB80048 */ sw $t8, 0x0048($sp)
|
||||
/* 00D9C 80B253FC 46005032 */ c.eq.s $f10, $f0
|
||||
/* 00DA0 80B25400 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DA4 80B25404 45020006 */ bc1fl .L80B25420
|
||||
/* 00DA8 80B25408 8E050164 */ lw $a1, 0x0164($s0) ## 00000164
|
||||
/* 00DAC 80B2540C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00DB0 80B25410 2405287D */ addiu $a1, $zero, 0x287D ## $a1 = 0000287D
|
||||
/* 00DB4 80B25414 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00DB8 80B25418 00000000 */ nop
|
||||
/* 00DBC 80B2541C 8E050164 */ lw $a1, 0x0164($s0) ## 00000164
|
||||
.L80B25420:
|
||||
/* 00DC0 80B25420 8E070188 */ lw $a3, 0x0188($s0) ## 00000188
|
||||
/* 00DC4 80B25424 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00DC8 80B25428 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 00DCC 80B2542C 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00DD0 80B25430 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00DD4 80B25434 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00DD8 80B25438 E6000154 */ swc1 $f0, 0x0154($s0) ## 00000154
|
||||
/* 00DDC 80B2543C 8E05016C */ lw $a1, 0x016C($s0) ## 0000016C
|
||||
/* 00DE0 80B25440 8E070190 */ lw $a3, 0x0190($s0) ## 00000190
|
||||
/* 00DE4 80B25444 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 00DE8 80B25448 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00DEC 80B2544C 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00DF0 80B25450 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00DF4 80B25454 C6100154 */ lwc1 $f16, 0x0154($s0) ## 00000154
|
||||
/* 00DF8 80B25458 46008480 */ add.s $f18, $f16, $f0
|
||||
/* 00DFC 80B2545C E6120154 */ swc1 $f18, 0x0154($s0) ## 00000154
|
||||
/* 00E00 80B25460 86070152 */ lh $a3, 0x0152($s0) ## 00000152
|
||||
.L80B25464:
|
||||
/* 00E04 80B25464 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80B25468:
|
||||
/* 00E08 80B25468 8FA500AC */ lw $a1, 0x00AC($sp)
|
||||
/* 00E0C 80B2546C 0C00CE6E */ jal func_800339B8
|
||||
/* 00E10 80B25470 3C064248 */ lui $a2, 0x4248 ## $a2 = 42480000
|
||||
/* 00E14 80B25474 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00E18 80B25478 144000A0 */ bne $v0, $zero, .L80B256FC
|
||||
/* 00E1C 80B2547C 00000000 */ nop
|
||||
/* 00E20 80B25480 1000009E */ beq $zero, $zero, .L80B256FC
|
||||
/* 00E24 80B25484 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00E28 80B25488 C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
|
||||
.L80B2548C:
|
||||
/* 00E2C 80B2548C C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 00E30 80B25490 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00E34 80B25494 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 00E38 80B25498 46062032 */ c.eq.s $f4, $f6
|
||||
/* 00E3C 80B2549C 00000000 */ nop
|
||||
/* 00E40 80B254A0 45020018 */ bc1fl .L80B25504
|
||||
/* 00E44 80B254A4 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 00E48 80B254A8 C6080010 */ lwc1 $f8, 0x0010($s0) ## 00000010
|
||||
/* 00E4C 80B254AC C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 00E50 80B254B0 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00E54 80B254B4 460A4032 */ c.eq.s $f8, $f10
|
||||
/* 00E58 80B254B8 00000000 */ nop
|
||||
/* 00E5C 80B254BC 45020011 */ bc1fl .L80B25504
|
||||
/* 00E60 80B254C0 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 00E64 80B254C4 C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090
|
||||
/* 00E68 80B254C8 44819000 */ mtc1 $at, $f18 ## $f18 = 200.00
|
||||
/* 00E6C 80B254CC 860C008A */ lh $t4, 0x008A($s0) ## 0000008A
|
||||
/* 00E70 80B254D0 860D0032 */ lh $t5, 0x0032($s0) ## 00000032
|
||||
/* 00E74 80B254D4 4612803C */ c.lt.s $f16, $f18
|
||||
/* 00E78 80B254D8 E6020154 */ swc1 $f2, 0x0154($s0) ## 00000154
|
||||
/* 00E7C 80B254DC 018D7023 */ subu $t6, $t4, $t5
|
||||
/* 00E80 80B254E0 25CF2000 */ addiu $t7, $t6, 0x2000 ## $t7 = 00002000
|
||||
/* 00E84 80B254E4 31F9C000 */ andi $t9, $t7, 0xC000 ## $t9 = 00000000
|
||||
/* 00E88 80B254E8 45000084 */ bc1f .L80B256FC
|
||||
/* 00E8C 80B254EC A6190152 */ sh $t9, 0x0152($s0) ## 00000152
|
||||
/* 00E90 80B254F0 3C0180B2 */ lui $at, %hi(D_80B2587C) ## $at = 80B20000
|
||||
/* 00E94 80B254F4 C424587C */ lwc1 $f4, %lo(D_80B2587C)($at)
|
||||
/* 00E98 80B254F8 10000080 */ beq $zero, $zero, .L80B256FC
|
||||
/* 00E9C 80B254FC E6040154 */ swc1 $f4, 0x0154($s0) ## 00000154
|
||||
/* 00EA0 80B25500 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
.L80B25504:
|
||||
/* 00EA4 80B25504 A7A90094 */ sh $t1, 0x0094($sp)
|
||||
/* 00EA8 80B25508 A7AA0092 */ sh $t2, 0x0092($sp)
|
||||
/* 00EAC 80B2550C 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00EB0 80B25510 A7AB0090 */ sh $t3, 0x0090($sp)
|
||||
/* 00EB4 80B25514 244C2000 */ addiu $t4, $v0, 0x2000 ## $t4 = 00002000
|
||||
/* 00EB8 80B25518 318DC000 */ andi $t5, $t4, 0xC000 ## $t5 = 00000000
|
||||
/* 00EBC 80B2551C 87A90094 */ lh $t1, 0x0094($sp)
|
||||
/* 00EC0 80B25520 87AA0092 */ lh $t2, 0x0092($sp)
|
||||
/* 00EC4 80B25524 87AB0090 */ lh $t3, 0x0090($sp)
|
||||
/* 00EC8 80B25528 A60D0152 */ sh $t5, 0x0152($s0) ## 00000152
|
||||
/* 00ECC 80B2552C 86030152 */ lh $v1, 0x0152($s0) ## 00000152
|
||||
/* 00ED0 80B25530 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00ED4 80B25534 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000
|
||||
/* 00ED8 80B25538 10610037 */ beq $v1, $at, .L80B25618
|
||||
/* 00EDC 80B2553C 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 00EE0 80B25540 2401C000 */ addiu $at, $zero, 0xC000 ## $at = FFFFC000
|
||||
/* 00EE4 80B25544 5061004E */ beql $v1, $at, .L80B25680
|
||||
/* 00EE8 80B25548 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
|
||||
/* 00EEC 80B2554C 10600005 */ beq $v1, $zero, .L80B25564
|
||||
/* 00EF0 80B25550 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 00EF4 80B25554 5061001D */ beql $v1, $at, .L80B255CC
|
||||
/* 00EF8 80B25558 96190088 */ lhu $t9, 0x0088($s0) ## 00000088
|
||||
/* 00EFC 80B2555C 1000005A */ beq $zero, $zero, .L80B256C8
|
||||
/* 00F00 80B25560 00000000 */ nop
|
||||
.L80B25564:
|
||||
/* 00F04 80B25564 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
|
||||
/* 00F08 80B25568 31CF0008 */ andi $t7, $t6, 0x0008 ## $t7 = 00000000
|
||||
/* 00F0C 80B2556C 11E0000B */ beq $t7, $zero, .L80B2559C
|
||||
/* 00F10 80B25570 00000000 */ nop
|
||||
/* 00F14 80B25574 8602007E */ lh $v0, 0x007E($s0) ## 0000007E
|
||||
/* 00F18 80B25578 04400003 */ bltz $v0, .L80B25588
|
||||
/* 00F1C 80B2557C 00021823 */ subu $v1, $zero, $v0
|
||||
/* 00F20 80B25580 10000001 */ beq $zero, $zero, .L80B25588
|
||||
/* 00F24 80B25584 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
.L80B25588:
|
||||
/* 00F28 80B25588 28616001 */ slti $at, $v1, 0x6001
|
||||
/* 00F2C 80B2558C 1420004E */ bne $at, $zero, .L80B256C8
|
||||
/* 00F30 80B25590 00000000 */ nop
|
||||
/* 00F34 80B25594 1000004C */ beq $zero, $zero, .L80B256C8
|
||||
/* 00F38 80B25598 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
.L80B2559C:
|
||||
/* 00F3C 80B2559C 1140004A */ beq $t2, $zero, .L80B256C8
|
||||
/* 00F40 80B255A0 00000000 */ nop
|
||||
/* 00F44 80B255A4 05200003 */ bltz $t1, .L80B255B4
|
||||
/* 00F48 80B255A8 00091823 */ subu $v1, $zero, $t1
|
||||
/* 00F4C 80B255AC 10000001 */ beq $zero, $zero, .L80B255B4
|
||||
/* 00F50 80B255B0 01201825 */ or $v1, $t1, $zero ## $v1 = 00000000
|
||||
.L80B255B4:
|
||||
/* 00F54 80B255B4 28616001 */ slti $at, $v1, 0x6001
|
||||
/* 00F58 80B255B8 14200043 */ bne $at, $zero, .L80B256C8
|
||||
/* 00F5C 80B255BC 00000000 */ nop
|
||||
/* 00F60 80B255C0 10000041 */ beq $zero, $zero, .L80B256C8
|
||||
/* 00F64 80B255C4 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 00F68 80B255C8 96190088 */ lhu $t9, 0x0088($s0) ## 00000088
|
||||
.L80B255CC:
|
||||
/* 00F6C 80B255CC 33380008 */ andi $t8, $t9, 0x0008 ## $t8 = 00000000
|
||||
/* 00F70 80B255D0 13000009 */ beq $t8, $zero, .L80B255F8
|
||||
/* 00F74 80B255D4 00000000 */ nop
|
||||
/* 00F78 80B255D8 8602007E */ lh $v0, 0x007E($s0) ## 0000007E
|
||||
/* 00F7C 80B255DC 2841E000 */ slti $at, $v0, 0xE000
|
||||
/* 00F80 80B255E0 10200039 */ beq $at, $zero, .L80B256C8
|
||||
/* 00F84 80B255E4 2841A001 */ slti $at, $v0, 0xA001
|
||||
/* 00F88 80B255E8 14200037 */ bne $at, $zero, .L80B256C8
|
||||
/* 00F8C 80B255EC 00000000 */ nop
|
||||
/* 00F90 80B255F0 10000035 */ beq $zero, $zero, .L80B256C8
|
||||
/* 00F94 80B255F4 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
.L80B255F8:
|
||||
/* 00F98 80B255F8 11400033 */ beq $t2, $zero, .L80B256C8
|
||||
/* 00F9C 80B255FC 2921E000 */ slti $at, $t1, 0xE000
|
||||
/* 00FA0 80B25600 10200031 */ beq $at, $zero, .L80B256C8
|
||||
/* 00FA4 80B25604 2921A001 */ slti $at, $t1, 0xA001
|
||||
/* 00FA8 80B25608 1420002F */ bne $at, $zero, .L80B256C8
|
||||
/* 00FAC 80B2560C 00000000 */ nop
|
||||
/* 00FB0 80B25610 1000002D */ beq $zero, $zero, .L80B256C8
|
||||
/* 00FB4 80B25614 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
.L80B25618:
|
||||
/* 00FB8 80B25618 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
|
||||
/* 00FBC 80B2561C 318D0008 */ andi $t5, $t4, 0x0008 ## $t5 = 00000000
|
||||
/* 00FC0 80B25620 11A0000B */ beq $t5, $zero, .L80B25650
|
||||
/* 00FC4 80B25624 00000000 */ nop
|
||||
/* 00FC8 80B25628 8602007E */ lh $v0, 0x007E($s0) ## 0000007E
|
||||
/* 00FCC 80B2562C 04400003 */ bltz $v0, .L80B2563C
|
||||
/* 00FD0 80B25630 00021823 */ subu $v1, $zero, $v0
|
||||
/* 00FD4 80B25634 10000001 */ beq $zero, $zero, .L80B2563C
|
||||
/* 00FD8 80B25638 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
.L80B2563C:
|
||||
/* 00FDC 80B2563C 28612000 */ slti $at, $v1, 0x2000
|
||||
/* 00FE0 80B25640 10200021 */ beq $at, $zero, .L80B256C8
|
||||
/* 00FE4 80B25644 00000000 */ nop
|
||||
/* 00FE8 80B25648 1000001F */ beq $zero, $zero, .L80B256C8
|
||||
/* 00FEC 80B2564C 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
.L80B25650:
|
||||
/* 00FF0 80B25650 1140001D */ beq $t2, $zero, .L80B256C8
|
||||
/* 00FF4 80B25654 00000000 */ nop
|
||||
/* 00FF8 80B25658 05200003 */ bltz $t1, .L80B25668
|
||||
/* 00FFC 80B2565C 00091823 */ subu $v1, $zero, $t1
|
||||
/* 01000 80B25660 10000001 */ beq $zero, $zero, .L80B25668
|
||||
/* 01004 80B25664 01201825 */ or $v1, $t1, $zero ## $v1 = 00000000
|
||||
.L80B25668:
|
||||
/* 01008 80B25668 28612000 */ slti $at, $v1, 0x2000
|
||||
/* 0100C 80B2566C 10200016 */ beq $at, $zero, .L80B256C8
|
||||
/* 01010 80B25670 00000000 */ nop
|
||||
/* 01014 80B25674 10000014 */ beq $zero, $zero, .L80B256C8
|
||||
/* 01018 80B25678 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 0101C 80B2567C 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
|
||||
.L80B25680:
|
||||
/* 01020 80B25680 31CF0008 */ andi $t7, $t6, 0x0008 ## $t7 = 00000000
|
||||
/* 01024 80B25684 11E00009 */ beq $t7, $zero, .L80B256AC
|
||||
/* 01028 80B25688 00000000 */ nop
|
||||
/* 0102C 80B2568C 8602007E */ lh $v0, 0x007E($s0) ## 0000007E
|
||||
/* 01030 80B25690 28412001 */ slti $at, $v0, 0x2001
|
||||
/* 01034 80B25694 1420000C */ bne $at, $zero, .L80B256C8
|
||||
/* 01038 80B25698 28416000 */ slti $at, $v0, 0x6000
|
||||
/* 0103C 80B2569C 1020000A */ beq $at, $zero, .L80B256C8
|
||||
/* 01040 80B256A0 00000000 */ nop
|
||||
/* 01044 80B256A4 10000008 */ beq $zero, $zero, .L80B256C8
|
||||
/* 01048 80B256A8 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
.L80B256AC:
|
||||
/* 0104C 80B256AC 11400006 */ beq $t2, $zero, .L80B256C8
|
||||
/* 01050 80B256B0 29212001 */ slti $at, $t1, 0x2001
|
||||
/* 01054 80B256B4 14200004 */ bne $at, $zero, .L80B256C8
|
||||
/* 01058 80B256B8 29216000 */ slti $at, $t1, 0x6000
|
||||
/* 0105C 80B256BC 10200002 */ beq $at, $zero, .L80B256C8
|
||||
/* 01060 80B256C0 00000000 */ nop
|
||||
/* 01064 80B256C4 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
.L80B256C8:
|
||||
/* 01068 80B256C8 1560000C */ bne $t3, $zero, .L80B256FC
|
||||
/* 0106C 80B256CC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 01070 80B256D0 8E050008 */ lw $a1, 0x0008($s0) ## 00000008
|
||||
/* 01074 80B256D4 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 01078 80B256D8 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 0107C 80B256DC 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
|
||||
/* 01080 80B256E0 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 01084 80B256E4 8E050010 */ lw $a1, 0x0010($s0) ## 00000010
|
||||
/* 01088 80B256E8 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 0108C 80B256EC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 01090 80B256F0 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
|
||||
/* 01094 80B256F4 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 01098 80B256F8 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
.L80B256FC:
|
||||
/* 0109C 80B256FC 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 010A0 80B25700 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010A4 80B25704 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
|
||||
/* 010A8 80B25708 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 010AC 80B2570C 3C0641C8 */ lui $a2, 0x41C8 ## $a2 = 41C80000
|
||||
/* 010B0 80B25710 33380010 */ andi $t8, $t9, 0x0010 ## $t8 = 00000000
|
||||
/* 010B4 80B25714 13000008 */ beq $t8, $zero, .L80B25738
|
||||
/* 010B8 80B25718 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
|
||||
/* 010BC 80B2571C 8E0E0024 */ lw $t6, 0x0024($s0) ## 00000024
|
||||
/* 010C0 80B25720 27AC0098 */ addiu $t4, $sp, 0x0098 ## $t4 = FFFFFFF0
|
||||
/* 010C4 80B25724 AD8E0000 */ sw $t6, 0x0000($t4) ## FFFFFFF0
|
||||
/* 010C8 80B25728 8E0D0028 */ lw $t5, 0x0028($s0) ## 00000028
|
||||
/* 010CC 80B2572C AD8D0004 */ sw $t5, 0x0004($t4) ## FFFFFFF4
|
||||
/* 010D0 80B25730 8E0E002C */ lw $t6, 0x002C($s0) ## 0000002C
|
||||
/* 010D4 80B25734 AD8E0008 */ sw $t6, 0x0008($t4) ## FFFFFFF8
|
||||
.L80B25738:
|
||||
/* 010D8 80B25738 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 010DC 80B2573C 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
|
||||
/* 010E0 80B25740 240F001D */ addiu $t7, $zero, 0x001D ## $t7 = 0000001D
|
||||
/* 010E4 80B25744 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 010E8 80B25748 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 010EC 80B2574C 0C00B92D */ jal Actor_UpdateBgCheckInfo
|
||||
/* 010F0 80B25750 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 010F4 80B25754 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
|
||||
/* 010F8 80B25758 C7A80098 */ lwc1 $f8, 0x0098($sp)
|
||||
/* 010FC 80B2575C 33380010 */ andi $t8, $t9, 0x0010 ## $t8 = 00000000
|
||||
/* 01100 80B25760 53000005 */ beql $t8, $zero, .L80B25778
|
||||
/* 01104 80B25764 260501A0 */ addiu $a1, $s0, 0x01A0 ## $a1 = 000001A0
|
||||
/* 01108 80B25768 E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 0110C 80B2576C C7AA00A0 */ lwc1 $f10, 0x00A0($sp)
|
||||
/* 01110 80B25770 E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 01114 80B25774 260501A0 */ addiu $a1, $s0, 0x01A0 ## $a1 = 000001A0
|
||||
.L80B25778:
|
||||
/* 01118 80B25778 AFA50048 */ sw $a1, 0x0048($sp)
|
||||
/* 0111C 80B2577C 0C0189B7 */ jal Collider_UpdateCylinder
|
||||
|
||||
/* 01120 80B25780 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01124 80B25784 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 01128 80B25788 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0112C 80B2578C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 01130 80B25790 00812821 */ addu $a1, $a0, $at
|
||||
/* 01134 80B25794 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 01138 80B25798 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOC
|
||||
/* 0113C 80B2579C 8FA60048 */ lw $a2, 0x0048($sp)
|
||||
/* 01140 80B257A0 920D0114 */ lbu $t5, 0x0114($s0) ## 00000114
|
||||
/* 01144 80B257A4 8FA5004C */ lw $a1, 0x004C($sp)
|
||||
/* 01148 80B257A8 8FA400AC */ lw $a0, 0x00AC($sp)
|
||||
/* 0114C 80B257AC 55A00004 */ bnel $t5, $zero, .L80B257C0
|
||||
/* 01150 80B257B0 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 01154 80B257B4 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 01158 80B257B8 8FA60048 */ lw $a2, 0x0048($sp)
|
||||
/* 0115C 80B257BC 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
.L80B257C0:
|
||||
/* 01160 80B257C0 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 01164 80B257C4 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000
|
||||
/* 01168 80B257C8 03E00008 */ jr $ra
|
||||
/* 0116C 80B257CC 00000000 */ nop
|
|
@ -956,4 +956,4 @@
|
|||
<Texture Name="gEffSpark3Tex" OutName="eff_spark_3" Format="i4" Width="32" Height="32" Offset="0x563B0"/>
|
||||
<Texture Name="gEffSpark4Tex" OutName="eff_spark_4" Format="i4" Width="32" Height="32" Offset="0x565B0"/>
|
||||
</File>
|
||||
</Root>
|
||||
</Root>
|
||||
|
|
15
assets/xml/objects/object_blkobj.xml
Normal file
15
assets/xml/objects/object_blkobj.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<Root>
|
||||
<File Name="object_blkobj" Segment="6">
|
||||
<!-- Illusion Room Collision -->
|
||||
<Collision Name="gIllusionRoomCol" Offset="0x7564"/>
|
||||
|
||||
<!-- Illusion Room DLists -->
|
||||
<DList Name="gIllusionRoomNormalDL" Offset="0x14E0"/>
|
||||
<DList Name="gIllusionRoomIllusionDL" Offset="0x53D0"/>
|
||||
|
||||
<!-- Unused Content -->
|
||||
|
||||
<!-- Illusion room DLists -->
|
||||
<DList Name="gIllusionRoomTreeDL" Offset="0x7EB0"/>
|
||||
</File>
|
||||
</Root>
|
28
assets/xml/objects/object_geldb.xml
Normal file
28
assets/xml/objects/object_geldb.xml
Normal file
|
@ -0,0 +1,28 @@
|
|||
<Root>
|
||||
<File Name="object_geldb" Segment="6">
|
||||
<!-- Red-clothed Gerudo skeleton -->
|
||||
<Skeleton Name="gGerudoRedSkel" Type="Flex" LimbType="Standard" Offset="0xA458"/>
|
||||
|
||||
<!-- Red-clothed Gerudo animations -->
|
||||
<Animation Name="gGerudoRedJumpAnim" Offset="0xADF8"/>
|
||||
<Animation Name="gGerudoRedNeutralAnim" Offset="0xB6D4"/>
|
||||
<Animation Name="gGerudoRedSidestepAnim" Offset="0xA814"/>
|
||||
<Animation Name="gGerudoRedFlipAnim" Offset="0x1390"/>
|
||||
<Animation Name="gGerudoRedWalkAnim" Offset="0x24E8"/>
|
||||
<Animation Name="gGerudoRedSlashAnim" Offset="0x03CC"/>
|
||||
<Animation Name="gGerudoRedSpinAttackAnim" Offset="0x0F5C"/>
|
||||
<Animation Name="gGerudoRedDamageAnim" Offset="0x2280"/>
|
||||
<Animation Name="gGerudoRedDefeatAnim" Offset="0x1E10"/>
|
||||
<Animation Name="gGerudoRedBlockAnim" Offset="0x1578"/>
|
||||
<Animation Name="gGerudoRedStandAnim" Offset="0xB07C"/>
|
||||
|
||||
<!-- Red-clothed Gerudo eye textures -->
|
||||
<Texture Name="gGerudoRedEyeOpenTex" OutName="gerudo_red_eye_open" Format="ci8" Width="32" Height="32" Offset="0x5FE8"/>
|
||||
<Texture Name="gGerudoRedEyeHalfTex" OutName="gerudo_red_eye_half" Format="ci8" Width="32" Height="32" Offset="0x65A8"/>
|
||||
<Texture Name="gGerudoRedEyeShutTex" OutName="gerudo_red_eye_shut" Format="ci8" Width="32" Height="32" Offset="0x6D28"/>
|
||||
|
||||
<!-- These hints are currently needed for ZAPD to extract the textures properly. -->
|
||||
<Texture Name="sGerudoRedTexHint1" Format="rgb5a1" Width="18" Height="14" Offset="0x5D30"/>
|
||||
<Texture Name="sGerudoRedTexHint2" Format="ci8" Width="8" Height="8" Offset="0x5F28"/>
|
||||
</File>
|
||||
</Root>
|
|
@ -10,4 +10,4 @@
|
|||
<Collision Name="gUnknownUnusedBox4Col" Offset="0x15D0"/>
|
||||
<Texture Name="gUnknownUnusedBoxTex" OutName="unknown_unused_box" Format="rgb5a1" Width="32" Height="32" Offset="0xCC8"/>
|
||||
</File>
|
||||
</Root>
|
||||
</Root>
|
||||
|
|
|
@ -52,4 +52,4 @@
|
|||
<Animation Name="gStalfosSideWalkAnim" Offset="0xE2B0"/>
|
||||
<Animation Name="gStalfosStanding2FightingAnim" Offset="0xE7E4"/>
|
||||
</File>
|
||||
</Root>
|
||||
</Root>
|
||||
|
|
|
@ -11,4 +11,4 @@
|
|||
<Collision Name="gValleyObjects3Col" Offset="0x8458" Size="0x30"/>
|
||||
<Collision Name="gValleyObjects4Col" Offset="0x7580" Size="0x30"/>
|
||||
</File>
|
||||
</Root>
|
||||
</Root>
|
||||
|
|
|
@ -6,4 +6,4 @@
|
|||
<DList Name="gDesertColossusBombableWallDL" Offset="0x1980"/>
|
||||
<Collision Name="gDesertColossusBombableWallCol" Offset="0x1A58"/>
|
||||
</File>
|
||||
</Root>
|
||||
</Root>
|
||||
|
|
|
@ -9,4 +9,4 @@
|
|||
<Texture Name="gCraterSmokeConeTex" OutName="crater_smoke_cone" Format="ia8" Width="32" Height="32" Offset="0xC30"/>
|
||||
<Texture Name="gCraterBombableWallCracksTex" OutName="crater_bombable_wall_cracks" Format="ia8" Width="32" Height="64" Offset="0x1030"/>
|
||||
</File>
|
||||
</Root>
|
||||
</Root>
|
||||
|
|
11
assets/xml/objects/object_torch2.xml
Normal file
11
assets/xml/objects/object_torch2.xml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<Root>
|
||||
<File Name="object_torch2" Segment="6">
|
||||
<!-- Dark Link's skeleton -->
|
||||
<Skeleton Name="gDarkLinkSkel" Type="Flex" LimbType="LOD" Offset="0x4764"/>
|
||||
|
||||
<!-- Unused Content -->
|
||||
|
||||
<!-- Dark Link DLists -->
|
||||
<DList Name="sDarkLinkSheathDL" Offset="0x3748"/>
|
||||
</File>
|
||||
</Root>
|
|
@ -4,4 +4,4 @@
|
|||
<Texture Name="gUnusedVaseTopTex" OutName="unused_vase_top" Format="rgb5a1" Width="32" Height="32" Offset="0xD90"/>
|
||||
<Texture Name="gUnusedVaseBodyTex" OutName="unused_vase_body" Format="rgb5a1" Width="32" Height="32" Offset="0x590"/>
|
||||
</File>
|
||||
</Root>
|
||||
</Root>
|
||||
|
|
|
@ -1,45 +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_Horse_Game_Check_InitVars
|
||||
.word 0x00DB0100, 0x00000010, 0x00010000, 0x000001A4
|
||||
.word EnHorseGameCheck_Init
|
||||
.word EnHorseGameCheck_Destroy
|
||||
.word EnHorseGameCheck_Update
|
||||
.word EnHorseGameCheck_Draw
|
||||
glabel D_80A68440
|
||||
.word 0x44D48000, 0x3F800000, 0xC4070000, 0x42EA0000, 0x3F800000, 0x43F40000, 0xC4D48000, 0x3F800000, 0xC4070000
|
||||
glabel D_80A68464
|
||||
.word 0xC3480000, 0x42A00000, 0xC50FC000, 0xC4B7C000
|
||||
glabel D_80A68474
|
||||
.word 0x44480000, 0x447A0000, 0xC5354000, 0xC528C000, 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80A68490
|
||||
.word 0x444D0000, 0xC2300000, 0xC4CEE000, 0x44BB2000, 0xC1A80000, 0xC495C000, 0x44CEE000, 0xC2300000, 0xC3C60000, 0x44A16000, 0xC2300000, 0x434D0000, 0x43BD8000, 0xC1A80000, 0x43E38000, 0xC2BE0000, 0xC1A80000, 0x43E38000, 0xC46AC000, 0x3F800000, 0x43E38000, 0xC4CD8000, 0xC1A80000, 0xC4816000
|
||||
glabel D_80A684F0
|
||||
.word 0x00000000
|
||||
.word func_80A67550
|
||||
.word func_80A67BDC
|
||||
.word func_80A67C50
|
||||
.word func_80A67C88
|
||||
glabel D_80A68504
|
||||
.word 0x00000000
|
||||
.word func_80A67608
|
||||
.word func_80A67BF8
|
||||
.word func_80A67C68
|
||||
.word func_80A67CD4
|
||||
glabel D_80A68518
|
||||
.word 0x00000000
|
||||
.word func_80A67764
|
||||
.word func_80A67C08
|
||||
.word func_80A67C78
|
||||
.word func_80A67DFC
|
||||
.word 0x00000000
|
||||
|
|
@ -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_80A68580
|
||||
.incbin "baserom/ovl_En_Horse_Game_Check", 0x1030, 0x000000E0
|
|
@ -1,20 +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_Trap_InitVars
|
||||
.word 0x00800100, 0x00000010, 0x00850000, 0x000001EC
|
||||
.word EnTrap_Init
|
||||
.word EnTrap_Destroy
|
||||
.word EnTrap_Update
|
||||
.word EnTrap_Draw
|
||||
glabel D_80B25830
|
||||
.word 0x00000935, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00001000, 0x00000000, 0x00010100, 0x001E0014, 0x00000000, 0x00000000, 0x00000000
|
||||
|
|
@ -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_80B25880
|
||||
.incbin "baserom/ovl_En_Trap", 0x1220, 0x00000070
|
15
spec
15
spec
|
@ -2454,8 +2454,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Horse_Game_Check"
|
||||
include "build/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.o"
|
||||
include "build/data/overlays/actors/z_en_horse_game_check.data.o"
|
||||
include "build/data/overlays/actors/z_en_horse_game_check.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Horse_Game_Check/ovl_En_Horse_Game_Check_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -3069,8 +3068,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Trap"
|
||||
include "build/src/overlays/actors/ovl_En_Trap/z_en_trap.o"
|
||||
include "build/data/overlays/actors/z_en_trap.data.o"
|
||||
include "build/data/overlays/actors/z_en_trap.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Trap/ovl_En_Trap_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -3685,7 +3683,8 @@ endseg
|
|||
beginseg
|
||||
name "object_torch2"
|
||||
romalign 0x1000
|
||||
include "build/baserom/object_torch2.o"
|
||||
include "build/assets/objects/object_torch2/object_torch2.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -5148,7 +5147,8 @@ endseg
|
|||
beginseg
|
||||
name "object_blkobj"
|
||||
romalign 0x1000
|
||||
include "build/baserom/object_blkobj.o"
|
||||
include "build/assets/objects/object_blkobj/object_blkobj.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -5556,7 +5556,8 @@ endseg
|
|||
beginseg
|
||||
name "object_geldb"
|
||||
romalign 0x1000
|
||||
include "build/baserom/object_geldb.o"
|
||||
include "build/assets/objects/object_geldb/object_geldb.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_blkobj.h"
|
||||
#include "objects/object_blkobj/object_blkobj.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
|
@ -49,10 +50,6 @@ static Gfx sSetupXluDL[] = {
|
|||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
extern Gfx D_060014E0[];
|
||||
extern Gfx D_060053D0[];
|
||||
extern CollisionHeader D_06007564;
|
||||
|
||||
void EnBlkobj_SetupAction(EnBlkobj* this, EnBlkobjActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
this->timer = 0;
|
||||
|
@ -69,7 +66,7 @@ void EnBlkobj_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->alpha = 255;
|
||||
EnBlkobj_SetupAction(this, EnBlkobj_DoNothing);
|
||||
} else {
|
||||
CollisionHeader_GetVirtual(&D_06007564, &colHeader);
|
||||
CollisionHeader_GetVirtual(&gIllusionRoomCol, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
EnBlkobj_SetupAction(this, EnBlkobj_Wait);
|
||||
}
|
||||
|
@ -168,11 +165,11 @@ void EnBlkobj_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
if (this->alpha != 0) {
|
||||
EnBlkobj_DrawAlpha(globalCtx, D_060014E0, this->alpha);
|
||||
EnBlkobj_DrawAlpha(globalCtx, gIllusionRoomNormalDL, this->alpha);
|
||||
}
|
||||
illusionAlpha = 255 - this->alpha;
|
||||
if (illusionAlpha != 0) {
|
||||
EnBlkobj_DrawAlpha(globalCtx, D_060053D0, illusionAlpha);
|
||||
EnBlkobj_DrawAlpha(globalCtx, gIllusionRoomIllusionDL, illusionAlpha);
|
||||
}
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 375);
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "z_en_geldb.h"
|
||||
#include "objects/object_geldb/object_geldb.h"
|
||||
|
||||
#define FLAGS 0x00000015
|
||||
|
||||
|
@ -22,7 +23,7 @@ typedef enum {
|
|||
/* 14 */ GELDB_ROLL_FORWARD,
|
||||
/* 15 */ GELDB_STUNNED,
|
||||
/* 16 */ GELDB_SPIN_DODGE
|
||||
} EnGeldBActionState;
|
||||
} EnGeldBAction;
|
||||
|
||||
void EnGeldB_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnGeldB_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
@ -64,19 +65,6 @@ void EnGeldB_Block(EnGeldB* this, GlobalContext* globalCtx);
|
|||
void EnGeldB_Sidestep(EnGeldB* this, GlobalContext* globalCtx);
|
||||
void EnGeldB_Defeated(EnGeldB* this, GlobalContext* globalCtx);
|
||||
|
||||
extern FlexSkeletonHeader D_0600A458;
|
||||
extern AnimationHeader D_0600ADF8;
|
||||
extern AnimationHeader D_0600B6D4;
|
||||
extern AnimationHeader D_0600A814;
|
||||
extern AnimationHeader D_06001390;
|
||||
extern AnimationHeader D_060024E8;
|
||||
extern AnimationHeader D_060003CC;
|
||||
extern AnimationHeader D_06000F5C;
|
||||
extern AnimationHeader D_06002280;
|
||||
extern AnimationHeader D_06001E10;
|
||||
extern AnimationHeader D_0600ADF8;
|
||||
extern AnimationHeader D_06001578;
|
||||
|
||||
const ActorInit En_GeldB_InitVars = {
|
||||
ACTOR_EN_GELDB,
|
||||
ACTORCAT_ENEMY,
|
||||
|
@ -240,7 +228,8 @@ void EnGeldB_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
thisx->params &= 0xFF;
|
||||
this->blinkState = 0;
|
||||
this->unkFloat = 10.0f;
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600A458, &D_0600B6D4, this->jointTable, this->morphTable, 24);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGerudoRedSkel, &gGerudoRedNeutralAnim, this->jointTable,
|
||||
this->morphTable, 24);
|
||||
Collider_InitCylinder(globalCtx, &this->bodyCollider);
|
||||
Collider_SetCylinder(globalCtx, &this->bodyCollider, thisx, &sBodyCylInit);
|
||||
Collider_InitTris(globalCtx, &this->blockCollider);
|
||||
|
@ -257,7 +246,7 @@ void EnGeldB_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
blureInit.unkFlag = 0;
|
||||
blureInit.calcMode = 2;
|
||||
|
||||
Effect_Add(globalCtx, &this->blureIdx, EFFECT_BLURE1, 0, 0, &blureInit);
|
||||
Effect_Add(globalCtx, &this->blureIndex, EFFECT_BLURE1, 0, 0, &blureInit);
|
||||
Actor_SetScale(thisx, 0.012499999f);
|
||||
EnGeldB_SetupWait(this);
|
||||
if ((this->keyFlag != 0) && Flags_GetCollectible(globalCtx, this->keyFlag >> 8)) {
|
||||
|
@ -270,7 +259,7 @@ void EnGeldB_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
|||
EnGeldB* this = THIS;
|
||||
|
||||
func_800F5B58();
|
||||
Effect_Delete(globalCtx, this->blureIdx);
|
||||
Effect_Delete(globalCtx, this->blureIndex);
|
||||
Collider_DestroyTris(globalCtx, &this->blockCollider);
|
||||
Collider_DestroyCylinder(globalCtx, &this->bodyCollider);
|
||||
Collider_DestroyQuad(globalCtx, &this->swordCollider);
|
||||
|
@ -348,11 +337,11 @@ s32 EnGeldB_ReactToPlayer(GlobalContext* globalCtx, EnGeldB* this, s16 arg2) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupWait(EnGeldB* this) {
|
||||
Animation_PlayOnceSetSpeed(&this->skelAnime, &D_0600ADF8, 0.0f);
|
||||
Animation_PlayOnceSetSpeed(&this->skelAnime, &gGerudoRedJumpAnim, 0.0f);
|
||||
this->actor.world.pos.y = this->actor.home.pos.y + 120.0f;
|
||||
this->timer = 10;
|
||||
this->invisible = true;
|
||||
this->actionState = GELDB_WAIT;
|
||||
this->action = GELDB_WAIT;
|
||||
this->actor.bgCheckFlags &= ~3;
|
||||
this->actor.gravity = -2.0f;
|
||||
this->actor.flags &= ~1;
|
||||
|
@ -386,11 +375,12 @@ void EnGeldB_Wait(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupFlee(EnGeldB* this) {
|
||||
Animation_Change(&this->skelAnime, &D_0600ADF8, -2.0f, Animation_GetLastFrame(&D_0600ADF8), 0.0f,
|
||||
ANIMMODE_ONCE_INTERP, -4.0f);
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedJumpAnim);
|
||||
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedJumpAnim, -2.0f, lastFrame, 0.0f, ANIMMODE_ONCE_INTERP, -4.0f);
|
||||
this->timer = 20;
|
||||
this->invisible = false;
|
||||
this->actionState = GELDB_WAIT;
|
||||
this->action = GELDB_WAIT;
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
||||
EnGeldB_SetupAction(this, EnGeldB_Flee);
|
||||
}
|
||||
|
@ -414,8 +404,8 @@ void EnGeldB_Flee(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupReady(EnGeldB* this) {
|
||||
Animation_MorphToLoop(&this->skelAnime, &D_0600B6D4, -4.0f);
|
||||
this->actionState = GELDB_READY;
|
||||
Animation_MorphToLoop(&this->skelAnime, &gGerudoRedNeutralAnim, -4.0f);
|
||||
this->action = GELDB_READY;
|
||||
this->timer = Rand_ZeroOne() * 10.0f + 5.0f;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
|
@ -478,9 +468,10 @@ void EnGeldB_Ready(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupAdvance(EnGeldB* this, GlobalContext* globalCtx) {
|
||||
Animation_Change(&this->skelAnime, &D_060024E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060024E8),
|
||||
ANIMMODE_LOOP_INTERP, -4.0f);
|
||||
this->actionState = GELDB_ADVANCE;
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedWalkAnim);
|
||||
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedWalkAnim, 1.0f, 0.0f, lastFrame, ANIMMODE_LOOP_INTERP, -4.0f);
|
||||
this->action = GELDB_ADVANCE;
|
||||
EnGeldB_SetupAction(this, EnGeldB_Advance);
|
||||
}
|
||||
|
||||
|
@ -562,11 +553,12 @@ void EnGeldB_Advance(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupRollForward(EnGeldB* this) {
|
||||
Animation_Change(&this->skelAnime, &D_06001390, -1.0f, Animation_GetLastFrame(&D_06001390), 0.0f, ANIMMODE_ONCE,
|
||||
-3.0f);
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedFlipAnim);
|
||||
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedFlipAnim, -1.0f, lastFrame, 0.0f, ANIMMODE_ONCE, -3.0f);
|
||||
this->timer = 0;
|
||||
this->invisible = true;
|
||||
this->actionState = GELDB_ROLL_FORWARD;
|
||||
this->action = GELDB_ROLL_FORWARD;
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
|
||||
this->actor.speedXZ = 10.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_JUMP);
|
||||
|
@ -599,8 +591,8 @@ void EnGeldB_RollForward(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupPivot(EnGeldB* this) {
|
||||
Animation_MorphToLoop(&this->skelAnime, &D_0600A814, -4.0f);
|
||||
this->actionState = GELDB_PIVOT;
|
||||
Animation_MorphToLoop(&this->skelAnime, &gGerudoRedSidestepAnim, -4.0f);
|
||||
this->action = GELDB_PIVOT;
|
||||
EnGeldB_SetupAction(this, EnGeldB_Pivot);
|
||||
}
|
||||
|
||||
|
@ -636,13 +628,14 @@ void EnGeldB_Pivot(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupCircle(EnGeldB* this) {
|
||||
Animation_Change(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A814),
|
||||
ANIMMODE_LOOP_INTERP, 0.0f);
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedSidestepAnim);
|
||||
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedSidestepAnim, 1.0f, 0.0f, lastFrame, ANIMMODE_LOOP_INTERP, 0.0f);
|
||||
this->actor.speedXZ = Rand_CenteredFloat(12.0f);
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
this->skelAnime.playSpeed = -this->actor.speedXZ * 0.5f;
|
||||
this->timer = Rand_ZeroOne() * 30.0f + 30.0f;
|
||||
this->actionState = GELDB_CIRCLE;
|
||||
this->action = GELDB_CIRCLE;
|
||||
this->approachRate = 0.0f;
|
||||
EnGeldB_SetupAction(this, EnGeldB_Circle);
|
||||
}
|
||||
|
@ -739,9 +732,9 @@ void EnGeldB_Circle(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
void EnGeldB_SetupSpinDodge(EnGeldB* this, GlobalContext* globalCtx) {
|
||||
s16 sp3E;
|
||||
Player* player = PLAYER;
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedSidestepAnim);
|
||||
|
||||
Animation_Change(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A814),
|
||||
ANIMMODE_LOOP_INTERP, 0.0f);
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedSidestepAnim, 1.0f, 0.0f, lastFrame, ANIMMODE_LOOP_INTERP, 0.0f);
|
||||
sp3E = player->actor.shape.rot.y;
|
||||
if (Math_SinS(sp3E - this->actor.shape.rot.y) > 0.0f) {
|
||||
this->actor.speedXZ = -10.0f;
|
||||
|
@ -757,7 +750,7 @@ void EnGeldB_SetupSpinDodge(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
this->timer = 6;
|
||||
this->approachRate = 0.0f;
|
||||
this->unkFloat = 0.0f;
|
||||
this->actionState = GELDB_SPIN_DODGE;
|
||||
this->action = GELDB_SPIN_DODGE;
|
||||
|
||||
EnGeldB_SetupAction(this, EnGeldB_SpinDodge);
|
||||
}
|
||||
|
@ -836,9 +829,9 @@ void EnGeldB_SpinDodge(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupSlash(EnGeldB* this) {
|
||||
Animation_PlayOnce(&this->skelAnime, &D_060003CC);
|
||||
Animation_PlayOnce(&this->skelAnime, &gGerudoRedSlashAnim);
|
||||
this->swordCollider.base.atFlags &= ~AT_BOUNCED;
|
||||
this->actionState = GELDB_SLASH;
|
||||
this->action = GELDB_SLASH;
|
||||
this->spinAttackState = 0;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
func_800F8A44(&this->actor.projectedPos, NA_SE_EN_GERUDOFT_BREATH);
|
||||
|
@ -893,10 +886,11 @@ void EnGeldB_Slash(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupSpinAttack(EnGeldB* this) {
|
||||
Animation_Change(&this->skelAnime, &D_06000F5C, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000F5C),
|
||||
ANIMMODE_ONCE_INTERP, 0.0f);
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedSpinAttackAnim);
|
||||
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedSpinAttackAnim, 1.0f, 0.0f, lastFrame, ANIMMODE_ONCE_INTERP, 0.0f);
|
||||
this->swordCollider.base.atFlags &= ~(AT_HIT | AT_BOUNCED);
|
||||
this->actionState = GELDB_SPIN_ATTACK;
|
||||
this->action = GELDB_SPIN_ATTACK;
|
||||
this->spinAttackState = 0;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
EnGeldB_SetupAction(this, EnGeldB_SpinAttack);
|
||||
|
@ -974,10 +968,10 @@ void EnGeldB_SpinAttack(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupRollBack(EnGeldB* this) {
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_06001390, -3.0f);
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &gGerudoRedFlipAnim, -3.0f);
|
||||
this->timer = 0;
|
||||
this->invisible = true;
|
||||
this->actionState = GELDB_ROLL_BACK;
|
||||
this->action = GELDB_ROLL_BACK;
|
||||
this->actor.speedXZ = -8.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_JUMP);
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
||||
|
@ -1004,14 +998,14 @@ void EnGeldB_SetupStunned(EnGeldB* this) {
|
|||
if (this->actor.bgCheckFlags & 1) {
|
||||
this->actor.speedXZ = 0.0f;
|
||||
}
|
||||
if ((this->damageEffect != GELDB_DMG_FREEZE) || (this->actionState == GELDB_SPIN_ATTACK)) {
|
||||
Animation_PlayOnceSetSpeed(&this->skelAnime, &D_06002280, 0.0f);
|
||||
if ((this->damageEffect != GELDB_DMG_FREEZE) || (this->action == GELDB_SPIN_ATTACK)) {
|
||||
Animation_PlayOnceSetSpeed(&this->skelAnime, &gGerudoRedDamageAnim, 0.0f);
|
||||
}
|
||||
if (this->damageEffect == GELDB_DMG_FREEZE) {
|
||||
this->iceTimer = 36;
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
|
||||
this->actionState = GELDB_STUNNED;
|
||||
this->action = GELDB_STUNNED;
|
||||
EnGeldB_SetupAction(this, EnGeldB_Stunned);
|
||||
}
|
||||
|
||||
|
@ -1035,7 +1029,7 @@ void EnGeldB_Stunned(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupDamaged(EnGeldB* this) {
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_06002280, -4.0f);
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &gGerudoRedDamageAnim, -4.0f);
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
this->invisible = false;
|
||||
this->actor.speedXZ = -4.0f;
|
||||
|
@ -1045,7 +1039,7 @@ void EnGeldB_SetupDamaged(EnGeldB* this) {
|
|||
this->lookTimer = 0;
|
||||
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_DAMAGE);
|
||||
this->actionState = GELDB_DAMAGED;
|
||||
this->action = GELDB_DAMAGED;
|
||||
EnGeldB_SetupAction(this, EnGeldB_Damaged);
|
||||
}
|
||||
|
||||
|
@ -1079,11 +1073,12 @@ void EnGeldB_Damaged(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupJump(EnGeldB* this) {
|
||||
Animation_Change(&this->skelAnime, &D_06001390, -1.0f, Animation_GetLastFrame(&D_06001390), 0.0f, ANIMMODE_ONCE,
|
||||
-3.0f);
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedFlipAnim);
|
||||
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedFlipAnim, -1.0f, lastFrame, 0.0f, ANIMMODE_ONCE, -3.0f);
|
||||
this->timer = 0;
|
||||
this->invisible = false;
|
||||
this->actionState = GELDB_JUMP;
|
||||
this->action = GELDB_JUMP;
|
||||
this->actor.speedXZ = 6.5f;
|
||||
this->actor.velocity.y = 15.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_JUMP);
|
||||
|
@ -1112,16 +1107,15 @@ void EnGeldB_Jump(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupBlock(EnGeldB* this) {
|
||||
f32 lastFrame;
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedBlockAnim);
|
||||
|
||||
lastFrame = Animation_GetLastFrame(&D_06001578);
|
||||
if (this->swordState != 0) {
|
||||
this->swordState = -1;
|
||||
}
|
||||
this->actor.speedXZ = 0.0f;
|
||||
this->actionState = GELDB_BLOCK;
|
||||
this->action = GELDB_BLOCK;
|
||||
this->timer = (s32)Rand_CenteredFloat(10.0f) + 10;
|
||||
Animation_Change(&this->skelAnime, &D_06001578, 0.0f, 0.0f, lastFrame, ANIMMODE_ONCE, 0.0f);
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedBlockAnim, 0.0f, 0.0f, lastFrame, ANIMMODE_ONCE, 0.0f);
|
||||
EnGeldB_SetupAction(this, EnGeldB_Block);
|
||||
}
|
||||
|
||||
|
@ -1181,9 +1175,9 @@ void EnGeldB_Block(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
void EnGeldB_SetupSidestep(EnGeldB* this, GlobalContext* globalCtx) {
|
||||
s16 linkAngle;
|
||||
Player* player;
|
||||
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedSidestepAnim);
|
||||
|
||||
Animation_Change(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A814),
|
||||
ANIMMODE_LOOP_INTERP, 0.0f);
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedSidestepAnim, 1.0f, 0.0f, lastFrame, ANIMMODE_LOOP_INTERP, 0.0f);
|
||||
player = PLAYER;
|
||||
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 1, 0xFA0, 1);
|
||||
linkAngle = player->actor.shape.rot.y;
|
||||
|
@ -1198,7 +1192,7 @@ void EnGeldB_SetupSidestep(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
this->approachRate = 0.0f;
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y + 0x3FFF;
|
||||
this->timer = Rand_ZeroOne() * 10.0f + 5.0f;
|
||||
this->actionState = GELDB_SIDESTEP;
|
||||
this->action = GELDB_SIDESTEP;
|
||||
EnGeldB_SetupAction(this, EnGeldB_Sidestep);
|
||||
}
|
||||
|
||||
|
@ -1309,7 +1303,7 @@ void EnGeldB_Sidestep(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnGeldB_SetupDefeated(EnGeldB* this) {
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_06001E10, -4.0f);
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &gGerudoRedDefeatAnim, -4.0f);
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
this->invisible = false;
|
||||
|
@ -1317,7 +1311,7 @@ void EnGeldB_SetupDefeated(EnGeldB* this) {
|
|||
} else {
|
||||
this->invisible = true;
|
||||
}
|
||||
this->actionState = GELDB_DEFEAT;
|
||||
this->action = GELDB_DEFEAT;
|
||||
this->actor.flags &= ~1;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_DEAD);
|
||||
EnGeldB_SetupAction(this, EnGeldB_Defeated);
|
||||
|
@ -1339,11 +1333,11 @@ void EnGeldB_Defeated(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80A391D8(EnGeldB* this, GlobalContext* globalCtx) {
|
||||
if ((this->actionState == GELDB_READY) && (this->lookTimer != 0)) {
|
||||
void EnGeldB_TurnHead(EnGeldB* this, GlobalContext* globalCtx) {
|
||||
if ((this->action == GELDB_READY) && (this->lookTimer != 0)) {
|
||||
this->headRot.y = Math_SinS(this->lookTimer * 0x1068) * 8920.0f;
|
||||
} else if (this->actionState != GELDB_STUNNED) {
|
||||
if ((this->actionState != GELDB_SLASH) && (this->actionState != GELDB_SPIN_ATTACK)) {
|
||||
} else if (this->action != GELDB_STUNNED) {
|
||||
if ((this->action != GELDB_SLASH) && (this->action != GELDB_SPIN_ATTACK)) {
|
||||
Math_SmoothStepToS(&this->headRot.y, this->actor.yawTowardsPlayer - this->actor.shape.rot.y, 1, 0x1F4, 0);
|
||||
this->headRot.y = CLAMP(this->headRot.y, -0x256F, 0x256F);
|
||||
} else {
|
||||
|
@ -1352,14 +1346,14 @@ void func_80A391D8(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80A392D8(EnGeldB* this, GlobalContext* globalCtx) {
|
||||
void EnGeldB_CollisionCheck(EnGeldB* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnItem00* key;
|
||||
|
||||
if (this->blockCollider.base.acFlags & AC_BOUNCED) {
|
||||
this->blockCollider.base.acFlags &= ~AC_BOUNCED;
|
||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||
} else if ((this->bodyCollider.base.acFlags & AC_HIT) && (this->actionState >= GELDB_READY) &&
|
||||
} else if ((this->bodyCollider.base.acFlags & AC_HIT) && (this->action >= GELDB_READY) &&
|
||||
(this->spinAttackState < 2)) {
|
||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||
if (this->actor.colChkInfo.damageEffect != GELDB_DMG_UNK_6) {
|
||||
|
@ -1368,7 +1362,7 @@ void func_80A392D8(EnGeldB* this, GlobalContext* globalCtx) {
|
|||
func_800F8A44(&this->actor.projectedPos, NA_SE_EN_GERUDOFT_BREATH);
|
||||
if ((this->actor.colChkInfo.damageEffect == GELDB_DMG_STUN) ||
|
||||
(this->actor.colChkInfo.damageEffect == GELDB_DMG_FREEZE)) {
|
||||
if (this->actionState != GELDB_STUNNED) {
|
||||
if (this->action != GELDB_STUNNED) {
|
||||
func_8003426C(&this->actor, 0, 0x78, 0, 0x50);
|
||||
Actor_ApplyDamage(&this->actor);
|
||||
EnGeldB_SetupStunned(this);
|
||||
|
@ -1399,22 +1393,22 @@ void EnGeldB_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
s32 pad;
|
||||
EnGeldB* this = THIS;
|
||||
|
||||
func_80A392D8(this, globalCtx);
|
||||
EnGeldB_CollisionCheck(this, globalCtx);
|
||||
if (this->actor.colChkInfo.damageEffect != GELDB_DMG_UNK_6) {
|
||||
Actor_MoveForward(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 15.0f, 30.0f, 60.0f, 0x1D);
|
||||
this->actionFunc(this, globalCtx);
|
||||
this->actor.focus.pos = this->actor.world.pos;
|
||||
this->actor.focus.pos.y += 40.0f;
|
||||
func_80A391D8(this, globalCtx);
|
||||
EnGeldB_TurnHead(this, globalCtx);
|
||||
}
|
||||
Collider_UpdateCylinder(&this->actor, &this->bodyCollider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base);
|
||||
if ((this->actionState >= GELDB_READY) && (this->spinAttackState < 2) &&
|
||||
if ((this->action >= GELDB_READY) && (this->spinAttackState < 2) &&
|
||||
((this->actor.colorFilterTimer == 0) || !(this->actor.colorFilterParams & 0x4000))) {
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base);
|
||||
}
|
||||
if ((this->actionState == GELDB_BLOCK) && (this->skelAnime.curFrame == 0.0f)) {
|
||||
if ((this->action == GELDB_BLOCK) && (this->skelAnime.curFrame == 0.0f)) {
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->blockCollider.base);
|
||||
}
|
||||
if (this->swordState > 0) {
|
||||
|
@ -1478,12 +1472,11 @@ void EnGeldB_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
|
|||
Matrix_MultVec3f(&swordTipOffset, &swordTip);
|
||||
Matrix_MultVec3f(&swordHiltOffset, &swordHilt);
|
||||
|
||||
if ((this->swordState < 0) ||
|
||||
((this->actionState != GELDB_SLASH) && (this->actionState != GELDB_SPIN_ATTACK))) {
|
||||
EffectBlure_AddSpace(Effect_GetByIndex(this->blureIdx));
|
||||
if ((this->swordState < 0) || ((this->action != GELDB_SLASH) && (this->action != GELDB_SPIN_ATTACK))) {
|
||||
EffectBlure_AddSpace(Effect_GetByIndex(this->blureIndex));
|
||||
this->swordState = 0;
|
||||
} else if (this->swordState > 0) {
|
||||
EffectBlure_AddVertex(Effect_GetByIndex(this->blureIdx), &swordTip, &swordHilt);
|
||||
EffectBlure_AddVertex(Effect_GetByIndex(this->blureIndex), &swordTip, &swordHilt);
|
||||
}
|
||||
} else {
|
||||
Actor_SetFeetPos(&this->actor, limbIndex, 19, &footOffset, 22, &footOffset);
|
||||
|
@ -1547,7 +1540,8 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
{ 3000.0f, 0.0f, 1600.0f },
|
||||
{ 3000.0f, 6000.0f, 1600.0f },
|
||||
};
|
||||
static Gfx* eyeDLists[4] = { 0x06005FE8, 0x060065A8, 0x06006D28, 0x060065A8 };
|
||||
static u64* eyeDLists[4] = { gGerudoRedEyeOpenTex, gGerudoRedEyeHalfTex, gGerudoRedEyeShutTex,
|
||||
gGerudoRedEyeHalfTex };
|
||||
s32 pad;
|
||||
EnGeldB* this = THIS;
|
||||
|
||||
|
@ -1556,7 +1550,8 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
if ((this->spinAttackState >= 2) && SkelAnime_Update(&this->skelAnime)) {
|
||||
if (this->spinAttackState == 2) {
|
||||
Animation_Change(&this->skelAnime, &D_06000F5C, 0.5f, 0.0f, 12.0f, ANIMMODE_ONCE_INTERP, 4.0f);
|
||||
Animation_Change(&this->skelAnime, &gGerudoRedSpinAttackAnim, 0.5f, 0.0f, 12.0f, ANIMMODE_ONCE_INTERP,
|
||||
4.0f);
|
||||
this->spinAttackState++;
|
||||
thisx->world.rot.y = thisx->shape.rot.y = thisx->yawTowardsPlayer;
|
||||
} else {
|
||||
|
@ -1575,12 +1570,12 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
if ((this->actionState != GELDB_WAIT) || !this->invisible) {
|
||||
if ((this->action != GELDB_WAIT) || !this->invisible) {
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeDLists[this->blinkState]));
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
||||
this->skelAnime.dListCount, EnGeldB_OverrideLimbDraw, EnGeldB_PostLimbDraw, this);
|
||||
if (this->actionState == GELDB_BLOCK) {
|
||||
if (this->action == GELDB_BLOCK) {
|
||||
s32 i;
|
||||
Vec3f blockTrisVtx0[3];
|
||||
Vec3f blockTrisVtx1[3];
|
||||
|
@ -1599,8 +1594,8 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if ((this->iceTimer % 4) == 0) {
|
||||
s32 iceIndex = this->iceTimer >> 2;
|
||||
|
||||
EffectSsEnIce_SpawnFlyingVec3s(globalCtx, thisx, &this->bodyPartsPos[iceIndex], 0x96, 0x96, 0x96, 0xFA,
|
||||
0xEB, 0xF5, 0xFF, 1.5f);
|
||||
EffectSsEnIce_SpawnFlyingVec3s(globalCtx, thisx, &this->bodyPartsPos[iceIndex], 150, 150, 150, 250, 235,
|
||||
245, 255, 1.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ typedef struct EnGeldB {
|
|||
/* 0x0188 */ SkelAnime skelAnime;
|
||||
/* 0x01CC */ Vec3s jointTable[24];
|
||||
/* 0x025C */ Vec3s morphTable[24];
|
||||
/* 0x02EC */ s32 actionState;
|
||||
/* 0x02EC */ s32 action;
|
||||
/* 0x02F0 */ char unk_2F0[4];
|
||||
/* 0x02F4 */ EnGeldBActionFunc actionFunc;
|
||||
/* 0x02F8 */ s16 unkTimer;
|
||||
|
@ -31,7 +31,7 @@ typedef struct EnGeldB {
|
|||
/* 0x0316 */ char unk_316[2];
|
||||
/* 0x0318 */ s16 invisible;
|
||||
/* 0x031A */ u8 blinkState;
|
||||
/* 0x031C */ s32 blureIdx;
|
||||
/* 0x031C */ s32 blureIndex;
|
||||
/* 0x0320 */ ColliderCylinder bodyCollider;
|
||||
/* 0x036C */ ColliderQuad swordCollider;
|
||||
/* 0x03EC */ ColliderTris blockCollider;
|
||||
|
|
|
@ -18,7 +18,11 @@ typedef struct EnHorse {
|
|||
/* 0x0214 */ f32 unk_214;
|
||||
/* 0x0218 */ char unk_218[0x040];
|
||||
/* 0x0258 */ Vec3f unk_258;
|
||||
/* 0x0264 */ char unk_264[0x198];
|
||||
/* 0x0264 */ char unk_264[0x124];
|
||||
/* 0x0388 */ s32 unk_388;
|
||||
/* 0x038C */ char unk_38C[0x14];
|
||||
/* 0x03A0 */ s32 unk_3A0;
|
||||
/* 0x03A4 */ char unk_3A4[0x58];
|
||||
} EnHorse; // size = 0x03FC
|
||||
|
||||
#define EN_HORSE_CHECK_1(horseActor) \
|
||||
|
|
|
@ -5,17 +5,50 @@
|
|||
*/
|
||||
|
||||
#include "z_en_horse_game_check.h"
|
||||
#include "overlays/actors/ovl_En_Horse/z_en_horse.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
#define THIS ((EnHorseGameCheck*)thisx)
|
||||
#define THIS ((EnHorseGameCheckBase*)thisx)
|
||||
#define AT_FINISH_LINE(actor) \
|
||||
(Math3D_PointInSquare2D(sFinishLine[0], sFinishLine[1], sFinishLine[2], sFinishLine[3], (actor)->world.pos.x, \
|
||||
(actor)->world.pos.z))
|
||||
#define AT_RANCH_EXIT(actor) \
|
||||
(Math3D_PointInSquare2D(sRanchExit[0], sRanchExit[1], sRanchExit[2], sRanchExit[3], (actor)->world.pos.x, \
|
||||
(actor)->world.pos.z))
|
||||
|
||||
#define INGORACE_PLAYER_MOVE (1 << 0)
|
||||
#define INGORACE_SET_TIMER (1 << 1)
|
||||
#define INGORACE_INGO_MOVE (1 << 2)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ INGORACE_NO_RESULT,
|
||||
/* 1 */ INGORACE_PLAYER_WIN,
|
||||
/* 2 */ INGORACE_INGO_WIN,
|
||||
/* 3 */ INGORACE_TIME_UP
|
||||
} HorseGameIngoRaceResult;
|
||||
|
||||
#define MALONRACE_PLAYER_MOVE (1 << 0)
|
||||
#define MALONRACE_SET_TIMER (1 << 1)
|
||||
#define MALONRACE_SECOND_LAP (1 << 2)
|
||||
#define MALONRACE_BROKE_RULE (1 << 3)
|
||||
#define MALONRACE_START_SFX (1 << 4)
|
||||
#define MALONRACE_PLAYER_START (1 << 5)
|
||||
#define MALONRACE_PLAYER_ON_MARK (1 << 6)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ MALONRACE_NO_RESULT,
|
||||
/* 1 */ MALONRACE_SUCCESS,
|
||||
/* 2 */ MALONRACE_TIME_UP,
|
||||
/* 3 */ MALONRACE_UNUSED,
|
||||
/* 4 */ MALONRACE_FAILURE
|
||||
} HorseGameMalonRaceResult;
|
||||
|
||||
void EnHorseGameCheck_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnHorseGameCheck_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnHorseGameCheck_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnHorseGameCheck_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit En_Horse_Game_Check_InitVars = {
|
||||
ACTOR_EN_HORSE_GAME_CHECK,
|
||||
ACTORCAT_BG,
|
||||
|
@ -27,39 +60,410 @@ const ActorInit En_Horse_Game_Check_InitVars = {
|
|||
(ActorFunc)EnHorseGameCheck_Update,
|
||||
(ActorFunc)EnHorseGameCheck_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67550.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67608.s")
|
||||
static Vec3f sIngoRaceCheckpoints[] = {
|
||||
{ 1700.0f, 1.0f, -540.0f },
|
||||
{ 117.0f, 1.0f, 488.0f },
|
||||
{ -1700.0f, 1.0f, -540.0f },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67618.s")
|
||||
static f32 sFinishLine[4] = { -200.0f, 80.0f, -2300.0f, -1470.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67764.s")
|
||||
static f32 sRanchExit[4] = { 800.0f, 1000.0f, -2900.0f, -2700.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BDC.s")
|
||||
static Vec3f sUnusedZeroVec = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BF8.s")
|
||||
static Vec3f sFencePos[] = {
|
||||
{ 820.0f, -44.0f, -1655.0f }, { 1497.0f, -21.0f, -1198.0f }, { 1655.0f, -44.0f, -396.0f },
|
||||
{ 1291.0f, -44.0f, 205.0f }, { 379.0f, -21.0f, 455.0f }, { -95.0f, -21.0f, 455.0f },
|
||||
{ -939.0f, 1.0f, 455.0f }, { -1644.0f, -21.0f, -1035.0f },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C08.s")
|
||||
s32 EnHorseGameCheck_InitIngoRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
EnHorseGameCheckIngoRace* this = (EnHorseGameCheckIngoRace*)base;
|
||||
s32 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C50.s")
|
||||
this->base.type = HORSEGAME_INGO_RACE;
|
||||
this->startFlags = 0;
|
||||
for (i = 0; i < 3; i++) {
|
||||
this->playerCheck[i] = 0;
|
||||
}
|
||||
this->ingoHorse =
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, -250.0f, 1.0f, -1650.0f, 0, 0x4000, 0, 0x8003);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C68.s")
|
||||
if (this->ingoHorse == NULL) {
|
||||
LogUtils_HungupThread("../z_en_horse_game_check.c", 385);
|
||||
}
|
||||
this->startTimer = 0;
|
||||
this->finishTimer = 0;
|
||||
this->result = INGORACE_NO_RESULT;
|
||||
this->playerFinish = 0;
|
||||
this->ingoFinish = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C78.s")
|
||||
return true;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C88.s")
|
||||
s32 EnHorseGameCheck_DestroyIngoRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
return true;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CD4.s")
|
||||
void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, GlobalContext* globalCtx) {
|
||||
gSaveContext.cutsceneIndex = 0;
|
||||
if (this->result == INGORACE_PLAYER_WIN) {
|
||||
globalCtx->nextEntranceIndex = 0x4CE;
|
||||
if (gSaveContext.eventInf[0] & 0x40) {
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 6;
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000;
|
||||
globalCtx->fadeTransition = 3;
|
||||
func_800775F0(0x42);
|
||||
} else {
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 4;
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000;
|
||||
func_800775F0(0x42);
|
||||
globalCtx->fadeTransition = 0x2E;
|
||||
}
|
||||
} else {
|
||||
globalCtx->nextEntranceIndex = 0x558;
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 3;
|
||||
globalCtx->fadeTransition = 0x20;
|
||||
gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000;
|
||||
}
|
||||
DREG(25) = 0;
|
||||
globalCtx->sceneLoadFlag = 0x14;
|
||||
gSaveContext.timer1State = 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CE4.s")
|
||||
s32 EnHorseGameCheck_UpdateIngoRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
EnHorseGameCheckIngoRace* this = (EnHorseGameCheckIngoRace*)base;
|
||||
Player* player = PLAYER;
|
||||
s32 i;
|
||||
EnHorse* ingoHorse;
|
||||
EnHorse* horse;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67DFC.s")
|
||||
if ((this->startTimer > 50) && !(this->startFlags & INGORACE_SET_TIMER)) {
|
||||
this->startFlags |= INGORACE_SET_TIMER;
|
||||
func_80088B34(0);
|
||||
} else if ((this->startTimer > 80) && (player->rideActor != NULL) && !(this->startFlags & INGORACE_PLAYER_MOVE)) {
|
||||
this->startFlags |= INGORACE_PLAYER_MOVE;
|
||||
horse = (EnHorse*)player->rideActor;
|
||||
horse->unk_388 = 1;
|
||||
} else if ((this->startTimer > 81) && !(this->startFlags & INGORACE_INGO_MOVE)) {
|
||||
ingoHorse = (EnHorse*)this->ingoHorse;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Init.s")
|
||||
ingoHorse->unk_388 = 1;
|
||||
this->startFlags |= INGORACE_INGO_MOVE;
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Destroy.s")
|
||||
this->startTimer++;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Update.s")
|
||||
for (i = 0; i < 3; i++) {
|
||||
if ((player->rideActor != NULL) &&
|
||||
(Math3D_Vec3f_DistXYZ(&sIngoRaceCheckpoints[i], &player->rideActor->world.pos) < 400.0f)) {
|
||||
if ((i > 0) && (this->playerCheck[i - 1] == 1)) {
|
||||
this->playerCheck[i] = 1;
|
||||
} else if (i == 0) {
|
||||
this->playerCheck[i] = 1;
|
||||
}
|
||||
}
|
||||
if (Math3D_Vec3f_DistXYZ(&sIngoRaceCheckpoints[i], &this->ingoHorse->world.pos) < 400.0f) {
|
||||
if ((i > 0) && (this->ingoCheck[i - 1] == 1)) {
|
||||
this->ingoCheck[i] = 1;
|
||||
} else if (i == 0) {
|
||||
this->ingoCheck[i] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Draw.s")
|
||||
if (this->result == INGORACE_NO_RESULT) {
|
||||
Player* player2 = player;
|
||||
|
||||
if ((player2->rideActor != NULL) && (this->playerCheck[2] == 1) && AT_FINISH_LINE(player2->rideActor)) {
|
||||
this->playerFinish++;
|
||||
if (this->playerFinish > 0) {
|
||||
this->result = INGORACE_PLAYER_WIN;
|
||||
this->finishTimer = 55;
|
||||
Audio_SetBGM(0x41);
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
}
|
||||
for (i = 0; i < 3; i++) {
|
||||
this->playerCheck[i] = 0;
|
||||
}
|
||||
}
|
||||
if ((this->ingoHorse != NULL) && (this->ingoCheck[2] == 1) && AT_FINISH_LINE(this->ingoHorse)) {
|
||||
this->ingoFinish++;
|
||||
if (this->ingoFinish > 0) {
|
||||
ingoHorse = (EnHorse*)this->ingoHorse;
|
||||
|
||||
this->result = INGORACE_INGO_WIN;
|
||||
this->finishTimer = 70;
|
||||
ingoHorse->unk_1F0 |= 0x800000;
|
||||
Audio_SetBGM(0x41);
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
}
|
||||
for (i = 0; i < 3; i++) {
|
||||
this->ingoCheck[i] = 0;
|
||||
}
|
||||
}
|
||||
if (((player2->rideActor != NULL) && AT_RANCH_EXIT(player2->rideActor)) || AT_RANCH_EXIT(&player2->actor)) {
|
||||
Audio_SetBGM(0x41);
|
||||
this->result = INGORACE_INGO_WIN;
|
||||
this->finishTimer = 20;
|
||||
}
|
||||
if ((gSaveContext.timer1Value >= 180) && (this->startFlags & 2)) {
|
||||
Audio_SetBGM(0x41);
|
||||
this->result = INGORACE_TIME_UP;
|
||||
this->finishTimer = 20;
|
||||
}
|
||||
} else {
|
||||
if (this->finishTimer > 0) {
|
||||
this->finishTimer--;
|
||||
} else {
|
||||
EnHorseGameCheck_FinishIngoRace(this, globalCtx);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_InitGerudoArchery(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
EnHorseGameCheckGerudoArchery* this = (EnHorseGameCheckGerudoArchery*)base;
|
||||
|
||||
this->base.type = HORSEGAME_GERUDO_ARCHERY;
|
||||
this->unk_150 = 0;
|
||||
this->startTimer = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_DestroyGerudoArchery(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_UpdateGerudoArchery(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
EnHorseGameCheckGerudoArchery* this = (EnHorseGameCheckGerudoArchery*)base;
|
||||
Player* player = PLAYER;
|
||||
EnHorse* horse = (EnHorse*)player->rideActor;
|
||||
|
||||
if (horse == NULL) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (this->startTimer > 90) {
|
||||
if (globalCtx) {}
|
||||
horse->unk_3A0 = 1;
|
||||
}
|
||||
this->startTimer++;
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_InitType3(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
EnHorseGameCheck3* this = (EnHorseGameCheck3*)base;
|
||||
|
||||
this->base.type = HORSEGAME_TYPE3;
|
||||
this->unk_150 = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_DestroyType3(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_UpdateType3(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_InitMalonRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
EnHorseGameCheckMalonRace* this = (EnHorseGameCheckMalonRace*)base;
|
||||
s32 i;
|
||||
|
||||
this->base.type = HORSEGAME_MALON_RACE;
|
||||
this->raceFlags = 0;
|
||||
this->finishTimer = 0;
|
||||
this->result = MALONRACE_NO_RESULT;
|
||||
for (i = 0; i < 16; i++) {
|
||||
this->fenceCheck[i] = 0;
|
||||
}
|
||||
this->lapCount = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_DestroyMalonRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void EnHorseGameCheck_FinishMalonRace(EnHorseGameCheckMalonRace* this, GlobalContext* globalCtx) {
|
||||
if ((this->result == MALONRACE_SUCCESS) || (this->result == MALONRACE_TIME_UP)) {
|
||||
gSaveContext.cutsceneIndex = 0;
|
||||
globalCtx->nextEntranceIndex = 0x4CE;
|
||||
globalCtx->fadeTransition = 0x2E;
|
||||
globalCtx->sceneLoadFlag = 0x14;
|
||||
} else if (this->result == MALONRACE_FAILURE) {
|
||||
gSaveContext.timer1Value = 240;
|
||||
gSaveContext.timer1State = 0xF;
|
||||
gSaveContext.cutsceneIndex = 0;
|
||||
globalCtx->nextEntranceIndex = 0x4CE;
|
||||
globalCtx->fadeTransition = 0x2E;
|
||||
globalCtx->sceneLoadFlag = 0x14;
|
||||
} else {
|
||||
// not supported
|
||||
osSyncPrintf("En_HGC_Spot20_Ta_end():対応せず\n");
|
||||
gSaveContext.cutsceneIndex = 0;
|
||||
globalCtx->nextEntranceIndex = 0x157;
|
||||
globalCtx->fadeTransition = 0x2E;
|
||||
globalCtx->sceneLoadFlag = 0x14;
|
||||
}
|
||||
}
|
||||
|
||||
s32 EnHorseGameCheck_UpdateMalonRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) {
|
||||
EnHorseGameCheckMalonRace* this = (EnHorseGameCheckMalonRace*)base;
|
||||
s32 i;
|
||||
Player* player = PLAYER;
|
||||
EnHorse* horse;
|
||||
|
||||
if (!(this->raceFlags & MALONRACE_PLAYER_ON_MARK) && AT_FINISH_LINE(player->rideActor)) {
|
||||
this->raceFlags |= MALONRACE_PLAYER_ON_MARK;
|
||||
} else if ((this->raceFlags & MALONRACE_PLAYER_ON_MARK) && !(this->raceFlags & MALONRACE_PLAYER_START) && !AT_FINISH_LINE(player->rideActor)) {
|
||||
this->raceFlags |= MALONRACE_PLAYER_START;
|
||||
}
|
||||
if ((this->startTimer > 50) && !(this->raceFlags & MALONRACE_SET_TIMER)) {
|
||||
this->raceFlags |= MALONRACE_SET_TIMER;
|
||||
func_80088B34(0);
|
||||
} else if ((this->startTimer > 80) && (player->rideActor != NULL) && !(this->raceFlags & MALONRACE_PLAYER_MOVE)) {
|
||||
this->raceFlags |= MALONRACE_PLAYER_MOVE;
|
||||
horse = (EnHorse*)player->rideActor;
|
||||
|
||||
horse->unk_388 = 1;
|
||||
} else if ((this->startTimer > 81) && !(this->raceFlags & MALONRACE_START_SFX)) {
|
||||
this->raceFlags |= MALONRACE_START_SFX;
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
}
|
||||
|
||||
this->startTimer++;
|
||||
if (this->result == MALONRACE_NO_RESULT) {
|
||||
Player* player2 = player;
|
||||
f32 dist;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
if ((this->lapCount == 0) && (i >= 8)) {
|
||||
break;
|
||||
}
|
||||
dist = Math_Vec3f_DistXZ(&sFencePos[i % 8], &player2->rideActor->world.pos);
|
||||
if ((player->rideActor != NULL) && (dist < 250.0f)) {
|
||||
horse = (EnHorse*)player2->rideActor;
|
||||
|
||||
if (horse->unk_1F0 & 4) {
|
||||
if ((i > 0) && (this->fenceCheck[i - 1] == 1)) {
|
||||
this->fenceCheck[i] = 1;
|
||||
} else if (i == 0) {
|
||||
this->fenceCheck[i] = 1;
|
||||
}
|
||||
|
||||
if ((this->fenceCheck[i - 1] == 0) && !(this->raceFlags & MALONRACE_BROKE_RULE)) {
|
||||
this->raceFlags |= MALONRACE_BROKE_RULE;
|
||||
func_8010B680(globalCtx, 0x208C, NULL);
|
||||
this->result = 4;
|
||||
this->finishTimer = 30;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((player2->rideActor != NULL) && (this->raceFlags & MALONRACE_PLAYER_START) && AT_FINISH_LINE(player2->rideActor)) {
|
||||
if ((this->lapCount == 1) && (this->fenceCheck[15] == 0) && (player2->rideActor->prevPos.x < -200.0f)) {
|
||||
this->raceFlags |= MALONRACE_BROKE_RULE;
|
||||
func_8010B680(globalCtx, 0x208C, NULL);
|
||||
this->result = MALONRACE_FAILURE;
|
||||
this->finishTimer = 30;
|
||||
} else if (this->fenceCheck[15] == 1) {
|
||||
this->lapCount = 2;
|
||||
Audio_SetBGM(0x41);
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
this->result = MALONRACE_SUCCESS;
|
||||
this->finishTimer = 70;
|
||||
gSaveContext.timer1State = 0xF;
|
||||
} else if ((this->fenceCheck[7] == 1) && !(this->raceFlags & MALONRACE_SECOND_LAP)) {
|
||||
this->lapCount = 1;
|
||||
this->raceFlags |= MALONRACE_SECOND_LAP;
|
||||
func_8010B680(globalCtx, 0x208D, NULL);
|
||||
} else if (this->fenceCheck[7] == 0) {
|
||||
this->raceFlags |= MALONRACE_BROKE_RULE;
|
||||
func_8010B680(globalCtx, 0x208C, NULL);
|
||||
this->result = MALONRACE_FAILURE;
|
||||
this->finishTimer = 30;
|
||||
} else if (player2->rideActor->prevPos.x > 80.0f) {
|
||||
this->raceFlags |= MALONRACE_BROKE_RULE;
|
||||
func_8010B680(globalCtx, 0x208C, NULL);
|
||||
this->result = MALONRACE_FAILURE;
|
||||
this->finishTimer = 30;
|
||||
}
|
||||
}
|
||||
if ((gSaveContext.timer1Value >= 180) && (this->raceFlags & MALONRACE_SET_TIMER)) {
|
||||
gSaveContext.timer1Value = 240;
|
||||
this->result = MALONRACE_TIME_UP;
|
||||
this->finishTimer = 30;
|
||||
gSaveContext.timer1State = 0;
|
||||
}
|
||||
} else {
|
||||
if (this->finishTimer > 0) {
|
||||
this->finishTimer--;
|
||||
} else {
|
||||
EnHorseGameCheck_FinishMalonRace(this, globalCtx);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static EnHorseGameCheckFunc sInitFuncs[] = {
|
||||
NULL,
|
||||
EnHorseGameCheck_InitIngoRace,
|
||||
EnHorseGameCheck_InitGerudoArchery,
|
||||
EnHorseGameCheck_InitType3,
|
||||
EnHorseGameCheck_InitMalonRace,
|
||||
};
|
||||
|
||||
static EnHorseGameCheckFunc sDestroyFuncs[] = {
|
||||
NULL,
|
||||
EnHorseGameCheck_DestroyIngoRace,
|
||||
EnHorseGameCheck_DestroyGerudoArchery,
|
||||
EnHorseGameCheck_DestroyType3,
|
||||
EnHorseGameCheck_DestroyMalonRace,
|
||||
};
|
||||
|
||||
static EnHorseGameCheckFunc sUpdateFuncs[] = {
|
||||
NULL,
|
||||
EnHorseGameCheck_UpdateIngoRace,
|
||||
EnHorseGameCheck_UpdateGerudoArchery,
|
||||
EnHorseGameCheck_UpdateType3,
|
||||
EnHorseGameCheck_UpdateMalonRace,
|
||||
};
|
||||
|
||||
void EnHorseGameCheck_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnHorseGameCheckBase* this = THIS;
|
||||
|
||||
if ((globalCtx->sceneNum == SCENE_SPOT20) && (Flags_GetEventChkInf(0x18) || DREG(1))) {
|
||||
this->actor.params = HORSEGAME_MALON_RACE;
|
||||
}
|
||||
if (sInitFuncs[this->actor.params] != NULL) {
|
||||
sInitFuncs[this->actor.params](this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void EnHorseGameCheck_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnHorseGameCheckBase* this = THIS;
|
||||
|
||||
if (sDestroyFuncs[this->actor.params] != NULL) {
|
||||
sDestroyFuncs[this->actor.params](this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void EnHorseGameCheck_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnHorseGameCheckBase* this = THIS;
|
||||
|
||||
if (sUpdateFuncs[this->type] != NULL) {
|
||||
sUpdateFuncs[this->type](this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void EnHorseGameCheck_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
|
|
@ -4,13 +4,64 @@
|
|||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
struct EnHorseGameCheck;
|
||||
struct EnHorseGameCheckBase;
|
||||
|
||||
typedef struct EnHorseGameCheck {
|
||||
typedef s32 (*EnHorseGameCheckFunc)(struct EnHorseGameCheckBase* this, GlobalContext* globalCtx);
|
||||
|
||||
typedef struct EnHorseGameCheckBase {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x58];
|
||||
/* 0x014C */ s32 type;
|
||||
} EnHorseGameCheckBase; // size = 0x0150
|
||||
|
||||
typedef struct EnHorseGameCheckIngoRace {
|
||||
/* 0x0000 */ EnHorseGameCheckBase base;
|
||||
/* 0x0150 */ s32 startFlags;
|
||||
/* 0x0154 */ s32 playerCheck[3];
|
||||
/* 0x0160 */ s32 ingoCheck[3];
|
||||
/* 0x016C */ Actor* ingoHorse;
|
||||
/* 0x0170 */ s32 startTimer;
|
||||
/* 0x0174 */ s32 result;
|
||||
/* 0x0178 */ s32 finishTimer;
|
||||
/* 0x017C */ s32 playerFinish;
|
||||
/* 0x0180 */ s32 ingoFinish;
|
||||
} EnHorseGameCheckIngoRace; // size = 0x0184
|
||||
|
||||
typedef struct EnHorseGameCheckGerudoArchery {
|
||||
/* 0x0000 */ EnHorseGameCheckBase base;
|
||||
/* 0x0150 */ s32 unk_150;
|
||||
/* 0x0154 */ u32 startTimer;
|
||||
} EnHorseGameCheckGerudoArchery; // size = 0x0158
|
||||
|
||||
typedef struct EnHorseGameCheck3 {
|
||||
/* 0x0000 */ EnHorseGameCheckBase base;
|
||||
/* 0x0150 */ s32 unk_150;
|
||||
} EnHorseGameCheck3; // size = 0x0154
|
||||
|
||||
typedef struct EnHorseGameCheckMalonRace {
|
||||
/* 0x0000 */ EnHorseGameCheckBase base;
|
||||
/* 0x0150 */ s32 startTimer;
|
||||
/* 0x0154 */ s32 raceFlags;
|
||||
/* 0x0158 */ s32 fenceCheck[16];
|
||||
/* 0x0198 */ s32 finishTimer;
|
||||
/* 0x019C */ s32 result;
|
||||
/* 0x01A0 */ s32 lapCount;
|
||||
} EnHorseGameCheckMalonRace; // size = 0x01A4
|
||||
|
||||
typedef union EnHorseGameCheck {
|
||||
EnHorseGameCheckIngoRace ingo;
|
||||
EnHorseGameCheckGerudoArchery gerudo;
|
||||
EnHorseGameCheck3 type3;
|
||||
EnHorseGameCheckMalonRace malon;
|
||||
} EnHorseGameCheck; // size = 0x01A4
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ HORSEGAME_NONE,
|
||||
/* 1 */ HORSEGAME_INGO_RACE,
|
||||
/* 2 */ HORSEGAME_GERUDO_ARCHERY,
|
||||
/* 3 */ HORSEGAME_TYPE3,
|
||||
/* 4 */ HORSEGAME_MALON_RACE
|
||||
} EnHorseGameCheckType;
|
||||
|
||||
extern const ActorInit En_Horse_Game_Check_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_torch2.h"
|
||||
#include "objects/object_torch2/object_torch2.h"
|
||||
|
||||
#define FLAGS 0x00000035
|
||||
|
||||
|
@ -53,8 +54,6 @@ void EnTorch2_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnTorch2_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern FlexSkeletonHeader D_06004764;
|
||||
|
||||
const ActorInit En_Torch2_InitVars = {
|
||||
ACTOR_EN_TORCH2,
|
||||
ACTORCAT_BOSS,
|
||||
|
@ -132,7 +131,7 @@ void EnTorch2_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
|||
this->currentShield = PLAYER_SHIELD_HYLIAN;
|
||||
this->heldItemActionParam = this->heldItemId = PLAYER_AP_SWORD_MASTER;
|
||||
Player_SetModelGroup(this, 2);
|
||||
globalCtx->playerInit(this, globalCtx, &D_06004764);
|
||||
globalCtx->playerInit(this, globalCtx, &gDarkLinkSkel);
|
||||
this->actor.naviEnemyId = 0x26;
|
||||
this->cylinder.base.acFlags = AC_ON | AC_TYPE_PLAYER;
|
||||
this->swordQuads[0].base.atFlags = this->swordQuads[1].base.atFlags = AT_ON | AT_TYPE_ENEMY;
|
||||
|
|
|
@ -10,14 +10,31 @@
|
|||
|
||||
#define THIS ((EnTrap*)thisx)
|
||||
|
||||
#define BEGIN_MOVE_OUT 65535.0f
|
||||
|
||||
#define DIR_FWD 0
|
||||
#define DIR_LEFT 0x4000
|
||||
#define DIR_BACK -0x8000
|
||||
#define DIR_RIGHT -0x4000
|
||||
|
||||
// Linear motion
|
||||
#define vLinearVel upperParams
|
||||
#define vContinue genericVar2
|
||||
|
||||
// Circular motion
|
||||
#define vAngularVel upperParams
|
||||
#define vAngularPos genericVar1
|
||||
#define vRadius genericVar2
|
||||
|
||||
// Four-way motion
|
||||
#define vClosestDirection genericVar1 // relative to spike trap's facing angle if moving out, absolute if moving in
|
||||
#define vMovementMetric genericVar2
|
||||
|
||||
void EnTrap_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnTrap_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnTrap_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnTrap_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_06001400;
|
||||
|
||||
/*
|
||||
const ActorInit En_Trap_InitVars = {
|
||||
ACTOR_EN_TRAP,
|
||||
ACTORCAT_BG,
|
||||
|
@ -30,24 +47,349 @@ const ActorInit En_Trap_InitVars = {
|
|||
(ActorFunc)EnTrap_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInit D_80B25830 = {
|
||||
{ COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_NO_PUSH | OC1_TYPE_1 | OC1_TYPE_2, OC2_TYPE_1,
|
||||
COLSHAPE_CYLINDER },
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0x00000000, 0x00, 0x00 },
|
||||
{ 0x00001000, 0x00, 0x00 },
|
||||
TOUCH_NONE,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
COLTYPE_HIT0,
|
||||
AT_NONE,
|
||||
AC_ON | AC_TYPE_PLAYER,
|
||||
OC1_ON | OC1_NO_PUSH | OC1_TYPE_1 | OC1_TYPE_2,
|
||||
OC2_TYPE_1,
|
||||
COLSHAPE_CYLINDER,
|
||||
},
|
||||
{ ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00001000, 0x00, 0x00 }, TOUCH_NONE, BUMP_ON, OCELEM_ON },
|
||||
{ 30, 20, 0, { 0, 0, 0 } },
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Trap/EnTrap_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Trap/EnTrap_Destroy.s")
|
||||
extern Gfx D_06001400[];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Trap/EnTrap_Update.s")
|
||||
void EnTrap_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
f32 trapDist;
|
||||
f32 trapSpeed;
|
||||
s16 zSpeed;
|
||||
s16 xSpeed;
|
||||
EnTrap* this = THIS;
|
||||
ColliderCylinder* unused = &this->collider; // required to match
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Trap/EnTrap_Draw.s")
|
||||
this->upperParams = (thisx->params >> 8) & 0xFF;
|
||||
thisx->params &= 0xFF;
|
||||
Actor_SetScale(thisx, 0.1f);
|
||||
thisx->gravity = -2.0f;
|
||||
if (thisx->params & SPIKETRAP_MODE_LINEAR) {
|
||||
thisx->speedXZ = this->moveSpeedForwardBack.z = this->upperParams & 0xF;
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_SPINE_TRAP_MOVE);
|
||||
} else if (thisx->params & SPIKETRAP_MODE_CIRCULAR) {
|
||||
this->vRadius = (this->upperParams & 0xF) * 40.0f;
|
||||
this->vAngularVel = ((this->upperParams & 0xF0) + 0x10) << 5;
|
||||
thisx->world.pos.x = thisx->home.pos.x + (Math_SinS(0) * this->vRadius);
|
||||
thisx->world.pos.z = thisx->home.pos.z + (Math_CosS(0) * this->vRadius);
|
||||
} else { // Four-way motion
|
||||
if (this->upperParams != 0) {
|
||||
trapDist = (this->upperParams >> 4) * 40;
|
||||
trapSpeed = (this->upperParams & 0xF);
|
||||
} else {
|
||||
trapDist = 200.0f;
|
||||
trapSpeed = 10.0f;
|
||||
thisx->params = 0xF;
|
||||
}
|
||||
Actor_UpdateBgCheckInfo(globalCtx, thisx, 10.0f, 20.0f, 20.0f, 0x1D);
|
||||
thisx->home.pos = thisx->world.pos;
|
||||
this->targetPosLeft.x = thisx->world.pos.x + (trapDist * Math_CosS(thisx->world.rot.y));
|
||||
this->targetPosLeft.z = thisx->world.pos.z - (trapDist * Math_SinS(thisx->world.rot.y));
|
||||
this->targetPosRight.x = thisx->world.pos.x + (trapDist * Math_CosS(thisx->world.rot.y + 0x8000));
|
||||
this->targetPosRight.z = thisx->world.pos.z - (trapDist * Math_SinS(thisx->world.rot.y + 0x8000));
|
||||
this->targetPosFwd.x = thisx->world.pos.x + (trapDist * Math_SinS(thisx->world.rot.y));
|
||||
this->targetPosFwd.z = thisx->world.pos.z + (trapDist * Math_CosS(thisx->world.rot.y));
|
||||
this->targetPosBack.x = thisx->world.pos.x + (trapDist * Math_SinS(thisx->world.rot.y + 0x8000));
|
||||
this->targetPosBack.z = thisx->world.pos.z + (trapDist * Math_CosS(thisx->world.rot.y + 0x8000));
|
||||
|
||||
zSpeed = trapSpeed * Math_CosS(thisx->world.rot.y);
|
||||
xSpeed = trapSpeed * Math_SinS(thisx->world.rot.y);
|
||||
zSpeed = ABS(zSpeed);
|
||||
xSpeed = ABS(xSpeed);
|
||||
this->moveSpeedLeftRight.x = this->moveSpeedForwardBack.z = zSpeed;
|
||||
this->moveSpeedLeftRight.z = this->moveSpeedForwardBack.x = xSpeed;
|
||||
}
|
||||
thisx->focus.pos = thisx->world.pos;
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, thisx, &sCylinderInit);
|
||||
ActorShape_Init(&thisx->shape, 0.0f, &ActorShadow_DrawCircle, 0.0f);
|
||||
thisx->targetMode = 3;
|
||||
thisx->colChkInfo.mass = 0xFF;
|
||||
}
|
||||
|
||||
void EnTrap_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnTrap* this = THIS;
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
void EnTrap_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnTrap* this = THIS;
|
||||
Vec3f posTemp;
|
||||
s16 angleToKnockPlayer;
|
||||
s16 angleToCollidedActor;
|
||||
s16 touchingActor;
|
||||
s16 blockedOnReturn;
|
||||
s32 pad;
|
||||
s16 angleToWall;
|
||||
Vec3f icePos;
|
||||
Vec3f posAhead;
|
||||
Vec3f colPoint; // unused return value from function
|
||||
CollisionPoly* colPoly; // unused return value from function
|
||||
s32 bgId; // unused return value from function
|
||||
f32 temp_cond;
|
||||
|
||||
touchingActor = false;
|
||||
blockedOnReturn = false;
|
||||
angleToWall = thisx->wallYaw - thisx->world.rot.y;
|
||||
if (this->collider.base.ocFlags1 & OC1_HIT) {
|
||||
this->collider.base.ocFlags1 &= ~OC1_HIT;
|
||||
angleToCollidedActor =
|
||||
thisx->world.rot.y + Math_Vec3f_Yaw(&this->collider.base.oc->world.pos, &thisx->world.pos);
|
||||
touchingActor = true;
|
||||
}
|
||||
// Freeze the trap if hit by ice arrows:
|
||||
if ((this->collider.base.acFlags & AC_HIT) != 0) {
|
||||
icePos = thisx->world.pos;
|
||||
this->collider.base.acFlags &= ~AC_HIT;
|
||||
func_8003426C(thisx, 0, 250, 0, 250);
|
||||
icePos.y += 10.0f;
|
||||
icePos.z += 10.0f;
|
||||
EffectSsEnIce_SpawnFlyingVec3f(globalCtx, thisx, &icePos, 150, 150, 150, 250, 235, 245, 255, 1.8f);
|
||||
icePos.x += 10.0f;
|
||||
icePos.z -= 20.0f;
|
||||
EffectSsEnIce_SpawnFlyingVec3f(globalCtx, thisx, &icePos, 150, 150, 150, 250, 235, 245, 255, 1.8f);
|
||||
icePos.x -= 20.0f;
|
||||
EffectSsEnIce_SpawnFlyingVec3f(globalCtx, thisx, &icePos, 150, 150, 150, 250, 235, 245, 255, 1.8f);
|
||||
}
|
||||
// If not frozen:
|
||||
if (thisx->colorFilterTimer == 0) {
|
||||
DECR(this->playerDmgTimer);
|
||||
// Handles damaging player:
|
||||
//! @bug there is no yDistToPlayer check for player being below. Therefore hitbox extends down infinitely
|
||||
if ((thisx->xzDistToPlayer <= 40.0f) && (this->playerDmgTimer == 0) && (thisx->yDistToPlayer <= 20.0f)) {
|
||||
if (!(thisx->params & (SPIKETRAP_MODE_LINEAR | SPIKETRAP_MODE_CIRCULAR))) { // if in 4-way mode:
|
||||
if ((s16)(this->vClosestDirection - thisx->yawTowardsPlayer) >= 0) {
|
||||
angleToKnockPlayer = this->vClosestDirection - 0x4000;
|
||||
} else {
|
||||
angleToKnockPlayer = this->vClosestDirection + 0x4000;
|
||||
}
|
||||
} else {
|
||||
angleToKnockPlayer = thisx->yawTowardsPlayer;
|
||||
}
|
||||
globalCtx->damagePlayer(globalCtx, -4);
|
||||
func_8002F7A0(globalCtx, thisx, 6.0f, angleToKnockPlayer, 6.0f);
|
||||
this->playerDmgTimer = 15;
|
||||
}
|
||||
if (thisx->params & SPIKETRAP_MODE_LINEAR) {
|
||||
this->vContinue = 1.0f;
|
||||
// If physically touching a wall and wall faces towards spike trap
|
||||
if ((thisx->bgCheckFlags & 8) && (ABS(angleToWall) >= 0x6000)) {
|
||||
this->vContinue = 0.0f;
|
||||
}
|
||||
// If there is a collision poly between current position and a position 30 units ahead of spike trap
|
||||
if (this->vContinue != 0.0f) {
|
||||
posAhead.x = (Math_SinS(thisx->world.rot.y) * 30.0f) + thisx->world.pos.x;
|
||||
posAhead.z = (Math_CosS(thisx->world.rot.y) * 30.0f) + thisx->world.pos.z;
|
||||
posAhead.y = thisx->world.pos.y;
|
||||
if (BgCheck_EntityLineTest1(&globalCtx->colCtx, &thisx->world.pos, &posAhead, &colPoint, &colPoly, 1, 1,
|
||||
0, 1, &bgId) == true) {
|
||||
this->vContinue = 0.0f;
|
||||
}
|
||||
}
|
||||
// If spike trap is touching an actor which is in the path of the spike trap
|
||||
if (touchingActor && (this->vContinue != 0.0f)) {
|
||||
angleToCollidedActor =
|
||||
Math_Vec3f_Yaw(&thisx->world.pos, &this->collider.base.oc->world.pos) - thisx->world.rot.y;
|
||||
if (ABS(angleToCollidedActor) < 0x1000) {
|
||||
this->vContinue = 0.0f;
|
||||
}
|
||||
}
|
||||
// If any of the above three conditions are met, turn around
|
||||
if (this->vContinue == 0.0f) {
|
||||
thisx->world.rot.y += 0x8000;
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_SPINE_TRAP_MOVE);
|
||||
}
|
||||
} else if (thisx->params & SPIKETRAP_MODE_CIRCULAR) {
|
||||
temp_cond = Math_SinS(this->vAngularPos);
|
||||
this->vAngularPos += this->vAngularVel;
|
||||
// Every full circle make a sound:
|
||||
if ((temp_cond < 0.0f) && (Math_SinS(this->vAngularPos) >= 0.0f)) {
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_ROUND_TRAP_MOVE);
|
||||
}
|
||||
thisx->world.pos.x = (this->vRadius * Math_SinS(this->vAngularPos)) + thisx->home.pos.x;
|
||||
thisx->world.pos.z = (this->vRadius * Math_CosS(this->vAngularPos)) + thisx->home.pos.z;
|
||||
thisx->world.pos.y = thisx->floorHeight;
|
||||
thisx->prevPos = thisx->world.pos;
|
||||
} else { // 4 way movement
|
||||
// if moving outwards:
|
||||
if (this->vMovementMetric != 0.0f) {
|
||||
switch (this->vClosestDirection) { // movement direction relative to spike trap
|
||||
case DIR_FWD:
|
||||
if (!(thisx->params & SPIKETRAP_FOURWAY_FWD_ALLOWED)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
} else if ((thisx->bgCheckFlags & 8) && (ABS(angleToWall) > 0x6000)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
}
|
||||
if (touchingActor && (this->vMovementMetric != 0.0f) && (ABS(angleToCollidedActor) > 0x6000)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
}
|
||||
if (this->vMovementMetric != 0.0f) {
|
||||
if (this->vMovementMetric == BEGIN_MOVE_OUT) {
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_SPINE_TRAP_MOVE);
|
||||
}
|
||||
this->vMovementMetric = Math_SmoothStepToF(&thisx->world.pos.z, this->targetPosFwd.z, 1.0f,
|
||||
this->moveSpeedForwardBack.z, 0.0f);
|
||||
this->vMovementMetric += Math_SmoothStepToF(&thisx->world.pos.x, this->targetPosFwd.x, 1.0f,
|
||||
this->moveSpeedForwardBack.x, 0.0f);
|
||||
}
|
||||
break;
|
||||
case DIR_LEFT:
|
||||
if (!(thisx->params & SPIKETRAP_FOURWAY_LEFT_ALLOWED)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
} else if ((thisx->bgCheckFlags & 8) && (angleToWall < -0x2000) && (angleToWall > -0x6000)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
break;
|
||||
}
|
||||
if (touchingActor && (this->vMovementMetric != 0.0f) && (angleToCollidedActor <= -0x2000) &&
|
||||
(angleToCollidedActor > -0x6000)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
break;
|
||||
}
|
||||
if (this->vMovementMetric != 0.0f) {
|
||||
if (this->vMovementMetric == BEGIN_MOVE_OUT) {
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_SPINE_TRAP_MOVE);
|
||||
}
|
||||
this->vMovementMetric = Math_SmoothStepToF(&thisx->world.pos.x, this->targetPosLeft.x, 1.0f,
|
||||
this->moveSpeedLeftRight.x, 0.0f);
|
||||
this->vMovementMetric += Math_SmoothStepToF(&thisx->world.pos.z, this->targetPosLeft.z,
|
||||
1.0f, this->moveSpeedLeftRight.z, 0.0f);
|
||||
}
|
||||
break;
|
||||
case DIR_BACK:
|
||||
if (!(thisx->params & SPIKETRAP_FOURWAY_BACK_ALLOWED)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
} else if ((thisx->bgCheckFlags & 8) && (ABS(angleToWall) < 0x2000)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
break;
|
||||
}
|
||||
if (touchingActor && (this->vMovementMetric != 0.0f) && (ABS(angleToCollidedActor) < 0x2000)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
break;
|
||||
}
|
||||
if (this->vMovementMetric != 0.0f) {
|
||||
if (this->vMovementMetric == BEGIN_MOVE_OUT) {
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_SPINE_TRAP_MOVE);
|
||||
}
|
||||
this->vMovementMetric = Math_SmoothStepToF(&thisx->world.pos.z, this->targetPosBack.z, 1.0f,
|
||||
this->moveSpeedForwardBack.z, 0.0f);
|
||||
this->vMovementMetric += Math_SmoothStepToF(&thisx->world.pos.x, this->targetPosBack.x,
|
||||
1.0f, this->moveSpeedForwardBack.x, 0.0f);
|
||||
}
|
||||
break;
|
||||
case DIR_RIGHT:
|
||||
if (!(thisx->params & SPIKETRAP_FOURWAY_RIGHT_ALLOWED)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
} else if ((thisx->bgCheckFlags & 8) && (angleToWall > 0x2000) && (angleToWall < 0x6000)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
break;
|
||||
}
|
||||
if (touchingActor && (this->vMovementMetric != 0.0f) && (angleToCollidedActor > 0x2000) &&
|
||||
(angleToCollidedActor < 0x6000)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
break;
|
||||
}
|
||||
if (this->vMovementMetric != 0.0f) {
|
||||
if (this->vMovementMetric == BEGIN_MOVE_OUT) {
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_SPINE_TRAP_MOVE);
|
||||
}
|
||||
this->vMovementMetric = Math_SmoothStepToF(&thisx->world.pos.x, this->targetPosRight.x,
|
||||
1.0f, this->moveSpeedLeftRight.x, 0.0f);
|
||||
this->vMovementMetric += Math_SmoothStepToF(&thisx->world.pos.z, this->targetPosRight.z,
|
||||
1.0f, this->moveSpeedLeftRight.z, 0.0f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (!func_800339B8(thisx, globalCtx, 50.0f, this->vClosestDirection)) {
|
||||
this->vMovementMetric = 0.0f;
|
||||
}
|
||||
// if in initial position:
|
||||
} else if ((thisx->world.pos.x == thisx->home.pos.x) && (thisx->world.pos.z == thisx->home.pos.z)) {
|
||||
// of the available 4-way directions, get the one which is closest to the direction of player:
|
||||
this->vClosestDirection = ((thisx->yawTowardsPlayer - thisx->world.rot.y) + 0x2000) & 0xC000;
|
||||
this->vMovementMetric = 0.0f;
|
||||
if (thisx->xzDistToPlayer < 200.0f) {
|
||||
this->vMovementMetric = BEGIN_MOVE_OUT;
|
||||
}
|
||||
// If returning to origin:
|
||||
} else {
|
||||
// Of the four real world compass directions, get the one which is closest to the movement direction of
|
||||
// the returning spike. Note that this is different from the previous usages of vClosestDirection
|
||||
this->vClosestDirection = (Math_Vec3f_Yaw(&thisx->world.pos, &thisx->home.pos) + 0x2000) & 0xC000;
|
||||
switch (this->vClosestDirection) {
|
||||
case 0: // movement is closest to +z direction
|
||||
if (thisx->bgCheckFlags & 8) {
|
||||
if (ABS(thisx->wallYaw) > 0x6000) {
|
||||
blockedOnReturn = true;
|
||||
}
|
||||
} else if (touchingActor && (ABS(angleToCollidedActor) > 0x6000)) {
|
||||
blockedOnReturn = true;
|
||||
}
|
||||
break;
|
||||
case 0x4000: // movement is closest to +x direction
|
||||
if (thisx->bgCheckFlags & 8) {
|
||||
if ((thisx->wallYaw < -0x2000) && (thisx->wallYaw > -0x6000)) {
|
||||
blockedOnReturn = true;
|
||||
}
|
||||
} else if (touchingActor && (angleToCollidedActor < -0x2000) &&
|
||||
(angleToCollidedActor > -0x6000)) {
|
||||
blockedOnReturn = true;
|
||||
}
|
||||
break;
|
||||
case -0x8000: // movement is closest to -z direction
|
||||
if (thisx->bgCheckFlags & 8) {
|
||||
if (ABS(thisx->wallYaw) < 0x2000) {
|
||||
blockedOnReturn = true;
|
||||
}
|
||||
} else if (touchingActor && (ABS(angleToCollidedActor) < 0x2000)) {
|
||||
blockedOnReturn = true;
|
||||
}
|
||||
break;
|
||||
case -0x4000: // movement is closest to -x direction
|
||||
if (thisx->bgCheckFlags & 8) {
|
||||
if ((thisx->wallYaw > 0x2000) && (thisx->wallYaw < 0x6000)) {
|
||||
blockedOnReturn = true;
|
||||
}
|
||||
} else if (touchingActor && (angleToCollidedActor > 0x2000) &&
|
||||
(angleToCollidedActor < 0x6000)) {
|
||||
blockedOnReturn = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (!blockedOnReturn) {
|
||||
Math_SmoothStepToF(&thisx->world.pos.x, thisx->home.pos.x, 1.0f, 3.0f, 0.0f);
|
||||
Math_SmoothStepToF(&thisx->world.pos.z, thisx->home.pos.z, 1.0f, 3.0f, 0.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
Actor_MoveForward(thisx); // Only used by straight line logic
|
||||
// Adjust position using bgcheck, but do not adjust x, z position if in straight line mode:
|
||||
if (thisx->params & SPIKETRAP_MODE_LINEAR) {
|
||||
posTemp = thisx->world.pos;
|
||||
}
|
||||
Actor_UpdateBgCheckInfo(globalCtx, thisx, 25.0f, 20.0f, 20.0f, 0x1D);
|
||||
if (thisx->params & SPIKETRAP_MODE_LINEAR) {
|
||||
thisx->world.pos.x = posTemp.x;
|
||||
thisx->world.pos.z = posTemp.z;
|
||||
}
|
||||
}
|
||||
Collider_UpdateCylinder(thisx, &this->collider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
if (thisx->colorFilterTimer == 0) {
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
}
|
||||
|
||||
void EnTrap_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_8002EBCC(thisx, globalCtx, 1);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06001400);
|
||||
}
|
||||
|
|
|
@ -4,11 +4,32 @@
|
|||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
// Different movement modes (set in params):
|
||||
#define SPIKETRAP_MODE_LINEAR 0x10
|
||||
#define SPIKETRAP_MODE_CIRCULAR 0x20
|
||||
#define SPIKETRAP_MODE_FOUR_WAY 0x30
|
||||
|
||||
// When four-way mode is set, these flags decide on which directions are allowed:
|
||||
#define SPIKETRAP_FOURWAY_FWD_ALLOWED (1 << 0)
|
||||
#define SPIKETRAP_FOURWAY_BACK_ALLOWED (1 << 1)
|
||||
#define SPIKETRAP_FOURWAY_LEFT_ALLOWED (1 << 2)
|
||||
#define SPIKETRAP_FOURWAY_RIGHT_ALLOWED (1 << 3)
|
||||
|
||||
struct EnTrap;
|
||||
|
||||
typedef struct EnTrap {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0xA0];
|
||||
/* 0x014C */ s32 playerDmgTimer;
|
||||
/* 0x0150 */ s16 upperParams;
|
||||
/* 0x0152 */ s16 genericVar1;
|
||||
/* 0x0154 */ f32 genericVar2;
|
||||
/* 0x0158 */ Vec3f targetPosLeft;
|
||||
/* 0x0164 */ Vec3f targetPosRight;
|
||||
/* 0x0170 */ Vec3f targetPosFwd;
|
||||
/* 0x017C */ Vec3f targetPosBack;
|
||||
/* 0x0188 */ Vec3f moveSpeedLeftRight;
|
||||
/* 0x0194 */ Vec3f moveSpeedForwardBack;
|
||||
/* 0x01A0 */ ColliderCylinder collider;
|
||||
} EnTrap; // size = 0x01EC
|
||||
|
||||
extern const ActorInit En_Trap_InitVars;
|
||||
|
|
Loading…
Add table
Reference in a new issue