mirror of
https://github.com/zeldaret/oot.git
synced 2025-04-05 14:24:17 +00:00
ovl_Door_Shutter OK (#413)
* Initial progress * Some more progress * Fix merge * OK * Small improvements * Further improvements * Some documentation, ran formatter * Small fix * Several review suggestions Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Further review changes * Space out declarations, better boolean comparisons Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Some ands to modulos * Swap condition Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Fix merge, PR suggestions * review Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
parent
80c803b9ec
commit
26c38834ec
44 changed files with 752 additions and 2326 deletions
|
@ -1,31 +0,0 @@
|
|||
glabel DoorShutter_Destroy
|
||||
/* 003FC 8099669C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00400 809966A0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00404 809966A4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00408 809966A8 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 0040C 809966AC 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
|
||||
/* 00410 809966B0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00414 809966B4 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 00418 809966B8 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 0041C 809966BC AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00420 809966C0 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00424 809966C4 8FB8001C */ lw $t8, 0x001C($sp)
|
||||
/* 00428 809966C8 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
|
||||
/* 0042C 809966CC 80EF0003 */ lb $t7, 0x0003($a3) ## 00000003
|
||||
/* 00430 809966D0 05E2000B */ bltzl $t7, .L80996700
|
||||
/* 00434 809966D4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00438 809966D8 94E3001C */ lhu $v1, 0x001C($a3) ## 0000001C
|
||||
/* 0043C 809966DC 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 00440 809966E0 8F391D38 */ lw $t9, 0x1D38($t9) ## 00011D38
|
||||
/* 00444 809966E4 00031A83 */ sra $v1, $v1, 10
|
||||
/* 00448 809966E8 00034100 */ sll $t0, $v1, 4
|
||||
/* 0044C 809966EC 03281021 */ addu $v0, $t9, $t0
|
||||
/* 00450 809966F0 84490004 */ lh $t1, 0x0004($v0) ## 00000004
|
||||
/* 00454 809966F4 00095023 */ subu $t2, $zero, $t1
|
||||
/* 00458 809966F8 A44A0004 */ sh $t2, 0x0004($v0) ## 00000004
|
||||
/* 0045C 809966FC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80996700:
|
||||
/* 00460 80996700 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00464 80996704 03E00008 */ jr $ra
|
||||
/* 00468 80996708 00000000 */ nop
|
|
@ -1,404 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8099832C
|
||||
.asciz "../z_door_shutter.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80998340
|
||||
.asciz "../z_door_shutter.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80998354
|
||||
.asciz "../z_door_shutter.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80998368
|
||||
.asciz "../z_door_shutter.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8099837C
|
||||
.asciz "../z_door_shutter.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_809983A4
|
||||
.float 0.01
|
||||
|
||||
glabel D_809983A8
|
||||
.float 3.14159274101
|
||||
|
||||
glabel D_809983AC
|
||||
.float 3.14159274101
|
||||
|
||||
glabel D_809983B0
|
||||
.float 0.01
|
||||
|
||||
glabel D_809983B4
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel DoorShutter_Draw
|
||||
/* 01840 80997AE0 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
|
||||
/* 01844 80997AE4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 01848 80997AE8 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 0184C 80997AEC AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 01850 80997AF0 AFA50084 */ sw $a1, 0x0084($sp)
|
||||
/* 01854 80997AF4 808F001E */ lb $t7, 0x001E($a0) ## 0000001E
|
||||
/* 01858 80997AF8 808E016D */ lb $t6, 0x016D($a0) ## 0000016D
|
||||
/* 0185C 80997AFC 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 01860 80997B00 55CF014A */ bnel $t6, $t7, .L8099802C
|
||||
/* 01864 80997B04 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01868 80997B08 9098016B */ lbu $t8, 0x016B($a0) ## 0000016B
|
||||
/* 0186C 80997B0C 53000006 */ beql $t8, $zero, .L80997B28
|
||||
/* 01870 80997B10 9239016C */ lbu $t9, 0x016C($s1) ## 0000016C
|
||||
/* 01874 80997B14 0C265E8D */ jal func_80997A34
|
||||
/* 01878 80997B18 00000000 */ nop
|
||||
/* 0187C 80997B1C 50400143 */ beql $v0, $zero, .L8099802C
|
||||
/* 01880 80997B20 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01884 80997B24 9239016C */ lbu $t9, 0x016C($s1) ## 0000016C
|
||||
.L80997B28:
|
||||
/* 01888 80997B28 3C09809A */ lui $t1, %hi(D_80998134) ## $t1 = 809A0000
|
||||
/* 0188C 80997B2C 8FAB0084 */ lw $t3, 0x0084($sp)
|
||||
/* 01890 80997B30 00194080 */ sll $t0, $t9, 2
|
||||
/* 01894 80997B34 01194023 */ subu $t0, $t0, $t9
|
||||
/* 01898 80997B38 00084080 */ sll $t0, $t0, 2
|
||||
/* 0189C 80997B3C 25298134 */ addiu $t1, $t1, %lo(D_80998134) ## $t1 = 80998134
|
||||
/* 018A0 80997B40 01095021 */ addu $t2, $t0, $t1
|
||||
/* 018A4 80997B44 AFAA0070 */ sw $t2, 0x0070($sp)
|
||||
/* 018A8 80997B48 8D650000 */ lw $a1, 0x0000($t3) ## 00000000
|
||||
/* 018AC 80997B4C 3C06809A */ lui $a2, %hi(D_8099832C) ## $a2 = 809A0000
|
||||
/* 018B0 80997B50 24C6832C */ addiu $a2, $a2, %lo(D_8099832C) ## $a2 = 8099832C
|
||||
/* 018B4 80997B54 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFDC
|
||||
/* 018B8 80997B58 24070800 */ addiu $a3, $zero, 0x0800 ## $a3 = 00000800
|
||||
/* 018BC 80997B5C 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 018C0 80997B60 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 018C4 80997B64 8FAC0084 */ lw $t4, 0x0084($sp)
|
||||
/* 018C8 80997B68 0C024F46 */ jal func_80093D18
|
||||
/* 018CC 80997B6C 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
|
||||
/* 018D0 80997B70 922D016C */ lbu $t5, 0x016C($s1) ## 0000016C
|
||||
/* 018D4 80997B74 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 018D8 80997B78 8FA40084 */ lw $a0, 0x0084($sp)
|
||||
/* 018DC 80997B7C 15A1006F */ bne $t5, $at, .L80997D3C
|
||||
/* 018E0 80997B80 8FAA0070 */ lw $t2, 0x0070($sp)
|
||||
/* 018E4 80997B84 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 018E8 80997B88 0C265E0E */ jal func_80997838
|
||||
/* 018EC 80997B8C 8E0602C0 */ lw $a2, 0x02C0($s0) ## 000002C0
|
||||
/* 018F0 80997B90 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 018F4 80997B94 C6200170 */ lwc1 $f0, 0x0170($s1) ## 00000170
|
||||
/* 018F8 80997B98 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 018FC 80997B9C 00000000 */ nop
|
||||
/* 01900 80997BA0 46002032 */ c.eq.s $f4, $f0
|
||||
/* 01904 80997BA4 00000000 */ nop
|
||||
/* 01908 80997BA8 450300FE */ bc1tl .L80997FA4
|
||||
/* 0190C 80997BAC 822B016E */ lb $t3, 0x016E($s1) ## 0000016E
|
||||
/* 01910 80997BB0 862E0166 */ lh $t6, 0x0166($s1) ## 00000166
|
||||
/* 01914 80997BB4 3C01809A */ lui $at, %hi(D_809983A4) ## $at = 809A0000
|
||||
/* 01918 80997BB8 C42A83A4 */ lwc1 $f10, %lo(D_809983A4)($at)
|
||||
/* 0191C 80997BBC 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00
|
||||
/* 01920 80997BC0 8FAF0084 */ lw $t7, 0x0084($sp)
|
||||
/* 01924 80997BC4 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 01928 80997BC8 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 0192C 80997BCC 00000000 */ nop
|
||||
/* 01930 80997BD0 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* 01934 80997BD4 E7B20058 */ swc1 $f18, 0x0058($sp)
|
||||
/* 01938 80997BD8 0C024F46 */ jal func_80093D18
|
||||
/* 0193C 80997BDC 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 01940 80997BE0 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
|
||||
/* 01944 80997BE4 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000
|
||||
/* 01948 80997BE8 3C01437F */ lui $at, 0x437F ## $at = 437F0000
|
||||
/* 0194C 80997BEC 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
|
||||
/* 01950 80997BF0 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 01954 80997BF4 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
|
||||
/* 01958 80997BF8 C7A60058 */ lwc1 $f6, 0x0058($sp)
|
||||
/* 0195C 80997BFC 44812000 */ mtc1 $at, $f4 ## $f4 = 255.00
|
||||
/* 01960 80997C00 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 01964 80997C04 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
|
||||
/* 01968 80997C08 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 0196C 80997C0C 4448F800 */ cfc1 $t0, $31
|
||||
/* 01970 80997C10 44C9F800 */ ctc1 $t1, $31
|
||||
/* 01974 80997C14 00000000 */ nop
|
||||
/* 01978 80997C18 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 0197C 80997C1C 4449F800 */ cfc1 $t1, $31
|
||||
/* 01980 80997C20 00000000 */ nop
|
||||
/* 01984 80997C24 31290078 */ andi $t1, $t1, 0x0078 ## $t1 = 00000000
|
||||
/* 01988 80997C28 51200013 */ beql $t1, $zero, .L80997C78
|
||||
/* 0198C 80997C2C 44095000 */ mfc1 $t1, $f10
|
||||
/* 01990 80997C30 44815000 */ mtc1 $at, $f10 ## $f10 = 2147483648.00
|
||||
/* 01994 80997C34 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 01998 80997C38 460A4281 */ sub.s $f10, $f8, $f10
|
||||
/* 0199C 80997C3C 44C9F800 */ ctc1 $t1, $31
|
||||
/* 019A0 80997C40 00000000 */ nop
|
||||
/* 019A4 80997C44 460052A4 */ cvt.w.s $f10, $f10
|
||||
/* 019A8 80997C48 4449F800 */ cfc1 $t1, $31
|
||||
/* 019AC 80997C4C 00000000 */ nop
|
||||
/* 019B0 80997C50 31290078 */ andi $t1, $t1, 0x0078 ## $t1 = 00000000
|
||||
/* 019B4 80997C54 15200005 */ bne $t1, $zero, .L80997C6C
|
||||
/* 019B8 80997C58 00000000 */ nop
|
||||
/* 019BC 80997C5C 44095000 */ mfc1 $t1, $f10
|
||||
/* 019C0 80997C60 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 019C4 80997C64 10000007 */ beq $zero, $zero, .L80997C84
|
||||
/* 019C8 80997C68 01214825 */ or $t1, $t1, $at ## $t1 = 80000000
|
||||
.L80997C6C:
|
||||
/* 019CC 80997C6C 10000005 */ beq $zero, $zero, .L80997C84
|
||||
/* 019D0 80997C70 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 019D4 80997C74 44095000 */ mfc1 $t1, $f10
|
||||
.L80997C78:
|
||||
/* 019D8 80997C78 00000000 */ nop
|
||||
/* 019DC 80997C7C 0520FFFB */ bltz $t1, .L80997C6C
|
||||
/* 019E0 80997C80 00000000 */ nop
|
||||
.L80997C84:
|
||||
/* 019E4 80997C84 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 000000FF
|
||||
/* 019E8 80997C88 AC6A0004 */ sw $t2, 0x0004($v1) ## 00000004
|
||||
/* 019EC 80997C8C 8FAB0070 */ lw $t3, 0x0070($sp)
|
||||
/* 019F0 80997C90 44C8F800 */ ctc1 $t0, $31
|
||||
/* 019F4 80997C94 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 019F8 80997C98 916C0009 */ lbu $t4, 0x0009($t3) ## 00000009
|
||||
/* 019FC 80997C9C 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 01A00 80997CA0 46006386 */ mov.s $f14, $f12
|
||||
/* 01A04 80997CA4 448C8000 */ mtc1 $t4, $f16 ## $f16 = 0.00
|
||||
/* 01A08 80997CA8 05810004 */ bgez $t4, .L80997CBC
|
||||
/* 01A0C 80997CAC 46808420 */ cvt.s.w $f16, $f16
|
||||
/* 01A10 80997CB0 44819000 */ mtc1 $at, $f18 ## $f18 = 4294967296.00
|
||||
/* 01A14 80997CB4 00000000 */ nop
|
||||
/* 01A18 80997CB8 46128400 */ add.s $f16, $f16, $f18
|
||||
.L80997CBC:
|
||||
/* 01A1C 80997CBC 44068000 */ mfc1 $a2, $f16
|
||||
/* 01A20 80997CC0 0C034261 */ jal Matrix_Translate
|
||||
/* 01A24 80997CC4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01A28 80997CC8 C7AC0058 */ lwc1 $f12, 0x0058($sp)
|
||||
/* 01A2C 80997CCC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01A30 80997CD0 44066000 */ mfc1 $a2, $f12
|
||||
/* 01A34 80997CD4 0C0342A3 */ jal Matrix_Scale
|
||||
/* 01A38 80997CD8 46006386 */ mov.s $f14, $f12
|
||||
/* 01A3C 80997CDC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01A40 80997CE0 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
|
||||
/* 01A44 80997CE4 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
|
||||
/* 01A48 80997CE8 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 01A4C 80997CEC AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0
|
||||
/* 01A50 80997CF0 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 01A54 80997CF4 8FAF0084 */ lw $t7, 0x0084($sp)
|
||||
/* 01A58 80997CF8 3C05809A */ lui $a1, %hi(D_80998340) ## $a1 = 809A0000
|
||||
/* 01A5C 80997CFC 24A58340 */ addiu $a1, $a1, %lo(D_80998340) ## $a1 = 80998340
|
||||
/* 01A60 80997D00 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 01A64 80997D04 24060815 */ addiu $a2, $zero, 0x0815 ## $a2 = 00000815
|
||||
/* 01A68 80997D08 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 01A6C 80997D0C AFA20050 */ sw $v0, 0x0050($sp)
|
||||
/* 01A70 80997D10 8FA30050 */ lw $v1, 0x0050($sp)
|
||||
/* 01A74 80997D14 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000
|
||||
/* 01A78 80997D18 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 01A7C 80997D1C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01A80 80997D20 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 01A84 80997D24 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 01A88 80997D28 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 01A8C 80997D2C 8FA80070 */ lw $t0, 0x0070($sp)
|
||||
/* 01A90 80997D30 8D090004 */ lw $t1, 0x0004($t0) ## 00000004
|
||||
/* 01A94 80997D34 1000009A */ beq $zero, $zero, .L80997FA0
|
||||
/* 01A98 80997D38 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
.L80997D3C:
|
||||
/* 01A9C 80997D3C 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004
|
||||
/* 01AA0 80997D40 8FA20084 */ lw $v0, 0x0084($sp)
|
||||
/* 01AA4 80997D44 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01AA8 80997D48 11600029 */ beq $t3, $zero, .L80997DF0
|
||||
/* 01AAC 80997D4C 00411021 */ addu $v0, $v0, $at
|
||||
/* 01AB0 80997D50 962D001C */ lhu $t5, 0x001C($s1) ## 0000001C
|
||||
/* 01AB4 80997D54 80581CD0 */ lb $t8, 0x1CD0($v0) ## 00001CD0
|
||||
/* 01AB8 80997D58 8C4C1D38 */ lw $t4, 0x1D38($v0) ## 00001D38
|
||||
/* 01ABC 80997D5C 000D7283 */ sra $t6, $t5, 10
|
||||
/* 01AC0 80997D60 000E7900 */ sll $t7, $t6, 4
|
||||
/* 01AC4 80997D64 07010005 */ bgez $t8, .L80997D7C
|
||||
/* 01AC8 80997D68 018F1821 */ addu $v1, $t4, $t7
|
||||
/* 01ACC 80997D6C 80620000 */ lb $v0, 0x0000($v1) ## 00000000
|
||||
/* 01AD0 80997D70 80790002 */ lb $t9, 0x0002($v1) ## 00000002
|
||||
/* 01AD4 80997D74 54590016 */ bnel $v0, $t9, .L80997DD0
|
||||
/* 01AD8 80997D78 82290003 */ lb $t1, 0x0003($s1) ## 00000003
|
||||
.L80997D7C:
|
||||
/* 01ADC 80997D7C 8FA40084 */ lw $a0, 0x0084($sp)
|
||||
/* 01AE0 80997D80 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024
|
||||
/* 01AE4 80997D84 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 01AE8 80997D88 248400E0 */ addiu $a0, $a0, 0x00E0 ## $a0 = 000000E0
|
||||
/* 01AEC 80997D8C 862800B6 */ lh $t0, 0x00B6($s1) ## 000000B6
|
||||
/* 01AF0 80997D90 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 01AF4 80997D94 01021823 */ subu $v1, $t0, $v0
|
||||
/* 01AF8 80997D98 00031C00 */ sll $v1, $v1, 16
|
||||
/* 01AFC 80997D9C 00031C03 */ sra $v1, $v1, 16
|
||||
/* 01B00 80997DA0 04600003 */ bltz $v1, .L80997DB0
|
||||
/* 01B04 80997DA4 00033023 */ subu $a2, $zero, $v1
|
||||
/* 01B08 80997DA8 10000001 */ beq $zero, $zero, .L80997DB0
|
||||
/* 01B0C 80997DAC 00603025 */ or $a2, $v1, $zero ## $a2 = 00000000
|
||||
.L80997DB0:
|
||||
/* 01B10 80997DB0 28C14000 */ slti $at, $a2, 0x4000
|
||||
/* 01B14 80997DB4 1020002A */ beq $at, $zero, .L80997E60
|
||||
/* 01B18 80997DB8 3C01809A */ lui $at, %hi(D_809983A8) ## $at = 809A0000
|
||||
/* 01B1C 80997DBC 0C034348 */ jal Matrix_RotateY
|
||||
/* 01B20 80997DC0 C42C83A8 */ lwc1 $f12, %lo(D_809983A8)($at)
|
||||
/* 01B24 80997DC4 10000027 */ beq $zero, $zero, .L80997E64
|
||||
/* 01B28 80997DC8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01B2C 80997DCC 82290003 */ lb $t1, 0x0003($s1) ## 00000003
|
||||
.L80997DD0:
|
||||
/* 01B30 80997DD0 3C01809A */ lui $at, %hi(D_809983AC) ## $at = 809A0000
|
||||
/* 01B34 80997DD4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 01B38 80997DD8 55220022 */ bnel $t1, $v0, .L80997E64
|
||||
/* 01B3C 80997DDC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01B40 80997DE0 0C034348 */ jal Matrix_RotateY
|
||||
/* 01B44 80997DE4 C42C83AC */ lwc1 $f12, %lo(D_809983AC)($at)
|
||||
/* 01B48 80997DE8 1000001E */ beq $zero, $zero, .L80997E64
|
||||
/* 01B4C 80997DEC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
.L80997DF0:
|
||||
/* 01B50 80997DF0 922A016A */ lbu $t2, 0x016A($s1) ## 0000016A
|
||||
/* 01B54 80997DF4 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 01B58 80997DF8 5541001A */ bnel $t2, $at, .L80997E64
|
||||
/* 01B5C 80997DFC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01B60 80997E00 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01B64 80997E04 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
|
||||
/* 01B68 80997E08 35AD0020 */ ori $t5, $t5, 0x0020 ## $t5 = DB060020
|
||||
/* 01B6C 80997E0C 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
|
||||
/* 01B70 80997E10 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0
|
||||
/* 01B74 80997E14 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
||||
/* 01B78 80997E18 862E0168 */ lh $t6, 0x0168($s1) ## 00000168
|
||||
/* 01B7C 80997E1C 3C04809A */ lui $a0, %hi(D_809982D4) ## $a0 = 809A0000
|
||||
/* 01B80 80997E20 3C098016 */ lui $t1, %hi(gSegments)
|
||||
/* 01B84 80997E24 000E6080 */ sll $t4, $t6, 2
|
||||
/* 01B88 80997E28 008C2021 */ addu $a0, $a0, $t4
|
||||
/* 01B8C 80997E2C 8C8482D4 */ lw $a0, %lo(D_809982D4)($a0)
|
||||
/* 01B90 80997E30 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 01B94 80997E34 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 01B98 80997E38 0004C100 */ sll $t8, $a0, 4
|
||||
/* 01B9C 80997E3C 0018CF02 */ srl $t9, $t8, 28
|
||||
/* 01BA0 80997E40 00194080 */ sll $t0, $t9, 2
|
||||
/* 01BA4 80997E44 01284821 */ addu $t1, $t1, $t0
|
||||
/* 01BA8 80997E48 8D296FA8 */ lw $t1, %lo(gSegments)($t1)
|
||||
/* 01BAC 80997E4C 00817824 */ and $t7, $a0, $at
|
||||
/* 01BB0 80997E50 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 01BB4 80997E54 01E95021 */ addu $t2, $t7, $t1
|
||||
/* 01BB8 80997E58 01415821 */ addu $t3, $t2, $at
|
||||
/* 01BBC 80997E5C AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
|
||||
.L80997E60:
|
||||
/* 01BC0 80997E60 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
.L80997E64:
|
||||
/* 01BC4 80997E64 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
|
||||
/* 01BC8 80997E68 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
|
||||
/* 01BCC 80997E6C 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 01BD0 80997E70 AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0
|
||||
/* 01BD4 80997E74 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 01BD8 80997E78 8FAC0084 */ lw $t4, 0x0084($sp)
|
||||
/* 01BDC 80997E7C 3C05809A */ lui $a1, %hi(D_80998354) ## $a1 = 809A0000
|
||||
/* 01BE0 80997E80 24A58354 */ addiu $a1, $a1, %lo(D_80998354) ## $a1 = 80998354
|
||||
/* 01BE4 80997E84 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
|
||||
/* 01BE8 80997E88 2406083D */ addiu $a2, $zero, 0x083D ## $a2 = 0000083D
|
||||
/* 01BEC 80997E8C 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 01BF0 80997E90 AFA2003C */ sw $v0, 0x003C($sp)
|
||||
/* 01BF4 80997E94 8FA3003C */ lw $v1, 0x003C($sp)
|
||||
/* 01BF8 80997E98 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000
|
||||
/* 01BFC 80997E9C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 01C00 80997EA0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 01C04 80997EA4 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01C08 80997EA8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 01C0C 80997EAC AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 01C10 80997EB0 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 01C14 80997EB4 8FA80070 */ lw $t0, 0x0070($sp)
|
||||
/* 01C18 80997EB8 8D0F0000 */ lw $t7, 0x0000($t0) ## 00000000
|
||||
/* 01C1C 80997EBC AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
|
||||
/* 01C20 80997EC0 C6200170 */ lwc1 $f0, 0x0170($s1) ## 00000170
|
||||
/* 01C24 80997EC4 8FA90070 */ lw $t1, 0x0070($sp)
|
||||
/* 01C28 80997EC8 46002032 */ c.eq.s $f4, $f0
|
||||
/* 01C2C 80997ECC 00000000 */ nop
|
||||
/* 01C30 80997ED0 45030034 */ bc1tl .L80997FA4
|
||||
/* 01C34 80997ED4 822B016E */ lb $t3, 0x016E($s1) ## 0000016E
|
||||
/* 01C38 80997ED8 8D2A0004 */ lw $t2, 0x0004($t1) ## 00000004
|
||||
/* 01C3C 80997EDC 51400031 */ beql $t2, $zero, .L80997FA4
|
||||
/* 01C40 80997EE0 822B016E */ lb $t3, 0x016E($s1) ## 0000016E
|
||||
/* 01C44 80997EE4 912B0008 */ lbu $t3, 0x0008($t1) ## 00000008
|
||||
/* 01C48 80997EE8 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 01C4C 80997EEC 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 01C50 80997EF0 448B3000 */ mtc1 $t3, $f6 ## $f6 = 0.00
|
||||
/* 01C54 80997EF4 05610004 */ bgez $t3, .L80997F08
|
||||
/* 01C58 80997EF8 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 01C5C 80997EFC 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
|
||||
/* 01C60 80997F00 00000000 */ nop
|
||||
/* 01C64 80997F04 460A4200 */ add.s $f8, $f8, $f10
|
||||
.L80997F08:
|
||||
/* 01C68 80997F08 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 01C6C 80997F0C 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
|
||||
/* 01C70 80997F10 912D0009 */ lbu $t5, 0x0009($t1) ## 00000009
|
||||
/* 01C74 80997F14 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 01C78 80997F18 46008481 */ sub.s $f18, $f16, $f0
|
||||
/* 01C7C 80997F1C 448D2000 */ mtc1 $t5, $f4 ## $f4 = 0.00
|
||||
/* 01C80 80997F20 46124382 */ mul.s $f14, $f8, $f18
|
||||
/* 01C84 80997F24 05A10004 */ bgez $t5, .L80997F38
|
||||
/* 01C88 80997F28 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 01C8C 80997F2C 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
|
||||
/* 01C90 80997F30 00000000 */ nop
|
||||
/* 01C94 80997F34 46062100 */ add.s $f4, $f4, $f6
|
||||
.L80997F38:
|
||||
/* 01C98 80997F38 44062000 */ mfc1 $a2, $f4
|
||||
/* 01C9C 80997F3C 0C034261 */ jal Matrix_Translate
|
||||
/* 01CA0 80997F40 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01CA4 80997F44 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01CA8 80997F48 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
|
||||
/* 01CAC 80997F4C 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
|
||||
/* 01CB0 80997F50 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 01CB4 80997F54 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
|
||||
/* 01CB8 80997F58 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 01CBC 80997F5C 8FB80084 */ lw $t8, 0x0084($sp)
|
||||
/* 01CC0 80997F60 3C05809A */ lui $a1, %hi(D_80998368) ## $a1 = 809A0000
|
||||
/* 01CC4 80997F64 24A58368 */ addiu $a1, $a1, %lo(D_80998368) ## $a1 = 80998368
|
||||
/* 01CC8 80997F68 8F040000 */ lw $a0, 0x0000($t8) ## 00000000
|
||||
/* 01CCC 80997F6C 24060847 */ addiu $a2, $zero, 0x0847 ## $a2 = 00000847
|
||||
/* 01CD0 80997F70 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 01CD4 80997F74 AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 01CD8 80997F78 8FA30034 */ lw $v1, 0x0034($sp)
|
||||
/* 01CDC 80997F7C 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
|
||||
/* 01CE0 80997F80 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 01CE4 80997F84 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01CE8 80997F88 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 01CEC 80997F8C AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
|
||||
/* 01CF0 80997F90 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
|
||||
/* 01CF4 80997F94 8FAF0070 */ lw $t7, 0x0070($sp)
|
||||
/* 01CF8 80997F98 8DEA0004 */ lw $t2, 0x0004($t7) ## 00000004
|
||||
/* 01CFC 80997F9C AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
|
||||
.L80997FA0:
|
||||
/* 01D00 80997FA0 822B016E */ lb $t3, 0x016E($s1) ## 0000016E
|
||||
.L80997FA4:
|
||||
/* 01D04 80997FA4 3C063CCC */ lui $a2, 0x3CCC ## $a2 = 3CCC0000
|
||||
/* 01D08 80997FA8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3CCCCCCD
|
||||
/* 01D0C 80997FAC 11600017 */ beq $t3, $zero, .L8099800C
|
||||
/* 01D10 80997FB0 3C01809A */ lui $at, %hi(D_809983B0) ## $at = 809A0000
|
||||
/* 01D14 80997FB4 C42C83B0 */ lwc1 $f12, %lo(D_809983B0)($at)
|
||||
/* 01D18 80997FB8 3C01809A */ lui $at, %hi(D_809983B4) ## $at = 809A0000
|
||||
/* 01D1C 80997FBC C42E83B4 */ lwc1 $f14, %lo(D_809983B4)($at)
|
||||
/* 01D20 80997FC0 0C0342A3 */ jal Matrix_Scale
|
||||
/* 01D24 80997FC4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01D28 80997FC8 9229016A */ lbu $t1, 0x016A($s1) ## 0000016A
|
||||
/* 01D2C 80997FCC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 01D30 80997FD0 8FA40084 */ lw $a0, 0x0084($sp)
|
||||
/* 01D34 80997FD4 55210004 */ bnel $t1, $at, .L80997FE8
|
||||
/* 01D38 80997FD8 922D016C */ lbu $t5, 0x016C($s1) ## 0000016C
|
||||
/* 01D3C 80997FDC 10000009 */ beq $zero, $zero, .L80998004
|
||||
/* 01D40 80997FE0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 01D44 80997FE4 922D016C */ lbu $t5, 0x016C($s1) ## 0000016C
|
||||
.L80997FE8:
|
||||
/* 01D48 80997FE8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 01D4C 80997FEC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 01D50 80997FF0 15A10003 */ bne $t5, $at, .L80998000
|
||||
/* 01D54 80997FF4 00000000 */ nop
|
||||
/* 01D58 80997FF8 10000001 */ beq $zero, $zero, .L80998000
|
||||
/* 01D5C 80997FFC 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
|
||||
.L80998000:
|
||||
/* 01D60 80998000 00403025 */ or $a2, $v0, $zero ## $a2 = 00000002
|
||||
.L80998004:
|
||||
/* 01D64 80998004 0C00CFD5 */ jal Actor_DrawDoorLock
|
||||
/* 01D68 80998008 8225016E */ lb $a1, 0x016E($s1) ## 0000016E
|
||||
.L8099800C:
|
||||
/* 01D6C 8099800C 8FAE0084 */ lw $t6, 0x0084($sp)
|
||||
/* 01D70 80998010 3C06809A */ lui $a2, %hi(D_8099837C) ## $a2 = 809A0000
|
||||
/* 01D74 80998014 24C6837C */ addiu $a2, $a2, %lo(D_8099837C) ## $a2 = 8099837C
|
||||
/* 01D78 80998018 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFDC
|
||||
/* 01D7C 8099801C 24070857 */ addiu $a3, $zero, 0x0857 ## $a3 = 00000857
|
||||
/* 01D80 80998020 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 01D84 80998024 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
|
||||
/* 01D88 80998028 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8099802C:
|
||||
/* 01D8C 8099802C 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 01D90 80998030 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 01D94 80998034 03E00008 */ jr $ra
|
||||
/* 01D98 80998038 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000
|
|
@ -1,154 +0,0 @@
|
|||
glabel DoorShutter_Init
|
||||
/* 001F0 80996490 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 001F4 80996494 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 001F8 80996498 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 001FC 8099649C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00200 809964A0 3C05809A */ lui $a1, %hi(D_80998230) ## $a1 = 809A0000
|
||||
/* 00204 809964A4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00208 809964A8 24A58230 */ addiu $a1, $a1, %lo(D_80998230) ## $a1 = 80998230
|
||||
/* 0020C 809964AC 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00210 809964B0 AFA6004C */ sw $a2, 0x004C($sp)
|
||||
/* 00214 809964B4 C60400BC */ lwc1 $f4, 0x00BC($s0) ## 000000BC
|
||||
/* 00218 809964B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0021C 809964BC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00220 809964C0 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 00224 809964C4 E6040010 */ swc1 $f4, 0x0010($s0) ## 00000010
|
||||
/* 00228 809964C8 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
|
||||
/* 0022C 809964CC 8FA6004C */ lw $a2, 0x004C($sp)
|
||||
/* 00230 809964D0 3C07809A */ lui $a3, %hi(D_80998224) ## $a3 = 809A0000
|
||||
/* 00234 809964D4 000E7983 */ sra $t7, $t6, 6
|
||||
/* 00238 809964D8 31F8000F */ andi $t8, $t7, 0x000F ## $t8 = 00000000
|
||||
/* 0023C 809964DC 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000
|
||||
/* 00240 809964E0 A218016A */ sb $t8, 0x016A($s0) ## 0000016A
|
||||
/* 00244 809964E4 00F93821 */ addu $a3, $a3, $t9
|
||||
/* 00248 809964E8 80E78224 */ lb $a3, %lo(D_80998224)($a3)
|
||||
/* 0024C 809964EC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00250 809964F0 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00254 809964F4 04E1000E */ bgez $a3, .L80996530
|
||||
/* 00258 809964F8 3C0E809A */ lui $t6, %hi(D_809980F0) ## $t6 = 809A0000
|
||||
/* 0025C 809964FC 3C03809A */ lui $v1, %hi(D_80998240) ## $v1 = 809A0000
|
||||
/* 00260 80996500 24638240 */ addiu $v1, $v1, %lo(D_80998240) ## $v1 = 80998240
|
||||
/* 00264 80996504 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00268 80996508 84C400A4 */ lh $a0, 0x00A4($a2) ## 000000A4
|
||||
/* 0026C 8099650C 24050011 */ addiu $a1, $zero, 0x0011 ## $a1 = 00000011
|
||||
.L80996510:
|
||||
/* 00270 80996510 84680000 */ lh $t0, 0x0000($v1) ## 80998240
|
||||
/* 00274 80996514 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
|
||||
/* 00278 80996518 11040003 */ beq $t0, $a0, .L80996528
|
||||
/* 0027C 8099651C 00000000 */ nop
|
||||
/* 00280 80996520 1445FFFB */ bne $v0, $a1, .L80996510
|
||||
/* 00284 80996524 24630004 */ addiu $v1, $v1, 0x0004 ## $v1 = 80998244
|
||||
.L80996528:
|
||||
/* 00288 80996528 10000015 */ beq $zero, $zero, .L80996580
|
||||
/* 0028C 8099652C 90670002 */ lbu $a3, 0x0002($v1) ## 80998246
|
||||
.L80996530:
|
||||
/* 00290 80996530 24050006 */ addiu $a1, $zero, 0x0006 ## $a1 = 00000006
|
||||
/* 00294 80996534 14E50011 */ bne $a3, $a1, .L8099657C
|
||||
/* 00298 80996538 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
|
||||
/* 0029C 8099653C 3C03809A */ lui $v1, %hi(D_80998288) ## $v1 = 809A0000
|
||||
/* 002A0 80996540 24638288 */ addiu $v1, $v1, %lo(D_80998288) ## $v1 = 80998288
|
||||
/* 002A4 80996544 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 002A8 80996548 84C400A4 */ lh $a0, 0x00A4($a2) ## 000000A4
|
||||
.L8099654C:
|
||||
/* 002AC 8099654C 84690000 */ lh $t1, 0x0000($v1) ## 80998288
|
||||
/* 002B0 80996550 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
|
||||
/* 002B4 80996554 51240007 */ beql $t1, $a0, .L80996574
|
||||
/* 002B8 80996558 906B0004 */ lbu $t3, 0x0004($v1) ## 8099828C
|
||||
/* 002BC 8099655C 846A0002 */ lh $t2, 0x0002($v1) ## 8099828A
|
||||
/* 002C0 80996560 51440004 */ beql $t2, $a0, .L80996574
|
||||
/* 002C4 80996564 906B0004 */ lbu $t3, 0x0004($v1) ## 8099828C
|
||||
/* 002C8 80996568 1445FFF8 */ bne $v0, $a1, .L8099654C
|
||||
/* 002CC 8099656C 24630006 */ addiu $v1, $v1, 0x0006 ## $v1 = 8099828E
|
||||
/* 002D0 80996570 906B0004 */ lbu $t3, 0x0004($v1) ## 80998292
|
||||
.L80996574:
|
||||
/* 002D4 80996574 10000002 */ beq $zero, $zero, .L80996580
|
||||
/* 002D8 80996578 A60B0168 */ sh $t3, 0x0168($s0) ## 00000168
|
||||
.L8099657C:
|
||||
/* 002DC 8099657C A20C0003 */ sb $t4, 0x0003($s0) ## 00000003
|
||||
.L80996580:
|
||||
/* 002E0 80996580 00076880 */ sll $t5, $a3, 2
|
||||
/* 002E4 80996584 25CE80F0 */ addiu $t6, $t6, %lo(D_809980F0) ## $t6 = 809980F0
|
||||
/* 002E8 80996588 01AE1021 */ addu $v0, $t5, $t6
|
||||
/* 002EC 8099658C 84450000 */ lh $a1, 0x0000($v0) ## 00000001
|
||||
/* 002F0 80996590 AFA20024 */ sw $v0, 0x0024($sp)
|
||||
/* 002F4 80996594 00C12021 */ addu $a0, $a2, $at
|
||||
/* 002F8 80996598 AFA6004C */ sw $a2, 0x004C($sp)
|
||||
/* 002FC 8099659C 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00300 809965A0 AFA7003C */ sw $a3, 0x003C($sp)
|
||||
/* 00304 809965A4 00027E00 */ sll $t7, $v0, 24
|
||||
/* 00308 809965A8 000FC603 */ sra $t8, $t7, 24
|
||||
/* 0030C 809965AC 8FA6004C */ lw $a2, 0x004C($sp)
|
||||
/* 00310 809965B0 8FA7003C */ lw $a3, 0x003C($sp)
|
||||
/* 00314 809965B4 07010005 */ bgez $t8, .L809965CC
|
||||
/* 00318 809965B8 A202016D */ sb $v0, 0x016D($s0) ## 0000016D
|
||||
/* 0031C 809965BC 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00320 809965C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00324 809965C4 10000031 */ beq $zero, $zero, .L8099668C
|
||||
/* 00328 809965C8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809965CC:
|
||||
/* 0032C 809965CC 3C058099 */ lui $a1, %hi(func_8099670C) ## $a1 = 80990000
|
||||
/* 00330 809965D0 24A5670C */ addiu $a1, $a1, %lo(func_8099670C) ## $a1 = 8099670C
|
||||
/* 00334 809965D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00338 809965D8 AFA6004C */ sw $a2, 0x004C($sp)
|
||||
/* 0033C 809965DC 0C2658A8 */ jal func_809962A0
|
||||
/* 00340 809965E0 AFA7003C */ sw $a3, 0x003C($sp)
|
||||
/* 00344 809965E4 9202016A */ lbu $v0, 0x016A($s0) ## 0000016A
|
||||
/* 00348 809965E8 8FA7003C */ lw $a3, 0x003C($sp)
|
||||
/* 0034C 809965EC 8FA6004C */ lw $a2, 0x004C($sp)
|
||||
/* 00350 809965F0 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
|
||||
/* 00354 809965F4 10410004 */ beq $v0, $at, .L80996608
|
||||
/* 00358 809965F8 A207016B */ sb $a3, 0x016B($s0) ## 0000016B
|
||||
/* 0035C 809965FC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00360 80996600 1441000D */ bne $v0, $at, .L80996638
|
||||
/* 00364 80996604 8FA80024 */ lw $t0, 0x0024($sp)
|
||||
.L80996608:
|
||||
/* 00368 80996608 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 0036C 8099660C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00370 80996610 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00374 80996614 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00378 80996618 14400003 */ bne $v0, $zero, .L80996628
|
||||
/* 0037C 8099661C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00380 80996620 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
|
||||
/* 00384 80996624 A219016E */ sb $t9, 0x016E($s0) ## 0000016E
|
||||
.L80996628:
|
||||
/* 00388 80996628 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 0038C 8099662C 3C054270 */ lui $a1, 0x4270 ## $a1 = 42700000
|
||||
/* 00390 80996630 10000016 */ beq $zero, $zero, .L8099668C
|
||||
/* 00394 80996634 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996638:
|
||||
/* 00398 80996638 3C09809A */ lui $t1, %hi(D_80998100) ## $t1 = 809A0000
|
||||
/* 0039C 8099663C 25298100 */ addiu $t1, $t1, %lo(D_80998100) ## $t1 = 80998100
|
||||
/* 003A0 80996640 1509000F */ bne $t0, $t1, .L80996680
|
||||
/* 003A4 80996644 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003A8 80996648 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
|
||||
/* 003AC 8099664C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
|
||||
/* 003B0 80996650 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 003B4 80996654 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003B8 80996658 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 003BC 8099665C 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
|
||||
/* 003C0 80996660 240A0064 */ addiu $t2, $zero, 0x0064 ## $t2 = 00000064
|
||||
/* 003C4 80996664 A60A0166 */ sh $t2, 0x0166($s0) ## 00000166
|
||||
/* 003C8 80996668 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003CC 8099666C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 003D0 80996670 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 003D4 80996674 E60600F8 */ swc1 $f6, 0x00F8($s0) ## 000000F8
|
||||
/* 003D8 80996678 10000004 */ beq $zero, $zero, .L8099668C
|
||||
/* 003DC 8099667C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996680:
|
||||
/* 003E0 80996680 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 003E4 80996684 3C054270 */ lui $a1, 0x4270 ## $a1 = 42700000
|
||||
/* 003E8 80996688 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8099668C:
|
||||
/* 003EC 8099668C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 003F0 80996690 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 003F4 80996694 03E00008 */ jr $ra
|
||||
/* 003F8 80996698 00000000 */ nop
|
|
@ -1,24 +0,0 @@
|
|||
glabel DoorShutter_Update
|
||||
/* 01544 809977E4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 01548 809977E8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0154C 809977EC 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 01550 809977F0 3C011000 */ lui $at, 0x1000 ## $at = 10000000
|
||||
/* 01554 809977F4 342104C0 */ ori $at, $at, 0x04C0 ## $at = 100004C0
|
||||
/* 01558 809977F8 8C4E067C */ lw $t6, 0x067C($v0) ## 0000067C
|
||||
/* 0155C 809977FC 01C17824 */ and $t7, $t6, $at
|
||||
/* 01560 80997800 51E00007 */ beql $t7, $zero, .L80997820
|
||||
/* 01564 80997804 8C990174 */ lw $t9, 0x0174($a0) ## 00000174
|
||||
/* 01568 80997808 8C990174 */ lw $t9, 0x0174($a0) ## 00000174
|
||||
/* 0156C 8099780C 3C188099 */ lui $t8, %hi(func_8099670C) ## $t8 = 80990000
|
||||
/* 01570 80997810 2718670C */ addiu $t8, $t8, %lo(func_8099670C) ## $t8 = 8099670C
|
||||
/* 01574 80997814 57190005 */ bnel $t8, $t9, .L8099782C
|
||||
/* 01578 80997818 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0157C 8099781C 8C990174 */ lw $t9, 0x0174($a0) ## 00000174
|
||||
.L80997820:
|
||||
/* 01580 80997820 0320F809 */ jalr $ra, $t9
|
||||
/* 01584 80997824 00000000 */ nop
|
||||
/* 01588 80997828 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8099782C:
|
||||
/* 0158C 8099782C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 01590 80997830 03E00008 */ jr $ra
|
||||
/* 01594 80997834 00000000 */ nop
|
|
@ -1,4 +0,0 @@
|
|||
glabel func_809962A0
|
||||
/* 00000 809962A0 AC850174 */ sw $a1, 0x0174($a0) ## 00000174
|
||||
/* 00004 809962A4 03E00008 */ jr $ra
|
||||
/* 00008 809962A8 A080016F */ sb $zero, 0x016F($a0) ## 0000016F
|
|
@ -1,136 +0,0 @@
|
|||
glabel func_809962AC
|
||||
/* 0000C 809962AC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00010 809962B0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00014 809962B4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00018 809962B8 9498001C */ lhu $t8, 0x001C($a0) ## 0000001C
|
||||
/* 0001C 809962BC 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
|
||||
/* 00020 809962C0 01E57821 */ addu $t7, $t7, $a1
|
||||
/* 00024 809962C4 8DEF1D38 */ lw $t7, 0x1D38($t7) ## 00011D38
|
||||
/* 00028 809962C8 908A016B */ lbu $t2, 0x016B($a0) ## 0000016B
|
||||
/* 0002C 809962CC 9082016A */ lbu $v0, 0x016A($a0) ## 0000016A
|
||||
/* 00030 809962D0 0018CA83 */ sra $t9, $t8, 10
|
||||
/* 00034 809962D4 00194900 */ sll $t1, $t9, 4
|
||||
/* 00038 809962D8 3C0C809A */ lui $t4, %hi(D_809980F0) ## $t4 = 809A0000
|
||||
/* 0003C 809962DC 258C80F0 */ addiu $t4, $t4, %lo(D_809980F0) ## $t4 = 809980F0
|
||||
/* 00040 809962E0 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
|
||||
/* 00044 809962E4 01E91821 */ addu $v1, $t7, $t1
|
||||
/* 00048 809962E8 000A5880 */ sll $t3, $t2, 2
|
||||
/* 0004C 809962EC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00050 809962F0 80670000 */ lb $a3, 0x0000($v1) ## 00000000
|
||||
/* 00054 809962F4 1041001F */ beq $v0, $at, .L80996374
|
||||
/* 00058 809962F8 016C4021 */ addu $t0, $t3, $t4
|
||||
/* 0005C 809962FC 806D0002 */ lb $t5, 0x0002($v1) ## 00000002
|
||||
/* 00060 80996300 54ED000F */ bnel $a3, $t5, .L80996340
|
||||
/* 00064 80996304 80D90003 */ lb $t9, 0x0003($a2) ## 00000003
|
||||
/* 00068 80996308 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
|
||||
/* 0006C 8099630C 8498008A */ lh $t8, 0x008A($a0) ## 0000008A
|
||||
/* 00070 80996310 01D81823 */ subu $v1, $t6, $t8
|
||||
/* 00074 80996314 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00078 80996318 00031C03 */ sra $v1, $v1, 16
|
||||
/* 0007C 8099631C 04600003 */ bltz $v1, .L8099632C
|
||||
/* 00080 80996320 00032023 */ subu $a0, $zero, $v1
|
||||
/* 00084 80996324 10000001 */ beq $zero, $zero, .L8099632C
|
||||
/* 00088 80996328 00602025 */ or $a0, $v1, $zero ## $a0 = 00000000
|
||||
.L8099632C:
|
||||
/* 0008C 8099632C 28814000 */ slti $at, $a0, 0x4000
|
||||
/* 00090 80996330 50200003 */ beql $at, $zero, .L80996340
|
||||
/* 00094 80996334 80D90003 */ lb $t9, 0x0003($a2) ## 00000003
|
||||
/* 00098 80996338 2407FFFF */ addiu $a3, $zero, 0xFFFF ## $a3 = FFFFFFFF
|
||||
/* 0009C 8099633C 80D90003 */ lb $t9, 0x0003($a2) ## 00000003
|
||||
.L80996340:
|
||||
/* 000A0 80996340 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
||||
/* 000A4 80996344 14F9000B */ bne $a3, $t9, .L80996374
|
||||
/* 000A8 80996348 00000000 */ nop
|
||||
/* 000AC 8099634C 54410004 */ bnel $v0, $at, .L80996360
|
||||
/* 000B0 80996350 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 000B4 80996354 10000007 */ beq $zero, $zero, .L80996374
|
||||
/* 000B8 80996358 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 000BC 8099635C 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
.L80996360:
|
||||
/* 000C0 80996360 54410004 */ bnel $v0, $at, .L80996374
|
||||
/* 000C4 80996364 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 000C8 80996368 10000002 */ beq $zero, $zero, .L80996374
|
||||
/* 000CC 8099636C 24020003 */ addiu $v0, $zero, 0x0003 ## $v0 = 00000003
|
||||
/* 000D0 80996370 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80996374:
|
||||
/* 000D4 80996374 14400004 */ bne $v0, $zero, .L80996388
|
||||
/* 000D8 80996378 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 000DC 8099637C 910F0002 */ lbu $t7, 0x0002($t0) ## 00000002
|
||||
/* 000E0 80996380 10000003 */ beq $zero, $zero, .L80996390
|
||||
/* 000E4 80996384 A0CF016C */ sb $t7, 0x016C($a2) ## 0000016C
|
||||
.L80996388:
|
||||
/* 000E8 80996388 91090003 */ lbu $t1, 0x0003($t0) ## 00000003
|
||||
/* 000EC 8099638C A0C9016C */ sb $t1, 0x016C($a2) ## 0000016C
|
||||
.L80996390:
|
||||
/* 000F0 80996390 14410011 */ bne $v0, $at, .L809963D8
|
||||
/* 000F4 80996394 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 000F8 80996398 80C50003 */ lb $a1, 0x0003($a2) ## 00000003
|
||||
/* 000FC 8099639C 0C00B337 */ jal Flags_GetClear
|
||||
|
||||
/* 00100 809963A0 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00104 809963A4 14400031 */ bne $v0, $zero, .L8099646C
|
||||
/* 00108 809963A8 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 0010C 809963AC 3C058099 */ lui $a1, %hi(func_80996A54) ## $a1 = 80990000
|
||||
/* 00110 809963B0 24A56A54 */ addiu $a1, $a1, %lo(func_80996A54) ## $a1 = 80996A54
|
||||
/* 00114 809963B4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00118 809963B8 0C2658A8 */ jal func_809962A0
|
||||
/* 0011C 809963BC AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00120 809963C0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00124 809963C4 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00128 809963C8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 0012C 809963CC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00130 809963D0 1000002B */ beq $zero, $zero, .L80996480
|
||||
/* 00134 809963D4 E4C40170 */ swc1 $f4, 0x0170($a2) ## 00000170
|
||||
.L809963D8:
|
||||
/* 00138 809963D8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 0013C 809963DC 10410004 */ beq $v0, $at, .L809963F0
|
||||
/* 00140 809963E0 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00144 809963E4 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
||||
/* 00148 809963E8 54410019 */ bnel $v0, $at, .L80996450
|
||||
/* 0014C 809963EC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
.L809963F0:
|
||||
/* 00150 809963F0 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 00154 809963F4 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00158 809963F8 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 0015C 809963FC 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00160 80996400 1440000C */ bne $v0, $zero, .L80996434
|
||||
/* 00164 80996404 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00168 80996408 3C058099 */ lui $a1, %hi(func_80996EE8) ## $a1 = 80990000
|
||||
/* 0016C 8099640C 24A56EE8 */ addiu $a1, $a1, %lo(func_80996EE8) ## $a1 = 80996EE8
|
||||
/* 00170 80996410 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00174 80996414 0C2658A8 */ jal func_809962A0
|
||||
/* 00178 80996418 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 0017C 8099641C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00180 80996420 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00184 80996424 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 00188 80996428 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 0018C 8099642C 10000014 */ beq $zero, $zero, .L80996480
|
||||
/* 00190 80996430 E4C60170 */ swc1 $f6, 0x0170($a2) ## 00000170
|
||||
.L80996434:
|
||||
/* 00194 80996434 3C058099 */ lui $a1, %hi(func_80996F98) ## $a1 = 80990000
|
||||
/* 00198 80996438 24A56F98 */ addiu $a1, $a1, %lo(func_80996F98) ## $a1 = 80996F98
|
||||
/* 0019C 8099643C 0C2658A8 */ jal func_809962A0
|
||||
/* 001A0 80996440 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 001A4 80996444 1000000E */ beq $zero, $zero, .L80996480
|
||||
/* 001A8 80996448 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 001AC 8099644C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
.L80996450:
|
||||
/* 001B0 80996450 14410006 */ bne $v0, $at, .L8099646C
|
||||
/* 001B4 80996454 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 001B8 80996458 3C058099 */ lui $a1, %hi(func_80996B00) ## $a1 = 80990000
|
||||
/* 001BC 8099645C 0C2658A8 */ jal func_809962A0
|
||||
/* 001C0 80996460 24A56B00 */ addiu $a1, $a1, %lo(func_80996B00) ## $a1 = 80996B00
|
||||
/* 001C4 80996464 10000006 */ beq $zero, $zero, .L80996480
|
||||
/* 001C8 80996468 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L8099646C:
|
||||
/* 001CC 8099646C 3C058099 */ lui $a1, %hi(func_80996B0C) ## $a1 = 80990000
|
||||
/* 001D0 80996470 24A56B0C */ addiu $a1, $a1, %lo(func_80996B0C) ## $a1 = 80996B0C
|
||||
/* 001D4 80996474 0C2658A8 */ jal func_809962A0
|
||||
/* 001D8 80996478 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 001DC 8099647C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80996480:
|
||||
/* 001E0 80996480 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 001E4 80996484 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 001E8 80996488 03E00008 */ jr $ra
|
||||
/* 001EC 8099648C 00000000 */ nop
|
|
@ -1,90 +0,0 @@
|
|||
glabel func_8099670C
|
||||
/* 0046C 8099670C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00470 80996710 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00474 80996714 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00478 80996718 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0047C 8099671C 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00480 80996720 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00484 80996724 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00488 80996728 00A12021 */ addu $a0, $a1, $at
|
||||
/* 0048C 8099672C 0C026062 */ jal Object_IsLoaded
|
||||
|
||||
/* 00490 80996730 8205016D */ lb $a1, 0x016D($s0) ## 0000016D
|
||||
/* 00494 80996734 5040003E */ beql $v0, $zero, .L80996830
|
||||
/* 00498 80996738 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0049C 8099673C 9202016A */ lbu $v0, 0x016A($s0) ## 0000016A
|
||||
/* 004A0 80996740 820E016D */ lb $t6, 0x016D($s0) ## 0000016D
|
||||
/* 004A4 80996744 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 004A8 80996748 10410004 */ beq $v0, $at, .L8099675C
|
||||
/* 004AC 8099674C A20E001E */ sb $t6, 0x001E($s0) ## 0000001E
|
||||
/* 004B0 80996750 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 004B4 80996754 14410033 */ bne $v0, $at, .L80996824
|
||||
/* 004B8 80996758 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8099675C:
|
||||
/* 004BC 8099675C AFA0002C */ sw $zero, 0x002C($sp)
|
||||
/* 004C0 80996760 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 004C4 80996764 0C00B591 */ jal Actor_SetObjectDependency
|
||||
|
||||
/* 004C8 80996768 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 004CC 8099676C 920F016B */ lbu $t7, 0x016B($s0) ## 0000016B
|
||||
/* 004D0 80996770 3C19809A */ lui $t9, %hi(D_809980F2) ## $t9 = 809A0000
|
||||
/* 004D4 80996774 9208016A */ lbu $t0, 0x016A($s0) ## 0000016A
|
||||
/* 004D8 80996778 000FC080 */ sll $t8, $t7, 2
|
||||
/* 004DC 8099677C 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 004E0 80996780 933980F2 */ lbu $t9, %lo(D_809980F2)($t9)
|
||||
/* 004E4 80996784 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 004E8 80996788 15010004 */ bne $t0, $at, .L8099679C
|
||||
/* 004EC 8099678C A219016C */ sb $t9, 0x016C($s0) ## 0000016C
|
||||
/* 004F0 80996790 3C040602 */ lui $a0, 0x0602 ## $a0 = 06020000
|
||||
/* 004F4 80996794 10000003 */ beq $zero, $zero, .L809967A4
|
||||
/* 004F8 80996798 2484EDD0 */ addiu $a0, $a0, 0xEDD0 ## $a0 = 0601EDD0
|
||||
.L8099679C:
|
||||
/* 004FC 8099679C 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
|
||||
/* 00500 809967A0 24842FD0 */ addiu $a0, $a0, 0x2FD0 ## $a0 = 06012FD0
|
||||
.L809967A4:
|
||||
/* 00504 809967A4 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 00508 809967A8 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC
|
||||
/* 0050C 809967AC 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00510 809967B0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00514 809967B4 8FA7002C */ lw $a3, 0x002C($sp)
|
||||
/* 00518 809967B8 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 0051C 809967BC 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00520 809967C0 9209016A */ lbu $t1, 0x016A($s0) ## 0000016A
|
||||
/* 00524 809967C4 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 00528 809967C8 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 0052C 809967CC 1521000F */ bne $t1, $at, .L8099680C
|
||||
/* 00530 809967D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00534 809967D4 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
|
||||
/* 00538 809967D8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 0053C 809967DC 44813000 */ mtc1 $at, $f6 ## $f6 = -2.00
|
||||
/* 00540 809967E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00544 809967E4 2405281C */ addiu $a1, $zero, 0x281C ## $a1 = 0000281C
|
||||
/* 00548 809967E8 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
/* 0054C 809967EC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00550 809967F0 E606006C */ swc1 $f6, 0x006C($s0) ## 0000006C
|
||||
/* 00554 809967F4 3C058099 */ lui $a1, %hi(func_809975C0) ## $a1 = 80990000
|
||||
/* 00558 809967F8 24A575C0 */ addiu $a1, $a1, %lo(func_809975C0) ## $a1 = 809975C0
|
||||
/* 0055C 809967FC 0C2658A8 */ jal func_809962A0
|
||||
/* 00560 80996800 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00564 80996804 1000000A */ beq $zero, $zero, .L80996830
|
||||
/* 00568 80996808 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8099680C:
|
||||
/* 0056C 8099680C 3C058099 */ lui $a1, %hi(func_80997744) ## $a1 = 80990000
|
||||
/* 00570 80996810 0C2658A8 */ jal func_809962A0
|
||||
/* 00574 80996814 24A57744 */ addiu $a1, $a1, %lo(func_80997744) ## $a1 = 80997744
|
||||
/* 00578 80996818 240A0007 */ addiu $t2, $zero, 0x0007 ## $t2 = 00000007
|
||||
/* 0057C 8099681C 10000003 */ beq $zero, $zero, .L8099682C
|
||||
/* 00580 80996820 A60A0164 */ sh $t2, 0x0164($s0) ## 00000164
|
||||
.L80996824:
|
||||
/* 00584 80996824 0C2658AB */ jal func_809962AC
|
||||
/* 00588 80996828 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
.L8099682C:
|
||||
/* 0058C 8099682C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996830:
|
||||
/* 00590 80996830 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00594 80996834 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00598 80996838 03E00008 */ jr $ra
|
||||
/* 0059C 8099683C 00000000 */ nop
|
|
@ -1,45 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80998390
|
||||
.word 0x7F7FFFFF
|
||||
|
||||
.text
|
||||
glabel func_80996840
|
||||
/* 005A0 80996840 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 005A4 80996844 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 005A8 80996848 AFA40038 */ sw $a0, 0x0038($sp)
|
||||
/* 005AC 8099684C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 005B0 80996850 AFA70044 */ sw $a3, 0x0044($sp)
|
||||
/* 005B4 80996854 8C821C44 */ lw $v0, 0x1C44($a0) ## 00001C44
|
||||
/* 005B8 80996858 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00
|
||||
/* 005BC 8099685C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 005C0 80996860 C4440024 */ lwc1 $f4, 0x0024($v0) ## 00000024
|
||||
/* 005C4 80996864 27A5001C */ addiu $a1, $sp, 0x001C ## $a1 = FFFFFFE4
|
||||
/* 005C8 80996868 27A60028 */ addiu $a2, $sp, 0x0028 ## $a2 = FFFFFFF0
|
||||
/* 005CC 8099686C E7A40028 */ swc1 $f4, 0x0028($sp)
|
||||
/* 005D0 80996870 C4460028 */ lwc1 $f6, 0x0028($v0) ## 00000028
|
||||
/* 005D4 80996874 460C3200 */ add.s $f8, $f6, $f12
|
||||
/* 005D8 80996878 E7A8002C */ swc1 $f8, 0x002C($sp)
|
||||
/* 005DC 8099687C C44A002C */ lwc1 $f10, 0x002C($v0) ## 0000002C
|
||||
/* 005E0 80996880 0C00B6F4 */ jal func_8002DBD0
|
||||
/* 005E4 80996884 E7AA0030 */ swc1 $f10, 0x0030($sp)
|
||||
/* 005E8 80996888 C7A0001C */ lwc1 $f0, 0x001C($sp)
|
||||
/* 005EC 8099688C C7B00044 */ lwc1 $f16, 0x0044($sp)
|
||||
/* 005F0 80996890 C7B20048 */ lwc1 $f18, 0x0048($sp)
|
||||
/* 005F4 80996894 46000005 */ abs.s $f0, $f0
|
||||
/* 005F8 80996898 3C01809A */ lui $at, %hi(D_80998390) ## $at = 809A0000
|
||||
/* 005FC 8099689C 4600803C */ c.lt.s $f16, $f0
|
||||
/* 00600 809968A0 C7A00020 */ lwc1 $f0, 0x0020($sp)
|
||||
/* 00604 809968A4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00608 809968A8 45010006 */ bc1t .L809968C4
|
||||
/* 0060C 809968AC 00000000 */ nop
|
||||
/* 00610 809968B0 46000005 */ abs.s $f0, $f0
|
||||
/* 00614 809968B4 4600903C */ c.lt.s $f18, $f0
|
||||
/* 00618 809968B8 C7A00024 */ lwc1 $f0, 0x0024($sp)
|
||||
/* 0061C 809968BC 45000003 */ bc1f .L809968CC
|
||||
/* 00620 809968C0 00000000 */ nop
|
||||
.L809968C4:
|
||||
/* 00624 809968C4 10000001 */ beq $zero, $zero, .L809968CC
|
||||
/* 00628 809968C8 C4208390 */ lwc1 $f0, %lo(D_80998390)($at)
|
||||
.L809968CC:
|
||||
/* 0062C 809968CC 03E00008 */ jr $ra
|
||||
/* 00630 809968D0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
|
@ -1,107 +0,0 @@
|
|||
glabel func_809968D4
|
||||
/* 00634 809968D4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00638 809968D8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0063C 809968DC AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00640 809968E0 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
|
||||
/* 00644 809968E4 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00648 809968E8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0064C 809968EC 0C023A62 */ jal Player_InCsMode
|
||||
/* 00650 809968F0 AFAE0024 */ sw $t6, 0x0024($sp)
|
||||
/* 00654 809968F4 14400052 */ bne $v0, $zero, .L80996A40
|
||||
/* 00658 809968F8 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 0065C 809968FC 90A2016C */ lbu $v0, 0x016C($a1) ## 0000016C
|
||||
/* 00660 80996900 3C18809A */ lui $t8, %hi(D_80998134) ## $t8 = 809A0000
|
||||
/* 00664 80996904 27188134 */ addiu $t8, $t8, %lo(D_80998134) ## $t8 = 80998134
|
||||
/* 00668 80996908 00027880 */ sll $t7, $v0, 2
|
||||
/* 0066C 8099690C 01E27823 */ subu $t7, $t7, $v0
|
||||
/* 00670 80996910 000F7880 */ sll $t7, $t7, 2
|
||||
/* 00674 80996914 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00678 80996918 10410004 */ beq $v0, $at, .L8099692C
|
||||
/* 0067C 8099691C 01F81821 */ addu $v1, $t7, $t8
|
||||
/* 00680 80996920 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00684 80996924 10000005 */ beq $zero, $zero, .L8099693C
|
||||
/* 00688 80996928 9079000A */ lbu $t9, 0x000A($v1) ## 0000000A
|
||||
.L8099692C:
|
||||
/* 0068C 8099692C 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 00690 80996930 44810000 */ mtc1 $at, $f0 ## $f0 = 80.00
|
||||
/* 00694 80996934 00000000 */ nop
|
||||
/* 00698 80996938 9079000A */ lbu $t9, 0x000A($v1) ## 0000000A
|
||||
.L8099693C:
|
||||
/* 0069C 8099693C 44060000 */ mfc1 $a2, $f0
|
||||
/* 006A0 80996940 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 006A4 80996944 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
|
||||
/* 006A8 80996948 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 006AC 8099694C 07210004 */ bgez $t9, .L80996960
|
||||
/* 006B0 80996950 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 006B4 80996954 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
|
||||
/* 006B8 80996958 00000000 */ nop
|
||||
/* 006BC 8099695C 46062100 */ add.s $f4, $f4, $f6
|
||||
.L80996960:
|
||||
/* 006C0 80996960 9068000B */ lbu $t0, 0x000B($v1) ## 0000000B
|
||||
/* 006C4 80996964 44072000 */ mfc1 $a3, $f4
|
||||
/* 006C8 80996968 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 006CC 8099696C 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
|
||||
/* 006D0 80996970 05010004 */ bgez $t0, .L80996984
|
||||
/* 006D4 80996974 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 006D8 80996978 44818000 */ mtc1 $at, $f16 ## $f16 = 4294967296.00
|
||||
/* 006DC 8099697C 00000000 */ nop
|
||||
/* 006E0 80996980 46105280 */ add.s $f10, $f10, $f16
|
||||
.L80996984:
|
||||
/* 006E4 80996984 0C265A10 */ jal func_80996840
|
||||
/* 006E8 80996988 E7AA0010 */ swc1 $f10, 0x0010($sp)
|
||||
/* 006EC 8099698C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 006F0 80996990 44819000 */ mtc1 $at, $f18 ## $f18 = 50.00
|
||||
/* 006F4 80996994 46000086 */ mov.s $f2, $f0
|
||||
/* 006F8 80996998 46000005 */ abs.s $f0, $f0
|
||||
/* 006FC 8099699C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 00700 809969A0 4612003C */ c.lt.s $f0, $f18
|
||||
/* 00704 809969A4 8FA90024 */ lw $t1, 0x0024($sp)
|
||||
/* 00708 809969A8 8FAB0028 */ lw $t3, 0x0028($sp)
|
||||
/* 0070C 809969AC 45020025 */ bc1fl .L80996A44
|
||||
/* 00710 809969B0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00714 809969B4 852A00B6 */ lh $t2, 0x00B6($t1) ## 000000B6
|
||||
/* 00718 809969B8 856C00B6 */ lh $t4, 0x00B6($t3) ## 000000B6
|
||||
/* 0071C 809969BC 4602603C */ c.lt.s $f12, $f2
|
||||
/* 00720 809969C0 340D8000 */ ori $t5, $zero, 0x8000 ## $t5 = 00008000
|
||||
/* 00724 809969C4 014C1023 */ subu $v0, $t2, $t4
|
||||
/* 00728 809969C8 00021400 */ sll $v0, $v0, 16
|
||||
/* 0072C 809969CC 45000004 */ bc1f .L809969E0
|
||||
/* 00730 809969D0 00021403 */ sra $v0, $v0, 16
|
||||
/* 00734 809969D4 01A21023 */ subu $v0, $t5, $v0
|
||||
/* 00738 809969D8 00021400 */ sll $v0, $v0, 16
|
||||
/* 0073C 809969DC 00021403 */ sra $v0, $v0, 16
|
||||
.L809969E0:
|
||||
/* 00740 809969E0 04400003 */ bltz $v0, .L809969F0
|
||||
/* 00744 809969E4 00021823 */ subu $v1, $zero, $v0
|
||||
/* 00748 809969E8 10000001 */ beq $zero, $zero, .L809969F0
|
||||
/* 0074C 809969EC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
.L809969F0:
|
||||
/* 00750 809969F0 28613000 */ slti $at, $v1, 0x3000
|
||||
/* 00754 809969F4 50200013 */ beql $at, $zero, .L80996A44
|
||||
/* 00758 809969F8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 0075C 809969FC 4602603E */ c.le.s $f12, $f2
|
||||
/* 00760 80996A00 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00764 80996A04 45020009 */ bc1fl .L80996A2C
|
||||
/* 00768 80996A08 44810000 */ mtc1 $at, $f0 ## $f0 = -1.00
|
||||
/* 0076C 80996A0C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00770 80996A10 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
|
||||
/* 00774 80996A14 00000000 */ nop
|
||||
/* 00778 80996A18 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 0077C 80996A1C 44022000 */ mfc1 $v0, $f4
|
||||
/* 00780 80996A20 10000009 */ beq $zero, $zero, .L80996A48
|
||||
/* 00784 80996A24 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00788 80996A28 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
|
||||
.L80996A2C:
|
||||
/* 0078C 80996A2C 00000000 */ nop
|
||||
/* 00790 80996A30 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 00794 80996A34 44022000 */ mfc1 $v0, $f4
|
||||
/* 00798 80996A38 10000003 */ beq $zero, $zero, .L80996A48
|
||||
/* 0079C 80996A3C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996A40:
|
||||
/* 007A0 80996A40 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80996A44:
|
||||
/* 007A4 80996A44 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996A48:
|
||||
/* 007A8 80996A48 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 007AC 80996A4C 03E00008 */ jr $ra
|
||||
/* 007B0 80996A50 00000000 */ nop
|
|
@ -1,51 +0,0 @@
|
|||
glabel func_80996A54
|
||||
/* 007B4 80996A54 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 007B8 80996A58 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 007BC 80996A5C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 007C0 80996A60 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 007C4 80996A64 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 007C8 80996A68 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 007CC 80996A6C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 007D0 80996A70 0C00B337 */ jal Flags_GetClear
|
||||
|
||||
/* 007D4 80996A74 82250003 */ lb $a1, 0x0003($s1) ## 00000003
|
||||
/* 007D8 80996A78 14400005 */ bne $v0, $zero, .L80996A90
|
||||
/* 007DC 80996A7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007E0 80996A80 0C00B349 */ jal Flags_GetTempClear
|
||||
|
||||
/* 007E4 80996A84 82250003 */ lb $a1, 0x0003($s1) ## 00000003
|
||||
/* 007E8 80996A88 10400011 */ beq $v0, $zero, .L80996AD0
|
||||
/* 007EC 80996A8C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
.L80996A90:
|
||||
/* 007F0 80996A90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007F4 80996A94 0C00B33C */ jal Flags_SetClear
|
||||
|
||||
/* 007F8 80996A98 82250003 */ lb $a1, 0x0003($s1) ## 00000003
|
||||
/* 007FC 80996A9C 3C058099 */ lui $a1, %hi(func_80997150) ## $a1 = 80990000
|
||||
/* 00800 80996AA0 24A57150 */ addiu $a1, $a1, %lo(func_80997150) ## $a1 = 80997150
|
||||
/* 00804 80996AA4 0C2658A8 */ jal func_809962A0
|
||||
/* 00808 80996AA8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0080C 80996AAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00810 80996AB0 0C020120 */ jal func_80080480
|
||||
/* 00814 80996AB4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00818 80996AB8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0081C 80996ABC 0C020120 */ jal func_80080480
|
||||
/* 00820 80996AC0 8E051C44 */ lw $a1, 0x1C44($s0) ## 00001C44
|
||||
/* 00824 80996AC4 240EFF9C */ addiu $t6, $zero, 0xFF9C ## $t6 = FFFFFF9C
|
||||
/* 00828 80996AC8 10000008 */ beq $zero, $zero, .L80996AEC
|
||||
/* 0082C 80996ACC A22E016F */ sb $t6, 0x016F($s1) ## 0000016F
|
||||
.L80996AD0:
|
||||
/* 00830 80996AD0 0C265A35 */ jal func_809968D4
|
||||
/* 00834 80996AD4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00838 80996AD8 50400005 */ beql $v0, $zero, .L80996AF0
|
||||
/* 0083C 80996ADC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00840 80996AE0 8E021C44 */ lw $v0, 0x1C44($s0) ## 00001C44
|
||||
/* 00844 80996AE4 240FFDFE */ addiu $t7, $zero, 0xFDFE ## $t7 = FFFFFDFE
|
||||
/* 00848 80996AE8 A44F0690 */ sh $t7, 0x0690($v0) ## 00000690
|
||||
.L80996AEC:
|
||||
/* 0084C 80996AEC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996AF0:
|
||||
/* 00850 80996AF0 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 00854 80996AF4 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00858 80996AF8 03E00008 */ jr $ra
|
||||
/* 0085C 80996AFC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
@ -1,4 +0,0 @@
|
|||
glabel func_80996B00
|
||||
/* 00860 80996B00 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00864 80996B04 03E00008 */ jr $ra
|
||||
/* 00868 80996B08 AFA50004 */ sw $a1, 0x0004($sp)
|
|
@ -1,96 +0,0 @@
|
|||
glabel func_80996B0C
|
||||
/* 0086C 80996B0C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00870 80996B10 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00874 80996B14 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00878 80996B18 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0087C 80996B1C 848E0164 */ lh $t6, 0x0164($a0) ## 00000164
|
||||
/* 00880 80996B20 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00884 80996B24 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00888 80996B28 11C00020 */ beq $t6, $zero, .L80996BAC
|
||||
/* 0088C 80996B2C 00000000 */ nop
|
||||
/* 00890 80996B30 3C058099 */ lui $a1, %hi(func_80997004) ## $a1 = 80990000
|
||||
/* 00894 80996B34 0C2658A8 */ jal func_809962A0
|
||||
/* 00898 80996B38 24A57004 */ addiu $a1, $a1, %lo(func_80997004) ## $a1 = 80997004
|
||||
/* 0089C 80996B3C 820F016E */ lb $t7, 0x016E($s0) ## 0000016E
|
||||
/* 008A0 80996B40 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 008A4 80996B44 11E00041 */ beq $t7, $zero, .L80996C4C
|
||||
/* 008A8 80996B48 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
/* 008AC 80996B4C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 008B0 80996B50 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 008B4 80996B54 0C00B2DD */ jal Flags_SetSwitch
|
||||
|
||||
/* 008B8 80996B58 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 008BC 80996B5C 9218016A */ lbu $t8, 0x016A($s0) ## 0000016A
|
||||
/* 008C0 80996B60 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 008C4 80996B64 3C068016 */ lui $a2, %hi(gSaveContext)
|
||||
/* 008C8 80996B68 1301000C */ beq $t8, $at, .L80996B9C
|
||||
/* 008CC 80996B6C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008D0 80996B70 24C6E660 */ addiu $a2, %lo(gSaveContext)
|
||||
/* 008D4 80996B74 94D91402 */ lhu $t9, 0x1402($a2) ## 8015FA62
|
||||
/* 008D8 80996B78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008DC 80996B7C 2405287C */ addiu $a1, $zero, 0x287C ## $a1 = 0000287C
|
||||
/* 008E0 80996B80 00D91021 */ addu $v0, $a2, $t9
|
||||
/* 008E4 80996B84 804800BC */ lb $t0, 0x00BC($v0) ## 000000BC
|
||||
/* 008E8 80996B88 2509FFFF */ addiu $t1, $t0, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 008EC 80996B8C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 008F0 80996B90 A04900BC */ sb $t1, 0x00BC($v0) ## 000000BC
|
||||
/* 008F4 80996B94 1000002E */ beq $zero, $zero, .L80996C50
|
||||
/* 008F8 80996B98 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996B9C:
|
||||
/* 008FC 80996B9C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00900 80996BA0 240528A9 */ addiu $a1, $zero, 0x28A9 ## $a1 = 000028A9
|
||||
/* 00904 80996BA4 1000002A */ beq $zero, $zero, .L80996C50
|
||||
/* 00908 80996BA8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996BAC:
|
||||
/* 0090C 80996BAC 0C265A35 */ jal func_809968D4
|
||||
/* 00910 80996BB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00914 80996BB4 50400026 */ beql $v0, $zero, .L80996C50
|
||||
/* 00918 80996BB8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0091C 80996BBC 820B016E */ lb $t3, 0x016E($s0) ## 0000016E
|
||||
/* 00920 80996BC0 8FAA0024 */ lw $t2, 0x0024($sp)
|
||||
/* 00924 80996BC4 1160001D */ beq $t3, $zero, .L80996C3C
|
||||
/* 00928 80996BC8 8D431C44 */ lw $v1, 0x1C44($t2) ## 00001C44
|
||||
/* 0092C 80996BCC 920C016A */ lbu $t4, 0x016A($s0) ## 0000016A
|
||||
/* 00930 80996BD0 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00934 80996BD4 3C068016 */ lui $a2, %hi(gSaveContext)
|
||||
/* 00938 80996BD8 1581000E */ bne $t4, $at, .L80996C14
|
||||
/* 0093C 80996BDC 24C6E660 */ addiu $a2, %lo(gSaveContext)
|
||||
/* 00940 80996BE0 3C068016 */ lui $a2, %hi(gSaveContext)
|
||||
/* 00944 80996BE4 24C6E660 */ addiu $a2, %lo(gSaveContext)
|
||||
/* 00948 80996BE8 94CE1402 */ lhu $t6, 0x1402($a2) ## 8015FA62
|
||||
/* 0094C 80996BEC 3C0D8012 */ lui $t5, %hi(gBitFlags)
|
||||
/* 00950 80996BF0 8DAD7120 */ lw $t5, %lo(gBitFlags)($t5)
|
||||
/* 00954 80996BF4 00CE7821 */ addu $t7, $a2, $t6
|
||||
/* 00958 80996BF8 91F800A8 */ lbu $t8, 0x00A8($t7) ## 000000A8
|
||||
/* 0095C 80996BFC 2408FDFC */ addiu $t0, $zero, 0xFDFC ## $t0 = FFFFFDFC
|
||||
/* 00960 80996C00 01B8C824 */ and $t9, $t5, $t8
|
||||
/* 00964 80996C04 5720000C */ bnel $t9, $zero, .L80996C38
|
||||
/* 00968 80996C08 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
|
||||
/* 0096C 80996C0C 1000000F */ beq $zero, $zero, .L80996C4C
|
||||
/* 00970 80996C10 A4680690 */ sh $t0, 0x0690($v1) ## 00000690
|
||||
.L80996C14:
|
||||
/* 00974 80996C14 94C91402 */ lhu $t1, 0x1402($a2) ## 8015FA62
|
||||
/* 00978 80996C18 240CFDFD */ addiu $t4, $zero, 0xFDFD ## $t4 = FFFFFDFD
|
||||
/* 0097C 80996C1C 00C95021 */ addu $t2, $a2, $t1
|
||||
/* 00980 80996C20 814B00BC */ lb $t3, 0x00BC($t2) ## 000000BC
|
||||
/* 00984 80996C24 5D600004 */ bgtzl $t3, .L80996C38
|
||||
/* 00988 80996C28 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
|
||||
/* 0098C 80996C2C 10000007 */ beq $zero, $zero, .L80996C4C
|
||||
/* 00990 80996C30 A46C0690 */ sh $t4, 0x0690($v1) ## 00000690
|
||||
/* 00994 80996C34 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
|
||||
.L80996C38:
|
||||
/* 00998 80996C38 A46E042E */ sh $t6, 0x042E($v1) ## 0000042E
|
||||
.L80996C3C:
|
||||
/* 0099C 80996C3C 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002
|
||||
/* 009A0 80996C40 A06F042C */ sb $t7, 0x042C($v1) ## 0000042C
|
||||
/* 009A4 80996C44 A062042D */ sb $v0, 0x042D($v1) ## 0000042D
|
||||
/* 009A8 80996C48 AC700430 */ sw $s0, 0x0430($v1) ## 00000430
|
||||
.L80996C4C:
|
||||
/* 009AC 80996C4C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996C50:
|
||||
/* 009B0 80996C50 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 009B4 80996C54 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 009B8 80996C58 03E00008 */ jr $ra
|
||||
/* 009BC 80996C5C 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
glabel func_80996C60
|
||||
/* 009C0 80996C60 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 009C4 80996C64 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 009C8 80996C68 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 009CC 80996C6C 908E0002 */ lbu $t6, 0x0002($a0) ## 00000002
|
||||
/* 009D0 80996C70 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 009D4 80996C74 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 009D8 80996C78 55C10022 */ bnel $t6, $at, .L80996D04
|
||||
/* 009DC 80996C7C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 009E0 80996C80 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
|
||||
/* 009E4 80996C84 2419000F */ addiu $t9, $zero, 0x000F ## $t9 = 0000000F
|
||||
/* 009E8 80996C88 AFAF003C */ sw $t7, 0x003C($sp)
|
||||
/* 009EC 80996C8C 9098016C */ lbu $t8, 0x016C($a0) ## 0000016C
|
||||
/* 009F0 80996C90 AFB90034 */ sw $t9, 0x0034($sp)
|
||||
/* 009F4 80996C94 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 009F8 80996C98 0C2658AB */ jal func_809962AC
|
||||
/* 009FC 80996C9C AFB80038 */ sw $t8, 0x0038($sp)
|
||||
/* 00A00 80996CA0 10400003 */ beq $v0, $zero, .L80996CB0
|
||||
/* 00A04 80996CA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A08 80996CA8 24080020 */ addiu $t0, $zero, 0x0020 ## $t0 = 00000020
|
||||
/* 00A0C 80996CAC AFA80034 */ sw $t0, 0x0034($sp)
|
||||
.L80996CB0:
|
||||
/* 00A10 80996CB0 3C058099 */ lui $a1, %hi(func_80997004) ## $a1 = 80990000
|
||||
/* 00A14 80996CB4 0C2658A8 */ jal func_809962A0
|
||||
/* 00A18 80996CB8 24A57004 */ addiu $a1, $a1, %lo(func_80997004) ## $a1 = 80997004
|
||||
/* 00A1C 80996CBC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00A20 80996CC0 8FA90038 */ lw $t1, 0x0038($sp)
|
||||
/* 00A24 80996CC4 240C000C */ addiu $t4, $zero, 0x000C ## $t4 = 0000000C
|
||||
/* 00A28 80996CC8 E6000170 */ swc1 $f0, 0x0170($s0) ## 00000170
|
||||
/* 00A2C 80996CCC A209016C */ sb $t1, 0x016C($s0) ## 0000016C
|
||||
/* 00A30 80996CD0 8FAB003C */ lw $t3, 0x003C($sp)
|
||||
/* 00A34 80996CD4 8FAA0044 */ lw $t2, 0x0044($sp)
|
||||
/* 00A38 80996CD8 8FAD0034 */ lw $t5, 0x0034($sp)
|
||||
/* 00A3C 80996CDC 8566046A */ lh $a2, 0x046A($t3) ## 0000046A
|
||||
/* 00A40 80996CE0 8D440790 */ lw $a0, 0x0790($t2) ## 00000790
|
||||
/* 00A44 80996CE4 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
|
||||
/* 00A48 80996CE8 44070000 */ mfc1 $a3, $f0
|
||||
/* 00A4C 80996CEC AFAE0018 */ sw $t6, 0x0018($sp)
|
||||
/* 00A50 80996CF0 AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 00A54 80996CF4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00A58 80996CF8 0C016B50 */ jal func_8005AD40
|
||||
/* 00A5C 80996CFC AFAD0014 */ sw $t5, 0x0014($sp)
|
||||
/* 00A60 80996D00 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80996D04:
|
||||
/* 00A64 80996D04 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00A68 80996D08 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00A6C 80996D0C 03E00008 */ jr $ra
|
||||
/* 00A70 80996D10 00000000 */ nop
|
|
@ -1,71 +0,0 @@
|
|||
glabel func_80996D14
|
||||
/* 00A74 80996D14 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00A78 80996D18 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00A7C 80996D1C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00A80 80996D20 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00A84 80996D24 908E016C */ lbu $t6, 0x016C($a0) ## 0000016C
|
||||
/* 00A88 80996D28 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00A8C 80996D2C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00A90 80996D30 51C1001E */ beql $t6, $at, .L80996DAC
|
||||
/* 00A94 80996D34 860F0166 */ lh $t7, 0x0166($s0) ## 00000166
|
||||
/* 00A98 80996D38 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00A9C 80996D3C C4860060 */ lwc1 $f6, 0x0060($a0) ## 00000060
|
||||
/* 00AA0 80996D40 46062032 */ c.eq.s $f4, $f6
|
||||
/* 00AA4 80996D44 00000000 */ nop
|
||||
/* 00AA8 80996D48 45020007 */ bc1fl .L80996D68
|
||||
/* 00AAC 80996D4C 26040060 */ addiu $a0, $s0, 0x0060 ## $a0 = 00000060
|
||||
/* 00AB0 80996D50 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00AB4 80996D54 24052814 */ addiu $a1, $zero, 0x2814 ## $a1 = 00002814
|
||||
/* 00AB8 80996D58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00ABC 80996D5C 0C265B18 */ jal func_80996C60
|
||||
/* 00AC0 80996D60 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00AC4 80996D64 26040060 */ addiu $a0, $s0, 0x0060 ## $a0 = 00000060
|
||||
.L80996D68:
|
||||
/* 00AC8 80996D68 3C054170 */ lui $a1, 0x4170 ## $a1 = 41700000
|
||||
/* 00ACC 80996D6C 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00AD0 80996D70 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
|
||||
/* 00AD4 80996D74 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00AD8 80996D78 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00
|
||||
/* 00ADC 80996D7C C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C
|
||||
/* 00AE0 80996D80 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
|
||||
/* 00AE4 80996D84 8E060060 */ lw $a2, 0x0060($s0) ## 00000060
|
||||
/* 00AE8 80996D88 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 00AEC 80996D8C 44058000 */ mfc1 $a1, $f16
|
||||
/* 00AF0 80996D90 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00AF4 80996D94 00000000 */ nop
|
||||
/* 00AF8 80996D98 50400016 */ beql $v0, $zero, .L80996DF4
|
||||
/* 00AFC 80996D9C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00B00 80996DA0 10000014 */ beq $zero, $zero, .L80996DF4
|
||||
/* 00B04 80996DA4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00B08 80996DA8 860F0166 */ lh $t7, 0x0166($s0) ## 00000166
|
||||
.L80996DAC:
|
||||
/* 00B0C 80996DAC 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064
|
||||
/* 00B10 80996DB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B14 80996DB4 55E10007 */ bnel $t7, $at, .L80996DD4
|
||||
/* 00B18 80996DB8 26040166 */ addiu $a0, $s0, 0x0166 ## $a0 = 00000166
|
||||
/* 00B1C 80996DBC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00B20 80996DC0 24052864 */ addiu $a1, $zero, 0x2864 ## $a1 = 00002864
|
||||
/* 00B24 80996DC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B28 80996DC8 0C265B18 */ jal func_80996C60
|
||||
/* 00B2C 80996DCC 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00B30 80996DD0 26040166 */ addiu $a0, $s0, 0x0166 ## $a0 = 00000166
|
||||
.L80996DD4:
|
||||
/* 00B34 80996DD4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00B38 80996DD8 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 00B3C 80996DDC 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00B40 80996DE0 50400004 */ beql $v0, $zero, .L80996DF4
|
||||
/* 00B44 80996DE4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00B48 80996DE8 10000002 */ beq $zero, $zero, .L80996DF4
|
||||
/* 00B4C 80996DEC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00B50 80996DF0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80996DF4:
|
||||
/* 00B54 80996DF4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00B58 80996DF8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00B5C 80996DFC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00B60 80996E00 03E00008 */ jr $ra
|
||||
/* 00B64 80996E04 00000000 */ nop
|
|
@ -1,68 +0,0 @@
|
|||
glabel func_80996E08
|
||||
/* 00B68 80996E08 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00B6C 80996E0C AFA60028 */ sw $a2, 0x0028($sp)
|
||||
/* 00B70 80996E10 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00B74 80996E14 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
|
||||
/* 00B78 80996E18 C7A40028 */ lwc1 $f4, 0x0028($sp)
|
||||
/* 00B7C 80996E1C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00B80 80996E20 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00B84 80996E24 46040181 */ sub.s $f6, $f0, $f4
|
||||
/* 00B88 80996E28 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00B8C 80996E2C C4880170 */ lwc1 $f8, 0x0170($a0) ## 00000170
|
||||
/* 00B90 80996E30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00B94 80996E34 46083032 */ c.eq.s $f6, $f8
|
||||
/* 00B98 80996E38 00000000 */ nop
|
||||
/* 00B9C 80996E3C 4502001E */ bc1fl .L80996EB8
|
||||
/* 00BA0 80996E40 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
/* 00BA4 80996E44 908E016C */ lbu $t6, 0x016C($a0) ## 0000016C
|
||||
/* 00BA8 80996E48 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00BAC 80996E4C C7AA0028 */ lwc1 $f10, 0x0028($sp)
|
||||
/* 00BB0 80996E50 51C1000E */ beql $t6, $at, .L80996E8C
|
||||
/* 00BB4 80996E54 46005032 */ c.eq.s $f10, $f0
|
||||
/* 00BB8 80996E58 46002032 */ c.eq.s $f4, $f0
|
||||
/* 00BBC 80996E5C 24052859 */ addiu $a1, $zero, 0x2859 ## $a1 = 00002859
|
||||
/* 00BC0 80996E60 45000005 */ bc1f .L80996E78
|
||||
/* 00BC4 80996E64 00000000 */ nop
|
||||
/* 00BC8 80996E68 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00BCC 80996E6C 2405285A */ addiu $a1, $zero, 0x285A ## $a1 = 0000285A
|
||||
/* 00BD0 80996E70 10000011 */ beq $zero, $zero, .L80996EB8
|
||||
/* 00BD4 80996E74 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
.L80996E78:
|
||||
/* 00BD8 80996E78 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00BDC 80996E7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BE0 80996E80 1000000D */ beq $zero, $zero, .L80996EB8
|
||||
/* 00BE4 80996E84 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
/* 00BE8 80996E88 46005032 */ c.eq.s $f10, $f0
|
||||
.L80996E8C:
|
||||
/* 00BEC 80996E8C 24052892 */ addiu $a1, $zero, 0x2892 ## $a1 = 00002892
|
||||
/* 00BF0 80996E90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BF4 80996E94 45000005 */ bc1f .L80996EAC
|
||||
/* 00BF8 80996E98 00000000 */ nop
|
||||
/* 00BFC 80996E9C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00C00 80996EA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C04 80996EA4 10000004 */ beq $zero, $zero, .L80996EB8
|
||||
/* 00C08 80996EA8 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
.L80996EAC:
|
||||
/* 00C0C 80996EAC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00C10 80996EB0 24052891 */ addiu $a1, $zero, 0x2891 ## $a1 = 00002891
|
||||
/* 00C14 80996EB4 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
.L80996EB8:
|
||||
/* 00C18 80996EB8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD
|
||||
/* 00C1C 80996EBC 26040170 */ addiu $a0, $s0, 0x0170 ## $a0 = 00000170
|
||||
/* 00C20 80996EC0 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 00C24 80996EC4 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00C28 80996EC8 10400003 */ beq $v0, $zero, .L80996ED8
|
||||
/* 00C2C 80996ECC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00C30 80996ED0 10000002 */ beq $zero, $zero, .L80996EDC
|
||||
/* 00C34 80996ED4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80996ED8:
|
||||
/* 00C38 80996ED8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80996EDC:
|
||||
/* 00C3C 80996EDC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00C40 80996EE0 03E00008 */ jr $ra
|
||||
/* 00C44 80996EE4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
@ -1,50 +0,0 @@
|
|||
glabel func_80996EE8
|
||||
/* 00C48 80996EE8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00C4C 80996EEC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00C50 80996EF0 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00C54 80996EF4 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00C58 80996EF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00C5C 80996EFC 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00C60 80996F00 0C265B82 */ jal func_80996E08
|
||||
/* 00C64 80996F04 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00C68 80996F08 5040001F */ beql $v0, $zero, .L80996F88
|
||||
/* 00C6C 80996F0C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00C70 80996F10 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00C74 80996F14 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00C78 80996F18 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00C7C 80996F1C 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00C80 80996F20 1040000B */ beq $v0, $zero, .L80996F50
|
||||
/* 00C84 80996F24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C88 80996F28 3C058099 */ lui $a1, %hi(func_80997150) ## $a1 = 80990000
|
||||
/* 00C8C 80996F2C 24A57150 */ addiu $a1, $a1, %lo(func_80997150) ## $a1 = 80997150
|
||||
/* 00C90 80996F30 0C2658A8 */ jal func_809962A0
|
||||
/* 00C94 80996F34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C98 80996F38 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00C9C 80996F3C 0C020120 */ jal func_80080480
|
||||
/* 00CA0 80996F40 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00CA4 80996F44 240EFF9C */ addiu $t6, $zero, 0xFF9C ## $t6 = FFFFFF9C
|
||||
/* 00CA8 80996F48 1000000E */ beq $zero, $zero, .L80996F84
|
||||
/* 00CAC 80996F4C A20E016F */ sb $t6, 0x016F($s0) ## 0000016F
|
||||
.L80996F50:
|
||||
/* 00CB0 80996F50 0C265A35 */ jal func_809968D4
|
||||
/* 00CB4 80996F54 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00CB8 80996F58 5040000B */ beql $v0, $zero, .L80996F88
|
||||
/* 00CBC 80996F5C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00CC0 80996F60 862F00A4 */ lh $t7, 0x00A4($s1) ## 000000A4
|
||||
/* 00CC4 80996F64 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00CC8 80996F68 8E221C44 */ lw $v0, 0x1C44($s1) ## 00001C44
|
||||
/* 00CCC 80996F6C 15E10004 */ bne $t7, $at, .L80996F80
|
||||
/* 00CD0 80996F70 2419FDFE */ addiu $t9, $zero, 0xFDFE ## $t9 = FFFFFDFE
|
||||
/* 00CD4 80996F74 2418FDF5 */ addiu $t8, $zero, 0xFDF5 ## $t8 = FFFFFDF5
|
||||
/* 00CD8 80996F78 10000002 */ beq $zero, $zero, .L80996F84
|
||||
/* 00CDC 80996F7C A4580690 */ sh $t8, 0x0690($v0) ## 00000690
|
||||
.L80996F80:
|
||||
/* 00CE0 80996F80 A4590690 */ sh $t9, 0x0690($v0) ## 00000690
|
||||
.L80996F84:
|
||||
/* 00CE4 80996F84 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80996F88:
|
||||
/* 00CE8 80996F88 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 00CEC 80996F8C 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00CF0 80996F90 03E00008 */ jr $ra
|
||||
/* 00CF4 80996F94 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
@ -1,32 +0,0 @@
|
|||
glabel func_80996F98
|
||||
/* 00CF8 80996F98 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00CFC 80996F9C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00D00 80996FA0 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00D04 80996FA4 848E0164 */ lh $t6, 0x0164($a0) ## 00000164
|
||||
/* 00D08 80996FA8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00D0C 80996FAC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00D10 80996FB0 55C0000E */ bnel $t6, $zero, .L80996FEC
|
||||
/* 00D14 80996FB4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00D18 80996FB8 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
|
||||
/* 00D1C 80996FBC AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00D20 80996FC0 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00D24 80996FC4 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00D28 80996FC8 14400007 */ bne $v0, $zero, .L80996FE8
|
||||
/* 00D2C 80996FCC 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00D30 80996FD0 3C058099 */ lui $a1, %hi(func_80996EE8) ## $a1 = 80990000
|
||||
/* 00D34 80996FD4 24A56EE8 */ addiu $a1, $a1, %lo(func_80996EE8) ## $a1 = 80996EE8
|
||||
/* 00D38 80996FD8 0C2658A8 */ jal func_809962A0
|
||||
/* 00D3C 80996FDC 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00D40 80996FE0 10000005 */ beq $zero, $zero, .L80996FF8
|
||||
/* 00D44 80996FE4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80996FE8:
|
||||
/* 00D48 80996FE8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
.L80996FEC:
|
||||
/* 00D4C 80996FEC 0C265AC3 */ jal func_80996B0C
|
||||
/* 00D50 80996FF0 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00D54 80996FF4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80996FF8:
|
||||
/* 00D58 80996FF8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00D5C 80996FFC 03E00008 */ jr $ra
|
||||
/* 00D60 80997000 00000000 */ nop
|
|
@ -1,98 +0,0 @@
|
|||
glabel func_80997004
|
||||
/* 00D64 80997004 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00D68 80997008 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00D6C 8099700C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00D70 80997010 8082016E */ lb $v0, 0x016E($a0) ## 0000016E
|
||||
/* 00D74 80997014 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00D78 80997018 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
|
||||
/* 00D7C 8099701C 14400003 */ bne $v0, $zero, .L8099702C
|
||||
/* 00D80 80997020 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00D84 80997024 10000003 */ beq $zero, $zero, .L80997034
|
||||
/* 00D88 80997028 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L8099702C:
|
||||
/* 00D8C 8099702C A20E016E */ sb $t6, 0x016E($s0) ## 0000016E
|
||||
/* 00D90 80997030 8203016E */ lb $v1, 0x016E($s0) ## 0000016E
|
||||
.L80997034:
|
||||
/* 00D94 80997034 14600041 */ bne $v1, $zero, .L8099713C
|
||||
/* 00D98 80997038 01E57821 */ addu $t7, $t7, $a1
|
||||
/* 00D9C 8099703C 81EF1CED */ lb $t7, 0x1CED($t7) ## 00011CED
|
||||
/* 00DA0 80997040 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DA4 80997044 55E0003E */ bnel $t7, $zero, .L80997140
|
||||
/* 00DA8 80997048 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00DAC 8099704C 0C265B45 */ jal func_80996D14
|
||||
/* 00DB0 80997050 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00DB4 80997054 5040003A */ beql $v0, $zero, .L80997140
|
||||
/* 00DB8 80997058 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00DBC 8099705C 9218016A */ lbu $t8, 0x016A($s0) ## 0000016A
|
||||
/* 00DC0 80997060 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 00DC4 80997064 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DC8 80997068 17010004 */ bne $t8, $at, .L8099707C
|
||||
/* 00DCC 8099706C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00DD0 80997070 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00
|
||||
/* 00DD4 80997074 10000005 */ beq $zero, $zero, .L8099708C
|
||||
/* 00DD8 80997078 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
|
||||
.L8099707C:
|
||||
/* 00DDC 8099707C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
|
||||
/* 00DE0 80997080 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00
|
||||
/* 00DE4 80997084 00000000 */ nop
|
||||
/* 00DE8 80997088 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
|
||||
.L8099708C:
|
||||
/* 00DEC 8099708C 4604003C */ c.lt.s $f0, $f4
|
||||
/* 00DF0 80997090 00000000 */ nop
|
||||
/* 00DF4 80997094 4502002A */ bc1fl .L80997140
|
||||
/* 00DF8 80997098 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00DFC 8099709C 0C2658AB */ jal func_809962AC
|
||||
/* 00E00 809970A0 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00E04 809970A4 10400004 */ beq $v0, $zero, .L809970B8
|
||||
/* 00E08 809970A8 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 00E0C 809970AC 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00
|
||||
/* 00E10 809970B0 00000000 */ nop
|
||||
/* 00E14 809970B4 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
|
||||
.L809970B8:
|
||||
/* 00E18 809970B8 9219016C */ lbu $t9, 0x016C($s0) ## 0000016C
|
||||
/* 00E1C 809970BC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00E20 809970C0 2405281C */ addiu $a1, $zero, 0x281C ## $a1 = 0000281C
|
||||
/* 00E24 809970C4 13210009 */ beq $t9, $at, .L809970EC
|
||||
/* 00E28 809970C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E2C 809970CC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00E30 809970D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E34 809970D4 3C058099 */ lui $a1, %hi(func_809973E8) ## $a1 = 80990000
|
||||
/* 00E38 809970D8 24A573E8 */ addiu $a1, $a1, %lo(func_809973E8) ## $a1 = 809973E8
|
||||
/* 00E3C 809970DC 0C2658A8 */ jal func_809962A0
|
||||
/* 00E40 809970E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E44 809970E4 10000016 */ beq $zero, $zero, .L80997140
|
||||
/* 00E48 809970E8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809970EC:
|
||||
/* 00E4C 809970EC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00E50 809970F0 24052865 */ addiu $a1, $zero, 0x2865 ## $a1 = 00002865
|
||||
/* 00E54 809970F4 9202016A */ lbu $v0, 0x016A($s0) ## 0000016A
|
||||
/* 00E58 809970F8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00E5C 809970FC 10410003 */ beq $v0, $at, .L8099710C
|
||||
/* 00E60 80997100 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
||||
/* 00E64 80997104 14410009 */ bne $v0, $at, .L8099712C
|
||||
/* 00E68 80997108 00000000 */ nop
|
||||
.L8099710C:
|
||||
/* 00E6C 8099710C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
|
||||
/* 00E70 80997110 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00E74 80997114 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00E78 80997118 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
|
||||
/* 00E7C 8099711C 14400003 */ bne $v0, $zero, .L8099712C
|
||||
/* 00E80 80997120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E84 80997124 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00E88 80997128 24052892 */ addiu $a1, $zero, 0x2892 ## $a1 = 00002892
|
||||
.L8099712C:
|
||||
/* 00E8C 8099712C 3C058099 */ lui $a1, %hi(func_80997528) ## $a1 = 80990000
|
||||
/* 00E90 80997130 24A57528 */ addiu $a1, $a1, %lo(func_80997528) ## $a1 = 80997528
|
||||
/* 00E94 80997134 0C2658A8 */ jal func_809962A0
|
||||
/* 00E98 80997138 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L8099713C:
|
||||
/* 00E9C 8099713C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80997140:
|
||||
/* 00EA0 80997140 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00EA4 80997144 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00EA8 80997148 03E00008 */ jr $ra
|
||||
/* 00EAC 8099714C 00000000 */ nop
|
|
@ -1,61 +0,0 @@
|
|||
glabel func_80997150
|
||||
/* 00EB0 80997150 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00EB4 80997154 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00EB8 80997158 8082016F */ lb $v0, 0x016F($a0) ## 0000016F
|
||||
/* 00EBC 8099715C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
|
||||
/* 00EC0 80997160 10400017 */ beq $v0, $zero, .L809971C0
|
||||
/* 00EC4 80997164 00000000 */ nop
|
||||
/* 00EC8 80997168 04410013 */ bgez $v0, .L809971B8
|
||||
/* 00ECC 8099716C 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = FFFFFFFF
|
||||
/* 00ED0 80997170 8CAE009C */ lw $t6, 0x009C($a1) ## 0000009C
|
||||
/* 00ED4 80997174 24580001 */ addiu $t8, $v0, 0x0001 ## $t8 = 00000001
|
||||
/* 00ED8 80997178 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
|
||||
/* 00EDC 8099717C 11E00002 */ beq $t7, $zero, .L80997188
|
||||
/* 00EE0 80997180 00000000 */ nop
|
||||
/* 00EE4 80997184 A098016F */ sb $t8, 0x016F($a0) ## 0000016F
|
||||
.L80997188:
|
||||
/* 00EE8 80997188 0C016C66 */ jal func_8005B198
|
||||
/* 00EEC 8099718C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00EF0 80997190 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00EF4 80997194 24090005 */ addiu $t1, $zero, 0x0005 ## $t1 = 00000005
|
||||
/* 00EF8 80997198 90990002 */ lbu $t9, 0x0002($a0) ## 00000002
|
||||
/* 00EFC 8099719C 10590004 */ beq $v0, $t9, .L809971B0
|
||||
/* 00F00 809971A0 00000000 */ nop
|
||||
/* 00F04 809971A4 8088016F */ lb $t0, 0x016F($a0) ## 0000016F
|
||||
/* 00F08 809971A8 5500001A */ bnel $t0, $zero, .L80997214
|
||||
/* 00F0C 809971AC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L809971B0:
|
||||
/* 00F10 809971B0 10000017 */ beq $zero, $zero, .L80997210
|
||||
/* 00F14 809971B4 A089016F */ sb $t1, 0x016F($a0) ## 0000016F
|
||||
.L809971B8:
|
||||
/* 00F18 809971B8 10000015 */ beq $zero, $zero, .L80997210
|
||||
/* 00F1C 809971BC A08A016F */ sb $t2, 0x016F($a0) ## 0000016F
|
||||
.L809971C0:
|
||||
/* 00F20 809971C0 0C265B82 */ jal func_80996E08
|
||||
/* 00F24 809971C4 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00F28 809971C8 10400011 */ beq $v0, $zero, .L80997210
|
||||
/* 00F2C 809971CC 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00F30 809971D0 9082016A */ lbu $v0, 0x016A($a0) ## 0000016A
|
||||
/* 00F34 809971D4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00F38 809971D8 3C058099 */ lui $a1, %hi(func_80996B0C) ## $a1 = 80990000
|
||||
/* 00F3C 809971DC 10400008 */ beq $v0, $zero, .L80997200
|
||||
/* 00F40 809971E0 00000000 */ nop
|
||||
/* 00F44 809971E4 10410006 */ beq $v0, $at, .L80997200
|
||||
/* 00F48 809971E8 00000000 */ nop
|
||||
/* 00F4C 809971EC 3C058099 */ lui $a1, %hi(func_80996F98) ## $a1 = 80990000
|
||||
/* 00F50 809971F0 0C2658A8 */ jal func_809962A0
|
||||
/* 00F54 809971F4 24A56F98 */ addiu $a1, $a1, %lo(func_80996F98) ## $a1 = 80996F98
|
||||
/* 00F58 809971F8 10000003 */ beq $zero, $zero, .L80997208
|
||||
/* 00F5C 809971FC 00000000 */ nop
|
||||
.L80997200:
|
||||
/* 00F60 80997200 0C2658A8 */ jal func_809962A0
|
||||
/* 00F64 80997204 24A56B0C */ addiu $a1, $a1, %lo(func_80996B0C) ## $a1 = 00006B0C
|
||||
.L80997208:
|
||||
/* 00F68 80997208 0C03D6D6 */ jal func_800F5B58
|
||||
/* 00F6C 8099720C 00000000 */ nop
|
||||
.L80997210:
|
||||
/* 00F70 80997210 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80997214:
|
||||
/* 00F74 80997214 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00F78 80997218 03E00008 */ jr $ra
|
||||
/* 00F7C 8099721C 00000000 */ nop
|
|
@ -1,120 +0,0 @@
|
|||
glabel func_80997220
|
||||
/* 00F80 80997220 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00F84 80997224 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00F88 80997228 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00F8C 8099722C AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00F90 80997230 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
|
||||
/* 00F94 80997234 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00F98 80997238 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 00F9C 8099723C AFAE004C */ sw $t6, 0x004C($sp)
|
||||
/* 00FA0 80997240 80820003 */ lb $v0, 0x0003($a0) ## 00000003
|
||||
/* 00FA4 80997244 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFEC
|
||||
/* 00FA8 80997248 25C60024 */ addiu $a2, $t6, 0x0024 ## $a2 = 00000024
|
||||
/* 00FAC 8099724C 00021E00 */ sll $v1, $v0, 24
|
||||
/* 00FB0 80997250 0440004C */ bltz $v0, .L80997384
|
||||
/* 00FB4 80997254 00031E03 */ sra $v1, $v1, 24
|
||||
/* 00FB8 80997258 0C00B6F4 */ jal func_8002DBD0
|
||||
/* 00FBC 8099725C A3A3004B */ sb $v1, 0x004B($sp)
|
||||
/* 00FC0 80997260 C7A40044 */ lwc1 $f4, 0x0044($sp)
|
||||
/* 00FC4 80997264 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 00FC8 80997268 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00FCC 8099726C 02012021 */ addu $a0, $s0, $at
|
||||
/* 00FD0 80997270 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00FD4 80997274 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00FD8 80997278 83A3004B */ lb $v1, 0x004B($sp)
|
||||
/* 00FDC 8099727C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00FE0 80997280 45000003 */ bc1f .L80997290
|
||||
/* 00FE4 80997284 34211CBC */ ori $at, $at, 0x1CBC ## $at = 00011CBC
|
||||
/* 00FE8 80997288 10000001 */ beq $zero, $zero, .L80997290
|
||||
/* 00FEC 8099728C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80997290:
|
||||
/* 00FF0 80997290 9638001C */ lhu $t8, 0x001C($s1) ## 0000001C
|
||||
/* 00FF4 80997294 8C8F1D38 */ lw $t7, 0x1D38($a0) ## 00001D38
|
||||
/* 00FF8 80997298 00025040 */ sll $t2, $v0, 1
|
||||
/* 00FFC 8099729C 0018CA83 */ sra $t9, $t8, 10
|
||||
/* 01000 809972A0 00194100 */ sll $t0, $t9, 4
|
||||
/* 01004 809972A4 01E84821 */ addu $t1, $t7, $t0
|
||||
/* 01008 809972A8 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 0100C 809972AC 816C0000 */ lb $t4, 0x0000($t3) ## 00000000
|
||||
/* 01010 809972B0 02011021 */ addu $v0, $s0, $at
|
||||
/* 01014 809972B4 A22C0003 */ sb $t4, 0x0003($s1) ## 00000003
|
||||
/* 01018 809972B8 822D0003 */ lb $t5, 0x0003($s1) ## 00000003
|
||||
/* 0101C 809972BC 506D0029 */ beql $v1, $t5, .L80997364
|
||||
/* 01020 809972C0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01024 809972C4 8C580000 */ lw $t8, 0x0000($v0) ## 00000000
|
||||
/* 01028 809972C8 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFD8
|
||||
/* 0102C 809972CC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01030 809972D0 ACB80000 */ sw $t8, 0x0000($a1) ## FFFFFFD8
|
||||
/* 01034 809972D4 8C4E0004 */ lw $t6, 0x0004($v0) ## 00000004
|
||||
/* 01038 809972D8 34211CD0 */ ori $at, $at, 0x1CD0 ## $at = 00011CD0
|
||||
/* 0103C 809972DC 02011821 */ addu $v1, $s0, $at
|
||||
/* 01040 809972E0 ACAE0004 */ sw $t6, 0x0004($a1) ## FFFFFFDC
|
||||
/* 01044 809972E4 8C580008 */ lw $t8, 0x0008($v0) ## 00000008
|
||||
/* 01048 809972E8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0104C 809972EC 00300821 */ addu $at, $at, $s0
|
||||
/* 01050 809972F0 ACB80008 */ sw $t8, 0x0008($a1) ## FFFFFFE0
|
||||
/* 01054 809972F4 8C4E000C */ lw $t6, 0x000C($v0) ## 0000000C
|
||||
/* 01058 809972F8 ACAE000C */ sw $t6, 0x000C($a1) ## FFFFFFE4
|
||||
/* 0105C 809972FC 8C580010 */ lw $t8, 0x0010($v0) ## 00000010
|
||||
/* 01060 80997300 ACB80010 */ sw $t8, 0x0010($a1) ## FFFFFFE8
|
||||
/* 01064 80997304 8C6F0000 */ lw $t7, 0x0000($v1) ## 00000000
|
||||
/* 01068 80997308 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 0106C 8099730C 8C790004 */ lw $t9, 0x0004($v1) ## 00000004
|
||||
/* 01070 80997310 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
|
||||
/* 01074 80997314 8C6F0008 */ lw $t7, 0x0008($v1) ## 00000008
|
||||
/* 01078 80997318 AC4F0008 */ sw $t7, 0x0008($v0) ## 00000008
|
||||
/* 0107C 8099731C 8C79000C */ lw $t9, 0x000C($v1) ## 0000000C
|
||||
/* 01080 80997320 AC59000C */ sw $t9, 0x000C($v0) ## 0000000C
|
||||
/* 01084 80997324 8C6F0010 */ lw $t7, 0x0010($v1) ## 00000010
|
||||
/* 01088 80997328 AC4F0010 */ sw $t7, 0x0010($v0) ## 00000010
|
||||
/* 0108C 8099732C 8CA90000 */ lw $t1, 0x0000($a1) ## FFFFFFD8
|
||||
/* 01090 80997330 AC690000 */ sw $t1, 0x0000($v1) ## 00000000
|
||||
/* 01094 80997334 8CA80004 */ lw $t0, 0x0004($a1) ## FFFFFFDC
|
||||
/* 01098 80997338 AC680004 */ sw $t0, 0x0004($v1) ## 00000004
|
||||
/* 0109C 8099733C 8CA90008 */ lw $t1, 0x0008($a1) ## FFFFFFE0
|
||||
/* 010A0 80997340 AC690008 */ sw $t1, 0x0008($v1) ## 00000008
|
||||
/* 010A4 80997344 8CA8000C */ lw $t0, 0x000C($a1) ## FFFFFFE4
|
||||
/* 010A8 80997348 AC68000C */ sw $t0, 0x000C($v1) ## 0000000C
|
||||
/* 010AC 8099734C 8CA90010 */ lw $t1, 0x0010($a1) ## FFFFFFE8
|
||||
/* 010B0 80997350 AC690010 */ sw $t1, 0x0010($v1) ## 00000010
|
||||
/* 010B4 80997354 908A1CEC */ lbu $t2, 0x1CEC($a0) ## 00001CEC
|
||||
/* 010B8 80997358 394B0001 */ xori $t3, $t2, 0x0001 ## $t3 = 00000001
|
||||
/* 010BC 8099735C A02B1CEC */ sb $t3, 0x1CEC($at) ## 00011CEC
|
||||
/* 010C0 80997360 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
.L80997364:
|
||||
/* 010C4 80997364 34211CBC */ ori $at, $at, 0x1CBC ## $at = 00011CBC
|
||||
/* 010C8 80997368 02012821 */ addu $a1, $s0, $at
|
||||
/* 010CC 8099736C 0C025D4D */ jal func_80097534
|
||||
/* 010D0 80997370 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010D4 80997374 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010D8 80997378 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 010DC 8099737C 0C0302BD */ jal Gameplay_SetupRespawnPoint
|
||||
/* 010E0 80997380 24060EFF */ addiu $a2, $zero, 0x0EFF ## $a2 = 00000EFF
|
||||
.L80997384:
|
||||
/* 010E4 80997384 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 010E8 80997388 A6200164 */ sh $zero, 0x0164($s1) ## 00000164
|
||||
/* 010EC 8099738C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 010F0 80997390 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 010F4 80997394 0C2658AB */ jal func_809962AC
|
||||
/* 010F8 80997398 E6280060 */ swc1 $f8, 0x0060($s1) ## 00000060
|
||||
/* 010FC 8099739C 1040000D */ beq $v0, $zero, .L809973D4
|
||||
/* 01100 809973A0 8FAC004C */ lw $t4, 0x004C($sp)
|
||||
/* 01104 809973A4 8D8D067C */ lw $t5, 0x067C($t4) ## 0000067C
|
||||
/* 01108 809973A8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0110C 809973AC 3C058099 */ lui $a1, %hi(func_80997568) ## $a1 = 80990000
|
||||
/* 01110 809973B0 31AE0800 */ andi $t6, $t5, 0x0800 ## $t6 = 00000000
|
||||
/* 01114 809973B4 55C00008 */ bnel $t6, $zero, .L809973D8
|
||||
/* 01118 809973B8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0111C 809973BC 0C2658A8 */ jal func_809962A0
|
||||
/* 01120 809973C0 24A57568 */ addiu $a1, $a1, %lo(func_80997568) ## $a1 = 80997568
|
||||
/* 01124 809973C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01128 809973C8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0112C 809973CC 0C00B7D5 */ jal func_8002DF54
|
||||
/* 01130 809973D0 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
|
||||
.L809973D4:
|
||||
/* 01134 809973D4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809973D8:
|
||||
/* 01138 809973D8 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 0113C 809973DC 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 01140 809973E0 03E00008 */ jr $ra
|
||||
/* 01144 809973E4 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
|
@ -1,87 +0,0 @@
|
|||
glabel func_809973E8
|
||||
/* 01148 809973E8 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 0114C 809973EC AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 01150 809973F0 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 01154 809973F4 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 01158 809973F8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 0115C 809973FC 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
|
||||
/* 01160 80997400 C4800060 */ lwc1 $f0, 0x0060($a0) ## 00000060
|
||||
/* 01164 80997404 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01168 80997408 24840060 */ addiu $a0, $a0, 0x0060 ## $a0 = 00000060
|
||||
/* 0116C 8099740C 4604003C */ c.lt.s $f0, $f4
|
||||
/* 01170 80997410 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000
|
||||
/* 01174 80997414 45020005 */ bc1fl .L8099742C
|
||||
/* 01178 80997418 44060000 */ mfc1 $a2, $f0
|
||||
/* 0117C 8099741C 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 01180 80997420 3C064100 */ lui $a2, 0x4100 ## $a2 = 41000000
|
||||
/* 01184 80997424 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060
|
||||
/* 01188 80997428 44060000 */ mfc1 $a2, $f0
|
||||
.L8099742C:
|
||||
/* 0118C 8099742C 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
|
||||
/* 01190 80997430 0C01DE80 */ jal Math_ApproxF
|
||||
|
||||
/* 01194 80997434 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C
|
||||
/* 01198 80997438 10400036 */ beq $v0, $zero, .L80997514
|
||||
/* 0119C 8099743C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 011A0 80997440 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
|
||||
/* 011A4 80997444 C6080060 */ lwc1 $f8, 0x0060($s0) ## 00000060
|
||||
/* 011A8 80997448 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 011AC 8099744C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 011B0 80997450 4608303C */ c.lt.s $f6, $f8
|
||||
/* 011B4 80997454 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
|
||||
/* 011B8 80997458 3C074234 */ lui $a3, 0x4234 ## $a3 = 42340000
|
||||
/* 011BC 8099745C 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
|
||||
/* 011C0 80997460 4500000C */ bc1f .L80997494
|
||||
/* 011C4 80997464 240F01F4 */ addiu $t7, $zero, 0x01F4 ## $t7 = 000001F4
|
||||
/* 011C8 80997468 C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
|
||||
/* 011CC 8099746C 44818000 */ mtc1 $at, $f16 ## $f16 = 8.00
|
||||
/* 011D0 80997470 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
|
||||
/* 011D4 80997474 E60A0080 */ swc1 $f10, 0x0080($s0) ## 00000080
|
||||
/* 011D8 80997478 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 011DC 8099747C AFB8001C */ sw $t8, 0x001C($sp)
|
||||
/* 011E0 80997480 AFAF0018 */ sw $t7, 0x0018($sp)
|
||||
/* 011E4 80997484 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 011E8 80997488 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 011EC 8099748C 0C00CC98 */ jal func_80033260
|
||||
/* 011F0 80997490 E7B00014 */ swc1 $f16, 0x0014($sp)
|
||||
.L80997494:
|
||||
/* 011F4 80997494 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 011F8 80997498 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 011FC 8099749C 2405281D */ addiu $a1, $zero, 0x281D ## $a1 = 0000281D
|
||||
/* 01200 809974A0 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 01204 809974A4 0C030129 */ jal Gameplay_GetCamera
|
||||
/* 01208 809974A8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0120C 809974AC 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
|
||||
/* 01210 809974B0 0C024BE2 */ jal Quake_Add
|
||||
/* 01214 809974B4 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
||||
/* 01218 809974B8 00022400 */ sll $a0, $v0, 16
|
||||
/* 0121C 809974BC AFA20044 */ sw $v0, 0x0044($sp)
|
||||
/* 01220 809974C0 00042403 */ sra $a0, $a0, 16
|
||||
/* 01224 809974C4 0C024B6B */ jal Quake_SetSpeed
|
||||
/* 01228 809974C8 240580E8 */ addiu $a1, $zero, 0x80E8 ## $a1 = FFFF80E8
|
||||
/* 0122C 809974CC 87A40046 */ lh $a0, 0x0046($sp)
|
||||
/* 01230 809974D0 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
|
||||
/* 01234 809974D4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 01238 809974D8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 0123C 809974DC AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 01240 809974E0 0C024B9C */ jal Quake_SetQuakeValues
|
||||
/* 01244 809974E4 AFA4003C */ sw $a0, 0x003C($sp)
|
||||
/* 01248 809974E8 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0124C 809974EC 0C024B7C */ jal Quake_SetCountdown
|
||||
/* 01250 809974F0 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
|
||||
/* 01254 809974F4 C60C008C */ lwc1 $f12, 0x008C($s0) ## 0000008C
|
||||
/* 01258 809974F8 240500B4 */ addiu $a1, $zero, 0x00B4 ## $a1 = 000000B4
|
||||
/* 0125C 809974FC 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 01260 80997500 0C02A800 */ jal func_800AA000
|
||||
/* 01264 80997504 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
|
||||
/* 01268 80997508 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0126C 8099750C 0C265C88 */ jal func_80997220
|
||||
/* 01270 80997510 8FA5004C */ lw $a1, 0x004C($sp)
|
||||
.L80997514:
|
||||
/* 01274 80997514 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 01278 80997518 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 0127C 8099751C 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 01280 80997520 03E00008 */ jr $ra
|
||||
/* 01284 80997524 00000000 */ nop
|
|
@ -1,19 +0,0 @@
|
|||
glabel func_80997528
|
||||
/* 01288 80997528 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0128C 8099752C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01290 80997530 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 01294 80997534 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 01298 80997538 24050064 */ addiu $a1, $zero, 0x0064 ## $a1 = 00000064
|
||||
/* 0129C 8099753C 24840166 */ addiu $a0, $a0, 0x0166 ## $a0 = 00000166
|
||||
/* 012A0 80997540 0C01DE5F */ jal Math_ApproxS
|
||||
|
||||
/* 012A4 80997544 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 012A8 80997548 10400003 */ beq $v0, $zero, .L80997558
|
||||
/* 012AC 8099754C 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 012B0 80997550 0C265C88 */ jal func_80997220
|
||||
/* 012B4 80997554 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
.L80997558:
|
||||
/* 012B8 80997558 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 012BC 8099755C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 012C0 80997560 03E00008 */ jr $ra
|
||||
/* 012C4 80997564 00000000 */ nop
|
|
@ -1,24 +0,0 @@
|
|||
glabel func_80997568
|
||||
/* 012C8 80997568 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 012CC 8099756C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 012D0 80997570 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 012D4 80997574 8082016F */ lb $v0, 0x016F($a0) ## 0000016F
|
||||
/* 012D8 80997578 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 012DC 8099757C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 012E0 80997580 2843001F */ slti $v1, $v0, 0x001F
|
||||
/* 012E4 80997584 38630001 */ xori $v1, $v1, 0x0001 ## $v1 = 00000001
|
||||
/* 012E8 80997588 244E0001 */ addiu $t6, $v0, 0x0001 ## $t6 = 00000001
|
||||
/* 012EC 8099758C 10600008 */ beq $v1, $zero, .L809975B0
|
||||
/* 012F0 80997590 A08E016F */ sb $t6, 0x016F($a0) ## 0000016F
|
||||
/* 012F4 80997594 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 012F8 80997598 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
/* 012FC 8099759C 0C00B7D5 */ jal func_8002DF54
|
||||
/* 01300 809975A0 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 01304 809975A4 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 01308 809975A8 0C2658AB */ jal func_809962AC
|
||||
/* 0130C 809975AC 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
.L809975B0:
|
||||
/* 01310 809975B0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01314 809975B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 01318 809975B8 03E00008 */ jr $ra
|
||||
/* 0131C 809975BC 00000000 */ nop
|
|
@ -1,66 +0,0 @@
|
|||
glabel func_809975C0
|
||||
/* 01320 809975C0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 01324 809975C4 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 01328 809975C8 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 0132C 809975CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01330 809975D0 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 01334 809975D4 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 01338 809975D8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 0133C 809975DC 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
|
||||
/* 01340 809975E0 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 01344 809975E4 44060000 */ mfc1 $a2, $f0
|
||||
/* 01348 809975E8 44070000 */ mfc1 $a3, $f0
|
||||
/* 0134C 809975EC 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 01350 809975F0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 01354 809975F4 0C00B92D */ jal func_8002E4B4
|
||||
/* 01358 809975F8 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 0135C 809975FC 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
|
||||
/* 01360 80997600 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01364 80997604 3C058099 */ lui $a1, %hi(func_809976B8) ## $a1 = 80990000
|
||||
/* 01368 80997608 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
|
||||
/* 0136C 8099760C 53000026 */ beql $t8, $zero, .L809976A8
|
||||
/* 01370 80997610 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 01374 80997614 0C2658A8 */ jal func_809962A0
|
||||
/* 01378 80997618 24A576B8 */ addiu $a1, $a1, %lo(func_809976B8) ## $a1 = 809976B8
|
||||
/* 0137C 8099761C 3C198016 */ lui $t9, %hi(gSaveContext+0xee2)
|
||||
/* 01380 80997620 9739F542 */ lhu $t9, %lo(gSaveContext+0xee2)($t9)
|
||||
/* 01384 80997624 240A000A */ addiu $t2, $zero, 0x000A ## $t2 = 0000000A
|
||||
/* 01388 80997628 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000
|
||||
/* 0138C 8099762C 5500001E */ bnel $t0, $zero, .L809976A8
|
||||
/* 01390 80997630 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 01394 80997634 8E090118 */ lw $t1, 0x0118($s0) ## 00000118
|
||||
/* 01398 80997638 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0139C 8099763C 2405281D */ addiu $a1, $zero, 0x281D ## $a1 = 0000281D
|
||||
/* 013A0 80997640 AFA9003C */ sw $t1, 0x003C($sp)
|
||||
/* 013A4 80997644 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 013A8 80997648 A60A0164 */ sh $t2, 0x0164($s0) ## 00000164
|
||||
/* 013AC 8099764C 8FAB003C */ lw $t3, 0x003C($sp)
|
||||
/* 013B0 80997650 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 013B4 80997654 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
|
||||
/* 013B8 80997658 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 013BC 8099765C 0C26600F */ jal func_8099803C
|
||||
/* 013C0 80997660 856701BC */ lh $a3, 0x01BC($t3) ## 000001BC
|
||||
/* 013C4 80997664 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 013C8 80997668 44812000 */ mtc1 $at, $f4 ## $f4 = 8.00
|
||||
/* 013CC 8099766C 240C0014 */ addiu $t4, $zero, 0x0014 ## $t4 = 00000014
|
||||
/* 013D0 80997670 240D01F4 */ addiu $t5, $zero, 0x01F4 ## $t5 = 000001F4
|
||||
/* 013D4 80997674 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
|
||||
/* 013D8 80997678 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 013DC 8099767C AFAF0020 */ sw $t7, 0x0020($sp)
|
||||
/* 013E0 80997680 AFAE001C */ sw $t6, 0x001C($sp)
|
||||
/* 013E4 80997684 AFAD0018 */ sw $t5, 0x0018($sp)
|
||||
/* 013E8 80997688 AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 013EC 8099768C 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 013F0 80997690 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 013F4 80997694 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
|
||||
/* 013F8 80997698 3C07428C */ lui $a3, 0x428C ## $a3 = 428C0000
|
||||
/* 013FC 8099769C 0C00CC98 */ jal func_80033260
|
||||
/* 01400 809976A0 E7A40014 */ swc1 $f4, 0x0014($sp)
|
||||
/* 01404 809976A4 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L809976A8:
|
||||
/* 01408 809976A8 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 0140C 809976AC 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 01410 809976B0 03E00008 */ jr $ra
|
||||
/* 01414 809976B4 00000000 */ nop
|
|
@ -1,38 +0,0 @@
|
|||
glabel func_809976B8
|
||||
/* 01418 809976B8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0141C 809976BC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01420 809976C0 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 01424 809976C4 84820164 */ lh $v0, 0x0164($a0) ## 00000164
|
||||
/* 01428 809976C8 1040001A */ beq $v0, $zero, .L80997734
|
||||
/* 0142C 809976CC 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 01430 809976D0 A48E0164 */ sh $t6, 0x0164($a0) ## 00000164
|
||||
/* 01434 809976D4 848F0164 */ lh $t7, 0x0164($a0) ## 00000164
|
||||
/* 01438 809976D8 3C01437A */ lui $at, 0x437A ## $at = 437A0000
|
||||
/* 0143C 809976DC 44814000 */ mtc1 $at, $f8 ## $f8 = 250.00
|
||||
/* 01440 809976E0 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
|
||||
/* 01444 809976E4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 01448 809976E8 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00
|
||||
/* 0144C 809976EC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 01450 809976F0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 01454 809976F4 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 01458 809976F8 0C0400A4 */ jal sinf
|
||||
|
||||
/* 0145C 809976FC 46105303 */ div.s $f12, $f10, $f16
|
||||
/* 01460 80997700 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 01464 80997704 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 01468 80997708 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
|
||||
/* 0146C 8099770C 84980164 */ lh $t8, 0x0164($a0) ## 00000164
|
||||
/* 01470 80997710 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 01474 80997714 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00
|
||||
/* 01478 80997718 44989000 */ mtc1 $t8, $f18 ## $f18 = 0.00
|
||||
/* 0147C 8099771C 00000000 */ nop
|
||||
/* 01480 80997720 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 01484 80997724 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 01488 80997728 460A4403 */ div.s $f16, $f8, $f10
|
||||
/* 0148C 8099772C 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* 01490 80997730 E49200BC */ swc1 $f18, 0x00BC($a0) ## 000000BC
|
||||
.L80997734:
|
||||
/* 01494 80997734 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01498 80997738 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0149C 8099773C 03E00008 */ jr $ra
|
||||
/* 014A0 80997740 00000000 */ nop
|
|
@ -1,57 +0,0 @@
|
|||
.rdata
|
||||
glabel D_809982F0
|
||||
.asciz "FHG SAKU START !!\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80998304
|
||||
.asciz "FHG SAKU END !!\n"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80997744
|
||||
/* 014A4 80997744 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 014A8 80997748 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 014AC 8099774C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 014B0 80997750 3C04809A */ lui $a0, %hi(D_809982F0) ## $a0 = 809A0000
|
||||
/* 014B4 80997754 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 014B8 80997758 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 014BC 8099775C 248482F0 */ addiu $a0, $a0, %lo(D_809982F0) ## $a0 = 809982F0
|
||||
/* 014C0 80997760 8FA30020 */ lw $v1, 0x0020($sp)
|
||||
/* 014C4 80997764 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
|
||||
/* 014C8 80997768 84620164 */ lh $v0, 0x0164($v1) ## 00000164
|
||||
/* 014CC 8099776C 10400003 */ beq $v0, $zero, .L8099777C
|
||||
/* 014D0 80997770 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 014D4 80997774 A46E0164 */ sh $t6, 0x0164($v1) ## 00000164
|
||||
/* 014D8 80997778 84620164 */ lh $v0, 0x0164($v1) ## 00000164
|
||||
.L8099777C:
|
||||
/* 014DC 8099777C 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
|
||||
/* 014E0 80997780 51E00005 */ beql $t7, $zero, .L80997798
|
||||
/* 014E4 80997784 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 014E8 80997788 44810000 */ mtc1 $at, $f0 ## $f0 = -3.00
|
||||
/* 014EC 8099778C 10000004 */ beq $zero, $zero, .L809977A0
|
||||
/* 014F0 80997790 3C01C208 */ lui $at, 0xC208 ## $at = C2080000
|
||||
/* 014F4 80997794 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
.L80997798:
|
||||
/* 014F8 80997798 00000000 */ nop
|
||||
/* 014FC 8099779C 3C01C208 */ lui $at, 0xC208 ## $at = C2080000
|
||||
.L809977A0:
|
||||
/* 01500 809977A0 44812000 */ mtc1 $at, $f4 ## $f4 = -34.00
|
||||
/* 01504 809977A4 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 01508 809977A8 24640028 */ addiu $a0, $v1, 0x0028 ## $a0 = 00000028
|
||||
/* 0150C 809977AC 46002180 */ add.s $f6, $f4, $f0
|
||||
/* 01510 809977B0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 01514 809977B4 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
|
||||
/* 01518 809977B8 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 0151C 809977BC 44053000 */ mfc1 $a1, $f6
|
||||
/* 01520 809977C0 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
|
||||
|
||||
/* 01524 809977C4 00000000 */ nop
|
||||
/* 01528 809977C8 3C04809A */ lui $a0, %hi(D_80998304) ## $a0 = 809A0000
|
||||
/* 0152C 809977CC 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 01530 809977D0 24848304 */ addiu $a0, $a0, %lo(D_80998304) ## $a0 = 80998304
|
||||
/* 01534 809977D4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01538 809977D8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 0153C 809977DC 03E00008 */ jr $ra
|
||||
/* 01540 809977E0 00000000 */ nop
|
|
@ -1,151 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80998318
|
||||
.asciz "../z_door_shutter.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80998394
|
||||
.float 0.01
|
||||
|
||||
glabel D_80998398
|
||||
.word 0x44542148
|
||||
glabel D_8099839C
|
||||
.word 0x3F490FDB
|
||||
glabel D_809983A0
|
||||
.word 0x44777C29
|
||||
|
||||
.text
|
||||
glabel func_80997838
|
||||
/* 01598 80997838 27BDFF38 */ addiu $sp, $sp, 0xFF38 ## $sp = FFFFFF38
|
||||
/* 0159C 8099783C AFBF006C */ sw $ra, 0x006C($sp)
|
||||
/* 015A0 80997840 AFBE0068 */ sw $s8, 0x0068($sp)
|
||||
/* 015A4 80997844 AFB70064 */ sw $s7, 0x0064($sp)
|
||||
/* 015A8 80997848 AFB60060 */ sw $s6, 0x0060($sp)
|
||||
/* 015AC 8099784C AFB5005C */ sw $s5, 0x005C($sp)
|
||||
/* 015B0 80997850 AFB40058 */ sw $s4, 0x0058($sp)
|
||||
/* 015B4 80997854 AFB30054 */ sw $s3, 0x0054($sp)
|
||||
/* 015B8 80997858 AFB20050 */ sw $s2, 0x0050($sp)
|
||||
/* 015BC 8099785C AFB1004C */ sw $s1, 0x004C($sp)
|
||||
/* 015C0 80997860 AFB00048 */ sw $s0, 0x0048($sp)
|
||||
/* 015C4 80997864 F7BE0040 */ sdc1 $f30, 0x0040($sp)
|
||||
/* 015C8 80997868 F7BC0038 */ sdc1 $f28, 0x0038($sp)
|
||||
/* 015CC 8099786C F7BA0030 */ sdc1 $f26, 0x0030($sp)
|
||||
/* 015D0 80997870 F7B80028 */ sdc1 $f24, 0x0028($sp)
|
||||
/* 015D4 80997874 F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 015D8 80997878 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 015DC 8099787C AFA400C8 */ sw $a0, 0x00C8($sp)
|
||||
/* 015E0 80997880 AFA500CC */ sw $a1, 0x00CC($sp)
|
||||
/* 015E4 80997884 84AF0166 */ lh $t7, 0x0166($a1) ## 00000166
|
||||
/* 015E8 80997888 3C01809A */ lui $at, %hi(D_80998394) ## $at = 809A0000
|
||||
/* 015EC 8099788C C4288394 */ lwc1 $f8, %lo(D_80998394)($at)
|
||||
/* 015F0 80997890 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
|
||||
/* 015F4 80997894 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
|
||||
/* 015F8 80997898 00C09025 */ or $s2, $a2, $zero ## $s2 = 00000000
|
||||
/* 015FC 8099789C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 01600 809978A0 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFC0
|
||||
/* 01604 809978A4 4600A586 */ mov.s $f22, $f20
|
||||
/* 01608 809978A8 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 0160C 809978AC 0C034236 */ jal Matrix_Get
|
||||
/* 01610 809978B0 E7AA0080 */ swc1 $f10, 0x0080($sp)
|
||||
/* 01614 809978B4 3C01809A */ lui $at, %hi(D_80998398) ## $at = 809A0000
|
||||
/* 01618 809978B8 C43E8398 */ lwc1 $f30, %lo(D_80998398)($at)
|
||||
/* 0161C 809978BC 3C01809A */ lui $at, %hi(D_8099839C) ## $at = 809A0000
|
||||
/* 01620 809978C0 C43C839C */ lwc1 $f28, %lo(D_8099839C)($at)
|
||||
/* 01624 809978C4 3C014448 */ lui $at, 0x4448 ## $at = 44480000
|
||||
/* 01628 809978C8 4481D000 */ mtc1 $at, $f26 ## $f26 = 800.00
|
||||
/* 0162C 809978CC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 01630 809978D0 3C13809A */ lui $s3, %hi(D_809982B4) ## $s3 = 809A0000
|
||||
/* 01634 809978D4 3C16809A */ lui $s6, %hi(D_80998318) ## $s6 = 809A0000
|
||||
/* 01638 809978D8 3C15DA38 */ lui $s5, 0xDA38 ## $s5 = DA380000
|
||||
/* 0163C 809978DC 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00
|
||||
/* 01640 809978E0 36B50003 */ ori $s5, $s5, 0x0003 ## $s5 = DA380003
|
||||
/* 01644 809978E4 26D68318 */ addiu $s6, $s6, %lo(D_80998318) ## $s6 = 80998318
|
||||
/* 01648 809978E8 267382B4 */ addiu $s3, $s3, %lo(D_809982B4) ## $s3 = 809982B4
|
||||
/* 0164C 809978EC 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
|
||||
/* 01650 809978F0 241E0008 */ addiu $s8, $zero, 0x0008 ## $s8 = 00000008
|
||||
/* 01654 809978F4 3C17DE00 */ lui $s7, 0xDE00 ## $s7 = DE000000
|
||||
/* 01658 809978F8 24140064 */ addiu $s4, $zero, 0x0064 ## $s4 = 00000064
|
||||
.L809978FC:
|
||||
/* 0165C 809978FC 4600B306 */ mov.s $f12, $f22
|
||||
/* 01660 80997900 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 01664 80997904 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 01668 80997908 32380001 */ andi $t8, $s1, 0x0001 ## $t8 = 00000000
|
||||
/* 0166C 8099790C 17000008 */ bne $t8, $zero, .L80997930
|
||||
/* 01670 80997910 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 01674 80997914 4406A000 */ mfc1 $a2, $f20
|
||||
/* 01678 80997918 4600A306 */ mov.s $f12, $f20
|
||||
/* 0167C 8099791C 4600D386 */ mov.s $f14, $f26
|
||||
/* 01680 80997920 0C034261 */ jal Matrix_Translate
|
||||
/* 01684 80997924 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01688 80997928 10000013 */ beq $zero, $zero, .L80997978
|
||||
/* 0168C 8099792C 8FB900CC */ lw $t9, 0x00CC($sp)
|
||||
.L80997930:
|
||||
/* 01690 80997930 12210004 */ beq $s1, $at, .L80997944
|
||||
/* 01694 80997934 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01698 80997938 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
||||
/* 0169C 8099793C 16210007 */ bne $s1, $at, .L8099795C
|
||||
/* 016A0 80997940 00000000 */ nop
|
||||
.L80997944:
|
||||
/* 016A4 80997944 4406A000 */ mfc1 $a2, $f20
|
||||
/* 016A8 80997948 4600A306 */ mov.s $f12, $f20
|
||||
/* 016AC 8099794C 0C034261 */ jal Matrix_Translate
|
||||
/* 016B0 80997950 4600F386 */ mov.s $f14, $f30
|
||||
/* 016B4 80997954 10000008 */ beq $zero, $zero, .L80997978
|
||||
/* 016B8 80997958 8FB900CC */ lw $t9, 0x00CC($sp)
|
||||
.L8099795C:
|
||||
/* 016BC 8099795C 3C01809A */ lui $at, %hi(D_809983A0) ## $at = 809A0000
|
||||
/* 016C0 80997960 4406A000 */ mfc1 $a2, $f20
|
||||
/* 016C4 80997964 C42E83A0 */ lwc1 $f14, %lo(D_809983A0)($at)
|
||||
/* 016C8 80997968 4600A306 */ mov.s $f12, $f20
|
||||
/* 016CC 8099796C 0C034261 */ jal Matrix_Translate
|
||||
/* 016D0 80997970 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 016D4 80997974 8FB900CC */ lw $t9, 0x00CC($sp)
|
||||
.L80997978:
|
||||
/* 016D8 80997978 C7AE0080 */ lwc1 $f14, 0x0080($sp)
|
||||
/* 016DC 8099797C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 016E0 80997980 87280166 */ lh $t0, 0x0166($t9) ## 00000166
|
||||
/* 016E4 80997984 52880005 */ beql $s4, $t0, .L8099799C
|
||||
/* 016E8 80997988 02408025 */ or $s0, $s2, $zero ## $s0 = 00000000
|
||||
/* 016EC 8099798C 4406C000 */ mfc1 $a2, $f24
|
||||
/* 016F0 80997990 0C0342A3 */ jal Matrix_Scale
|
||||
/* 016F4 80997994 4600C306 */ mov.s $f12, $f24
|
||||
/* 016F8 80997998 02408025 */ or $s0, $s2, $zero ## $s0 = 00000000
|
||||
.L8099799C:
|
||||
/* 016FC 8099799C AE150000 */ sw $s5, 0x0000($s0) ## 00000000
|
||||
/* 01700 809979A0 8FA900C8 */ lw $t1, 0x00C8($sp)
|
||||
/* 01704 809979A4 26520008 */ addiu $s2, $s2, 0x0008 ## $s2 = 00000008
|
||||
/* 01708 809979A8 02C02825 */ or $a1, $s6, $zero ## $a1 = 80998318
|
||||
/* 0170C 809979AC 240607C7 */ addiu $a2, $zero, 0x07C7 ## $a2 = 000007C7
|
||||
/* 01710 809979B0 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 01714 809979B4 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
|
||||
/* 01718 809979B8 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
|
||||
/* 0171C 809979BC 02401025 */ or $v0, $s2, $zero ## $v0 = 00000008
|
||||
/* 01720 809979C0 AC570000 */ sw $s7, 0x0000($v0) ## 00000008
|
||||
/* 01724 809979C4 8E6A0000 */ lw $t2, 0x0000($s3) ## 809982B4
|
||||
/* 01728 809979C8 26520008 */ addiu $s2, $s2, 0x0008 ## $s2 = 00000010
|
||||
/* 0172C 809979CC 461CB581 */ sub.s $f22, $f22, $f28
|
||||
/* 01730 809979D0 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFC0
|
||||
/* 01734 809979D4 0C03423F */ jal Matrix_Put
|
||||
/* 01738 809979D8 AC4A0004 */ sw $t2, 0x0004($v0) ## 0000000C
|
||||
/* 0173C 809979DC 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
|
||||
/* 01740 809979E0 163EFFC6 */ bne $s1, $s8, .L809978FC
|
||||
/* 01744 809979E4 26730004 */ addiu $s3, $s3, 0x0004 ## $s3 = 809982B8
|
||||
/* 01748 809979E8 8FBF006C */ lw $ra, 0x006C($sp)
|
||||
/* 0174C 809979EC 02401025 */ or $v0, $s2, $zero ## $v0 = 00000010
|
||||
/* 01750 809979F0 8FB20050 */ lw $s2, 0x0050($sp)
|
||||
/* 01754 809979F4 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 01758 809979F8 D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 0175C 809979FC D7B80028 */ ldc1 $f24, 0x0028($sp)
|
||||
/* 01760 80997A00 D7BA0030 */ ldc1 $f26, 0x0030($sp)
|
||||
/* 01764 80997A04 D7BC0038 */ ldc1 $f28, 0x0038($sp)
|
||||
/* 01768 80997A08 D7BE0040 */ ldc1 $f30, 0x0040($sp)
|
||||
/* 0176C 80997A0C 8FB00048 */ lw $s0, 0x0048($sp)
|
||||
/* 01770 80997A10 8FB1004C */ lw $s1, 0x004C($sp)
|
||||
/* 01774 80997A14 8FB30054 */ lw $s3, 0x0054($sp)
|
||||
/* 01778 80997A18 8FB40058 */ lw $s4, 0x0058($sp)
|
||||
/* 0177C 80997A1C 8FB5005C */ lw $s5, 0x005C($sp)
|
||||
/* 01780 80997A20 8FB60060 */ lw $s6, 0x0060($sp)
|
||||
/* 01784 80997A24 8FB70064 */ lw $s7, 0x0064($sp)
|
||||
/* 01788 80997A28 8FBE0068 */ lw $s8, 0x0068($sp)
|
||||
/* 0178C 80997A2C 03E00008 */ jr $ra
|
||||
/* 01790 80997A30 27BD00C8 */ addiu $sp, $sp, 0x00C8 ## $sp = 00000000
|
|
@ -1,50 +0,0 @@
|
|||
glabel func_80997A34
|
||||
/* 01794 80997A34 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 01798 80997A38 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0179C 80997A3C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 017A0 80997A40 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 017A4 80997A44 0C023A62 */ jal Player_InCsMode
|
||||
/* 017A8 80997A48 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 017AC 80997A4C 10400003 */ beq $v0, $zero, .L80997A5C
|
||||
/* 017B0 80997A50 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 017B4 80997A54 1000001E */ beq $zero, $zero, .L80997AD0
|
||||
/* 017B8 80997A58 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80997A5C:
|
||||
/* 017BC 80997A5C 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 017C0 80997A60 0C00B6B0 */ jal func_8002DAC0
|
||||
/* 017C4 80997A64 24A500E0 */ addiu $a1, $a1, 0x00E0 ## $a1 = 000000E0
|
||||
/* 017C8 80997A68 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 017CC 80997A6C 85C300B6 */ lh $v1, 0x00B6($t6) ## 000000B6
|
||||
/* 017D0 80997A70 85CF008A */ lh $t7, 0x008A($t6) ## 0000008A
|
||||
/* 017D4 80997A74 00432023 */ subu $a0, $v0, $v1
|
||||
/* 017D8 80997A78 00042400 */ sll $a0, $a0, 16
|
||||
/* 017DC 80997A7C 01E32823 */ subu $a1, $t7, $v1
|
||||
/* 017E0 80997A80 00042403 */ sra $a0, $a0, 16
|
||||
/* 017E4 80997A84 00052C00 */ sll $a1, $a1, 16
|
||||
/* 017E8 80997A88 04810002 */ bgez $a0, .L80997A94
|
||||
/* 017EC 80997A8C 00052C03 */ sra $a1, $a1, 16
|
||||
/* 017F0 80997A90 00042023 */ subu $a0, $zero, $a0
|
||||
.L80997A94:
|
||||
/* 017F4 80997A94 04A30003 */ bgezl $a1, .L80997AA4
|
||||
/* 017F8 80997A98 28A14000 */ slti $at, $a1, 0x4000
|
||||
/* 017FC 80997A9C 00052823 */ subu $a1, $zero, $a1
|
||||
/* 01800 80997AA0 28A14000 */ slti $at, $a1, 0x4000
|
||||
.L80997AA4:
|
||||
/* 01804 80997AA4 10200002 */ beq $at, $zero, .L80997AB0
|
||||
/* 01808 80997AA8 28814001 */ slti $at, $a0, 0x4001
|
||||
/* 0180C 80997AAC 10200006 */ beq $at, $zero, .L80997AC8
|
||||
.L80997AB0:
|
||||
/* 01810 80997AB0 28A14001 */ slti $at, $a1, 0x4001
|
||||
/* 01814 80997AB4 14200006 */ bne $at, $zero, .L80997AD0
|
||||
/* 01818 80997AB8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 0181C 80997ABC 28814000 */ slti $at, $a0, 0x4000
|
||||
/* 01820 80997AC0 10200003 */ beq $at, $zero, .L80997AD0
|
||||
/* 01824 80997AC4 00000000 */ nop
|
||||
.L80997AC8:
|
||||
/* 01828 80997AC8 10000001 */ beq $zero, $zero, .L80997AD0
|
||||
/* 0182C 80997ACC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80997AD0:
|
||||
/* 01830 80997AD0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01834 80997AD4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 01838 80997AD8 03E00008 */ jr $ra
|
||||
/* 0183C 80997ADC 00000000 */ nop
|
|
@ -1,38 +0,0 @@
|
|||
glabel func_8099803C
|
||||
/* 01D9C 8099803C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 01DA0 80998040 AFA70034 */ sw $a3, 0x0034($sp)
|
||||
/* 01DA4 80998044 00073C00 */ sll $a3, $a3, 16
|
||||
/* 01DA8 80998048 00073C03 */ sra $a3, $a3, 16
|
||||
/* 01DAC 8099804C AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 01DB0 80998050 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 01DB4 80998054 00072C00 */ sll $a1, $a3, 16
|
||||
/* 01DB8 80998058 AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 01DBC 8099805C 0C030129 */ jal Gameplay_GetCamera
|
||||
/* 01DC0 80998060 00052C03 */ sra $a1, $a1, 16
|
||||
/* 01DC4 80998064 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
|
||||
/* 01DC8 80998068 0C024BE2 */ jal Quake_Add
|
||||
/* 01DCC 8099806C 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
||||
/* 01DD0 80998070 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 01DD4 80998074 A7A20026 */ sh $v0, 0x0026($sp)
|
||||
/* 01DD8 80998078 240500B4 */ addiu $a1, $zero, 0x00B4 ## $a1 = 000000B4
|
||||
/* 01DDC 8099807C 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 01DE0 80998080 0C02A7DB */ jal func_800A9F6C
|
||||
/* 01DE4 80998084 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
|
||||
/* 01DE8 80998088 87A40026 */ lh $a0, 0x0026($sp)
|
||||
/* 01DEC 8099808C 0C024B6B */ jal Quake_SetSpeed
|
||||
/* 01DF0 80998090 24054E20 */ addiu $a1, $zero, 0x4E20 ## $a1 = 00004E20
|
||||
/* 01DF4 80998094 87A40026 */ lh $a0, 0x0026($sp)
|
||||
/* 01DF8 80998098 87A5002E */ lh $a1, 0x002E($sp)
|
||||
/* 01DFC 8099809C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 01E00 809980A0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 01E04 809980A4 0C024B9C */ jal Quake_SetQuakeValues
|
||||
/* 01E08 809980A8 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 01E0C 809980AC 87A40026 */ lh $a0, 0x0026($sp)
|
||||
/* 01E10 809980B0 0C024B7C */ jal Quake_SetCountdown
|
||||
/* 01E14 809980B4 87A50032 */ lh $a1, 0x0032($sp)
|
||||
/* 01E18 809980B8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01E1C 809980BC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 01E20 809980C0 03E00008 */ jr $ra
|
||||
/* 01E24 809980C4 00000000 */ nop
|
||||
/* 01E28 809980C8 00000000 */ nop
|
||||
/* 01E2C 809980CC 00000000 */ nop
|
|
@ -1,38 +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 Door_Shutter_InitVars
|
||||
.word 0x002E0A00, 0x00000010, 0x00010000, 0x00000178
|
||||
.word DoorShutter_Init
|
||||
.word DoorShutter_Destroy
|
||||
.word DoorShutter_Update
|
||||
.word DoorShutter_Draw
|
||||
glabel D_809980F0
|
||||
.byte 0x00, 0x37
|
||||
glabel D_809980F2
|
||||
.byte 0x04, 0x04, 0x00, 0x1C, 0x05, 0x05, 0x00, 0x36, 0x00, 0x01, 0x00, 0x2B, 0x02, 0x02
|
||||
glabel D_80998100
|
||||
.word 0x00960303, 0x00010808, 0x00B00707, 0x00010808, 0x002C090A, 0x01390B0B, 0x016D0606, 0x00590C0D, 0x01870E0F, 0x006B1010, 0x004D1111, 0x01791212, 0x018F1313
|
||||
glabel D_80998134
|
||||
.word 0x060067A0, 0x0404B0D0, 0x820C140F, 0x06006910, 0x0404B0D0, 0x820C140F, 0x060000C0, 0x060001F0, 0xF00E460F, 0x06000590, 0x06006460, 0x006E320F, 0x06012AB0, 0x00000000, 0x820C320F, 0x0601EC20, 0x00000000, 0x820C320F, 0x06000100, 0x060001F0, 0xF00E320F, 0x060010C0, 0x00000000, 0x820C320F, 0x04049FE0, 0x0404B0D0, 0x820C140F, 0x06010CB0, 0x0404B0D0, 0x820C140F, 0x06011F20, 0x0404B0D0, 0x820C140F, 0x060000C0, 0x0404B0D0, 0x820C140F, 0x06005D90, 0x0404B0D0, 0x820C140F, 0x06007000, 0x0404B0D0, 0x820C140F, 0x06002620, 0x0404B0D0, 0x820C140F, 0x06003890, 0x0404B0D0, 0x820C140F, 0x06001D10, 0x0404B0D0, 0x820C140F, 0x060010D0, 0x0404B0D0, 0x820C140F, 0x060020D0, 0x0404B0D0, 0x820C140F, 0x060000C0, 0x0404B0D0, 0x820C140F
|
||||
glabel D_80998224
|
||||
.word 0xFFFFFFFF, 0x000601FF, 0x00FFFFFF
|
||||
glabel D_80998230
|
||||
.word 0xC0500001, 0xB0F40FA0, 0xB0F80064, 0x30FC0190
|
||||
glabel D_80998240
|
||||
.word 0x00000200, 0x00010300, 0x00120300, 0x00020400, 0x00030500, 0x00040800, 0x000A0900, 0x00190900, 0x00060A00, 0x00170A00, 0x00050B00, 0x00070C00, 0x00080C00, 0x00090D00, 0x000B0E00, 0x000D0F00, 0x00411000, 0xFFFF0700
|
||||
glabel D_80998288
|
||||
.word 0x00040015, 0x01000005, 0x00160200, 0x00070018, 0x0300000A, 0x00190400, 0x00030014, 0x05000006, 0x00170600, 0xFFFFFFFF, 0x00000000
|
||||
glabel D_809982B4
|
||||
.word 0x06000590, 0x06000BF0, 0x06002BD0, 0x060018B0, 0x06001F10, 0x060018B0, 0x06001250, 0x06000BF0
|
||||
glabel D_809982D4
|
||||
.word 0x060065C0, 0x060035C0, 0x060055C0, 0x060045C0, 0x06000000, 0x060025C0, 0x060015C0
|
||||
|
|
@ -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_809983C0
|
||||
.incbin "baserom/ovl_Door_Shutter", 0x2120, 0x00000260
|
|
@ -43,6 +43,7 @@
|
|||
#define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg))
|
||||
|
||||
#define CHECK_QUEST_ITEM(item) (gBitFlags[item] & gSaveContext.inventory.questItems)
|
||||
#define CHECK_DUNGEON_ITEM(item, dungeonIndex) (gSaveContext.inventory.dungeonItems[dungeonIndex] & gBitFlags[item])
|
||||
|
||||
#define B_BTN_ITEM ((gSaveContext.buttonStatus[0] == ITEM_NONE) \
|
||||
? ITEM_NONE \
|
||||
|
|
3
spec
3
spec
|
@ -1616,8 +1616,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Door_Shutter"
|
||||
include "build/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.o"
|
||||
include "build/data/overlays/actors/z_door_shutter.data.o"
|
||||
include "build/data/overlays/actors/z_door_shutter.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Door_Shutter/ovl_Door_Shutter_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -22,8 +22,8 @@ u32 ElfMessage_CheckCondition(ElfMessage* msg) {
|
|||
flag = 1 << (msg->byte1 & 0x0F);
|
||||
return ((msg->byte0 & 1) == 1) == ((flag & gSaveContext.eventChkInf[(msg->byte1 & 0xF0) >> 4]) != 0);
|
||||
case 2:
|
||||
return ((msg->byte0 & 1) == 1) == ((gSaveContext.inventory.dungeonItems[gSaveContext.mapIndex] &
|
||||
gBitFlags[msg->byte1 - ITEM_KEY_BOSS]) != 0);
|
||||
return ((msg->byte0 & 1) == 1) ==
|
||||
(CHECK_DUNGEON_ITEM(msg->byte1 - ITEM_KEY_BOSS, gSaveContext.mapIndex) != 0);
|
||||
case 4:
|
||||
return ((msg->byte0 & 1) == 1) == (msg->byte3 == INV_CONTENT(msg->byte1));
|
||||
case 6:
|
||||
|
|
|
@ -46,7 +46,7 @@ void Map_SetFloorPalettesData(GlobalContext* globalCtx, s16 floor) {
|
|||
interfaceCtx->unk_140[i + 16] = 0;
|
||||
}
|
||||
|
||||
if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) {
|
||||
if (CHECK_DUNGEON_ITEM(DUNGEON_MAP, mapIndex)) {
|
||||
interfaceCtx->unk_140[30] = 0;
|
||||
interfaceCtx->unk_140[31] = 1;
|
||||
}
|
||||
|
@ -383,7 +383,7 @@ void Minimap_Draw(GlobalContext* globalCtx) {
|
|||
gDPSetCombineLERP(OVERLAY_DISP++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE, 0,
|
||||
TEXEL0, 0, PRIMITIVE, 0);
|
||||
|
||||
if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) {
|
||||
if (CHECK_DUNGEON_ITEM(DUNGEON_MAP, mapIndex)) {
|
||||
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 100, 255, 255, interfaceCtx->minimapAlpha);
|
||||
|
||||
gDPLoadTextureBlock_4b(OVERLAY_DISP++, interfaceCtx->mapSegment, G_IM_FMT_I, 96, 85, 0,
|
||||
|
@ -395,7 +395,7 @@ void Minimap_Draw(GlobalContext* globalCtx) {
|
|||
0, 0, 1024, 1024);
|
||||
}
|
||||
|
||||
if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_COMPASS]) {
|
||||
if (CHECK_DUNGEON_ITEM(DUNGEON_COMPASS, mapIndex)) {
|
||||
Minimap_DrawCompassIcons(globalCtx); // Draw icons for the player spawn and current position
|
||||
func_80094520(globalCtx->state.gfxCtx);
|
||||
MapMark_DrawConditionally(globalCtx);
|
||||
|
@ -524,7 +524,7 @@ void Map_Update(GlobalContext* globalCtx) {
|
|||
case SCENE_HAKADANCH:
|
||||
case SCENE_ICE_DOUKUTO:
|
||||
interfaceCtx->unk_140[30] = 0;
|
||||
if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) {
|
||||
if (CHECK_DUNGEON_ITEM(DUNGEON_MAP, mapIndex)) {
|
||||
interfaceCtx->unk_140[31] = 1;
|
||||
} else {
|
||||
interfaceCtx->unk_140[31] = 0;
|
||||
|
|
|
@ -108,7 +108,7 @@ void func_80889ACC(BgHidanKousi* this) {
|
|||
void func_80889B5C(BgHidanKousi* this, GlobalContext* globalCtx) {
|
||||
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0xFF)) {
|
||||
BgHidanKousi_SetupAction(this, func_80889BC0);
|
||||
func_80080480(globalCtx, this);
|
||||
func_80080480(globalCtx, &this->dyna.actor);
|
||||
this->unk_168 = 0xC8;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@ void func_80891CF4(BgIceShutter* this, GlobalContext* globalCtx) {
|
|||
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.posRot.pos, 30, NA_SE_EV_SLIDE_DOOR_OPEN);
|
||||
this->actionFunc = func_80891DD4;
|
||||
if (this->dyna.actor.shape.rot.x == 0) {
|
||||
func_80080480(globalCtx, this);
|
||||
func_80080480(globalCtx, &this->dyna.actor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ void func_80891D6C(BgIceShutter* this, GlobalContext* globalCtx) {
|
|||
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params)) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.posRot.pos, 30, NA_SE_EV_SLIDE_DOOR_OPEN);
|
||||
this->actionFunc = func_80891DD4;
|
||||
func_80080480(globalCtx, this);
|
||||
func_80080480(globalCtx, &this->dyna.actor);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ void func_808AE5B4(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
|||
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, &thisx->posRot.pos, 30, NA_SE_EV_METALDOOR_CLOSE);
|
||||
Actor_SetHeight(thisx, 50.0f);
|
||||
func_80080480(globalCtx, thisx);
|
||||
func_80080480(globalCtx, &this->dyna.actor);
|
||||
this->actionFunc = func_808AE630;
|
||||
thisx->speedXZ = 0.5f;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,9 @@ struct BossGoma;
|
|||
|
||||
typedef struct BossGoma {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x9D0];
|
||||
/* 0x014C */ char unk_14C[0x70];
|
||||
/* 0x01BC */ s16 subCameraId;
|
||||
/* 0x01BE */ char unk_1BE[0x95E];
|
||||
} BossGoma; // size = 0x0B1C
|
||||
|
||||
extern const ActorInit Boss_Goma_InitVars;
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
/*
|
||||
* File: z_door_shutter.c
|
||||
* Overlay: ovl_Door_Shutter
|
||||
* Description: Sliding doors, Phantom Ganon room bars, Gohma room rock slab
|
||||
*/
|
||||
|
||||
#include "z_door_shutter.h"
|
||||
#include "overlays/actors/ovl_Boss_Goma/z_boss_goma.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
|
@ -9,7 +16,22 @@ void DoorShutter_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void DoorShutter_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void DoorShutter_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void func_8099803C(GlobalContext* globalCtx, s16 y, s16 countdown, s16 arg3);
|
||||
void DoorShutter_SetupType(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80996A54(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80996B00(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80996B0C(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80996EE8(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80996F98(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80997004(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80997150(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_809973E8(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80997528(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80997568(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_809975C0(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_809976B8(DoorShutter* this, GlobalContext* globalCtx);
|
||||
void func_80997744(DoorShutter* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Door_Shutter_InitVars = {
|
||||
ACTOR_DOOR_SHUTTER,
|
||||
ACTORTYPE_DOOR,
|
||||
|
@ -21,61 +43,689 @@ const ActorInit Door_Shutter_InitVars = {
|
|||
(ActorFunc)DoorShutter_Update,
|
||||
(ActorFunc)DoorShutter_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_809962A0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_809962AC.s")
|
||||
typedef struct {
|
||||
s16 objectId;
|
||||
u8 index1;
|
||||
u8 index2;
|
||||
} ShutterObjectInfo;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/DoorShutter_Init.s")
|
||||
static ShutterObjectInfo D_809980F0[] = {
|
||||
{ OBJECT_GND, 4, 4 },
|
||||
{ OBJECT_GOMA, 5, 5 },
|
||||
{ OBJECT_YDAN_OBJECTS, 0, 1 },
|
||||
{ OBJECT_DDAN_OBJECTS, 2, 2 },
|
||||
{ OBJECT_BDAN_OBJECTS, 3, 3 },
|
||||
{ OBJECT_GAMEPLAY_KEEP, 8, 8 },
|
||||
{ OBJECT_BDOOR, 7, 7 },
|
||||
{ OBJECT_GAMEPLAY_KEEP, 8, 8 },
|
||||
{ OBJECT_HIDAN_OBJECTS, 9, 10 },
|
||||
{ OBJECT_GANON_OBJECTS, 11, 11 },
|
||||
{ OBJECT_JYA_DOOR, 6, 6 },
|
||||
{ OBJECT_MIZU_OBJECTS, 12, 13 },
|
||||
{ OBJECT_HAKA_DOOR, 14, 15 },
|
||||
{ OBJECT_ICE_OBJECTS, 16, 16 },
|
||||
{ OBJECT_MENKURI_OBJECTS, 17, 17 },
|
||||
{ OBJECT_DEMO_KEKKAI, 18, 18 },
|
||||
{ OBJECT_OUKE_HAKA, 19, 19 },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/DoorShutter_Destroy.s")
|
||||
typedef struct {
|
||||
/* 0x0000 */ Gfx* a;
|
||||
/* 0x0004 */ Gfx* b;
|
||||
/* 0x0008 */ u8 c;
|
||||
/* 0x0009 */ u8 translateZ;
|
||||
/* 0x000A */ u8 e;
|
||||
/* 0x000B */ u8 f;
|
||||
} ShutterInfo;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_8099670C.s")
|
||||
static ShutterInfo D_80998134[] = {
|
||||
{ 0x060067A0, 0x0404B0D0, 130, 12, 20, 15 }, { 0x06006910, 0x0404B0D0, 130, 12, 20, 15 },
|
||||
{ 0x060000C0, 0x060001F0, 240, 14, 70, 15 }, { 0x06000590, 0x06006460, 0, 110, 50, 15 },
|
||||
{ 0x06012AB0, NULL, 130, 12, 50, 15 }, { 0x0601EC20, NULL, 130, 12, 50, 15 },
|
||||
{ 0x06000100, 0x060001F0, 240, 14, 50, 15 }, { 0x060010C0, NULL, 130, 12, 50, 15 },
|
||||
{ 0x04049FE0, 0x0404B0D0, 130, 12, 20, 15 }, { 0x06010CB0, 0x0404B0D0, 130, 12, 20, 15 },
|
||||
{ 0x06011F20, 0x0404B0D0, 130, 12, 20, 15 }, { 0x060000C0, 0x0404B0D0, 130, 12, 20, 15 },
|
||||
{ 0x06005D90, 0x0404B0D0, 130, 12, 20, 15 }, { 0x06007000, 0x0404B0D0, 130, 12, 20, 15 },
|
||||
{ 0x06002620, 0x0404B0D0, 130, 12, 20, 15 }, { 0x06003890, 0x0404B0D0, 130, 12, 20, 15 },
|
||||
{ 0x06001D10, 0x0404B0D0, 130, 12, 20, 15 }, { 0x060010D0, 0x0404B0D0, 130, 12, 20, 15 },
|
||||
{ 0x060020D0, 0x0404B0D0, 130, 12, 20, 15 }, { 0x060000C0, 0x0404B0D0, 130, 12, 20, 15 },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996840.s")
|
||||
static s8 D_80998224[] = {
|
||||
-1, -1, -1, -1, 0, 6, 1, -1, 0, -1, -1, -1,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_809968D4.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F(scale, 1, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 100, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 400, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996A54.s")
|
||||
typedef struct {
|
||||
s16 sceneNum;
|
||||
u8 index;
|
||||
} ShutterSceneInfo;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996B00.s")
|
||||
static ShutterSceneInfo D_80998240[] = {
|
||||
{ SCENE_YDAN, 0x02 }, { SCENE_DDAN, 0x03 }, { SCENE_DDAN_BOSS, 0x03 },
|
||||
{ SCENE_BDAN, 0x04 }, { SCENE_BMORI1, 0x05 }, { SCENE_HIDAN, 0x08 },
|
||||
{ SCENE_GANON, 0x09 }, { SCENE_GANON_BOSS, 0x09 }, { SCENE_JYASINZOU, 0x0A },
|
||||
{ SCENE_JYASINBOSS, 0x0A }, { SCENE_MIZUSIN, 0x0B }, { SCENE_HAKADAN, 0x0C },
|
||||
{ SCENE_HAKADANCH, 0x0C }, { SCENE_ICE_DOUKUTO, 0x0D }, { SCENE_MEN, 0x0E },
|
||||
{ SCENE_GANONTIKA, 0x0F }, { SCENE_HAKAANA_OUKE, 0x10 }, { -1, 0x07 },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996B0C.s")
|
||||
typedef struct {
|
||||
s16 dungeonScene;
|
||||
s16 bossScene;
|
||||
u8 index;
|
||||
} BossDoorInfo;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996C60.s")
|
||||
static BossDoorInfo D_80998288[] = {
|
||||
{ SCENE_HIDAN, SCENE_FIRE_BS, 0x01 },
|
||||
{ SCENE_MIZUSIN, SCENE_MIZUSIN_BS, 0x02 },
|
||||
{ SCENE_HAKADAN, SCENE_HAKADAN_BS, 0x03 },
|
||||
{ SCENE_GANON, SCENE_GANON_BOSS, 0x04 },
|
||||
{ SCENE_BMORI1, SCENE_MORIBOSSROOM, 0x05 },
|
||||
{ SCENE_JYASINZOU, SCENE_JYASINBOSS, 0x06 },
|
||||
{ -1, -1, 0x00 },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996D14.s")
|
||||
static Gfx* D_809982B4[] = {
|
||||
0x06000590, 0x06000BF0, 0x06002BD0, 0x060018B0, 0x06001F10, 0x060018B0, 0x06001250, 0x06000BF0,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996E08.s")
|
||||
// boss door textures?
|
||||
static UNK_PTR D_809982D4[] = {
|
||||
0x060065C0, 0x060035C0, 0x060055C0, 0x060045C0, 0x06000000, 0x060025C0, 0x060015C0,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996EE8.s")
|
||||
extern ColHeader D_0601EDD0; // gohma block collision header
|
||||
extern ColHeader D_06012FD0; // phantom ganon bars collision header
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80996F98.s")
|
||||
void DoorShutter_SetupAction(DoorShutter* this, DoorShutterActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
this->unk_16F = 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80997004.s")
|
||||
s32 DoorShutter_SetupDoor(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
TransitionActorEntry* transitionEntry = &globalCtx->transitionActorList[(u16)this->dyna.actor.params >> 0xA];
|
||||
s8 frontRoom = transitionEntry->sides[0].room;
|
||||
s32 doorType = this->doorType;
|
||||
ShutterObjectInfo* temp_t0 = &D_809980F0[this->unk_16B];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80997150.s")
|
||||
if (doorType != SHUTTER_KEY_LOCKED) {
|
||||
if (frontRoom == transitionEntry->sides[1].room) {
|
||||
if (ABS((s16)(this->dyna.actor.shape.rot.y - this->dyna.actor.yawTowardsLink)) < 0x4000) {
|
||||
frontRoom = -1;
|
||||
}
|
||||
}
|
||||
if (frontRoom == this->dyna.actor.room) {
|
||||
if (doorType == SHUTTER_FRONT_SWITCH_BACK_CLEAR) { // Swap the back clear to the front clear
|
||||
doorType = SHUTTER_FRONT_CLEAR;
|
||||
} else {
|
||||
doorType = (doorType == SHUTTER_BOSS) ? SHUTTER_BACK_LOCKED : SHUTTER;
|
||||
}
|
||||
}
|
||||
}
|
||||
this->unk_16C = (doorType == SHUTTER) ? temp_t0->index1 : temp_t0->index2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80997220.s")
|
||||
if (doorType == SHUTTER_FRONT_CLEAR) {
|
||||
if (!Flags_GetClear(globalCtx, this->dyna.actor.room)) {
|
||||
DoorShutter_SetupAction(this, func_80996A54);
|
||||
this->unk_170 = 1.0f;
|
||||
return true;
|
||||
}
|
||||
} else if (doorType == SHUTTER_FRONT_SWITCH || doorType == SHUTTER_FRONT_SWITCH_BACK_CLEAR) {
|
||||
if (!Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
|
||||
DoorShutter_SetupAction(this, func_80996EE8);
|
||||
this->unk_170 = 1.0f;
|
||||
return true;
|
||||
}
|
||||
DoorShutter_SetupAction(this, func_80996F98);
|
||||
return false;
|
||||
} else if (doorType == SHUTTER_BACK_LOCKED) {
|
||||
DoorShutter_SetupAction(this, func_80996B00);
|
||||
return false;
|
||||
}
|
||||
DoorShutter_SetupAction(this, func_80996B0C);
|
||||
return false;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_809973E8.s")
|
||||
void DoorShutter_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
DoorShutter* this = THIS;
|
||||
GlobalContext* globalCtx2 = globalCtx;
|
||||
s32 phi_a3;
|
||||
s32 pad;
|
||||
s32 objectIndex;
|
||||
s32 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80997528.s")
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
this->dyna.actor.initPosRot.pos.z = this->dyna.actor.shape.unk_08;
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, DPM_UNK);
|
||||
this->doorType = (this->dyna.actor.params >> 6) & 0xF;
|
||||
phi_a3 = D_80998224[this->doorType];
|
||||
if (phi_a3 < 0) {
|
||||
ShutterSceneInfo* phi_v1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80997568.s")
|
||||
for (phi_v1 = &D_80998240[0], i = 0; i < ARRAY_COUNT(D_80998240) - 1; i++, phi_v1++) {
|
||||
if (globalCtx2->sceneNum == phi_v1->sceneNum) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
phi_a3 = phi_v1->index;
|
||||
} else if (phi_a3 == 6) {
|
||||
BossDoorInfo* phi_v1_2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_809975C0.s")
|
||||
for (phi_v1_2 = &D_80998288[0], i = 0; i < ARRAY_COUNT(D_80998288) - 1; i++, phi_v1_2++) {
|
||||
if (globalCtx2->sceneNum == phi_v1_2->dungeonScene || globalCtx2->sceneNum == phi_v1_2->bossScene) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
this->unk_168 = phi_v1_2->index;
|
||||
} else {
|
||||
this->dyna.actor.room = -1;
|
||||
}
|
||||
if (this->requiredObjBankIndex = objectIndex = Object_GetIndex(&globalCtx2->objectCtx, D_809980F0[phi_a3].objectId),
|
||||
(s8)objectIndex < 0) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
DoorShutter_SetupAction(this, DoorShutter_SetupType);
|
||||
this->unk_16B = phi_a3;
|
||||
if (this->doorType == SHUTTER_KEY_LOCKED || this->doorType == SHUTTER_BOSS) {
|
||||
if (!Flags_GetSwitch(globalCtx2, this->dyna.actor.params & 0x3F)) {
|
||||
this->unk_16E = 10;
|
||||
}
|
||||
Actor_SetHeight(&this->dyna.actor, 60.0f);
|
||||
} else if (phi_a3 == 4) {
|
||||
Actor_SetScale(&this->dyna.actor, 0.1f);
|
||||
this->unk_166 = 100;
|
||||
this->dyna.actor.uncullZoneScale = 200.0f;
|
||||
Actor_SetHeight(&this->dyna.actor, 0.0f);
|
||||
} else {
|
||||
Actor_SetHeight(&this->dyna.actor, 60.0f);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_809976B8.s")
|
||||
void DoorShutter_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
DoorShutter* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80997744.s")
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
if (this->dyna.actor.room >= 0) {
|
||||
s32 transitionActorId = (u16)this->dyna.actor.params >> 0xA;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/DoorShutter_Update.s")
|
||||
globalCtx->transitionActorList[transitionActorId].id *= -1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80997838.s")
|
||||
void DoorShutter_SetupType(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (Object_IsLoaded(&globalCtx->objectCtx, this->requiredObjBankIndex)) {
|
||||
this->dyna.actor.objBankIndex = this->requiredObjBankIndex;
|
||||
if (this->doorType == SHUTTER_PG_BARS || this->doorType == SHUTTER_GOHMA_BLOCK) {
|
||||
// Init dynapoly for shutters of the type that uses it
|
||||
UNK_TYPE temp = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_80997A34.s")
|
||||
Actor_SetObjectDependency(globalCtx, &this->dyna.actor);
|
||||
this->unk_16C = D_809980F0[this->unk_16B].index1;
|
||||
DynaPolyInfo_Alloc((this->doorType == SHUTTER_GOHMA_BLOCK) ? &D_0601EDD0 : &D_06012FD0, &temp);
|
||||
this->dyna.dynaPolyId =
|
||||
DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, temp);
|
||||
if (this->doorType == SHUTTER_GOHMA_BLOCK) {
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
this->dyna.actor.gravity = -2.0f;
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_SLIDE_DOOR_CLOSE);
|
||||
DoorShutter_SetupAction(this, func_809975C0);
|
||||
} else {
|
||||
DoorShutter_SetupAction(this, func_80997744);
|
||||
this->unk_164 = 7;
|
||||
}
|
||||
} else {
|
||||
DoorShutter_SetupDoor(this, globalCtx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/DoorShutter_Draw.s")
|
||||
f32 func_80996840(GlobalContext* globalCtx, DoorShutter* this, f32 arg2, f32 arg3, f32 arg4) {
|
||||
s32 pad;
|
||||
Vec3f sp28;
|
||||
Vec3f sp1C;
|
||||
Player* player = PLAYER;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Door_Shutter/func_8099803C.s")
|
||||
sp28.x = player->actor.posRot.pos.x;
|
||||
sp28.y = player->actor.posRot.pos.y + arg2;
|
||||
sp28.z = player->actor.posRot.pos.z;
|
||||
func_8002DBD0(&this->dyna.actor, &sp1C, &sp28);
|
||||
if (arg3 < fabsf(sp1C.x) || arg4 < fabsf(sp1C.y)) {
|
||||
return FLT_MAX;
|
||||
} else {
|
||||
return sp1C.z;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_809968D4(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (!Player_InCsMode(globalCtx)) {
|
||||
ShutterInfo* temp_v1 = &D_80998134[this->unk_16C];
|
||||
f32 temp_f2 = func_80996840(globalCtx, this, (this->unk_16C != 3) ? 0.0f : 80.0f, temp_v1->e, temp_v1->f);
|
||||
|
||||
if (fabsf(temp_f2) < 50.0f) {
|
||||
s16 phi_v0 = player->actor.shape.rot.y - this->dyna.actor.shape.rot.y;
|
||||
|
||||
if (temp_f2 > 0.0f) {
|
||||
phi_v0 = 0x8000 - phi_v0;
|
||||
}
|
||||
if (ABS(phi_v0) < 0x3000) {
|
||||
return (temp_f2 >= 0.0f) ? 1.0f : -1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
void func_80996A54(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (Flags_GetClear(globalCtx, this->dyna.actor.room) || Flags_GetTempClear(globalCtx, this->dyna.actor.room)) {
|
||||
Flags_SetClear(globalCtx, this->dyna.actor.room);
|
||||
DoorShutter_SetupAction(this, func_80997150);
|
||||
func_80080480(globalCtx, &this->dyna.actor);
|
||||
func_80080480(globalCtx, &PLAYER->actor);
|
||||
this->unk_16F = -100;
|
||||
} else if (func_809968D4(this, globalCtx) != 0) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
player->naviTextId = -0x202;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80996B00(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80996B0C(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_164 != 0) {
|
||||
DoorShutter_SetupAction(this, func_80997004);
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
if (this->unk_16E != 0) {
|
||||
Flags_SetSwitch(globalCtx, this->dyna.actor.params & 0x3F);
|
||||
if (this->doorType != SHUTTER_BOSS) {
|
||||
gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex]--;
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_CHAIN_KEY_UNLOCK);
|
||||
} else {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_CHAIN_KEY_UNLOCK_B);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
s32 doorDirection = func_809968D4(this, globalCtx);
|
||||
|
||||
if (doorDirection != 0) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (this->unk_16E != 0) {
|
||||
if (this->doorType == SHUTTER_BOSS) {
|
||||
if (!CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, gSaveContext.mapIndex)) {
|
||||
player->naviTextId = -0x204;
|
||||
return;
|
||||
}
|
||||
} else if (gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] <= 0) {
|
||||
player->naviTextId = -0x203;
|
||||
return;
|
||||
}
|
||||
player->doorTimer = 10;
|
||||
}
|
||||
player->doorType = 2;
|
||||
player->doorDirection = doorDirection;
|
||||
player->doorActor = &this->dyna.actor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80996C60(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (this->dyna.actor.type == ACTORTYPE_DOOR) {
|
||||
Player* player = PLAYER;
|
||||
s32 sp38 = this->unk_16C;
|
||||
s32 sp34 = 0xF;
|
||||
|
||||
if (DoorShutter_SetupDoor(this, globalCtx)) {
|
||||
sp34 = 0x20;
|
||||
}
|
||||
DoorShutter_SetupAction(this, func_80997004);
|
||||
this->unk_16C = sp38;
|
||||
this->unk_170 = 0.0f;
|
||||
func_8005AD40(globalCtx->cameraPtrs[0], &this->dyna.actor, player->unk_46A, 0.0f, 12, sp34, 10);
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_80996D14(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16C != 3) {
|
||||
if (this->dyna.actor.velocity.y == 0.0f) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_SLIDE_DOOR_OPEN);
|
||||
func_80996C60(this, globalCtx);
|
||||
}
|
||||
Math_ApproxF(&this->dyna.actor.velocity.y, 15.0f, 3.0f);
|
||||
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + 200.0f,
|
||||
this->dyna.actor.velocity.y)) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if (this->unk_166 == 100) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYODOOR_OPEN);
|
||||
func_80996C60(this, globalCtx);
|
||||
}
|
||||
if (Math_ApproxS(&this->unk_166, 0, 10)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
s32 func_80996E08(DoorShutter* this, GlobalContext* globalCtx, f32 arg2) {
|
||||
if (this->unk_170 == 1.0f - arg2) {
|
||||
if (this->unk_16C != 3) {
|
||||
if (arg2 == 1.0f) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_METALDOOR_CLOSE);
|
||||
} else {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_METALDOOR_OPEN);
|
||||
}
|
||||
} else {
|
||||
if (arg2 == 1.0f) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSHUTTER_CLOSE);
|
||||
} else {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSHUTTER_OPEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Math_ApproxF(&this->unk_170, arg2, 0.2f)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void func_80996EE8(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (func_80996E08(this, globalCtx, 1.0f)) {
|
||||
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
|
||||
DoorShutter_SetupAction(this, func_80997150);
|
||||
func_80080480(globalCtx, &this->dyna.actor);
|
||||
this->unk_16F = -100;
|
||||
} else if (func_809968D4(this, globalCtx)) {
|
||||
Player* player = PLAYER;
|
||||
// Jabu navi text for switch doors is different
|
||||
player->naviTextId = (globalCtx->sceneNum == SCENE_BDAN) ? -0x20B : -0x202;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80996F98(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_164 == 0 && !Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
|
||||
DoorShutter_SetupAction(this, func_80996EE8);
|
||||
} else {
|
||||
func_80996B0C(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80997004(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (DECR(this->unk_16E) == 0 && globalCtx->roomCtx.status == 0 && func_80996D14(this, globalCtx) != 0) {
|
||||
if (((this->doorType == SHUTTER_BOSS) ? 20.0f : 50.0f) < this->dyna.actor.xzDistFromLink) {
|
||||
if (DoorShutter_SetupDoor(this, globalCtx)) {
|
||||
this->dyna.actor.velocity.y = 30.0f;
|
||||
}
|
||||
if (this->unk_16C != 3) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_SLIDE_DOOR_CLOSE);
|
||||
DoorShutter_SetupAction(this, func_809973E8);
|
||||
} else {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYODOOR_CLOSE);
|
||||
if ((this->doorType == SHUTTER_FRONT_SWITCH || this->doorType == SHUTTER_FRONT_SWITCH_BACK_CLEAR) &&
|
||||
!Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSHUTTER_CLOSE);
|
||||
}
|
||||
DoorShutter_SetupAction(this, func_80997528);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80997150(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16F != 0) {
|
||||
if (this->unk_16F < 0) {
|
||||
if (globalCtx->state.frames % 2 != 0) {
|
||||
this->unk_16F++;
|
||||
}
|
||||
if (this->dyna.actor.type == func_8005B198() || this->unk_16F == 0) {
|
||||
this->unk_16F = 5;
|
||||
}
|
||||
} else {
|
||||
this->unk_16F--;
|
||||
}
|
||||
} else if (func_80996E08(this, globalCtx, 0.0f)) {
|
||||
if (!(this->doorType == SHUTTER || this->doorType == SHUTTER_FRONT_CLEAR)) {
|
||||
DoorShutter_SetupAction(this, func_80996F98);
|
||||
} else {
|
||||
DoorShutter_SetupAction(this, func_80996B0C);
|
||||
}
|
||||
func_800F5B58();
|
||||
}
|
||||
}
|
||||
|
||||
void func_80997220(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
s8 room = this->dyna.actor.room;
|
||||
|
||||
if (this->dyna.actor.room >= 0) {
|
||||
Vec3f vec;
|
||||
|
||||
func_8002DBD0(&this->dyna.actor, &vec, &player->actor.posRot.pos);
|
||||
this->dyna.actor.room =
|
||||
globalCtx->transitionActorList[(u16)this->dyna.actor.params >> 0xA].sides[(vec.z < 0.0f) ? 0 : 1].room;
|
||||
if (room != this->dyna.actor.room) {
|
||||
Room tempRoom = globalCtx->roomCtx.curRoom;
|
||||
|
||||
globalCtx->roomCtx.curRoom = globalCtx->roomCtx.prevRoom;
|
||||
globalCtx->roomCtx.prevRoom = tempRoom;
|
||||
globalCtx->roomCtx.unk_30 ^= 1;
|
||||
}
|
||||
func_80097534(globalCtx, &globalCtx->roomCtx);
|
||||
Gameplay_SetupRespawnPoint(globalCtx, RESPAWN_MODE_DOWN, 0x0EFF);
|
||||
}
|
||||
this->unk_164 = 0;
|
||||
this->dyna.actor.velocity.y = 0.0f;
|
||||
if (DoorShutter_SetupDoor(this, globalCtx) && !(player->stateFlags1 & 0x800)) {
|
||||
DoorShutter_SetupAction(this, func_80997568);
|
||||
func_8002DF54(globalCtx, NULL, 2);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809973E8(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
s32 quakeId;
|
||||
|
||||
if (this->dyna.actor.velocity.y < 20.0f) {
|
||||
Math_ApproxF(&this->dyna.actor.velocity.y, 20.0f, 8.0f);
|
||||
}
|
||||
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y, this->dyna.actor.velocity.y)) {
|
||||
if (this->dyna.actor.velocity.y > 20.0f) {
|
||||
this->dyna.actor.groundY = this->dyna.actor.initPosRot.pos.y;
|
||||
func_80033260(globalCtx, &this->dyna.actor, &this->dyna.actor.posRot.pos, 45.0f, 0xA, 8.0f, 0x1F4, 0xA, 0);
|
||||
}
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
|
||||
quakeId = Quake_Add(Gameplay_GetCamera(globalCtx, 0), 3);
|
||||
Quake_SetSpeed(quakeId, -32536);
|
||||
Quake_SetQuakeValues(quakeId, 2, 0, 0, 0);
|
||||
Quake_SetCountdown(quakeId, 10);
|
||||
func_800AA000(this->dyna.actor.xyzDistFromLinkSq, 0xB4, 0x14, 0x64);
|
||||
func_80997220(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80997528(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if (Math_ApproxS(&this->unk_166, 0x64, 0xA)) {
|
||||
func_80997220(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80997568(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
if ((this->unk_16F++ < 0x1F) ^ 1) {
|
||||
func_8002DF54(globalCtx, NULL, 7);
|
||||
DoorShutter_SetupDoor(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809975C0(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
Actor_MoveForward(&this->dyna.actor);
|
||||
func_8002E4B4(globalCtx, &this->dyna.actor, 0.0f, 0.0f, 0.0f, 4);
|
||||
if (this->dyna.actor.bgCheckFlags & 1) {
|
||||
DoorShutter_SetupAction(this, func_809976B8);
|
||||
if (!(gSaveContext.eventChkInf[7] & 1)) {
|
||||
BossGoma* parent = (BossGoma*)this->dyna.actor.parent;
|
||||
|
||||
this->unk_164 = 10;
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
|
||||
func_8099803C(globalCtx, 2, 10, parent->subCameraId);
|
||||
func_80033260(globalCtx, &this->dyna.actor, &this->dyna.actor.posRot.pos, 70.0f, 20, 8.0f, 500, 10, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_809976B8(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
f32 mult;
|
||||
|
||||
if (this->unk_164 != 0) {
|
||||
this->unk_164--;
|
||||
mult = sinf(this->unk_164 * 250.0f / 100.0f);
|
||||
this->dyna.actor.shape.unk_08 = this->unk_164 * 3.0f / 10.0f * mult;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80997744(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
f32 phi_f0;
|
||||
|
||||
osSyncPrintf("FHG SAKU START !!\n");
|
||||
if (this->unk_164 != 0) {
|
||||
this->unk_164--;
|
||||
}
|
||||
phi_f0 = (this->unk_164 % 2 != 0) ? -3.0f : 0.0f;
|
||||
Math_SmoothScaleMaxMinF(&this->dyna.actor.posRot.pos.y, -34.0f + phi_f0, 1.0f, 20.0f, 0.0f);
|
||||
osSyncPrintf("FHG SAKU END !!\n");
|
||||
}
|
||||
|
||||
void DoorShutter_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
DoorShutter* this = THIS;
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (!(player->stateFlags1 & 0x100004C0) || (this->actionFunc == DoorShutter_SetupType)) {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
Gfx* func_80997838(GlobalContext* globalCtx, DoorShutter* this, Gfx* p) {
|
||||
MtxF mtx;
|
||||
f32 angle = 0.0f;
|
||||
f32 yScale = this->unk_166 * 0.01f;
|
||||
s32 i;
|
||||
|
||||
Matrix_Get(&mtx);
|
||||
for (i = 0; i < ARRAY_COUNT(D_809982B4); i++) {
|
||||
Matrix_RotateZ(angle, MTXMODE_APPLY);
|
||||
if (i % 2 == 0) {
|
||||
Matrix_Translate(0.0f, 800.0f, 0.0f, MTXMODE_APPLY);
|
||||
} else if (i == 1 || i == 7) {
|
||||
Matrix_Translate(0.0f, 848.52f, 0.0f, MTXMODE_APPLY);
|
||||
} else {
|
||||
Matrix_Translate(0.0f, 989.94f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
if (this->unk_166 != 100) {
|
||||
Matrix_Scale(1.0f, yScale, 1.0f, MTXMODE_APPLY);
|
||||
}
|
||||
gSPMatrix(p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_shutter.c", 1991),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(p++, D_809982B4[i]);
|
||||
angle -= M_PI / 4;
|
||||
Matrix_Put(&mtx);
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
s32 func_80997A34(DoorShutter* this, GlobalContext* globalCtx) {
|
||||
s32 phi_a1;
|
||||
s32 phi_a0;
|
||||
|
||||
if (Player_InCsMode(globalCtx)) {
|
||||
return true;
|
||||
}
|
||||
phi_a0 = (s16)(func_8002DAC0(&this->dyna.actor, &globalCtx->view.eye) - this->dyna.actor.shape.rot.y);
|
||||
phi_a1 = (s16)(this->dyna.actor.yawTowardsLink - this->dyna.actor.shape.rot.y);
|
||||
phi_a0 = ABS(phi_a0);
|
||||
phi_a1 = ABS(phi_a1);
|
||||
if ((phi_a1 < 0x4000 && phi_a0 > 0x4000) || (phi_a1 > 0x4000 && phi_a0 < 0x4000)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void DoorShutter_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
DoorShutter* this = THIS;
|
||||
|
||||
if (this->dyna.actor.objBankIndex == this->requiredObjBankIndex &&
|
||||
(this->unk_16B == 0 || func_80997A34(this, globalCtx) != 0)) {
|
||||
s32 pad[2];
|
||||
ShutterInfo* sp70 = &D_80998134[this->unk_16C];
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_door_shutter.c", 2048);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
if (this->unk_16C == 3) {
|
||||
POLY_OPA_DISP = func_80997838(globalCtx, this, POLY_OPA_DISP);
|
||||
if (this->unk_170 != 0.0f) {
|
||||
f32 sp58 = (this->unk_166 * 0.01f) * this->unk_170;
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255.0f * sp58);
|
||||
Matrix_Translate(0, 0, sp70->translateZ, MTXMODE_APPLY);
|
||||
Matrix_Scale(sp58, sp58, sp58, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_shutter.c", 2069),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, sp70->b);
|
||||
}
|
||||
} else {
|
||||
if (sp70->b != NULL) {
|
||||
TransitionActorEntry* transitionEntry =
|
||||
&globalCtx->transitionActorList[(u16)this->dyna.actor.params >> 0xA];
|
||||
|
||||
if (globalCtx->roomCtx.prevRoom.num >= 0 ||
|
||||
transitionEntry->sides[0].room == transitionEntry->sides[1].room) {
|
||||
s32 yaw = Math_Vec3f_Yaw(&globalCtx->view.eye, &this->dyna.actor.posRot.pos);
|
||||
|
||||
if (ABS((s16)(this->dyna.actor.shape.rot.y - yaw)) < 0x4000) {
|
||||
Matrix_RotateY(M_PI, MTXMODE_APPLY);
|
||||
}
|
||||
} else if (this->dyna.actor.room == transitionEntry->sides[0].room) {
|
||||
Matrix_RotateY(M_PI, MTXMODE_APPLY);
|
||||
}
|
||||
} else if (this->doorType == SHUTTER_BOSS) {
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_809982D4[this->unk_168]));
|
||||
}
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_shutter.c", 2109),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, sp70->a);
|
||||
if (this->unk_170 != 0.0f && sp70->b != NULL) {
|
||||
Matrix_Translate(0, sp70->c * (1.0f - this->unk_170), sp70->translateZ, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_door_shutter.c", 2119),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, sp70->b);
|
||||
}
|
||||
}
|
||||
if (this->unk_16E != 0) {
|
||||
Matrix_Scale(0.01f, 0.01f, 0.025f, MTXMODE_APPLY);
|
||||
Actor_DrawDoorLock(globalCtx, this->unk_16E,
|
||||
(this->doorType == SHUTTER_BOSS) ? 1 : ((this->unk_16C == 6) ? 2 : 0));
|
||||
}
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_door_shutter.c", 2135);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8099803C(GlobalContext* globalCtx, s16 y, s16 countdown, s16 camId) {
|
||||
s16 quakeId = Quake_Add(Gameplay_GetCamera(globalCtx, camId), 3);
|
||||
|
||||
func_800A9F6C(0.0f, 180, 20, 100);
|
||||
Quake_SetSpeed(quakeId, 20000);
|
||||
Quake_SetQuakeValues(quakeId, y, 0, 0, 0);
|
||||
Quake_SetCountdown(quakeId, countdown);
|
||||
}
|
||||
|
|
|
@ -4,13 +4,58 @@
|
|||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
/**
|
||||
* Actor Parameters
|
||||
*
|
||||
* | | |
|
||||
* | Transition Index | Type | Switch Flag
|
||||
* |------------------|---------|-------------
|
||||
* | 0 0 0 0 0 0 | 0 0 0 0 | 0 0 0 0 0 0
|
||||
* | 6 | 4 | 6
|
||||
* |
|
||||
*
|
||||
* Transition Index 1111110000000000 Set by the actor engine when the door is spawned
|
||||
* Type 0000001111000000
|
||||
* Switch Flag 0000000000111111
|
||||
*
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ SHUTTER,
|
||||
/* 0x01 */ SHUTTER_FRONT_CLEAR,
|
||||
/* 0x02 */ SHUTTER_FRONT_SWITCH,
|
||||
/* 0x03 */ SHUTTER_BACK_LOCKED,
|
||||
/* 0x04 */ SHUTTER_PG_BARS,
|
||||
/* 0x05 */ SHUTTER_BOSS,
|
||||
/* 0x06 */ SHUTTER_GOHMA_BLOCK,
|
||||
/* 0x07 */ SHUTTER_FRONT_SWITCH_BACK_CLEAR,
|
||||
/* 0x08 */ SHUTTER_8,
|
||||
/* 0x09 */ SHUTTER_9,
|
||||
/* 0x0A */ SHUTTER_A,
|
||||
/* 0x0B */ SHUTTER_KEY_LOCKED,
|
||||
/* 0x0C */ SHUTTER_C,
|
||||
/* 0x0D */ SHUTTER_D,
|
||||
/* 0x0E */ SHUTTER_E,
|
||||
/* 0x0F */ SHUTTER_F
|
||||
} DoorShutterType;
|
||||
|
||||
struct DoorShutter;
|
||||
|
||||
typedef void (*DoorShutterActionFunc)(struct DoorShutter*, GlobalContext*);
|
||||
|
||||
typedef struct DoorShutter {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x18];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ s16 unk_164;
|
||||
/* 0x0166 */ char unk_166[0x12];
|
||||
/* 0x0166 */ s16 unk_166;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016A */ u8 doorType;
|
||||
/* 0x016B */ u8 unk_16B;
|
||||
/* 0x016C */ u8 unk_16C;
|
||||
/* 0x016D */ s8 requiredObjBankIndex;
|
||||
/* 0x016E */ s8 unk_16E;
|
||||
/* 0x016F */ s8 unk_16F;
|
||||
/* 0x0170 */ f32 unk_170;
|
||||
/* 0x0174 */ DoorShutterActionFunc actionFunc;
|
||||
} DoorShutter; // size = 0x0178
|
||||
|
||||
extern const ActorInit Door_Shutter_InitVars;
|
||||
|
|
|
@ -134,7 +134,7 @@ void func_80BADF0C(ShotSun* this, GlobalContext* globalCtx) {
|
|||
if ((params == 0x40 && globalCtx->msgCtx.unk_E3EC == 9) ||
|
||||
(params == 0x41 && globalCtx->msgCtx.unk_E3EC == 0xB)) {
|
||||
this->actionFunc = ShotSun_TriggerFairy;
|
||||
func_80080480(globalCtx, this);
|
||||
func_80080480(globalCtx, &this->actor);
|
||||
this->timer = 0;
|
||||
} else {
|
||||
this->unk_1A4 = 0;
|
||||
|
|
|
@ -4174,7 +4174,7 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) {
|
|||
if (this->doorType == 2) {
|
||||
doorShutter = (DoorShutter*)doorActor;
|
||||
|
||||
this->currentYaw = doorShutter->actor.initPosRot.rot.y;
|
||||
this->currentYaw = doorShutter->dyna.actor.initPosRot.rot.y;
|
||||
if (sp7C > 0) {
|
||||
this->currentYaw -= 0x8000;
|
||||
}
|
||||
|
@ -4206,8 +4206,8 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) {
|
|||
this->linearVelocity = 0.1f;
|
||||
}
|
||||
|
||||
if (doorShutter->actor.type == ACTORTYPE_DOOR) {
|
||||
this->unk_46A = globalCtx->transitionActorList[(u16)doorShutter->actor.params >> 10]
|
||||
if (doorShutter->dyna.actor.type == ACTORTYPE_DOOR) {
|
||||
this->unk_46A = globalCtx->transitionActorList[(u16)doorShutter->dyna.actor.params >> 10]
|
||||
.sides[(sp7C > 0) ? 0 : 1]
|
||||
.effects;
|
||||
|
||||
|
|
|
@ -1057,6 +1057,10 @@ D_0E000000 = 0x0E000000;
|
|||
// z_vismono
|
||||
D_0F000000 = 0x0F000000;
|
||||
|
||||
// z_door_shutter
|
||||
D_0601EDD0 = 0x0601EDD0;
|
||||
D_06012FD0 = 0x06012FD0;
|
||||
|
||||
// en_reeba
|
||||
D_060001E4 = 0x060001E4;
|
||||
D_06001EE8 = 0x06001EE8;
|
||||
|
|
Loading…
Add table
Reference in a new issue