1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-02 09:03:36 +00:00
This commit is contained in:
shawlucas 2020-03-24 11:13:30 -07:00
commit 8fa6b94dca
483 changed files with 1155 additions and 1646 deletions

View File

@ -1,132 +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 purposee registers
.section .text
.align 4
glabel func_8008E4E0
/* B05680 8008E4E0 AFA50004 */ sw $a1, 4($sp)
/* B05684 8008E4E4 AFA60008 */ sw $a2, 8($sp)
/* B05688 8008E4E8 00063400 */ sll $a2, $a2, 0x10
/* B0568C 8008E4EC 00052C00 */ sll $a1, $a1, 0x10
/* B05690 8008E4F0 00052C03 */ sra $a1, $a1, 0x10
/* B05694 8008E4F4 00063403 */ sra $a2, $a2, 0x10
/* B05698 8008E4F8 10A60007 */ beq $a1, $a2, .L8008E518
/* B0569C 8008E4FC 00001825 */ move $v1, $zero
/* B056A0 8008E500 3C0E0001 */ lui $t6, 1
/* B056A4 8008E504 01C47021 */ addu $t6, $t6, $a0
/* B056A8 8008E508 8DCE1E08 */ lw $t6, 0x1e08($t6)
/* B056AC 8008E50C 000578C0 */ sll $t7, $a1, 3
/* B056B0 8008E510 03E00008 */ jr $ra
/* B056B4 8008E514 01CF1021 */ addu $v0, $t6, $t7
.L8008E518:
/* B056B8 8008E518 03E00008 */ jr $ra
/* B056BC 8008E51C 00601025 */ move $v0, $v1
glabel func_8008E520
/* B056C0 8008E520 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B056C4 8008E524 AFA60028 */ sw $a2, 0x28($sp)
/* B056C8 8008E528 00063400 */ sll $a2, $a2, 0x10
/* B056CC 8008E52C 00063403 */ sra $a2, $a2, 0x10
/* B056D0 8008E530 AFBF0014 */ sw $ra, 0x14($sp)
/* B056D4 8008E534 14A00005 */ bnez $a1, .L8008E54C
/* B056D8 8008E538 AFA7002C */ sw $a3, 0x2c($sp)
/* B056DC 8008E53C 3C01BF80 */ li $at, 0xBF800000 # 0.000000
/* B056E0 8008E540 44810000 */ mtc1 $at, $f0
/* B056E4 8008E544 1000002E */ b .L8008E600
/* B056E8 8008E548 8FBF0014 */ lw $ra, 0x14($sp)
.L8008E54C:
/* B056EC 8008E54C 8CA30004 */ lw $v1, 4($a1)
/* B056F0 8008E550 3C198016 */ lui $t9, %hi(gSegments)
/* B056F4 8008E554 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B056F8 8008E558 00037100 */ sll $t6, $v1, 4
/* B056FC 8008E55C 000E7F02 */ srl $t7, $t6, 0x1c
/* B05700 8008E560 000FC080 */ sll $t8, $t7, 2
/* B05704 8008E564 0338C821 */ addu $t9, $t9, $t8
/* B05708 8008E568 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
/* B0570C 8008E56C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B05710 8008E570 00614024 */ and $t0, $v1, $at
/* B05714 8008E574 00064880 */ sll $t1, $a2, 2
/* B05718 8008E578 3C018000 */ lui $at, 0x8000
/* B0571C 8008E57C 01264823 */ subu $t1, $t1, $a2
/* B05720 8008E580 03281021 */ addu $v0, $t9, $t0
/* B05724 8008E584 00411021 */ addu $v0, $v0, $at
/* B05728 8008E588 00094840 */ sll $t1, $t1, 1
/* B0572C 8008E58C 01221021 */ addu $v0, $t1, $v0
/* B05730 8008E590 844A0000 */ lh $t2, ($v0)
/* B05734 8008E594 844B0004 */ lh $t3, 4($v0)
/* B05738 8008E598 C4880024 */ lwc1 $f8, 0x24($a0)
/* B0573C 8008E59C 448A2000 */ mtc1 $t2, $f4
/* B05740 8008E5A0 448B5000 */ mtc1 $t3, $f10
/* B05744 8008E5A4 C492002C */ lwc1 $f18, 0x2c($a0)
/* B05748 8008E5A8 468021A0 */ cvt.s.w $f6, $f4
/* B0574C 8008E5AC 46805420 */ cvt.s.w $f16, $f10
/* B05750 8008E5B0 46083301 */ sub.s $f12, $f6, $f8
/* B05754 8008E5B4 46128381 */ sub.s $f14, $f16, $f18
/* B05758 8008E5B8 E7AC001C */ swc1 $f12, 0x1c($sp)
/* B0575C 8008E5BC 0C03F494 */ jal Math_atan2f
/* B05760 8008E5C0 E7AE0018 */ swc1 $f14, 0x18($sp)
/* B05764 8008E5C4 3C018014 */ lui $at, %hi(D_8013E760)
/* B05768 8008E5C8 C424E760 */ lwc1 $f4, %lo(D_8013E760)($at)
/* B0576C 8008E5CC C7AC001C */ lwc1 $f12, 0x1c($sp)
/* B05770 8008E5D0 C7AE0018 */ lwc1 $f14, 0x18($sp)
/* B05774 8008E5D4 46040182 */ mul.s $f6, $f0, $f4
/* B05778 8008E5D8 8FAE002C */ lw $t6, 0x2c($sp)
/* B0577C 8008E5DC 460C6282 */ mul.s $f10, $f12, $f12
/* B05780 8008E5E0 00000000 */ nop
/* B05784 8008E5E4 460E7402 */ mul.s $f16, $f14, $f14
/* B05788 8008E5E8 4600320D */ trunc.w.s $f8, $f6
/* B0578C 8008E5EC 46105000 */ add.s $f0, $f10, $f16
/* B05790 8008E5F0 440D4000 */ mfc1 $t5, $f8
/* B05794 8008E5F4 00000000 */ nop
/* B05798 8008E5F8 A5CD0000 */ sh $t5, ($t6)
/* B0579C 8008E5FC 8FBF0014 */ lw $ra, 0x14($sp)
.L8008E600:
/* B057A0 8008E600 27BD0020 */ addiu $sp, $sp, 0x20
/* B057A4 8008E604 03E00008 */ jr $ra
/* B057A8 8008E608 00000000 */ nop
glabel func_8008E60C
/* B057AC 8008E60C 10800022 */ beqz $a0, .L8008E698
/* B057B0 8008E610 3C198016 */ lui $t9, %hi(gSegments)
/* B057B4 8008E614 8C830004 */ lw $v1, 4($a0)
/* B057B8 8008E618 908A0000 */ lbu $t2, ($a0)
/* B057BC 8008E61C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B057C0 8008E620 00037100 */ sll $t6, $v1, 4
/* B057C4 8008E624 000E7F02 */ srl $t7, $t6, 0x1c
/* B057C8 8008E628 000FC080 */ sll $t8, $t7, 2
/* B057CC 8008E62C 0338C821 */ addu $t9, $t9, $t8
/* B057D0 8008E630 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
/* B057D4 8008E634 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B057D8 8008E638 00614024 */ and $t0, $v1, $at
/* B057DC 8008E63C 000A5880 */ sll $t3, $t2, 2
/* B057E0 8008E640 016A5823 */ subu $t3, $t3, $t2
/* B057E4 8008E644 000B5840 */ sll $t3, $t3, 1
/* B057E8 8008E648 3C017FFF */ lui $at, (0x7FFFFFFA >> 16) # lui $at, 0x7fff
/* B057EC 8008E64C 03284821 */ addu $t1, $t9, $t0
/* B057F0 8008E650 012B1021 */ addu $v0, $t1, $t3
/* B057F4 8008E654 3421FFFA */ ori $at, (0x7FFFFFFA & 0xFFFF) # ori $at, $at, 0xfffa
/* B057F8 8008E658 00411021 */ addu $v0, $v0, $at
/* B057FC 8008E65C 844C0000 */ lh $t4, ($v0)
/* B05800 8008E660 448C2000 */ mtc1 $t4, $f4
/* B05804 8008E664 00000000 */ nop
/* B05808 8008E668 468021A0 */ cvt.s.w $f6, $f4
/* B0580C 8008E66C E4A60000 */ swc1 $f6, ($a1)
/* B05810 8008E670 844D0002 */ lh $t5, 2($v0)
/* B05814 8008E674 448D4000 */ mtc1 $t5, $f8
/* B05818 8008E678 00000000 */ nop
/* B0581C 8008E67C 468042A0 */ cvt.s.w $f10, $f8
/* B05820 8008E680 E4AA0004 */ swc1 $f10, 4($a1)
/* B05824 8008E684 844E0004 */ lh $t6, 4($v0)
/* B05828 8008E688 448E8000 */ mtc1 $t6, $f16
/* B0582C 8008E68C 00000000 */ nop
/* B05830 8008E690 468084A0 */ cvt.s.w $f18, $f16
/* B05834 8008E694 E4B20008 */ swc1 $f18, 8($a1)
.L8008E698:
/* B05838 8008E698 03E00008 */ jr $ra
/* B0583C 8008E69C 00000000 */ nop

View File

@ -1,102 +0,0 @@
glabel FaultDrawer_DrawChar
/* B4DA3C 800D689C AFA40000 */ sw $a0, ($sp)
/* B4DA40 800D68A0 3C0C8017 */ lui $t4, %hi(sFaultDrawerStruct) # $t4, 0x8017
/* B4DA44 800D68A4 258CB680 */ addiu $t4, %lo(sFaultDrawerStruct) # addiu $t4, $t4, -0x4980
/* B4DA48 800D68A8 308400FF */ andi $a0, $a0, 0xff
/* B4DA4C 800D68AC 95830016 */ lhu $v1, 0x16($t4)
/* B4DA50 800D68B0 95880004 */ lhu $t0, 4($t4)
/* B4DA54 800D68B4 00802825 */ move $a1, $a0
/* B4DA58 800D68B8 30B80004 */ andi $t8, $a1, 4
/* B4DA5C 800D68BC 01030019 */ multu $t0, $v1
/* B4DA60 800D68C0 0018C883 */ sra $t9, $t8, 2
/* B4DA64 800D68C4 8D980018 */ lw $t8, 0x18($t4)
/* B4DA68 800D68C8 95820014 */ lhu $v0, 0x14($t4)
/* B4DA6C 800D68CC 04A10003 */ bgez $a1, .L800D68DC
/* B4DA70 800D68D0 000570C3 */ sra $t6, $a1, 3
/* B4DA74 800D68D4 24A10007 */ addiu $at, $a1, 7
/* B4DA78 800D68D8 000170C3 */ sra $t6, $at, 3
.L800D68DC:
/* B4DA7C 800D68DC 000E7900 */ sll $t7, $t6, 4
/* B4DA80 800D68E0 01F96821 */ addu $t5, $t7, $t9
/* B4DA84 800D68E4 00007812 */ mflo $t7
/* B4DA88 800D68E8 000D7080 */ sll $t6, $t5, 2
/* B4DA8C 800D68EC 000FC840 */ sll $t9, $t7, 1
/* B4DA90 800D68F0 8D8D0000 */ lw $t5, ($t4)
/* B4DA94 800D68F4 958F000C */ lhu $t7, 0xc($t4)
/* B4DA98 800D68F8 030E3021 */ addu $a2, $t8, $t6
/* B4DA9C 800D68FC 00027040 */ sll $t6, $v0, 1
/* B4DAA0 800D6900 032DC021 */ addu $t8, $t9, $t5
/* B4DAA4 800D6904 004F082A */ slt $at, $v0, $t7
/* B4DAA8 800D6908 1420003E */ bnez $at, .L800D6A04
/* B4DAAC 800D690C 030E3821 */ addu $a3, $t8, $t6
/* B4DAB0 800D6910 9184001C */ lbu $a0, 0x1c($t4)
/* B4DAB4 800D6914 9599000E */ lhu $t9, 0xe($t4)
/* B4DAB8 800D6918 00826821 */ addu $t5, $a0, $v0
/* B4DABC 800D691C 25B8FFFF */ addiu $t8, $t5, -1
/* B4DAC0 800D6920 0338082A */ slt $at, $t9, $t8
/* B4DAC4 800D6924 14200037 */ bnez $at, .L800D6A04
/* B4DAC8 800D6928 00000000 */ nop
/* B4DACC 800D692C 958E0008 */ lhu $t6, 8($t4)
/* B4DAD0 800D6930 006E082A */ slt $at, $v1, $t6
/* B4DAD4 800D6934 14200033 */ bnez $at, .L800D6A04
/* B4DAD8 800D6938 00000000 */ nop
/* B4DADC 800D693C 9182001D */ lbu $v0, 0x1d($t4)
/* B4DAE0 800D6940 958F000A */ lhu $t7, 0xa($t4)
/* B4DAE4 800D6944 00436821 */ addu $t5, $v0, $v1
/* B4DAE8 800D6948 25B9FFFF */ addiu $t9, $t5, -1
/* B4DAEC 800D694C 01F9082A */ slt $at, $t7, $t9
/* B4DAF0 800D6950 1420002C */ bnez $at, .L800D6A04
/* B4DAF4 800D6954 00000000 */ nop
/* B4DAF8 800D6958 1840002A */ blez $v0, .L800D6A04
/* B4DAFC 800D695C 00001825 */ move $v1, $zero
/* B4DB00 800D6960 04A10004 */ bgez $a1, .L800D6974
/* B4DB04 800D6964 30B80003 */ andi $t8, $a1, 3
/* B4DB08 800D6968 13000002 */ beqz $t8, .L800D6974
/* B4DB0C 800D696C 00000000 */ nop
/* B4DB10 800D6970 2718FFFC */ addiu $t8, $t8, -4
.L800D6974:
/* B4DB14 800D6974 3C0E1000 */ lui $t6, 0x1000
/* B4DB18 800D6978 030E5804 */ sllv $t3, $t6, $t8
/* B4DB1C 800D697C 01602825 */ move $a1, $t3
.L800D6980:
/* B4DB20 800D6980 8CC90000 */ lw $t1, ($a2)
/* B4DB24 800D6984 18800018 */ blez $a0, .L800D69E8
/* B4DB28 800D6988 00005025 */ move $t2, $zero
.L800D698C:
/* B4DB2C 800D698C 00A96824 */ and $t5, $a1, $t1
/* B4DB30 800D6990 51A00008 */ beql $t5, $zero, .L800D69B4
/* B4DB34 800D6994 95820012 */ lhu $v0, 0x12($t4)
/* B4DB38 800D6998 958F0010 */ lhu $t7, 0x10($t4)
/* B4DB3C 800D699C 000AC840 */ sll $t9, $t2, 1
/* B4DB40 800D69A0 00F97021 */ addu $t6, $a3, $t9
/* B4DB44 800D69A4 A5CF0000 */ sh $t7, ($t6)
/* B4DB48 800D69A8 10000009 */ b .L800D69D0
/* B4DB4C 800D69AC 9184001C */ lbu $a0, 0x1c($t4)
/* B4DB50 800D69B0 95820012 */ lhu $v0, 0x12($t4)
.L800D69B4:
/* B4DB54 800D69B4 000A6840 */ sll $t5, $t2, 1
/* B4DB58 800D69B8 00EDC821 */ addu $t9, $a3, $t5
/* B4DB5C 800D69BC 30580001 */ andi $t8, $v0, 1
/* B4DB60 800D69C0 53000004 */ beql $t8, $zero, .L800D69D4
/* B4DB64 800D69C4 254A0001 */ addiu $t2, $t2, 1
/* B4DB68 800D69C8 A7220000 */ sh $v0, ($t9)
/* B4DB6C 800D69CC 9184001C */ lbu $a0, 0x1c($t4)
.L800D69D0:
/* B4DB70 800D69D0 254A0001 */ addiu $t2, $t2, 1
.L800D69D4:
/* B4DB74 800D69D4 0144082A */ slt $at, $t2, $a0
/* B4DB78 800D69D8 1420FFEC */ bnez $at, .L800D698C
/* B4DB7C 800D69DC 00052902 */ srl $a1, $a1, 4
/* B4DB80 800D69E0 95880004 */ lhu $t0, 4($t4)
/* B4DB84 800D69E4 9182001D */ lbu $v0, 0x1d($t4)
.L800D69E8:
/* B4DB88 800D69E8 00087840 */ sll $t7, $t0, 1
/* B4DB8C 800D69EC 00EF3821 */ addu $a3, $a3, $t7
/* B4DB90 800D69F0 24C60008 */ addiu $a2, $a2, 8
/* B4DB94 800D69F4 24630001 */ addiu $v1, $v1, 1
/* B4DB98 800D69F8 0062082A */ slt $at, $v1, $v0
/* B4DB9C 800D69FC 5420FFE0 */ bnezl $at, .L800D6980
/* B4DBA0 800D6A00 01602825 */ move $a1, $t3
.L800D6A04:
/* B4DBA4 800D6A04 03E00008 */ jr $ra
/* B4DBA8 800D6A08 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel BgHakaMegane_Destroy
/* 000B4 8087DAF4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 000B8 8087DAF8 AFA40018 */ sw $a0, 0x0018($sp)
/* 000BC 8087DAFC 8FAE0018 */ lw $t6, 0x0018($sp)
/* 000C0 8087DB00 AFBF0014 */ sw $ra, 0x0014($sp)
/* 000C4 8087DB04 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 000C8 8087DB08 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 000CC 8087DB0C 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 000D0 8087DB10 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 000D4 8087DB14 8FBF0014 */ lw $ra, 0x0014($sp)
/* 000D8 8087DB18 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 000DC 8087DB1C 03E00008 */ jr $ra
/* 000E0 8087DB20 00000000 */ nop

View File

@ -1,57 +0,0 @@
glabel BgHakaMegane_Init
/* 00000 8087DA40 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00004 8087DA44 AFA50024 */ sw $a1, 0x0024($sp)
/* 00008 8087DA48 AFBF001C */ sw $ra, 0x001C($sp)
/* 0000C 8087DA4C AFB00018 */ sw $s0, 0x0018($sp)
/* 00010 8087DA50 3C058088 */ lui $a1, %hi(D_8087DD50) ## $a1 = 80880000
/* 00014 8087DA54 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00018 8087DA58 0C01E037 */ jal Actor_ProcessInitChain
/* 0001C 8087DA5C 24A5DD50 */ addiu $a1, $a1, %lo(D_8087DD50) ## $a1 = 8087DD50
/* 00020 8087DA60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00024 8087DA64 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 00028 8087DA68 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0002C 8087DA6C 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 00030 8087DA70 8FA40024 */ lw $a0, 0x0024($sp)
/* 00034 8087DA74 24050069 */ addiu $a1, $zero, 0x0069 ## $a1 = 00000069
/* 00038 8087DA78 29C10003 */ slti $at, $t6, 0x0003
/* 0003C 8087DA7C 5020000A */ beql $at, $zero, .L8087DAA8
/* 00040 8087DA80 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00044 8087DA84 8FA40024 */ lw $a0, 0x0024($sp)
/* 00048 8087DA88 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0004C 8087DA8C 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 00050 8087DA90 2405008D */ addiu $a1, $zero, 0x008D ## $a1 = 0000008D
/* 00054 8087DA94 0C02604B */ jal Object_GetIndex
## ObjectIndex
/* 00058 8087DA98 00812021 */ addu $a0, $a0, $at
/* 0005C 8087DA9C 10000006 */ beq $zero, $zero, .L8087DAB8
/* 00060 8087DAA0 A2020169 */ sb $v0, 0x0169($s0) ## 00000169
/* 00064 8087DAA4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
.L8087DAA8:
/* 00068 8087DAA8 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 0006C 8087DAAC 0C02604B */ jal Object_GetIndex
## ObjectIndex
/* 00070 8087DAB0 00812021 */ addu $a0, $a0, $at
/* 00074 8087DAB4 A2020169 */ sb $v0, 0x0169($s0) ## 00000169
.L8087DAB8:
/* 00078 8087DAB8 820F0169 */ lb $t7, 0x0169($s0) ## 00000169
/* 0007C 8087DABC 3C188088 */ lui $t8, %hi(func_8087DB24) ## $t8 = 80880000
/* 00080 8087DAC0 2718DB24 */ addiu $t8, $t8, %lo(func_8087DB24) ## $t8 = 8087DB24
/* 00084 8087DAC4 05E30006 */ bgezl $t7, .L8087DAE0
/* 00088 8087DAC8 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
/* 0008C 8087DACC 0C00B55C */ jal Actor_Kill
/* 00090 8087DAD0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00094 8087DAD4 10000003 */ beq $zero, $zero, .L8087DAE4
/* 00098 8087DAD8 8FBF001C */ lw $ra, 0x001C($sp)
/* 0009C 8087DADC AE180164 */ sw $t8, 0x0164($s0) ## 00000164
.L8087DAE0:
/* 000A0 8087DAE0 8FBF001C */ lw $ra, 0x001C($sp)
.L8087DAE4:
/* 000A4 8087DAE4 8FB00018 */ lw $s0, 0x0018($sp)
/* 000A8 8087DAE8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 000AC 8087DAEC 03E00008 */ jr $ra
/* 000B0 8087DAF0 00000000 */ nop

View File

@ -1,12 +0,0 @@
glabel BgHakaMegane_Update
/* 00230 8087DC70 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00234 8087DC74 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00238 8087DC78 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 0023C 8087DC7C 0320F809 */ jalr $ra, $t9
/* 00240 8087DC80 00000000 */ nop
/* 00244 8087DC84 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00248 8087DC88 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0024C 8087DC8C 03E00008 */ jr $ra
/* 00250 8087DC90 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_8087DBF0
/* 001B0 8087DBF0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 001B4 8087DBF4 AFBF001C */ sw $ra, 0x001C($sp)
/* 001B8 8087DBF8 AFB00018 */ sw $s0, 0x0018($sp)
/* 001BC 8087DBFC 90AE1C27 */ lbu $t6, 0x1C27($a1) ## 00001C27
/* 001C0 8087DC00 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 001C4 8087DC04 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 001C8 8087DC08 11C0000A */ beq $t6, $zero, .L8087DC34
/* 001CC 8087DC0C 2401FF7F */ addiu $at, $zero, 0xFF7F ## $at = FFFFFF7F
/* 001D0 8087DC10 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
/* 001D4 8087DC14 35F80080 */ ori $t8, $t7, 0x0080 ## $t8 = 00000080
/* 001D8 8087DC18 AC980004 */ sw $t8, 0x0004($a0) ## 00000004
/* 001DC 8087DC1C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 001E0 8087DC20 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 001E4 8087DC24 0C00FAFE */ jal func_8003EBF8
/* 001E8 8087DC28 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
/* 001EC 8087DC2C 10000009 */ beq $zero, $zero, .L8087DC54
/* 001F0 8087DC30 8FBF001C */ lw $ra, 0x001C($sp)
.L8087DC34:
/* 001F4 8087DC34 8CF90004 */ lw $t9, 0x0004($a3) ## 00000004
/* 001F8 8087DC38 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001FC 8087DC3C 26050810 */ addiu $a1, $s0, 0x0810 ## $a1 = 00000810
/* 00200 8087DC40 03214024 */ and $t0, $t9, $at
/* 00204 8087DC44 ACE80004 */ sw $t0, 0x0004($a3) ## 00000004
/* 00208 8087DC48 0C00FB14 */ jal func_8003EC50
/* 0020C 8087DC4C 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
/* 00210 8087DC50 8FBF001C */ lw $ra, 0x001C($sp)
.L8087DC54:
/* 00214 8087DC54 8FB00018 */ lw $s0, 0x0018($sp)
/* 00218 8087DC58 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 0021C 8087DC5C 03E00008 */ jr $ra
/* 00220 8087DC60 00000000 */ nop

View File

@ -1,6 +0,0 @@
glabel func_8087DC64
/* 00224 8087DC64 AFA40000 */ sw $a0, 0x0000($sp)
/* 00228 8087DC68 03E00008 */ jr $ra
/* 0022C 8087DC6C AFA50004 */ sw $a1, 0x0004($sp)

View File

@ -1,47 +0,0 @@
glabel func_8087DC94
/* 00254 8087DC94 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00258 8087DC98 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0025C 8087DC9C AFA5001C */ sw $a1, 0x001C($sp)
/* 00260 8087DCA0 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
/* 00264 8087DCA4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00268 8087DCA8 24010080 */ addiu $at, $zero, 0x0080 ## $at = 00000080
/* 0026C 8087DCAC 31CF0080 */ andi $t7, $t6, 0x0080 ## $t7 = 00000000
/* 00270 8087DCB0 15E1000B */ bne $t7, $at, .L8087DCE0
/* 00274 8087DCB4 8FA4001C */ lw $a0, 0x001C($sp)
/* 00278 8087DCB8 84D8001C */ lh $t8, 0x001C($a2) ## 0000001C
/* 0027C 8087DCBC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00280 8087DCC0 3C058088 */ lui $a1, %hi(D_8087DD88) ## $a1 = 80880000
/* 00284 8087DCC4 0018C880 */ sll $t9, $t8, 2
/* 00288 8087DCC8 00B92821 */ addu $a1, $a1, $t9
/* 0028C 8087DCCC 8CA5DD88 */ lw $a1, %lo(D_8087DD88)($a1)
/* 00290 8087DCD0 0C00D4C9 */ jal Draw_DListXlu
/* 00294 8087DCD4 AFA60018 */ sw $a2, 0x0018($sp)
/* 00298 8087DCD8 10000009 */ beq $zero, $zero, .L8087DD00
/* 0029C 8087DCDC 8FAA0018 */ lw $t2, 0x0018($sp)
.L8087DCE0:
/* 002A0 8087DCE0 84C8001C */ lh $t0, 0x001C($a2) ## 0000001C
/* 002A4 8087DCE4 3C058088 */ lui $a1, %hi(D_8087DD88) ## $a1 = 80880000
/* 002A8 8087DCE8 AFA60018 */ sw $a2, 0x0018($sp)
/* 002AC 8087DCEC 00084880 */ sll $t1, $t0, 2
/* 002B0 8087DCF0 00A92821 */ addu $a1, $a1, $t1
/* 002B4 8087DCF4 0C00D498 */ jal Draw_DListOpa
/* 002B8 8087DCF8 8CA5DD88 */ lw $a1, %lo(D_8087DD88)($a1)
/* 002BC 8087DCFC 8FAA0018 */ lw $t2, 0x0018($sp)
.L8087DD00:
/* 002C0 8087DD00 8FA4001C */ lw $a0, 0x001C($sp)
/* 002C4 8087DD04 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 002C8 8087DD08 854B001C */ lh $t3, 0x001C($t2) ## 0000001C
/* 002CC 8087DD0C 55600004 */ bnel $t3, $zero, .L8087DD20
/* 002D0 8087DD10 8FBF0014 */ lw $ra, 0x0014($sp)
/* 002D4 8087DD14 0C00D4C9 */ jal Draw_DListXlu
/* 002D8 8087DD18 24A51250 */ addiu $a1, $a1, 0x1250 ## $a1 = 06001250
/* 002DC 8087DD1C 8FBF0014 */ lw $ra, 0x0014($sp)
.L8087DD20:
/* 002E0 8087DD20 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 002E4 8087DD24 03E00008 */ jr $ra
/* 002E8 8087DD28 00000000 */ nop
/* 002EC 8087DD2C 00000000 */ nop

View File

@ -5,7 +5,7 @@ glabel func_809B064C
/* 002E8 809B0658 AFA50024 */ sw $a1, 0x0024($sp)
/* 002EC 809B065C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 002F0 809B0660 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
/* 002F4 809B0664 0C01B0D8 */ jal func_8006C360
/* 002F4 809B0664 0C01B0D8 */ jal Text_GetFaceReaction
/* 002F8 809B0668 AFA70020 */ sw $a3, 0x0020($sp)
/* 002FC 809B066C 8FA50024 */ lw $a1, 0x0024($sp)
/* 00300 809B0670 8FA70020 */ lw $a3, 0x0020($sp)

View File

@ -5,7 +5,7 @@ glabel func_809E1CB8
/* 00414 809E1CC4 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 00418 809E1CC8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0041C 809E1CCC 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
/* 00420 809E1CD0 0C01B0D8 */ jal func_8006C360
/* 00420 809E1CD0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00424 809E1CD4 AFAE001C */ sw $t6, 0x001C($sp)
/* 00428 809E1CD8 3C0F8016 */ lui $t7, 0x8016 ## $t7 = 80160000
/* 0042C 809E1CDC 95EFF556 */ lhu $t7, -0x0AAA($t7) ## 8015F556

View File

@ -50,7 +50,7 @@ glabel func_809E47EC
/* 00584 809E48A4 33280003 */ andi $t0, $t9, 0x0003 ## $t0 = 00000000
/* 00588 809E48A8 00084880 */ sll $t1, $t0, 2
/* 0058C 809E48AC 00A92821 */ addu $a1, $a1, $t1
/* 00590 809E48B0 0C01B0D8 */ jal func_8006C360
/* 00590 809E48B0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00594 809E48B4 8CA55570 */ lw $a1, %lo(D_809E5570)($a1)
/* 00598 809E48B8 304AFFFF */ andi $t2, $v0, 0xFFFF ## $t2 = 00000000
/* 0059C 809E48BC 15400035 */ bne $t2, $zero, .L809E4994

View File

@ -53,11 +53,11 @@ glabel func_809EDD4C
/* 00594 809EDE04 10000030 */ beq $zero, $zero, .L809EDEC8
/* 00598 809EDE08 AE080280 */ sw $t0, 0x0280($s0) ## 00000280
.L809EDE0C:
/* 0059C 809EDE0C 0C01B0D8 */ jal func_8006C360
/* 0059C 809EDE0C 0C01B0D8 */ jal Text_GetFaceReaction
/* 005A0 809EDE10 2405001D */ addiu $a1, $zero, 0x001D ## $a1 = 0000001D
/* 005A4 809EDE14 10400007 */ beq $v0, $zero, .L809EDE34
/* 005A8 809EDE18 8FA40024 */ lw $a0, 0x0024($sp)
/* 005AC 809EDE1C 0C01B0D8 */ jal func_8006C360
/* 005AC 809EDE1C 0C01B0D8 */ jal Text_GetFaceReaction
/* 005B0 809EDE20 2405001D */ addiu $a1, $zero, 0x001D ## $a1 = 0000001D
/* 005B4 809EDE24 24090006 */ addiu $t1, $zero, 0x0006 ## $t1 = 00000006
/* 005B8 809EDE28 A602010E */ sh $v0, 0x010E($s0) ## 0000010E

View File

@ -2,7 +2,7 @@ glabel func_809FDC38
/* 00008 809FDC38 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0000C 809FDC3C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00010 809FDC40 AFA5001C */ sw $a1, 0x001C($sp)
/* 00014 809FDC44 0C01B0D8 */ jal func_8006C360
/* 00014 809FDC44 0C01B0D8 */ jal Text_GetFaceReaction
/* 00018 809FDC48 24050021 */ addiu $a1, $zero, 0x0021 ## $a1 = 00000021
/* 0001C 809FDC4C 10400003 */ beq $v0, $zero, .L809FDC5C
/* 00020 809FDC50 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000

View File

@ -4,7 +4,7 @@ glabel func_80A1DA9C
/* 00294 80A1DAA4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00298 80A1DAA8 AFA50034 */ sw $a1, 0x0034($sp)
/* 0029C 80A1DAAC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 002A0 80A1DAB0 0C01B0D8 */ jal func_8006C360
/* 002A0 80A1DAB0 0C01B0D8 */ jal Text_GetFaceReaction
/* 002A4 80A1DAB4 2405000B */ addiu $a1, $zero, 0x000B ## $a1 = 0000000B
/* 002A8 80A1DAB8 14400009 */ bne $v0, $zero, .L80A1DAE0
/* 002AC 80A1DABC 3046FFFF */ andi $a2, $v0, 0xFFFF ## $a2 = 00000000

View File

@ -4,7 +4,7 @@ glabel func_80A3118C
/* 00824 80A31194 AFBF001C */ sw $ra, 0x001C($sp)
/* 00828 80A31198 AFA50024 */ sw $a1, 0x0024($sp)
/* 0082C 80A3119C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00830 80A311A0 0C01B0D8 */ jal func_8006C360
/* 00830 80A311A0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00834 80A311A4 24050022 */ addiu $a1, $zero, 0x0022 ## $a1 = 00000022
/* 00838 80A311A8 14400002 */ bne $v0, $zero, .L80A311B4
/* 0083C 80A311AC 3046FFFF */ andi $a2, $v0, 0xFFFF ## $a2 = 00000000

View File

@ -4,7 +4,7 @@ glabel func_80A31880
/* 00F18 80A31888 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00F1C 80A3188C AFA5002C */ sw $a1, 0x002C($sp)
/* 00F20 80A31890 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00F24 80A31894 0C01B0D8 */ jal func_8006C360
/* 00F24 80A31894 0C01B0D8 */ jal Text_GetFaceReaction
/* 00F28 80A31898 24050022 */ addiu $a1, $zero, 0x0022 ## $a1 = 00000022
/* 00F2C 80A3189C 14400002 */ bne $v0, $zero, .L80A318A8
/* 00F30 80A318A0 3046FFFF */ andi $a2, $v0, 0xFFFF ## $a2 = 00000000

View File

@ -99,7 +99,7 @@ glabel L80A46594
/* 03908 80A46638 A20F0216 */ sb $t7, 0x0216($s0) ## 00000216
/* 0390C 80A4663C 8FA40044 */ lw $a0, 0x0044($sp)
/* 03910 80A46640 00052C03 */ sra $a1, $a1, 16
/* 03914 80A46644 0C023938 */ jal func_8008E4E0
/* 03914 80A46644 0C023938 */ jal Path_GetByIndex
/* 03918 80A46648 2406001F */ addiu $a2, $zero, 0x001F ## $a2 = 0000001F
/* 0391C 80A4664C 8603001C */ lh $v1, 0x001C($s0) ## 0000001C
/* 03920 80A46650 AE020208 */ sw $v0, 0x0208($s0) ## 00000208
@ -163,7 +163,7 @@ glabel L80A46704
/* 039E8 80A46718 53200024 */ beql $t9, $zero, .L80A467AC
/* 039EC 80A4671C 3059EFFF */ andi $t9, $v0, 0xEFFF ## $t9 = 00000000
/* 039F0 80A46720 8E040208 */ lw $a0, 0x0208($s0) ## 00000208
/* 039F4 80A46724 0C023983 */ jal func_8008E60C
/* 039F4 80A46724 0C023983 */ jal Path_CopyLastPoint
/* 039F8 80A46728 AFA50030 */ sw $a1, 0x0030($sp)
/* 039FC 80A4672C 8FA50030 */ lw $a1, 0x0030($sp)
/* 03A00 80A46730 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
@ -299,7 +299,7 @@ glabel L80A468FC
/* 03BE0 80A46910 1120000B */ beq $t1, $zero, .L80A46940
/* 03BE4 80A46914 00000000 */ nop
/* 03BE8 80A46918 8E040208 */ lw $a0, 0x0208($s0) ## 00000208
/* 03BEC 80A4691C 0C023983 */ jal func_8008E60C
/* 03BEC 80A4691C 0C023983 */ jal Path_CopyLastPoint
/* 03BF0 80A46920 AFA50030 */ sw $a1, 0x0030($sp)
/* 03BF4 80A46924 8FA50030 */ lw $a1, 0x0030($sp)
/* 03BF8 80A46928 8CAB0000 */ lw $t3, 0x0000($a1) ## 00000000

View File

@ -4,7 +4,7 @@ glabel func_80A44534
/* 0180C 80A4453C 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 01810 80A44540 AFA6001C */ sw $a2, 0x001C($sp)
/* 01814 80A44544 24050020 */ addiu $a1, $zero, 0x0020 ## $a1 = 00000020
/* 01818 80A44548 0C01B0D8 */ jal func_8006C360
/* 01818 80A44548 0C01B0D8 */ jal Text_GetFaceReaction
/* 0181C 80A4454C AFA40018 */ sw $a0, 0x0018($sp)
/* 01820 80A44550 8FA40018 */ lw $a0, 0x0018($sp)
/* 01824 80A44554 8FA6001C */ lw $a2, 0x001C($sp)

View File

@ -6,7 +6,7 @@ glabel func_80A44CE4
/* 01FC4 80A44CF4 AFA50034 */ sw $a1, 0x0034($sp)
/* 01FC8 80A44CF8 82060210 */ lb $a2, 0x0210($s0) ## 00000210
/* 01FCC 80A44CFC 8E050208 */ lw $a1, 0x0208($s0) ## 00000208
/* 01FD0 80A44D00 0C023948 */ jal func_8008E520
/* 01FD0 80A44D00 0C023948 */ jal Path_OrientAndGetDistSq
/* 01FD4 80A44D04 27A7002E */ addiu $a3, $sp, 0x002E ## $a3 = FFFFFFFE
/* 01FD8 80A44D08 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 01FDC 80A44D0C AFAE0010 */ sw $t6, 0x0010($sp)

View File

@ -4,7 +4,7 @@ glabel func_80A44D84
/* 0205C 80A44D8C 80860210 */ lb $a2, 0x0210($a0) ## 00000210
/* 02060 80A44D90 8C850208 */ lw $a1, 0x0208($a0) ## 00000208
/* 02064 80A44D94 AFA40020 */ sw $a0, 0x0020($sp)
/* 02068 80A44D98 0C023948 */ jal func_8008E520
/* 02068 80A44D98 0C023948 */ jal Path_OrientAndGetDistSq
/* 0206C 80A44D9C 27A7001E */ addiu $a3, $sp, 0x001E ## $a3 = FFFFFFFE
/* 02070 80A44DA0 8FA40020 */ lw $a0, 0x0020($sp)
/* 02074 80A44DA4 87AE001E */ lh $t6, 0x001E($sp)

View File

@ -17,7 +17,7 @@ glabel func_80A462D8
/* 035E4 80A46314 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
/* 035E8 80A46318 8E040208 */ lw $a0, 0x0208($s0) ## 00000208
/* 035EC 80A4631C 260504AC */ addiu $a1, $s0, 0x04AC ## $a1 = 000004AC
/* 035F0 80A46320 0C023983 */ jal func_8008E60C
/* 035F0 80A46320 0C023983 */ jal Path_CopyLastPoint
/* 035F4 80A46324 AFA50020 */ sw $a1, 0x0020($sp)
/* 035F8 80A46328 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 035FC 80A4632C 0C01E01A */ jal Math_Vec3f_Yaw

View File

@ -7,11 +7,11 @@ glabel func_80A53278
/* 003EC 80A5328C A080030B */ sb $zero, 0x030B($a0) ## 0000030B
/* 003F0 80A53290 A480030E */ sh $zero, 0x030E($a0) ## 0000030E
/* 003F4 80A53294 8FA40024 */ lw $a0, 0x0024($sp)
/* 003F8 80A53298 0C01B0D8 */ jal func_8006C360
/* 003F8 80A53298 0C01B0D8 */ jal Text_GetFaceReaction
/* 003FC 80A5329C 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 00400 80A532A0 1040000C */ beq $v0, $zero, .L80A532D4
/* 00404 80A532A4 8FA40024 */ lw $a0, 0x0024($sp)
/* 00408 80A532A8 0C01B0D8 */ jal func_8006C360
/* 00408 80A532A8 0C01B0D8 */ jal Text_GetFaceReaction
/* 0040C 80A532AC 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 00410 80A532B0 3C1880A5 */ lui $t8, %hi(func_80A5475C) ## $t8 = 80A50000
/* 00414 80A532B4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001

View File

@ -50,7 +50,7 @@ glabel func_80A5399C
/* 00BA8 80A53A48 8FA40024 */ lw $a0, 0x0024($sp)
/* 00BAC 80A53A4C 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 00BB0 80A53A50 A7A3001E */ sh $v1, 0x001E($sp)
/* 00BB4 80A53A54 0C01B0D8 */ jal func_8006C360
/* 00BB4 80A53A54 0C01B0D8 */ jal Text_GetFaceReaction
/* 00BB8 80A53A58 AFA60020 */ sw $a2, 0x0020($sp)
/* 00BBC 80A53A5C 87A3001E */ lh $v1, 0x001E($sp)
/* 00BC0 80A53A60 1040000D */ beq $v0, $zero, .L80A53A98
@ -58,7 +58,7 @@ glabel func_80A5399C
/* 00BC8 80A53A68 1460000B */ bne $v1, $zero, .L80A53A98
/* 00BCC 80A53A6C 8FA40024 */ lw $a0, 0x0024($sp)
/* 00BD0 80A53A70 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 00BD4 80A53A74 0C01B0D8 */ jal func_8006C360
/* 00BD4 80A53A74 0C01B0D8 */ jal Text_GetFaceReaction
/* 00BD8 80A53A78 AFA60020 */ sw $a2, 0x0020($sp)
/* 00BDC 80A53A7C 8FA60020 */ lw $a2, 0x0020($sp)
/* 00BE0 80A53A80 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001

View File

@ -10,12 +10,12 @@ glabel func_80A53AD4
/* 00C54 80A53AF4 AFAF0024 */ sw $t7, 0x0024($sp)
/* 00C58 80A53AF8 8FA4002C */ lw $a0, 0x002C($sp)
/* 00C5C 80A53AFC 0C01B0D8 */ jal func_8006C360
/* 00C5C 80A53AFC 0C01B0D8 */ jal Text_GetFaceReaction
/* 00C60 80A53B00 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 00C64 80A53B04 10400006 */ beq $v0, $zero, .L80A53B20
/* 00C68 80A53B08 2418200E */ addiu $t8, $zero, 0x200E ## $t8 = 0000200E
/* 00C6C 80A53B0C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00C70 80A53B10 0C01B0D8 */ jal func_8006C360
/* 00C70 80A53B10 0C01B0D8 */ jal Text_GetFaceReaction
/* 00C74 80A53B14 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 00C78 80A53B18 10000002 */ beq $zero, $zero, .L80A53B24
/* 00C7C 80A53B1C A602010E */ sh $v0, 0x010E($s0) ## 0000010E

View File

@ -8,7 +8,7 @@ glabel func_80A5475C
/* 018D4 80A54774 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 018D8 80A54778 8FA4001C */ lw $a0, 0x001C($sp)
/* 018DC 80A5477C 0C01B0D8 */ jal func_8006C360
/* 018DC 80A5477C 0C01B0D8 */ jal Text_GetFaceReaction
/* 018E0 80A54780 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 018E4 80A54784 10400011 */ beq $v0, $zero, .L80A547CC
/* 018E8 80A54788 8FA60018 */ lw $a2, 0x0018($sp)

View File

@ -22,14 +22,14 @@ glabel func_80A563BC
/* 00334 80A56404 01CF1821 */ addu $v1, $t6, $t7
/* 00338 80A56408 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 0033C 80A5640C AFA30018 */ sw $v1, 0x0018($sp)
/* 00340 80A56410 0C01B0D8 */ jal func_8006C360
/* 00340 80A56410 0C01B0D8 */ jal Text_GetFaceReaction
/* 00344 80A56414 AFA60020 */ sw $a2, 0x0020($sp)
/* 00348 80A56418 8FA30018 */ lw $v1, 0x0018($sp)
/* 0034C 80A5641C 1040000D */ beq $v0, $zero, .L80A56454
/* 00350 80A56420 8FA60020 */ lw $a2, 0x0020($sp)
/* 00354 80A56424 8FA40024 */ lw $a0, 0x0024($sp)
/* 00358 80A56428 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 0035C 80A5642C 0C01B0D8 */ jal func_8006C360
/* 0035C 80A5642C 0C01B0D8 */ jal Text_GetFaceReaction
/* 00360 80A56430 AFA60020 */ sw $a2, 0x0020($sp)
/* 00364 80A56434 8FA60020 */ lw $a2, 0x0020($sp)
/* 00368 80A56438 3C1980A5 */ lui $t9, %hi(func_80A56B40) ## $t9 = 80A50000

View File

@ -23,7 +23,7 @@ glabel func_80A56614
/* 00590 80A56660 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 00594 80A56664 AFA30018 */ sw $v1, 0x0018($sp)
/* 00598 80A56668 AFA60020 */ sw $a2, 0x0020($sp)
/* 0059C 80A5666C 0C01B0D8 */ jal func_8006C360
/* 0059C 80A5666C 0C01B0D8 */ jal Text_GetFaceReaction
/* 005A0 80A56670 AFA70024 */ sw $a3, 0x0024($sp)
/* 005A4 80A56674 8FA30018 */ lw $v1, 0x0018($sp)
/* 005A8 80A56678 8FA60020 */ lw $a2, 0x0020($sp)
@ -31,7 +31,7 @@ glabel func_80A56614
/* 005B0 80A56680 8FA70024 */ lw $a3, 0x0024($sp)
/* 005B4 80A56684 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 005B8 80A56688 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 005BC 80A5668C 0C01B0D8 */ jal func_8006C360
/* 005BC 80A5668C 0C01B0D8 */ jal Text_GetFaceReaction
/* 005C0 80A56690 AFA60020 */ sw $a2, 0x0020($sp)
/* 005C4 80A56694 8FA60020 */ lw $a2, 0x0020($sp)
/* 005C8 80A56698 3C1980A5 */ lui $t9, %hi(func_80A56B40) ## $t9 = 80A50000

View File

@ -26,7 +26,7 @@ glabel func_80A56B40
.L80A56B98:
/* 00AC8 80A56B98 00AE2821 */ addu $a1, $a1, $t6
/* 00ACC 80A56B9C 8CA56EF0 */ lw $a1, %lo(D_80A56EF0)($a1)
/* 00AD0 80A56BA0 0C01B0D8 */ jal func_8006C360
/* 00AD0 80A56BA0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00AD4 80A56BA4 AFA60018 */ sw $a2, 0x0018($sp)
/* 00AD8 80A56BA8 10400013 */ beq $v0, $zero, .L80A56BF8
/* 00ADC 80A56BAC 8FA60018 */ lw $a2, 0x0018($sp)

View File

@ -4,7 +4,7 @@ glabel func_80A6F1A4
/* 0020C 80A6F1AC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00210 80A6F1B0 AFA5001C */ sw $a1, 0x001C($sp)
/* 00214 80A6F1B4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00218 80A6F1B8 0C01B0D8 */ jal func_8006C360
/* 00218 80A6F1B8 0C01B0D8 */ jal Text_GetFaceReaction
/* 0021C 80A6F1BC 24050009 */ addiu $a1, $zero, 0x0009 ## $a1 = 00000009
/* 00220 80A6F1C0 14400002 */ bne $v0, $zero, .L80A6F1CC
/* 00224 80A6F1C4 3046FFFF */ andi $a2, $v0, 0xFFFF ## $a2 = 00000000

View File

@ -8,7 +8,7 @@ glabel func_80A6F810
/* 00278 80A6F828 30A5007F */ andi $a1, $a1, 0x007F ## $a1 = 00000000
/* 0027C 80A6F82C 24A50025 */ addiu $a1, $a1, 0x0025 ## $a1 = 00000025
/* 00280 80A6F830 AFA40020 */ sw $a0, 0x0020($sp)
/* 00284 80A6F834 0C01B0D8 */ jal func_8006C360
/* 00284 80A6F834 0C01B0D8 */ jal Text_GetFaceReaction
/* 00288 80A6F838 AFA3001C */ sw $v1, 0x001C($sp)
/* 0028C 80A6F83C 8FA3001C */ lw $v1, 0x001C($sp)
/* 00290 80A6F840 8FA40020 */ lw $a0, 0x0020($sp)

View File

@ -130,7 +130,7 @@ glabel func_80A70E34
/* 01A6C 80A7101C 30A50780 */ andi $a1, $a1, 0x0780 ## $a1 = 00000000
/* 01A70 80A71020 000529C3 */ sra $a1, $a1, 7
/* 01A74 80A71024 00052C00 */ sll $a1, $a1, 16
/* 01A78 80A71028 0C023938 */ jal func_8008E4E0
/* 01A78 80A71028 0C023938 */ jal Path_GetByIndex
/* 01A7C 80A7102C 00052C03 */ sra $a1, $a1, 16
/* 01A80 80A71030 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
/* 01A84 80A71034 AE020210 */ sw $v0, 0x0210($s0) ## 00000210

View File

@ -6,7 +6,7 @@ glabel func_80A711B4
/* 01C14 80A711C4 AFA50034 */ sw $a1, 0x0034($sp)
/* 01C18 80A711C8 82060214 */ lb $a2, 0x0214($s0) ## 00000214
/* 01C1C 80A711CC 8E050210 */ lw $a1, 0x0210($s0) ## 00000210
/* 01C20 80A711D0 0C023948 */ jal func_8008E520
/* 01C20 80A711D0 0C023948 */ jal Path_OrientAndGetDistSq
/* 01C24 80A711D4 27A7002E */ addiu $a3, $sp, 0x002E ## $a3 = FFFFFFFE
/* 01C28 80A711D8 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 01C2C 80A711DC AFAE0010 */ sw $t6, 0x0010($sp)

View File

@ -35,7 +35,7 @@ glabel func_80A7134C
/* 01E18 80A713C8 8E050210 */ lw $a1, 0x0210($s0) ## 00000210
/* 01E1C 80A713CC 82060214 */ lb $a2, 0x0214($s0) ## 00000214
/* 01E20 80A713D0 27A70036 */ addiu $a3, $sp, 0x0036 ## $a3 = FFFFFFFE
/* 01E24 80A713D4 0C023948 */ jal func_8008E520
/* 01E24 80A713D4 0C023948 */ jal Path_OrientAndGetDistSq
/* 01E28 80A713D8 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 01E2C 80A713DC 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 01E30 80A713E0 AFA80010 */ sw $t0, 0x0010($sp)

View File

@ -3,7 +3,7 @@ glabel func_80A79010
/* 00064 80A79014 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00068 80A79018 8C8E1C44 */ lw $t6, 0x1C44($a0) ## 00001C44
/* 0006C 80A7901C 24050019 */ addiu $a1, $zero, 0x0019 ## $a1 = 00000019
/* 00070 80A79020 0C01B0D8 */ jal func_8006C360
/* 00070 80A79020 0C01B0D8 */ jal Text_GetFaceReaction
/* 00074 80A79024 AFAE001C */ sw $t6, 0x001C($sp)
/* 00078 80A79028 10400003 */ beq $v0, $zero, .L80A79038
/* 0007C 80A7902C 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000

View File

@ -3,7 +3,7 @@ glabel func_80A79168
/* 001BC 80A7916C AFBF0014 */ sw $ra, 0x0014($sp)
/* 001C0 80A79170 AFA5001C */ sw $a1, 0x001C($sp)
/* 001C4 80A79174 24050019 */ addiu $a1, $zero, 0x0019 ## $a1 = 00000019
/* 001C8 80A79178 0C01B0D8 */ jal func_8006C360
/* 001C8 80A79178 0C01B0D8 */ jal Text_GetFaceReaction
/* 001CC 80A7917C AFA40018 */ sw $a0, 0x0018($sp)
/* 001D0 80A79180 8FA40018 */ lw $a0, 0x0018($sp)
/* 001D4 80A79184 10400003 */ beq $v0, $zero, .L80A79194

View File

@ -21,7 +21,7 @@ glabel func_80A97610
/* 008AC 80A9765C 14610007 */ bne $v1, $at, .L80A9767C
.L80A97660:
/* 008B0 80A97660 24050013 */ addiu $a1, $zero, 0x0013 ## $a1 = 00000013
/* 008B4 80A97664 0C01B0D8 */ jal func_8006C360
/* 008B4 80A97664 0C01B0D8 */ jal Text_GetFaceReaction
/* 008B8 80A97668 AFA60024 */ sw $a2, 0x0024($sp)
/* 008BC 80A9766C 8FA60024 */ lw $a2, 0x0024($sp)
/* 008C0 80A97670 84C3001C */ lh $v1, 0x001C($a2) ## 0000001C
@ -43,7 +43,7 @@ glabel func_80A97610
.L80A976AC:
/* 008FC 80A976AC 8FA40020 */ lw $a0, 0x0020($sp)
/* 00900 80A976B0 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
/* 00904 80A976B4 0C01B0D8 */ jal func_8006C360
/* 00904 80A976B4 0C01B0D8 */ jal Text_GetFaceReaction
/* 00908 80A976B8 AFA60024 */ sw $a2, 0x0024($sp)
/* 0090C 80A976BC 8FA60024 */ lw $a2, 0x0024($sp)
/* 00910 80A976C0 3044FFFF */ andi $a0, $v0, 0xFFFF ## $a0 = 00000000
@ -54,7 +54,7 @@ glabel func_80A97610
/* 00920 80A976D0 14610006 */ bne $v1, $at, .L80A976EC
/* 00924 80A976D4 24050012 */ addiu $a1, $zero, 0x0012 ## $a1 = 00000012
/* 00928 80A976D8 8FA40020 */ lw $a0, 0x0020($sp)
/* 0092C 80A976DC 0C01B0D8 */ jal func_8006C360
/* 0092C 80A976DC 0C01B0D8 */ jal Text_GetFaceReaction
/* 00930 80A976E0 AFA60024 */ sw $a2, 0x0024($sp)
/* 00934 80A976E4 8FA60024 */ lw $a2, 0x0024($sp)
/* 00938 80A976E8 3044FFFF */ andi $a0, $v0, 0xFFFF ## $a0 = 00000000

View File

@ -169,7 +169,7 @@ glabel func_80A99048
/* 02508 80A992B8 00052C00 */ sll $a1, $a1, 16
/* 0250C 80A992BC 00052C03 */ sra $a1, $a1, 16
/* 02510 80A992C0 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 02514 80A992C4 0C023938 */ jal func_8008E4E0
/* 02514 80A992C4 0C023938 */ jal Path_GetByIndex
/* 02518 80A992C8 E6040220 */ swc1 $f4, 0x0220($s0) ## 00000220
/* 0251C 80A992CC C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 02520 80A992D0 AE0201E4 */ sw $v0, 0x01E4($s0) ## 000001E4
@ -209,7 +209,7 @@ glabel func_80A99048
/* 025A4 80A99354 10000006 */ beq $zero, $zero, .L80A99370
/* 025A8 80A99358 A60901DA */ sh $t1, 0x01DA($s0) ## 000001DA
.L80A9935C:
/* 025AC 80A9935C 0C023983 */ jal func_8008E60C
/* 025AC 80A9935C 0C023983 */ jal Path_CopyLastPoint
/* 025B0 80A99360 8E0401E4 */ lw $a0, 0x01E4($s0) ## 000001E4
.L80A99364:
/* 025B4 80A99364 3C0B80AA */ lui $t3, %hi(func_80A99384) ## $t3 = 80AA0000

View File

@ -3,7 +3,7 @@ glabel func_80A9C658
/* 0010C 80A9C65C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00110 80A9C660 AFA5001C */ sw $a1, 0x001C($sp)
/* 00114 80A9C664 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
/* 00118 80A9C668 0C01B0D8 */ jal func_8006C360
/* 00118 80A9C668 0C01B0D8 */ jal Text_GetFaceReaction
/* 0011C 80A9C66C AFA40018 */ sw $a0, 0x0018($sp)
/* 00120 80A9C670 8FA40018 */ lw $a0, 0x0018($sp)
/* 00124 80A9C674 8FA5001C */ lw $a1, 0x001C($sp)

View File

@ -2,7 +2,7 @@ glabel func_80AA0690
/* 00000 80AA0690 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00004 80AA0694 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00008 80AA0698 AFA5001C */ sw $a1, 0x001C($sp)
/* 0000C 80AA069C 0C01B0D8 */ jal func_8006C360
/* 0000C 80AA069C 0C01B0D8 */ jal Text_GetFaceReaction
/* 00010 80AA06A0 24050017 */ addiu $a1, $zero, 0x0017 ## $a1 = 00000017
/* 00014 80AA06A4 10400003 */ beq $v0, $zero, .L80AA06B4
/* 00018 80AA06A8 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000

View File

@ -2,7 +2,7 @@ glabel func_80AA19A0
/* 00000 80AA19A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00004 80AA19A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00008 80AA19A8 AFA5001C */ sw $a1, 0x001C($sp)
/* 0000C 80AA19AC 0C01B0D8 */ jal func_8006C360
/* 0000C 80AA19AC 0C01B0D8 */ jal Text_GetFaceReaction
/* 00010 80AA19B0 24050017 */ addiu $a1, $zero, 0x0017 ## $a1 = 00000017
/* 00014 80AA19B4 10400003 */ beq $v0, $zero, .L80AA19C4
/* 00018 80AA19B8 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000

View File

@ -2,7 +2,7 @@ glabel func_80AAACF8
/* 00AA8 80AAACF8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00AAC 80AAACFC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00AB0 80AAAD00 AFA5001C */ sw $a1, 0x001C($sp)
/* 00AB4 80AAAD04 0C01B0D8 */ jal func_8006C360
/* 00AB4 80AAAD04 0C01B0D8 */ jal Text_GetFaceReaction
/* 00AB8 80AAAD08 24050011 */ addiu $a1, $zero, 0x0011 ## $a1 = 00000011
/* 00ABC 80AAAD0C 8FA4001C */ lw $a0, 0x001C($sp)
/* 00AC0 80AAAD10 10400003 */ beq $v0, $zero, .L80AAAD20

View File

@ -119,7 +119,7 @@ glabel func_80AAD080
/* 00930 80AAD230 8FBF002C */ lw $ra, 0x002C($sp)
.L80AAD234:
/* 00934 80AAD234 8FA40044 */ lw $a0, 0x0044($sp)
/* 00938 80AAD238 0C01B0D8 */ jal func_8006C360
/* 00938 80AAD238 0C01B0D8 */ jal Text_GetFaceReaction
/* 0093C 80AAD23C 2405001A */ addiu $a1, $zero, 0x001A ## $a1 = 0000001A
/* 00940 80AAD240 3059FFFF */ andi $t9, $v0, 0xFFFF ## $t9 = 00000000
/* 00944 80AAD244 17200003 */ bne $t9, $zero, .L80AAD254

View File

@ -5,7 +5,7 @@ glabel func_80AADC34
/* 004D0 80AADC40 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 004D4 80AADC44 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 004D8 80AADC48 2405001C */ addiu $a1, $zero, 0x001C ## $a1 = 0000001C
/* 004DC 80AADC4C 0C01B0D8 */ jal func_8006C360
/* 004DC 80AADC4C 0C01B0D8 */ jal Text_GetFaceReaction
/* 004E0 80AADC50 AFAE001C */ sw $t6, 0x001C($sp)
/* 004E4 80AADC54 3C058016 */ lui $a1, 0x8016 ## $a1 = 80160000
/* 004E8 80AADC58 24A5E660 */ addiu $a1, $a1, 0xE660 ## $a1 = 8015E660

View File

@ -3,7 +3,7 @@ glabel func_80AB0584
/* 00168 80AB0588 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0016C 80AB058C AFA5001C */ sw $a1, 0x001C($sp)
/* 00170 80AB0590 84A5001C */ lh $a1, 0x001C($a1) ## 0000001C
/* 00174 80AB0594 0C01B0D8 */ jal func_8006C360
/* 00174 80AB0594 0C01B0D8 */ jal Text_GetFaceReaction
/* 00178 80AB0598 24A5003A */ addiu $a1, $a1, 0x003A ## $a1 = 0000003A
/* 0017C 80AB059C 10400003 */ beq $v0, $zero, .L80AB05AC
/* 00180 80AB05A0 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000

View File

@ -15,7 +15,7 @@ glabel func_80AB3B04
/* 02DA4 80AB3B34 35F80009 */ ori $t8, $t7, 0x0009 ## $t8 = 00000009
/* 02DA8 80AB3B38 ACD80004 */ sw $t8, 0x0004($a2) ## 00000004
/* 02DAC 80AB3B3C AFA60018 */ sw $a2, 0x0018($sp)
/* 02DB0 80AB3B40 0C01B0D8 */ jal func_8006C360
/* 02DB0 80AB3B40 0C01B0D8 */ jal Text_GetFaceReaction
/* 02DB4 80AB3B44 8FA4001C */ lw $a0, 0x001C($sp)
/* 02DB8 80AB3B48 8FA60018 */ lw $a2, 0x0018($sp)
/* 02DBC 80AB3B4C 3059FFFF */ andi $t9, $v0, 0xFFFF ## $t9 = 00000000

View File

@ -4,7 +4,7 @@ glabel func_80AB9D60
/* 00128 80AB9D68 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0012C 80AB9D6C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00130 80AB9D70 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 00134 80AB9D74 0C01B0D8 */ jal func_8006C360
/* 00134 80AB9D74 0C01B0D8 */ jal Text_GetFaceReaction
/* 00138 80AB9D78 AFA60030 */ sw $a2, 0x0030($sp)
/* 0013C 80AB9D7C 8FA30028 */ lw $v1, 0x0028($sp)
/* 00140 80AB9D80 10400002 */ beq $v0, $zero, .L80AB9D8C

View File

@ -137,11 +137,11 @@ glabel func_80ABA244
/* 007F0 80ABA430 85ADB3A0 */ lh $t5, %lo(D_80ABB3A0)($t5)
/* 007F4 80ABA434 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 007F8 80ABA438 A64D010E */ sh $t5, 0x010E($s2) ## 0000010E
/* 007FC 80ABA43C 0C01B0D8 */ jal func_8006C360
/* 007FC 80ABA43C 0C01B0D8 */ jal Text_GetFaceReaction
/* 00800 80ABA440 8FA4002C */ lw $a0, 0x002C($sp)
/* 00804 80ABA444 10400006 */ beq $v0, $zero, .L80ABA460
/* 00808 80ABA448 8FA4002C */ lw $a0, 0x002C($sp)
/* 0080C 80ABA44C 0C01B0D8 */ jal func_8006C360
/* 0080C 80ABA44C 0C01B0D8 */ jal Text_GetFaceReaction
/* 00810 80ABA450 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 00814 80ABA454 24180006 */ addiu $t8, $zero, 0x0006 ## $t8 = 00000006
/* 00818 80ABA458 A642010E */ sh $v0, 0x010E($s2) ## 0000010E
@ -200,7 +200,7 @@ glabel func_80ABA244
/* 008C8 80ABA508 2484B5C0 */ addiu $a0, $a0, %lo(D_80ABB5C0) ## $a0 = 80ABB5C0
/* 008CC 80ABA50C 8FA4002C */ lw $a0, 0x002C($sp)
/* 008D0 80ABA510 0C01B0D8 */ jal func_8006C360
/* 008D0 80ABA510 0C01B0D8 */ jal Text_GetFaceReaction
/* 008D4 80ABA514 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 008D8 80ABA518 54400048 */ bnel $v0, $zero, .L80ABA63C
/* 008DC 80ABA51C 8FBF0024 */ lw $ra, 0x0024($sp)

View File

@ -8,11 +8,11 @@ glabel func_80ABAD7C
/* 01154 80ABAD94 A48E010E */ sh $t6, 0x010E($a0) ## 0000010E
/* 01158 80ABAD98 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0115C 80ABAD9C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 01160 80ABADA0 0C01B0D8 */ jal func_8006C360
/* 01160 80ABADA0 0C01B0D8 */ jal Text_GetFaceReaction
/* 01164 80ABADA4 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 01168 80ABADA8 10400004 */ beq $v0, $zero, .L80ABADBC
/* 0116C 80ABADAC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01170 80ABADB0 0C01B0D8 */ jal func_8006C360
/* 01170 80ABADB0 0C01B0D8 */ jal Text_GetFaceReaction
/* 01174 80ABADB4 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 01178 80ABADB8 A602010E */ sh $v0, 0x010E($s0) ## 0000010E
.L80ABADBC:

View File

@ -11,7 +11,7 @@ glabel func_80AEFDC0
/* 051D4 80AEFDE4 35CF0009 */ ori $t7, $t6, 0x0009 ## $t7 = 00000009
/* 051D8 80AEFDE8 ACCF0004 */ sw $t7, 0x0004($a2) ## 00000004
/* 051DC 80AEFDEC AFA60018 */ sw $a2, 0x0018($sp)
/* 051E0 80AEFDF0 0C01B0D8 */ jal func_8006C360
/* 051E0 80AEFDF0 0C01B0D8 */ jal Text_GetFaceReaction
/* 051E4 80AEFDF4 8FA4001C */ lw $a0, 0x001C($sp)
/* 051E8 80AEFDF8 8FA60018 */ lw $a2, 0x0018($sp)
/* 051EC 80AEFDFC 3058FFFF */ andi $t8, $v0, 0xFFFF ## $t8 = 00000000

View File

@ -3,7 +3,7 @@ glabel func_80AF55E0
/* 00084 80AF55E4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00088 80AF55E8 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 0008C 80AF55EC AFA6001C */ sw $a2, 0x001C($sp)
/* 00090 80AF55F0 0C01B0D8 */ jal func_8006C360
/* 00090 80AF55F0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00094 80AF55F4 24050010 */ addiu $a1, $zero, 0x0010 ## $a1 = 00000010
/* 00098 80AF55F8 8FA6001C */ lw $a2, 0x001C($sp)
/* 0009C 80AF55FC 10400003 */ beq $v0, $zero, .L80AF560C

View File

@ -99,7 +99,7 @@ glabel func_80AFF7D8
/* 0169C 80AFF94C 316C0200 */ andi $t4, $t3, 0x0200 ## $t4 = 00000000
/* 016A0 80AFF950 11800009 */ beq $t4, $zero, .L80AFF978
/* 016A4 80AFF954 00000000 */ nop
/* 016A8 80AFF958 0C01B0D8 */ jal func_8006C360
/* 016A8 80AFF958 0C01B0D8 */ jal Text_GetFaceReaction
/* 016AC 80AFF95C 24050015 */ addiu $a1, $zero, 0x0015 ## $a1 = 00000015
/* 016B0 80AFF960 304DFFFF */ andi $t5, $v0, 0xFFFF ## $t5 = 00000000
/* 016B4 80AFF964 15A00015 */ bne $t5, $zero, .L80AFF9BC
@ -124,7 +124,7 @@ glabel func_80AFF7D8
/* 016F8 80AFF9A8 10000004 */ beq $zero, $zero, .L80AFF9BC
/* 016FC 80AFF9AC A61802C4 */ sh $t8, 0x02C4($s0) ## 000002C4
.L80AFF9B0:
/* 01700 80AFF9B0 0C01B0D8 */ jal func_8006C360
/* 01700 80AFF9B0 0C01B0D8 */ jal Text_GetFaceReaction
/* 01704 80AFF9B4 24050015 */ addiu $a1, $zero, 0x0015 ## $a1 = 00000015
/* 01708 80AFF9B8 A60202C4 */ sh $v0, 0x02C4($s0) ## 000002C4
.L80AFF9BC:

View File

@ -129,7 +129,7 @@ glabel func_80B03A00
/* 01944 80B03BB4 2405000D */ addiu $a1, $zero, 0x000D ## $a1 = 0000000D
/* 01948 80B03BB8 57200031 */ bnel $t9, $zero, .L80B03C80
/* 0194C 80B03BBC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01950 80B03BC0 0C01B0D8 */ jal func_8006C360
/* 01950 80B03BC0 0C01B0D8 */ jal Text_GetFaceReaction
/* 01954 80B03BC4 AFA70018 */ sw $a3, 0x0018($sp)
/* 01958 80B03BC8 8FA70018 */ lw $a3, 0x0018($sp)
/* 0195C 80B03BCC 3048FFFF */ andi $t0, $v0, 0xFFFF ## $t0 = 00000000

View File

@ -4,7 +4,7 @@ glabel func_80B13AAC
/* 00014 80B13AB4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00018 80B13AB8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0001C 80B13ABC 24050018 */ addiu $a1, $zero, 0x0018 ## $a1 = 00000018
/* 00020 80B13AC0 0C01B0D8 */ jal func_8006C360
/* 00020 80B13AC0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00024 80B13AC4 AFA60018 */ sw $a2, 0x0018($sp)
/* 00028 80B13AC8 3C048016 */ lui $a0, 0x8016 ## $a0 = 80160000
/* 0002C 80B13ACC 2484E660 */ addiu $a0, $a0, 0xE660 ## $a0 = 8015E660

View File

@ -5,7 +5,7 @@ glabel func_80B16504
/* 02A70 80B16510 AFBF001C */ sw $ra, 0x001C($sp)
/* 02A74 80B16514 AFA5002C */ sw $a1, 0x002C($sp)
/* 02A78 80B16518 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 02A7C 80B1651C 0C01B0D8 */ jal func_8006C360
/* 02A7C 80B1651C 0C01B0D8 */ jal Text_GetFaceReaction
/* 02A80 80B16520 24050018 */ addiu $a1, $zero, 0x0018 ## $a1 = 00000018
/* 02A84 80B16524 A7A20026 */ sh $v0, 0x0026($sp)
/* 02A88 80B16528 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000

View File

@ -3,7 +3,7 @@ glabel func_80B18360
/* 00004 80B18364 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00008 80B18368 AFA5001C */ sw $a1, 0x001C($sp)
/* 0000C 80B1836C AFA40018 */ sw $a0, 0x0018($sp)
/* 00010 80B18370 0C01B0D8 */ jal func_8006C360
/* 00010 80B18370 0C01B0D8 */ jal Text_GetFaceReaction
/* 00014 80B18374 24050024 */ addiu $a1, $zero, 0x0024 ## $a1 = 00000024
/* 00018 80B18378 8FA4001C */ lw $a0, 0x001C($sp)
/* 0001C 80B1837C 10400003 */ beq $v0, $zero, .L80B1838C

View File

@ -3,7 +3,7 @@ glabel func_80B206A0
/* 00534 80B206A4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00538 80B206A8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0053C 80B206AC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00540 80B206B0 0C01B0D8 */ jal func_8006C360
/* 00540 80B206B0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00544 80B206B4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00548 80B206B8 14400026 */ bne $v0, $zero, .L80B20754
/* 0054C 80B206BC 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000

View File

@ -2,7 +2,7 @@ glabel func_80B5B90C
/* 0015C 80B5B90C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00160 80B5B910 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00164 80B5B914 AFA5001C */ sw $a1, 0x001C($sp)
/* 00168 80B5B918 0C01B0D8 */ jal func_8006C360
/* 00168 80B5B918 0C01B0D8 */ jal Text_GetFaceReaction
/* 0016C 80B5B91C 24050016 */ addiu $a1, $zero, 0x0016 ## $a1 = 00000016
/* 00170 80B5B920 10400003 */ beq $v0, $zero, .L80B5B930
/* 00174 80B5B924 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000

View File

@ -2,7 +2,7 @@ glabel func_80B61024
/* 00E04 80B61024 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00E08 80B61028 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00E0C 80B6102C AFA5001C */ sw $a1, 0x001C($sp)
/* 00E10 80B61030 0C01B0D8 */ jal func_8006C360
/* 00E10 80B61030 0C01B0D8 */ jal Text_GetFaceReaction
/* 00E14 80B61034 2405001D */ addiu $a1, $zero, 0x001D ## $a1 = 0000001D
/* 00E18 80B61038 10400003 */ beq $v0, $zero, .L80B61048
/* 00E1C 80B6103C 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000

View File

@ -1,11 +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 purposee registers
.section .rodata
glabel D_8013E760
.incbin "baserom.z64", 0xBB5900, 0x10

View File

@ -1,22 +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 purposee registers
.section .data
glabel Bg_Haka_Megane_InitVars
.word 0x00AE0600, 0x000000B0, 0x00010000, 0x0000016C
.word BgHakaMegane_Init
.word BgHakaMegane_Destroy
.word BgHakaMegane_Update
.word 0x00000000
glabel D_8087DD50
.word 0x48500064
glabel D_8087DD54
.word 0x06001830, 0x06001AB8, 0x00000000, 0x06004330, 0x060044D0, 0x00000000, 0x06004780, 0x06004940, 0x00000000, 0x06004B00, 0x00000000, 0x06004CC0, 0x00000000
glabel D_8087DD88
.word 0x06001060, 0x06001920, 0x060003F0, 0x060040F0, 0x060043B0, 0x06001120, 0x060045A0, 0x060047F0, 0x060018F0, 0x060049B0, 0x06003CF0, 0x06004B70, 0x06002ED0, 0x00000000

View File

@ -1,11 +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 purposee registers
.section .rodata
glabel D_8087DDC0
.incbin "baserom/ovl_Bg_Haka_Megane", 0x380, 0x00000070

View File

@ -2,7 +2,7 @@
FORMAT_OPTS="-i -style=file"
TIDY_OPTS="-p . --fix --fix-errors"
COMPILER_OPTS="-fno-builtin -std=gnu90 -Iinclude -Isrc -D_LANGUAGE_C"
COMPILER_OPTS="-fno-builtin -std=gnu90 -Iinclude -Isrc -D_LANGUAGE_C -DNON_MATCHING"
shopt -s globstar

View File

@ -800,7 +800,7 @@ void Audio_PlaySoundAtPosition(GlobalContext* globalCtx, Vec3f* pos2, s32 radius
// ? func_8006BE88(?);
// ? func_8006BF1C(?);
// ? func_8006C0FC(?);
u16 func_8006C360(GlobalContext*, u32);
u16 Text_GetFaceReaction(GlobalContext* globalCtx, u32 reactionSet);
// ? func_8006C3A0(?);
// ? func_8006C3D0(?);
void func_8006C438(GlobalContext* globalCtx, s16 arg1);
@ -1005,7 +1005,9 @@ s32 func_80087708(GlobalContext* globalCtx, s16 arg1, s16 arg2);
void func_80088B34(s16 arg0);
void Interface_Draw(GlobalContext* globalCtx);
void Interface_Update(GlobalContext* globalCtx);
f32 func_8008E520(Actor* actor, Path* path, s16, s16*);
Path* Path_GetByIndex(GlobalContext* globalCtx, s16 index, s16 max);
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw);
void Path_CopyLastPoint(Path* path, Vec3f* dest);
// ? func_8008E6A0(?);
// ? func_8008E6AC(?);
// ? func_8008E750(?);

View File

@ -328,8 +328,8 @@ typedef struct {
} WaterBoxHeader;
typedef struct {
/* 0x00 */ u8 count; // Total number of points in the path for the actor to follow
/* 0x04 */ Vec3s* path; // Segment Address of the start of the path list
/* 0x00 */ u8 count; // number of points in the path
/* 0x04 */ Vec3s* points; // Segment Address to the array of points
} Path; // size = 0x8
typedef union {

View File

@ -26,8 +26,8 @@ OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump
CC := $(QEMU_IRIX) -L tools/ido7.1_compiler tools/ido7.1_compiler/usr/bin/cc
CC_OLD := $(QEMU_IRIX) -L tools/ido5.3_compiler tools/ido5.3_compiler/usr/bin/cc
# Check code syntax with host compiler (TODO: define NON_MATCHING because the non-matching code is utterly broken)
CC_CHECK := gcc -fno-builtin -fsyntax-only -fsigned-char -std=gnu90 -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -D _LANGUAGE_C -I include -include stdarg.h
# Check code syntax with host compiler
CC_CHECK := gcc -fno-builtin -fsyntax-only -fsigned-char -std=gnu90 -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -D _LANGUAGE_C -D NON_MATCHING -I include -include stdarg.h
CPP := cpp
MKLDSCRIPT := tools/mkldscript
@ -157,10 +157,6 @@ build/assets/%.o: assets/%.c
# $(CC_CHECK) $^
$(OBJCOPY) -O binary $@ $@.bin
#build/src/boot/%.o: src/boot/%.c
# $(CC) -c $(CFLAGS) $(OPTIMIZATION) -o $@ $^
# @$(OBJDUMP) -d $@ > $(@:.o=.s)
build/src/overlays/%.o: src/overlays/%.c
$(CC) -c $(CFLAGS) $(OPTIMIZATION) -o $@ $^
$(CC_CHECK) $^

View File

@ -88,28 +88,18 @@ nonMatchingASMBoot = GetNonMatchingSize("asm/non_matchings/boot")
nonMatchingASMCode = GetNonMatchingSize("asm/non_matchings/code") + GetNonMatchingSize("asm/non_matchings/libultra_code")
nonMatchingASMOvl = GetNonMatchingSize("asm/non_matchings/overlays")
codeSize = 1004128 # 1.00mb
bootSize = 36752
#ovlSize = 3727584 # 3.727mb
ovlSize = 2812000 # .text section only
libultraSize = 40816 # This is temp
audioSize = 0 # This is temp
handwritten = 0 # This is temp
src -= nonMatchingASM
code -= nonMatchingASMCode
boot -= nonMatchingASMBoot
ovl -= nonMatchingASMOvl
asm += nonMatchingASM
#print(nonMatchingASM)
#asm = asm - (libultra_size + audio_size + handwritten - boot_size - code_size - ovl_size)
#asm = asm - (libultra_size + audio_size + handwritten)
#asm = -(libultra_size + audio_size + handwritten - boot_size - code_size - ovl_size)
#asm += codeSize
#asm += bootSize
#asm += ovlSize
#asm -= src
bootSize = 30704 # decompilable code only
codeSize = 1004128 # .text section except rsp bins (1.00mb)
ovlSize = 2812000 # .text sections
handwritten = 5840 # boot only
asm -= handwritten
total = src + asm
srcPct = 100 * src / total

22
spec
View File

@ -280,9 +280,9 @@ beginseg
include "build/data/z_eff_shield_particle.data.o"
include "build/src/code/z_eff_spark.o"
include "build/src/code/z_eff_ss_dead.o"
include "build/src/code/code_80026B00.o"
include "build/data/code_80026B00.data.o"
include "build/data/code_80026B00.bss.o"
include "build/src/code/z_effect.o"
include "build/data/z_effect.data.o"
include "build/data/z_effect.bss.o"
include "build/src/code/z_effect_soft_sprite.o"
include "build/data/z_effect_soft_sprite.data.o"
include "build/src/code/z_effect_soft_sprite_old_init.o"
@ -315,7 +315,7 @@ beginseg
include "build/asm/code_8006BA00.o"
include "build/src/code/z_elf_message.o"
include "build/data/z_elf_message.data.o"
include "build/src/code/code_8006C360.o"
include "build/src/code/z_face_reaction.o"
include "build/src/code/code_8006C3A0.o"
include "build/src/code/code_8006C510.o"
include "build/src/code/z_fcurve_data_skelanime.o"
@ -348,17 +348,16 @@ beginseg
include "build/data/z_map_exp.data.o"
include "build/data/z_map_exp.bss.o"
include "build/src/code/z_parameter.o"
include "build/asm/code_8008E4E0.o"
include "build/data/code_8008E4E0.rodata.o"
include "build/src/code/z_path.o"
include "build/asm/code_8008E6A0.o"
include "build/src/code/z_player_lib.o"
include "build/data/z_player_lib.data.o"
include "build/data/z_player_lib.bss.o"
include "build/src/code/z_prenmi.o"
include "build/asm/code_80092500.o"
include "build/data/code_80092500.data.o"
include "build/data/code_80092500.rodata.o"
include "build/data/code_80092500.bss.o"
include "build/asm/z_quake.o"
include "build/data/z_quake.data.o"
include "build/data/z_quake.rodata.o"
include "build/data/z_quake.bss.o"
include "build/src/code/z_rcp.o"
include "build/data/z_rcp.data.o"
include "build/src/code/z_room.o"
@ -866,8 +865,7 @@ endseg
beginseg
name "ovl_Bg_Haka_Megane"
include "build/src/overlays/actors/ovl_Bg_Haka_Megane/z_bg_haka_megane.o"
include "build/data/overlays/actors/z_bg_haka_megane.data.o"
include "build/data/overlays/actors/z_bg_haka_megane.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Haka_Megane/z_bg_haka_megane_reloc.o"
endseg
beginseg

View File

@ -1,26 +0,0 @@
#include <ultra64.h>
#include <global.h>
GlobalContext* func_80026B00(void) {
return D_80157DA0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026B0C.s")
void func_80026C1C(u8* arg0) {
arg0[0] = 0;
arg0[1] = 0;
arg0[2] = 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026C2C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/Effect_Add.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026E74.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026F70.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_8002709C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_800271A8.s")

View File

@ -137,8 +137,9 @@ void Fault_AddClient(FaultClient* client, void* callback, void* param0, void* pa
end:
osSetIntMask(mask);
if (alreadyExists)
if (alreadyExists) {
osSyncPrintf(VT_COL(RED, WHITE) "fault_AddClient: %08x は既にリスト中にある\n" VT_RST, client);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/fault/Fault_AddClient.s")
@ -270,27 +271,34 @@ u32 Fault_WaitForInputImpl() {
kDown = curInput->padPressed;
if (kDown == 0x20)
if (kDown == 0x20) {
sFaultStructPtr->faultActive = !sFaultStructPtr->faultActive;
}
if (!sFaultStructPtr->faultActive)
if (!sFaultStructPtr->faultActive) {
break;
}
if (count-- < 1)
if (count-- < 1) {
return false;
}
}
if (kDown == 0x8000 || kDown == 0x100)
if (kDown == 0x8000 || kDown == 0x100) {
return false;
}
if (kDown == 0x200)
if (kDown == 0x200) {
return true;
}
if (kDown == 0x800)
if (kDown == 0x800) {
FaultDrawer_SetOsSyncPrintfEnabled(true);
}
if (kDown == 0x400)
if (kDown == 0x400) {
FaultDrawer_SetOsSyncPrintfEnabled(false);
}
}
return false;
@ -555,24 +563,28 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
s32 off;
while (true) {
if (addr < 0x80000000)
if (addr < 0x80000000) {
addr = 0x80000000;
if (addr > 0x807fff00)
}
if (addr > 0x807fff00) {
addr = 0x807fff00;
}
addr &= ~0xF;
Fault_DrawMemDumpPage("Dump", (u32*)addr, 0);
count = 600;
while (sFaultStructPtr->faultActive) {
if (count == 0)
if (count == 0) {
return;
}
count--;
Fault_Sleep(0x10);
Fault_UpdatePadImpl();
if (!~(curInput->padPressed | ~0x20))
if (!~(curInput->padPressed | ~0x20)) {
sFaultStructPtr->faultActive = false;
}
}
do {
@ -580,31 +592,42 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
Fault_UpdatePadImpl();
} while (curInput->padPressed == 0);
if (!~(curInput->padPressed | ~0x1000))
if (!~(curInput->padPressed | ~0x1000)) {
return;
}
if (!~(curInput->raw.pad | ~0x8000))
if (!~(curInput->raw.pad | ~0x8000)) {
return;
}
off = 0x10;
if (!~(curInput->raw.pad | ~0x2000))
if (!~(curInput->raw.pad | ~0x2000)) {
off = 0x100;
if (!~(curInput->raw.pad | ~0x4000))
}
if (!~(curInput->raw.pad | ~0x4000)) {
off <<= 8;
if (!~(curInput->raw.pad | ~0x800))
}
if (!~(curInput->raw.pad | ~0x800)) {
addr -= off;
if (!~(curInput->raw.pad | ~0x400))
}
if (!~(curInput->raw.pad | ~0x400)) {
addr += off;
if (!~(curInput->raw.pad | ~0x8))
}
if (!~(curInput->raw.pad | ~0x8)) {
addr = pc;
if (!~(curInput->raw.pad | ~0x4))
}
if (!~(curInput->raw.pad | ~0x4)) {
addr = sp;
if (!~(curInput->raw.pad | ~0x2))
}
if (!~(curInput->raw.pad | ~0x2)) {
addr = unk0;
if (!~(curInput->raw.pad | ~0x1))
}
if (!~(curInput->raw.pad | ~0x1)) {
addr = unk1;
if (!~(curInput->raw.pad | ~0x20))
}
if (!~(curInput->raw.pad | ~0x20)) {
break;
}
}
sFaultStructPtr->faultActive = true;
@ -715,15 +738,16 @@ void Fault_ThreadEntry(void* arg) {
__osSetFpcCsr(__osGetFpcCsr() & -0xf81);
sFaultStructPtr->faultedThread = faultedThread;
while (!sFaultStructPtr->faultHandlerEnabled)
while (!sFaultStructPtr->faultHandlerEnabled) {
Fault_Sleep(1000);
}
Fault_Sleep(500);
Fault_CommitFB();
if (sFaultStructPtr->faultActive)
if (sFaultStructPtr->faultActive) {
Fault_Wait5Seconds();
else {
} else {
Fault_DrawCornerRec(0xF801);
Fault_WaitForButtonCombo();
}

View File

@ -94,30 +94,32 @@ void FaultDrawer_DrawRecImpl(s32 xStart, s32 yStart, s32 xEnd, s32 yEnd, u16 col
}
}
#ifdef NON_MATCHING
// regalloc and minor ordering differences
void FaultDrawer_DrawChar(char c) {
u16* fb;
s32 x, y;
u32* dataPtr;
u32 data;
s32 cursorX = sFaultDrawerStruct.cursorX;
s32 cursorY = sFaultDrawerStruct.cursorY;
u32** fontData = &sFaultDrawerStruct.fontData;
s32 shift = c % 4;
dataPtr = &sFaultDrawerStruct.fontData[((c & 4) >> 2) + ((c / 8) * 16)];
fb = sFaultDrawerStruct.fb + sFaultDrawerStruct.w * cursorY + cursorX;
dataPtr = &fontData[0][(((c / 8) * 16) + ((c & 4) >> 2))];
fb = sFaultDrawerStruct.fb + (sFaultDrawerStruct.w * cursorY) + cursorX;
if ((sFaultDrawerStruct.xStart <= cursorX) &&
((sFaultDrawerStruct.charW + cursorX - 1) <= sFaultDrawerStruct.xEnd) &&
(sFaultDrawerStruct.yStart <= cursorY) &&
((sFaultDrawerStruct.charH + cursorY - 1) <= sFaultDrawerStruct.yEnd)) {
for (y = 0; y < sFaultDrawerStruct.charH; y++) {
u32 mask = 0x10000000 << (c % 4);
u32 data = *dataPtr;
u32 mask = 0x10000000 << shift;
data = *dataPtr;
for (x = 0; x < sFaultDrawerStruct.charW; x++) {
if (mask & data)
if (mask & data) {
fb[x] = sFaultDrawerStruct.foreColor;
else if (sFaultDrawerStruct.backColor & 1)
} else if (sFaultDrawerStruct.backColor & 1) {
fb[x] = sFaultDrawerStruct.backColor;
}
mask >>= 4;
}
fb += sFaultDrawerStruct.w;
@ -125,9 +127,6 @@ void FaultDrawer_DrawChar(char c) {
}
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/fault_drawer/FaultDrawer_DrawChar.s")
#endif
s32 FaultDrawer_ColorToPrintColor(u16 color) {
s32 i;

View File

@ -223,7 +223,7 @@ void GfxPrint_SetBasePosPx(GfxPrint* this, s32 x, s32 y) {
#ifdef NON_MATCHING
// regalloc and ordering differences
void GfxPrint_PrintCharImpl(GfxPrint* this, char c) {
void GfxPrint_PrintCharImpl(GfxPrint* this, u8 c) {
if (this->flag & GFXPRINT_UPDATE_MODE) {
this->flag &= ~GFXPRINT_UPDATE_MODE;
@ -246,22 +246,24 @@ void GfxPrint_PrintCharImpl(GfxPrint* this, char c) {
if (this->flag & GFXPRINT_FLAG4) {
gDPSetPrimColorMod(this->dlist++, 0, 0, 0);
if (this->flag & GFXPRINT_FLAG64)
if (this->flag & GFXPRINT_FLAG64) {
gSPTextureRectangle(this->dlist++, (this->posX + 4) << 1, (this->posY + 4) << 1, (this->posX + 4 + 32) << 1,
(this->posY + 4 + 32) << 1, c * 2, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 512, 512);
else
} else {
gSPTextureRectangle(this->dlist++, this->posX + 4, this->posY + 4, this->posX + 4 + 32, this->posY + 4 + 32,
c * 2, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1024, 1024);
}
gDPSetPrimColorMod(this->dlist++, 0, 0, *(u32*)&this->color);
}
if (this->flag & GFXPRINT_FLAG64)
if (this->flag & GFXPRINT_FLAG64) {
gSPTextureRectangle(this->dlist++, (this->posX) << 1, (this->posY) << 1, (this->posX + 32) << 1,
(this->posY + 32) << 1, c * 2, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 512, 512);
else
} else {
gSPTextureRectangle(this->dlist++, this->posX, this->posY, this->posX + 32, this->posY + 32, c * 2,
(u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1024, 1024);
}
this->posX += 32;
}

View File

@ -738,12 +738,13 @@ void func_800D20CC(MtxF* mf, Vec3s* vec, s32 flag) {
vec->y = Math_atan2f(mf->zx, mf->zz) * (32768 / M_PI);
if (!flag)
if (!flag) {
vec->z = Math_atan2f(mf->xy, mf->yy) * (32768 / M_PI);
else
} else {
vec->z = Math_atan2f(mf->xy / sqrtf(SQ(mf->xx) + SQ(mf->xz) + SQ(mf->xy)),
mf->yy / sqrtf(SQ(mf->yx) + SQ(mf->yz) + SQ(mf->yy))) *
(32768 / M_PI);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D20CC.s")
@ -762,12 +763,13 @@ void func_800D2264(MtxF* mf, Vec3s* vec, s32 flag) {
vec->z = Math_atan2f(mf->xy, mf->xx) * (32768 / M_PI);
if (!flag)
if (!flag) {
vec->x = Math_atan2f(mf->yz, mf->zz) * (32768 / M_PI);
else
} else {
vec->x = Math_atan2f(mf->yz / sqrtf(SQ(mf->yx) + SQ(mf->yy) + SQ(mf->yz)),
mf->zz / sqrtf(SQ(mf->zx) + SQ(mf->zy) + SQ(mf->zz))) *
(32768 / M_PI);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D2264.s")

View File

@ -156,16 +156,19 @@ void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, Globa
if ((phi_f2 >= -1.0f) && (phi_f2 < 500.0f)) {
phi_s0 = lightMapper->lights;
if (phi_f2 <= 0.0f)
if (phi_f2 <= 0.0f) {
actor->shape.unk_15++;
}
if (30.0f < phi_f2)
if (30.0f < phi_f2) {
phi_f2 = 30.0f;
}
temp_f24 = actor->shape.unk_14 * (1.0f - (phi_f2 * (1.0f / 30)));
if (30.0f < phi_f2)
if (30.0f < phi_f2) {
phi_f2 = 30.0f;
}
temp_f20_2 = 1.0f - (phi_f2 * (1.0f / 70));
temp_f22_2 = (actor->shape.unk_10 * temp_f20_2) * actor->scale.x;
@ -187,8 +190,9 @@ void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, Globa
if (phi_s0->l.dir[1] > 0) {
temp_a3 = (ABS(phi_s0->l.dir[1]) * ((phi_s0->l.col[0] + phi_s0->l.col[1]) + phi_s0->l.col[2])) -
(phi_s2 * 8);
if (temp_a3 > 0)
if (temp_a3 > 0) {
func_8002B66C(globalCtx, phi_s0, &spE8, temp_a3, temp_f24, temp_f22_2, temp_f20_2);
}
}
phi_s0++;
}
@ -335,18 +339,20 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
spCE = 0xFF;
var1 = 1.0f;
if (targetCtx->unk_4B != 0)
if (targetCtx->unk_4B != 0) {
spB8 = 1;
else
} else {
spB8 = 3;
}
if (actor != NULL) {
Math_Vec3f_Copy(&targetCtx->targetCenterPos, &actor->posRot2.pos);
var1 = (500.0f - targetCtx->unk_44) / 420.0f;
} else {
targetCtx->unk_48 -= 120;
if (targetCtx->unk_48 < 0)
if (targetCtx->unk_48 < 0) {
targetCtx->unk_48 = 0;
}
spCE = targetCtx->unk_48;
}
@ -361,8 +367,9 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
spBC.z = spBC.z * var1;
targetCtx->unk_4C--;
if (targetCtx->unk_4C < 0)
if (targetCtx->unk_4C < 0) {
targetCtx->unk_4C = 2;
}
func_8002BE64(targetCtx, targetCtx->unk_4C, spBC.x, spBC.y, spBC.z);
@ -373,10 +380,11 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
entry = &targetCtx->arr_50[spAC];
if (entry->unk_0C < 500.0f) {
if (entry->unk_0C <= 120.0f)
if (entry->unk_0C <= 120.0f) {
var2 = 0.15f;
else
} else {
var2 = ((entry->unk_0C - 120.0f) * 0.001f) + 0.15f;
}
Matrix_Translate(entry->pos.x, entry->pos.y, 0.0f, MTXMODE_NEW);
Matrix_Scale(var2, 0.15f, 1.0f, MTXMODE_APPLY);
@ -398,8 +406,9 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
}
spCE = spCE - (0xFF / 3);
if (spCE < 0)
if (spCE < 0) {
spCE = 0;
}
spAC = (spAC + 1) % 3;
}
}
@ -1437,14 +1446,16 @@ f32 func_8002EFC0(Actor* actor, Player* player, s16 arg2) {
abs_var = ABS(var);
if (player->unk_664 != NULL) {
if ((abs_var > 0x4000) || (actor->flags & 0x8000000))
if ((abs_var > 0x4000) || (actor->flags & 0x8000000)) {
return FLT_MAX;
else
} else {
return actor->waterSurfaceDist - actor->waterSurfaceDist * 0.8f * ((0x4000 - abs_var) * 3.0517578125e-05f);
}
}
if (abs_var > 0x2AAA)
if (abs_var > 0x2AAA) {
return FLT_MAX;
}
return actor->waterSurfaceDist;
}
@ -1822,10 +1833,11 @@ void func_8002FBAC(GlobalContext* globalCtx) {
func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_actor.c", 5308);
if (gSaveContext.respawn[RESPAWN_MODE_TOP].data != 0) {
if (LINK_IS_ADULT)
if (LINK_IS_ADULT) {
spD8 = 80.0f;
else
} else {
spD8 = 60.0f;
}
spD0 = 0xFF;
spD4 = 1.0f;

View File

@ -224,8 +224,9 @@ s32 func_800443A0(Camera* camera, Vec3f* b, Vec3f* c) {
sp34 = NULL; // this is moved to the top when it should be done in the middle of the function args being loaded
if (func_8003DD6C(&camera->globalCtx->colCtx, b, c, &sp40, &sp34, 1, 1, 1, 0, &sp38) != 0) {
if (func_80038B7C(sp34, b) < 0.0f)
if (func_80038B7C(sp34, b) < 0.0f) {
return 1;
}
}
return 0;
}
@ -461,18 +462,20 @@ s32 func_800458D4(Camera* camera, struct_80045714* b, f32 c, f32* d, s16 e) {
sp60.z = 0.0f;
temp_s1 = &camera->unk_94;
if (e != 0)
if (e != 0) {
sp60.y -= func_80045714(&camera->unk_108, temp_s1->rot.y, b->unk_06, OREG(9));
}
sp48 = temp_s1->pos.y - *d;
temp_ret = Math_atan2f(sp48, func_8007C028(&camera->unk_50, &camera->unk_5C)); // f2 and f14 are swapped
if (OREG(32) * (M_PI / 180) < temp_ret)
if (OREG(32) * (M_PI / 180) < temp_ret) {
phi_f2 = 1.0f - sinf(temp_ret - OREG(32) * (M_PI / 180));
else if (OREG(33) * (M_PI / 180) > temp_ret)
} else if (OREG(33) * (M_PI / 180) > temp_ret) {
phi_f2 = 1.0f - sinf(OREG(33) * (M_PI / 180) - temp_ret);
else
} else {
phi_f2 = 1.0f;
}
sp60.y -= sp48 * phi_f2;
func_80043A3C(&sp60, &camera->unk_E4, OREG(29) * 0.01f, OREG(30) * 0.01f, 0.1f);

View File

@ -44,8 +44,9 @@ void func_801109B0(GlobalContext* globalCtx) {
osSyncPrintf("parameter->parameterSegment=%x", interfaceCtx->parameterSegment);
if (interfaceCtx->parameterSegment == NULL)
if (interfaceCtx->parameterSegment == NULL) {
__assert("parameter->parameterSegment != NULL", "../z_construct.c", 161);
}
DmaMgr_SendRequest1(interfaceCtx->parameterSegment, parameterStart, parameterSize, "../z_construct.c", 162);
@ -55,27 +56,30 @@ void func_801109B0(GlobalContext* globalCtx) {
osSyncPrintf("DOアクション テクスチャ初期=%x\n", 0x480);
osSyncPrintf("parameter->do_actionSegment=%x", interfaceCtx->do_actionSegment);
if (interfaceCtx->do_actionSegment == NULL)
if (interfaceCtx->do_actionSegment == NULL) {
__assert("parameter->do_actionSegment != NULL", "../z_construct.c", 169);
}
do_actionStart = _do_action_staticSegmentRomStart;
if (gSaveContext.language == 0)
if (gSaveContext.language == 0) {
do_actionOffset = 0;
else if (gSaveContext.language == 1)
} else if (gSaveContext.language == 1) {
do_actionOffset = 0x2B80;
else
} else {
do_actionOffset = 0x5700;
}
DmaMgr_SendRequest1(interfaceCtx->do_actionSegment, do_actionStart + do_actionOffset, 0x300, "../z_construct.c",
174);
if (gSaveContext.language == 0)
if (gSaveContext.language == 0) {
do_actionOffset = 0x480;
else if (gSaveContext.language == 1)
} else if (gSaveContext.language == 1) {
do_actionOffset = 0x3000;
else
} else {
do_actionOffset = 0x5B80;
}
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->do_actionSegment + 0x300), do_actionStart + do_actionOffset, 0x180,
"../z_construct.c", 178);
@ -86,36 +90,41 @@ void func_801109B0(GlobalContext* globalCtx) {
osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 0x4000);
osSyncPrintf("parameter->icon_itemSegment=%x\n", interfaceCtx->icon_itemSegment);
if (interfaceCtx->icon_itemSegment == NULL)
if (interfaceCtx->icon_itemSegment == NULL) {
__assert("parameter->icon_itemSegment != NULL", "../z_construct.c", 193);
}
osSyncPrintf("Register_Item[%x, %x, %x, %x]\n", gSaveContext.equips.button_items[0],
gSaveContext.equips.button_items[1], gSaveContext.equips.button_items[2],
gSaveContext.equips.button_items[3]);
if (gSaveContext.equips.button_items[0] < 0xF0)
if (gSaveContext.equips.button_items[0] < 0xF0) {
DmaMgr_SendRequest1(interfaceCtx->icon_itemSegment,
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[0] * 0x80, 0x1000,
"../z_construct.c", 198);
else if (gSaveContext.equips.button_items[0] != 0xFF)
} else if (gSaveContext.equips.button_items[0] != 0xFF) {
DmaMgr_SendRequest1(interfaceCtx->icon_itemSegment,
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[0] * 0x80, 0x1000,
"../z_construct.c", 203);
}
if (gSaveContext.equips.button_items[1] < 0xF0)
if (gSaveContext.equips.button_items[1] < 0xF0) {
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->icon_itemSegment + 0x1000),
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[1] * 0x80, 0x1000,
"../z_construct.c", 209);
}
if (gSaveContext.equips.button_items[2] < 0xF0)
if (gSaveContext.equips.button_items[2] < 0xF0) {
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->icon_itemSegment + 0x2000),
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[2] * 0x80, 0x1000,
"../z_construct.c", 214);
}
if (gSaveContext.equips.button_items[3] < 0xF0)
if (gSaveContext.equips.button_items[3] < 0xF0) {
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->icon_itemSegment + 0x3000),
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[3] * 0x80, 0x1000,
"../z_construct.c", 219);
}
osSyncPrintf("%d\n", gSaveContext.timer_1_state);
@ -131,17 +140,19 @@ void func_801109B0(GlobalContext* globalCtx) {
}
}
if ((gSaveContext.timer_1_state == 4) || (gSaveContext.timer_1_state == 8))
if ((gSaveContext.timer_1_state == 4) || (gSaveContext.timer_1_state == 8)) {
temp = 0;
else
} else {
temp = 1;
}
gSaveContext.timer_x[temp] = 26;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[temp] = 54;
else
} else {
gSaveContext.timer_y[temp] = 46;
}
}
if ((gSaveContext.timer_1_state >= 11) && (gSaveContext.timer_1_state < 16)) {

View File

@ -114,8 +114,9 @@ void func_800645A0(GlobalContext* globalCtx, CutsceneContext* csCtx) {
gSaveContext.cutscene_trigger = 1;
}
if ((gSaveContext.cutscene_trigger != 0) && (globalCtx->sceneLoadFlag == 0x14))
if ((gSaveContext.cutscene_trigger != 0) && (globalCtx->sceneLoadFlag == 0x14)) {
gSaveContext.cutscene_trigger = 0;
}
if ((gSaveContext.cutscene_trigger != 0) && (csCtx->state == CS_STATE_IDLE)) {
// Translates to: "CUTSCENE START REQUEST ANNOUNCEMENT!"
@ -172,13 +173,15 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
sp3F = 0;
if ((csCtx->frames < cmd->startFrame) || (csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame))
if ((csCtx->frames < cmd->startFrame) || (csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame)) {
return;
}
temp = func_8006F93C(cmd->endFrame - 1, cmd->startFrame, csCtx->frames);
if (csCtx->frames == cmd->startFrame)
if (csCtx->frames == cmd->startFrame) {
sp3F = 1;
}
switch (cmd->base) {
case 1:
@ -198,13 +201,15 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
case 3:
if (sp3F != 0) {
func_8006C3D0(globalCtx, 0);
if (gSaveContext.entrance_index == 0x0053)
if (gSaveContext.entrance_index == 0x0053) {
func_8006C3D0(globalCtx, 2);
}
}
break;
case 6:
if (globalCtx->unk_10AC4 < 0x3200)
if (globalCtx->unk_10AC4 < 0x3200) {
globalCtx->unk_10AC4 += 0x23;
}
break;
case 7:
if (sp3F != 0) {
@ -219,8 +224,9 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
}
break;
case 8:
if (globalCtx->unk_11D30[0] < 0x80)
if (globalCtx->unk_11D30[0] < 0x80) {
globalCtx->unk_11D30[0] += 4;
}
break;
case 9:
globalCtx->unk_10B12[3] = 0x10;
@ -229,33 +235,40 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
func_8006C3D0(globalCtx, 1);
break;
case 11:
if (globalCtx->unk_11D30[0] < 0x672)
if (globalCtx->unk_11D30[0] < 0x672) {
globalCtx->unk_11D30[0] += 0x14;
if (csCtx->frames == 0x30F)
}
if (csCtx->frames == 0x30F) {
func_80078884(NA_SE_EV_DEKU_DEATH);
else if (csCtx->frames == 0x2CD)
} else if (csCtx->frames == 0x2CD) {
globalCtx->unk_11D30[0] = 0;
}
break;
case 12:
if (sp3F != 0) {
if (csCtx->state != CS_STATE_UNSKIPPABLE_EXEC)
if (csCtx->state != CS_STATE_UNSKIPPABLE_EXEC) {
csCtx->state = CS_STATE_UNSKIPPABLE_INIT;
}
}
break;
case 13:
if (globalCtx->unk_11D30[1] == 0)
if (globalCtx->unk_11D30[1] == 0) {
func_80078884(NA_SE_EV_TRIFORCE_FLASH);
if (globalCtx->unk_11D30[1] < 0xFF)
}
if (globalCtx->unk_11D30[1] < 0xFF) {
globalCtx->unk_11D30[1] += 5;
}
break;
case 14:
if (sp3F != 0)
if (sp3F != 0) {
func_800BC490(globalCtx, 1);
}
break;
case 15:
if (sp3F != 0)
if (sp3F != 0) {
TitleCard_InitPlaceName(globalCtx, &globalCtx->actorCtx.titleCtx, player->unk_1B0, 0xA0, 0x78, 0x90,
0x18, 0x14);
}
break;
case 16:
if (sp3F != 0) {
@ -266,14 +279,16 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
}
break;
case 17:
if (sp3F != 0)
if (sp3F != 0) {
func_80092FAC(D_8015FCCA);
}
break;
case 18:
globalCtx->unk_10B12[0] = 0;
globalCtx->gloomySkyEvent = 2;
if (gSaveContext.day_time < 0x4AAB)
if (gSaveContext.day_time < 0x4AAB) {
gSaveContext.day_time += 30;
}
if (globalCtx->unk_10B12[1] == 0) {
D_8011FB30 = 0;
func_800F6D58(14, 1, 0);
@ -305,17 +320,19 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
break;
case 25:
gSaveContext.day_time += 30;
if ((gSaveContext.day_time & 0xFFFF) > 0xCAAA)
if ((gSaveContext.day_time & 0xFFFF) > 0xCAAA) {
gSaveContext.day_time = 0xCAAA;
}
break;
case 26:
if ((gSaveContext.day_time < 0x3000) || (gSaveContext.day_time >= 0x4555)) {
if ((gSaveContext.day_time >= 0x4555) && (gSaveContext.day_time < 0xAAAB))
if ((gSaveContext.day_time >= 0x4555) && (gSaveContext.day_time < 0xAAAB)) {
globalCtx->unk_10AE3 = 1;
else if ((gSaveContext.day_time >= 0xAAAB) && (gSaveContext.day_time < 0xC556))
} else if ((gSaveContext.day_time >= 0xAAAB) && (gSaveContext.day_time < 0xC556)) {
globalCtx->unk_10AE3 = 2;
else
} else {
globalCtx->unk_10AE3 = 3;
}
}
break;
case 27:
@ -346,18 +363,20 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
func_8006C3D0(globalCtx, 4);
break;
case 32:
if (sp3F != 0)
if (sp3F != 0) {
globalCtx->unk_10B0A = 1;
}
func_800788CC(0x20C0);
break;
case 33:
gSaveContext.unk_1422 = 1;
break;
case 34:
if (!gSaveContext.night_flag)
if (!gSaveContext.night_flag) {
gSaveContext.day_time -= D_8011FB40;
else
} else {
gSaveContext.day_time -= D_8011FB40 * 2;
}
break;
case 35:
func_800EE824(csCtx);

26
src/code/z_effect.c Normal file
View File

@ -0,0 +1,26 @@
#include <ultra64.h>
#include <global.h>
GlobalContext* func_80026B00(void) {
return D_80157DA0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026B0C.s")
void func_80026C1C(u8* arg0) {
arg0[0] = 0;
arg0[1] = 0;
arg0[2] = 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026C2C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/Effect_Add.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026E74.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026F70.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_8002709C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_800271A8.s")

View File

@ -94,8 +94,9 @@ void En_A_Obj_Init(ActorEnAObj* this, GlobalContext* globalCtx) {
break;
}
if (this->actor.params >= 9)
if (this->actor.params >= 9) {
sp28 = 12.0f;
}
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, sp28);
@ -154,8 +155,9 @@ void En_A_Obj_Init(ActorEnAObj* this, GlobalContext* globalCtx) {
break;
}
if (this->actor.params < 5)
if (this->actor.params < 5) {
this->actor.sub_98.mass = 0xFF;
}
if (this->dynaPolyId != -1) {
DynaPolyInfo_Alloc(D_8011546C[this->dynaPolyId], &sp34);

View File

@ -289,8 +289,9 @@ void En_Item00_Init(ActorEnItem00* this, GlobalContext* globalCtx) {
break;
}
if ((sp2C != 0) && !func_8002F410(&this->actor, globalCtx))
if ((sp2C != 0) && !func_8002F410(&this->actor, globalCtx)) {
func_8002F554(&this->actor, globalCtx, sp2C);
}
En_Item00_SetNewUpdate(this, (ActorFunc)func_8001E5C8);
this->updateFunc(this, globalCtx);
@ -480,11 +481,13 @@ void En_Item00_Update(ActorEnItem00* this, GlobalContext* globalCtx) {
sp3C = 0;
sp3A = 0;
if (this->unk_15A > 0)
if (this->unk_15A > 0) {
this->unk_15A--;
}
if ((this->unk_15A > 0) && (this->unk_15A < 41) && (this->unk_154 <= 0))
if ((this->unk_15A > 0) && (this->unk_15A < 41) && (this->unk_154 <= 0)) {
this->unk_156 = this->unk_15A;
}
this->updateFunc(this, globalCtx);
@ -533,23 +536,28 @@ void En_Item00_Update(ActorEnItem00* this, GlobalContext* globalCtx) {
(this->actor.params == DROP_TUNIC_ZORA) || (this->actor.params == DROP_TUNIC_GORON)) {
f32 newUnkBC = Math_Coss(this->actor.shape.rot.x) * 37.0f;
this->actor.shape.unk_08 = newUnkBC;
if (newUnkBC >= 0.0f)
if (newUnkBC >= 0.0f) {
this->actor.shape.unk_08 = this->actor.shape.unk_08;
else
} else {
this->actor.shape.unk_08 = -this->actor.shape.unk_08;
}
}
if (this->unk_154 > 0)
if (this->unk_154 > 0) {
return;
}
// MISMATCH: The first function argument is loaded too early here
if (!((this->actor.xzDistanceFromLink <= 30.0f) && (this->actor.yDistanceFromLink >= -50.0f) &&
(this->actor.yDistanceFromLink <= 50.0f)))
if (!func_8002F410(&this->actor, globalCtx))
(this->actor.yDistanceFromLink <= 50.0f))) {
if (!func_8002F410(&this->actor, globalCtx)) {
return;
}
}
if (globalCtx->unk_10A20 != 0)
if (globalCtx->unk_10A20 != 0) {
return;
}
switch (this->actor.params) {
case DROP_RUPEE_GREEN:
@ -630,8 +638,9 @@ void En_Item00_Update(ActorEnItem00* this, GlobalContext* globalCtx) {
}
// MISMATCH: The first function argument is also loaded too early here
if ((sp3C != 0) && !func_8002F410(&this->actor, globalCtx))
if ((sp3C != 0) && !func_8002F410(&this->actor, globalCtx)) {
func_8002F554(&this->actor, globalCtx, sp3C);
}
switch (this->actor.params) {
case DROP_HEART_PIECE:

View File

@ -1,7 +1,7 @@
#include <ultra64.h>
#include <global.h>
u16 D_8011F3F0[60][9] = {
u16 sReactionTextIds[60][9] = {
{ 0x0000, 0x7124, 0x7127, 0x7126, 0x7125, 0x7127, 0x7124, 0x7125, 0x7127 },
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
{ 0x0000, 0x7128, 0x712B, 0x7128, 0x7128, 0x7129, 0x7128, 0x712B, 0x7128 },
@ -64,7 +64,7 @@ u16 D_8011F3F0[60][9] = {
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 },
};
u16 func_8006C360(GlobalContext* globalCtx, u32 idx) {
u8 mask = func_8008F080(globalCtx);
return D_8011F3F0[idx][mask];
u16 Text_GetFaceReaction(GlobalContext* globalCtx, u32 reactionSet) {
u8 currentMask = func_8008F080(globalCtx);
return sReactionTextIds[reactionSet][currentMask];
}

View File

@ -159,19 +159,21 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
{ 0xF6F7, 0x0139, 0x1766 },
};
if (gSaveContext.entrance_index == 0x028A)
if (gSaveContext.entrance_index == 0x028A) {
spawnPos = spawnPositions[0];
else if (gSaveContext.entrance_index == 0x028E)
} else if (gSaveContext.entrance_index == 0x028E) {
spawnPos = spawnPositions[1];
else if (gSaveContext.entrance_index == 0x0292)
} else if (gSaveContext.entrance_index == 0x0292) {
spawnPos = spawnPositions[2];
else
} else {
spawnPos = spawnPositions[3];
}
player->rideActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, spawnPos.x, spawnPos.y,
spawnPos.z, 0, player->actor.posRot.rot.y, 0, 7);
if (player->rideActor == NULL)
if (player->rideActor == NULL) {
__assert("player->ride.actor != NULL", "../z_horse.c", 561);
}
func_8002DECC(globalCtx, player, player->rideActor);
func_8002DE74(globalCtx, player);
@ -180,15 +182,17 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
(Flags_GetEventChkInf(0x18) == 0) && (DREG(1) == 0)) {
player->rideActor =
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 894.0f, 0.0f, -2084.0f, 0, -0x7FFF, 0, 5);
if (player->rideActor == NULL)
if (player->rideActor == NULL) {
__assert("player->ride.actor != NULL", "../z_horse.c", 582);
}
func_8002DECC(globalCtx, player, player->rideActor);
func_8002DE74(globalCtx, player);
gSaveContext.horse_data.scene = globalCtx->sceneNum;
if (globalCtx->sceneNum == SCENE_SPOT12)
if (globalCtx->sceneNum == SCENE_SPOT12) {
player->rideActor->room = -1;
}
} else {
static struct_8011F9B8 D_8011F9B8[] = {
{ 93, 0xFFF0, 0x0E10, 0x0585, 0x0168, 0x8001, 8 }, { 99, 0xFFF0, 0xFF06, 0x0001, 0xF9D4, 0x4000, 6 },
@ -210,8 +214,9 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
player->rideActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE,
D_8011F9B8[i].pos.x, D_8011F9B8[i].pos.y, D_8011F9B8[i].pos.z, 0,
player->actor.posRot.rot.y, 0, D_8011F9B8[i].type);
if (player->rideActor == NULL)
if (player->rideActor == NULL) {
__assert("player->ride.actor != NULL", "../z_horse.c", 628);
}
func_8002DECC(globalCtx, player, player->rideActor);
func_8002DE74(globalCtx, player);
@ -221,14 +226,16 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
s32 pad2;
temp = 0;
if (((gSaveContext.event_inf[0] & 0x10) >> 4) && D_8011F9B8[i].type == 6)
if (((gSaveContext.event_inf[0] & 0x10) >> 4) && D_8011F9B8[i].type == 6) {
temp = 0x8000;
}
player->rideActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE,
D_8011F9B8[i].pos.x, D_8011F9B8[i].pos.y, D_8011F9B8[i].pos.z, 0,
D_8011F9B8[i].angle, 0, D_8011F9B8[i].type | temp);
if (player->rideActor == NULL)
if (player->rideActor == NULL) {
__assert("player->ride.actor != NULL", "../z_horse.c", 667);
}
player->actor.posRot.pos.x = D_8011F9B8[i].pos.x;
player->actor.posRot.pos.y = D_8011F9B8[i].pos.y;

View File

@ -75,8 +75,9 @@ void KaleidoScopeCall_Update(GlobalContext* globalCtx) {
pauseCtx->state++;
} else if (pauseCtx->state == 2 || pauseCtx->state == 9) {
osSyncPrintf("R_PAUSE_MENU_MODE=%d\n", R_PAUSE_MENU_MODE);
if (R_PAUSE_MENU_MODE >= 3)
if (R_PAUSE_MENU_MODE >= 3) {
pauseCtx->state++;
}
} else if (pauseCtx->state != 0) {
if (&gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE] != gKaleidoMgrCurOvl) {
if (gKaleidoMgrCurOvl) {

View File

@ -1141,13 +1141,15 @@ void Inventory_SwapAgeEquipment(void) {
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
for (i = 0; i < 4; i++) {
if (i != 0)
if (i != 0) {
gSaveContext.child_equips.button_items[i] = gSaveContext.equips.button_items[i];
else
} else {
gSaveContext.child_equips.button_items[i] = ITEM_SWORD_KOKIRI;
}
if (i != 0)
if (i != 0) {
gSaveContext.child_equips.c_button_slots[i - 1] = gSaveContext.equips.c_button_slots[i - 1];
}
}
gSaveContext.child_equips.equipment = gSaveContext.equips.equipment;
@ -1172,8 +1174,9 @@ void Inventory_SwapAgeEquipment(void) {
for (i = 0; i < 4; i++) {
gSaveContext.equips.button_items[i] = gSaveContext.adult_equips.button_items[i];
if (i != 0)
if (i != 0) {
gSaveContext.equips.c_button_slots[i - 1] = gSaveContext.adult_equips.c_button_slots[i - 1];
}
if (((gSaveContext.equips.button_items[i] >= ITEM_BOTTLE) &&
(gSaveContext.equips.button_items[i] <= ITEM_POE)) ||
@ -1190,8 +1193,9 @@ void Inventory_SwapAgeEquipment(void) {
for (i = 0; i < 4; i++) {
gSaveContext.adult_equips.button_items[i] = gSaveContext.equips.button_items[i];
if (i != 0)
if (i != 0) {
gSaveContext.adult_equips.c_button_slots[i - 1] = gSaveContext.equips.c_button_slots[i - 1];
}
}
gSaveContext.adult_equips.equipment = gSaveContext.equips.equipment;
@ -1200,8 +1204,9 @@ void Inventory_SwapAgeEquipment(void) {
for (i = 0; i < 4; i++) {
gSaveContext.equips.button_items[i] = gSaveContext.child_equips.button_items[i];
if (i != 0)
if (i != 0) {
gSaveContext.equips.c_button_slots[i - 1] = gSaveContext.child_equips.c_button_slots[i - 1];
}
if (((gSaveContext.equips.button_items[i] >= ITEM_BOTTLE) &&
(gSaveContext.equips.button_items[i] <= ITEM_POE)) ||
@ -1221,8 +1226,9 @@ void Inventory_SwapAgeEquipment(void) {
temp = gEquipMasks[EQUIP_SHIELD] & gSaveContext.equips.equipment;
if (temp != 0) {
temp >>= gEquipShifts[EQUIP_SHIELD];
if (!(gBitFlags[temp + 3] & gSaveContext.equipment))
if (!(gBitFlags[temp + 3] & gSaveContext.equipment)) {
gSaveContext.equips.equipment &= gEquipNegMasks[EQUIP_SHIELD];
}
}
}
#else
@ -1315,8 +1321,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
s8 bombCount;
slot = SLOT(item);
if (item >= ITEM_STICKS_5)
if (item >= ITEM_STICKS_5) {
slot = SLOT(sExtraItemBases[item - ITEM_STICKS_5]);
}
osSyncPrintf(VT_FGCOL(YELLOW));
osSyncPrintf("item_get_setting=%d pt=%d z=%x\n", item, slot, gSaveContext.items[slot]);
@ -1330,8 +1337,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
osSyncPrintf("封印 = %x\n", gSaveContext.quest_items);
osSyncPrintf(VT_RST);
if (item == ITEM_MEDALLION_WATER)
if (item == ITEM_MEDALLION_WATER) {
func_8006D0AC(globalCtx);
}
return ITEM_NONE;
} else if ((item >= ITEM_SONG_MINUET) && (item <= ITEM_SONG_STORMS)) {
@ -1423,8 +1431,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return ITEM_NONE;
} else {
AMMO(ITEM_BOW)++;
if (AMMO(ITEM_BOW) > CUR_CAPACITY(UPG_QUIVER))
if (AMMO(ITEM_BOW) > CUR_CAPACITY(UPG_QUIVER)) {
AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER);
}
}
} else if (item == ITEM_QUIVER_40) {
Inventory_ChangeUpgrade(UPG_QUIVER, 2);
@ -1450,8 +1459,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return ITEM_NONE;
} else {
AMMO(ITEM_BOMB)++;
if (AMMO(ITEM_BOMB) > CUR_CAPACITY(UPG_BOMB_BAG))
if (AMMO(ITEM_BOMB) > CUR_CAPACITY(UPG_BOMB_BAG)) {
AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG);
}
}
} else if (item == ITEM_BOMB_BAG_30) {
Inventory_ChangeUpgrade(UPG_BOMB_BAG, 2);
@ -1483,26 +1493,30 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
Inventory_ChangeUpgrade(UPG_WALLET, 2);
return ITEM_NONE;
} else if (item == ITEM_STICK_UPGRADE_20) {
if (gSaveContext.items[slot] == ITEM_NONE)
if (gSaveContext.items[slot] == ITEM_NONE) {
INV_CONTENT(ITEM_STICK) = ITEM_STICK;
}
Inventory_ChangeUpgrade(UPG_STICKS, 2);
AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 2);
return ITEM_NONE;
} else if (item == ITEM_STICK_UPGRADE_30) {
if (gSaveContext.items[slot] == ITEM_NONE)
if (gSaveContext.items[slot] == ITEM_NONE) {
INV_CONTENT(ITEM_STICK) = ITEM_STICK;
}
Inventory_ChangeUpgrade(UPG_STICKS, 3);
AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 3);
return ITEM_NONE;
} else if (item == ITEM_NUT_UPGRADE_30) {
if (gSaveContext.items[slot] == ITEM_NONE)
if (gSaveContext.items[slot] == ITEM_NONE) {
INV_CONTENT(ITEM_NUT) = ITEM_NUT;
}
Inventory_ChangeUpgrade(UPG_NUTS, 2);
AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 2);
return ITEM_NONE;
} else if (item == ITEM_NUT_UPGRADE_40) {
if (gSaveContext.items[slot] == ITEM_NONE)
if (gSaveContext.items[slot] == ITEM_NONE) {
INV_CONTENT(ITEM_NUT) = ITEM_NUT;
}
Inventory_ChangeUpgrade(UPG_NUTS, 3);
AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 3);
return ITEM_NONE;
@ -1521,8 +1535,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
AMMO(ITEM_STICK) = 1;
} else {
AMMO(ITEM_STICK)++;
if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS))
if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS)) {
AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS);
}
}
} else if ((item == ITEM_STICKS_5) || (item == ITEM_STICKS_10)) {
if (gSaveContext.items[slot] == ITEM_NONE) {
@ -1530,8 +1545,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
AMMO(ITEM_STICK) = sAmmoRefillCounts[item - ITEM_STICKS_5];
} else {
AMMO(ITEM_STICK) += sAmmoRefillCounts[item - ITEM_STICKS_5];
if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS))
if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS)) {
AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS);
}
}
item = ITEM_STICK;
} else if (item == ITEM_NUT) {
@ -1540,8 +1556,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
AMMO(ITEM_NUT) = ITEM_NUT;
} else {
AMMO(ITEM_NUT)++;
if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS))
if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS)) {
AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS);
}
}
} else if ((item == ITEM_NUTS_5) || (item == ITEM_NUTS_10)) {
if (gSaveContext.items[slot] == ITEM_NONE) {
@ -1552,8 +1569,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
sAmmoRefillCounts[item - ITEM_NUTS_5]);
} else {
AMMO(ITEM_NUT) += sAmmoRefillCounts[item - ITEM_NUTS_5];
if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS))
if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS)) {
AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS);
}
}
item = ITEM_NUT;
} else if (item == ITEM_BOMB) {
@ -1561,14 +1579,16 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
osSyncPrintf(" 爆弾 爆弾 爆弾 爆弾 爆弾 爆弾 爆弾 \n");
bombCount = AMMO(ITEM_BOMB) + 1;
AMMO(ITEM_BOMB) = bombCount;
if (bombCount > CUR_CAPACITY(UPG_BOMB_BAG))
if (bombCount > CUR_CAPACITY(UPG_BOMB_BAG)) {
AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG);
}
return ITEM_NONE;
} else if ((item >= ITEM_BOMBS_5) && (item <= ITEM_BOMBS_30)) {
bombCount = AMMO(ITEM_BOMB) + sAmmoRefillCounts[item - ITEM_BOMBS_5];
AMMO(ITEM_BOMB) = bombCount;
if (bombCount > CUR_CAPACITY(UPG_BOMB_BAG))
if (bombCount > CUR_CAPACITY(UPG_BOMB_BAG)) {
AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG);
}
return ITEM_NONE;
} else if (item == ITEM_BOMBCHU) {
if (gSaveContext.items[slot] == ITEM_NONE) {
@ -1577,8 +1597,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return ITEM_NONE;
} else {
AMMO(ITEM_BOMBCHU) += 10;
if (AMMO(ITEM_BOMBCHU) > 50)
if (AMMO(ITEM_BOMBCHU) > 50) {
AMMO(ITEM_BOMBCHU) = 50;
}
return ITEM_NONE;
}
} else if ((item == ITEM_BOMBCHUS_5) || (item == ITEM_BOMBCHUS_20)) {
@ -1588,15 +1609,17 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return ITEM_NONE;
} else {
AMMO(ITEM_BOMBCHU) += sAmmoRefillCounts[item - ITEM_BOMBCHUS_5 + 8];
if (AMMO(ITEM_BOMBCHU) > 50)
if (AMMO(ITEM_BOMBCHU) > 50) {
AMMO(ITEM_BOMBCHU) = 50;
}
return ITEM_NONE;
}
} else if ((item >= ITEM_ARROWS_SMALL) && (item <= ITEM_ARROWS_LARGE)) {
AMMO(ITEM_BOW) += sAmmoRefillCounts[item - ITEM_ARROWS_SMALL + 4];
if ((AMMO(ITEM_BOW) >= CUR_CAPACITY(UPG_QUIVER)) || (AMMO(ITEM_BOW) < 0))
if ((AMMO(ITEM_BOW) >= CUR_CAPACITY(UPG_QUIVER)) || (AMMO(ITEM_BOW) < 0)) {
AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER);
}
osSyncPrintf("%d本 Item_MaxGet=%d\n", AMMO(ITEM_BOW), CUR_CAPACITY(UPG_QUIVER));
@ -1609,8 +1632,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
} else if (item == ITEM_SEEDS) {
AMMO(ITEM_SLINGSHOT) += 5;
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG))
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) {
AMMO(ITEM_SLINGSHOT) = CUR_CAPACITY(UPG_BULLET_BAG);
}
if (!(gSaveContext.item_get_inf[1] & 8)) {
gSaveContext.item_get_inf[1] |= 8;
@ -1621,8 +1645,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
} else if (item == ITEM_SEEDS_30) {
AMMO(ITEM_SLINGSHOT) += 30;
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG))
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) {
AMMO(ITEM_SLINGSHOT) = CUR_CAPACITY(UPG_BULLET_BAG);
}
if (!(gSaveContext.item_get_inf[1] & 8)) {
gSaveContext.item_get_inf[1] |= 8;
@ -1665,8 +1690,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
Health_ChangeBy(globalCtx, 0x10);
return item;
} else if (item == ITEM_MAGIC_SMALL) {
if (gSaveContext.unk_13F0 != 10)
if (gSaveContext.unk_13F0 != 10) {
func_80087680(globalCtx);
}
func_80087708(globalCtx, 12, 5);
@ -1677,8 +1703,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return item;
} else if (item == ITEM_MAGIC_LARGE) {
if (gSaveContext.unk_13F0 != 10)
if (gSaveContext.unk_13F0 != 10) {
func_80087680(globalCtx);
}
func_80087708(globalCtx, 24, 5);
@ -1741,8 +1768,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
}
}
} else if ((item >= ITEM_WEIRD_EGG) && (item <= ITEM_CLAIM_CHECK)) {
if (item == ITEM_SAW)
if (item == ITEM_SAW) {
gSaveContext.item_get_inf[1] |= 0x8000;
}
prevTradeItem = INV_CONTENT(item);
INV_CONTENT(item) = item;
@ -1990,8 +2018,9 @@ void Inventory_UpdateBottleItem(GlobalContext* globalCtx, u8 item, u8 cButton) {
// Special case to only empty half of a Lon Lon Milk Bottle
if ((gSaveContext.items[gSaveContext.equips.c_button_slots[cButton - 1]] == ITEM_MILK_BOTTLE) &&
(item == ITEM_BOTTLE))
(item == ITEM_BOTTLE)) {
item = ITEM_MILK_HALF;
}
gSaveContext.items[gSaveContext.equips.c_button_slots[cButton - 1]] = item;
gSaveContext.equips.button_items[cButton] = item;
@ -2052,14 +2081,17 @@ u32 sDoActionTextures[] = { 0x07000000, 0x07000180 };
#ifdef NON_MATCHING
// 0x80000000 is reused in the 2 *_TO_VIRTUAL macros when it shouldn't
void Interface_LoadActionLabel(InterfaceContext* interfaceCtx, u16 action, s16 arg2) {
if (action >= 0x1D)
if (action >= 0x1D) {
action = 0x0A;
}
if (gSaveContext.language != 0)
if (gSaveContext.language != 0) {
action += 0x1D;
}
if (gSaveContext.language == 2)
if (gSaveContext.language == 2) {
action += 0x1D;
}
if ((action != 0x0A) && (action != 0x27) && (action != 0x44)) {
osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, OS_MESG_BLOCK);
@ -2375,12 +2407,14 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
if (gSaveContext.unk_13F4 != maxMagic) {
if (gSaveContext.unk_13F4 < maxMagic) {
gSaveContext.unk_13F4 += 8;
if (gSaveContext.unk_13F4 > maxMagic)
if (gSaveContext.unk_13F4 > maxMagic) {
gSaveContext.unk_13F4 = maxMagic;
}
} else {
gSaveContext.unk_13F4 -= 8;
if (gSaveContext.unk_13F4 <= maxMagic)
if (gSaveContext.unk_13F4 <= maxMagic) {
gSaveContext.unk_13F4 = maxMagic;
}
}
} else {
gSaveContext.unk_13F0 = 9;
@ -2389,8 +2423,9 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
case 9:
gSaveContext.magic += 4;
if (gSaveContext.game_mode == 0 && gSaveContext.scene_setup_index < 4)
if (gSaveContext.game_mode == 0 && gSaveContext.scene_setup_index < 4) {
Audio_PlaySoundGeneral(0x401F, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
// Translates to: "Storage MAGIC_NOW=%d (%d)"
osSyncPrintf("蓄電 MAGIC_NOW=%d (%d)\n", gSaveContext.magic, gSaveContext.unk_13F6);
@ -2423,20 +2458,23 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
case 6:
color = sMagicBorderColors[sMagicBorderIndexes[sMagicBorderStep]];
if (sMagicBorderR >= color[0])
if (sMagicBorderR >= color[0]) {
sMagicBorderR -= ABS(sMagicBorderR - color[0]) / sMagicBorderRatio;
else
} else {
sMagicBorderR += ABS(sMagicBorderR - color[0]) / sMagicBorderRatio;
}
if (sMagicBorderG >= color[1])
if (sMagicBorderG >= color[1]) {
sMagicBorderG -= ABS(sMagicBorderG - color[1]) / sMagicBorderRatio;
else
} else {
sMagicBorderG += ABS(sMagicBorderG - color[1]) / sMagicBorderRatio;
}
if (sMagicBorderB >= color[2])
if (sMagicBorderB >= color[2]) {
sMagicBorderB -= ABS(sMagicBorderB - color[2]) / sMagicBorderRatio;
else
} else {
sMagicBorderB += ABS(sMagicBorderB - color[2]) / sMagicBorderRatio;
}
sMagicBorderRatio--;
if (sMagicBorderRatio == 0) {
@ -2445,8 +2483,9 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
sMagicBorderB = color[2];
sMagicBorderRatio = YREG(40 + sMagicBorderStep);
sMagicBorderStep++;
if (sMagicBorderStep >= 4)
if (sMagicBorderStep >= 4) {
sMagicBorderStep = 0;
}
}
break;
case 5:
@ -2481,20 +2520,23 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
color = sMagicBorderColors[sMagicBorderIndexes[sMagicBorderStep]];
if (sMagicBorderR >= color[0])
if (sMagicBorderR >= color[0]) {
sMagicBorderR -= ABS(sMagicBorderR - color[0]) / sMagicBorderRatio;
else
} else {
sMagicBorderR += ABS(sMagicBorderR - color[0]) / sMagicBorderRatio;
}
if (sMagicBorderG >= color[1])
if (sMagicBorderG >= color[1]) {
sMagicBorderG -= ABS(sMagicBorderG - color[1]) / sMagicBorderRatio;
else
} else {
sMagicBorderG += ABS(sMagicBorderG - color[1]) / sMagicBorderRatio;
}
if (sMagicBorderB >= color[2])
if (sMagicBorderB >= color[2]) {
sMagicBorderB -= ABS(sMagicBorderB - color[2]) / sMagicBorderRatio;
else
} else {
sMagicBorderB += ABS(sMagicBorderB - color[2]) / sMagicBorderRatio;
}
sMagicBorderRatio--;
if (sMagicBorderRatio == 0) {
@ -2503,8 +2545,9 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
sMagicBorderB = color[2];
sMagicBorderRatio = YREG(40 + sMagicBorderStep);
sMagicBorderStep++;
if (sMagicBorderStep >= 4)
if (sMagicBorderStep >= 4) {
sMagicBorderStep = 0;
}
}
break;
case 10:
@ -2772,13 +2815,14 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
// C-Up Button Texture, Color & Label (Navi Text)
gDPPipeSync(gfxCtx->overlay.p++);
if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5))
if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5)) {
cUpAlpha = 0;
else if ((player->stateFlags2 & 0x00200000) || (func_8008F2F8(globalCtx) == 4) ||
(player->stateFlags2 & 0x00040000))
} else if ((player->stateFlags2 & 0x00200000) || (func_8008F2F8(globalCtx) == 4) ||
(player->stateFlags2 & 0x00040000)) {
cUpAlpha = 0x46;
else
} else {
cUpAlpha = interfaceCtx->healthAlpha;
}
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), cUpAlpha);
gDPSetCombineLERP(gfxCtx->overlay.p++, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0,
@ -2820,15 +2864,16 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
// Empty C Button Arrows
for (i = 1; i < 4; i++) {
if (gSaveContext.equips.button_items[i] > 0xF0) {
if (i == 1)
if (i == 1) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cLeftAlpha);
else if (i == 2)
} else if (i == 2) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cDownAlpha);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cRightAlpha);
}
gfxCtx->overlay.p =
Draw_TextureIA8(gfxCtx->overlay.p, &D_02000A00[i + 1], 0x20, 0x20, R_ITEM_BTN_X(i), R_ITEM_BTN_Y(i),
@ -3188,12 +3233,13 @@ void Interface_Draw(GlobalContext* globalCtx) {
// Rupee Counter
gDPPipeSync(gfxCtx->overlay.p++);
if (gSaveContext.rupees == CUR_CAPACITY(UPG_WALLET))
if (gSaveContext.rupees == CUR_CAPACITY(UPG_WALLET)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0x78, 0xFF, 0x00, interfaceCtx->magicAlpha);
else if (gSaveContext.rupees != 0)
} else if (gSaveContext.rupees != 0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0xFF, 0xFF, interfaceCtx->magicAlpha);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0x64, 0x64, 0x64, interfaceCtx->magicAlpha);
}
gDPSetCombineLERP(gfxCtx->overlay.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0,
0, PRIMITIVE, 0);
@ -3201,8 +3247,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
interfaceCtx->counterDigits[0] = interfaceCtx->counterDigits[1] = 0;
interfaceCtx->counterDigits[2] = gSaveContext.rupees;
if ((interfaceCtx->counterDigits[2] >= 10000) || (interfaceCtx->counterDigits[2] < 0))
if ((interfaceCtx->counterDigits[2] >= 10000) || (interfaceCtx->counterDigits[2] < 0)) {
interfaceCtx->counterDigits[2] &= 0xDDD;
}
while (interfaceCtx->counterDigits[2] >= 100) {
interfaceCtx->counterDigits[2] -= 100;
@ -3225,8 +3272,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
Interface_DrawMagicBar(globalCtx);
Interface_DrawMinimap(globalCtx);
if ((R_PAUSE_MENU_MODE != 2) && (R_PAUSE_MENU_MODE != 3))
if ((R_PAUSE_MENU_MODE != 2) && (R_PAUSE_MENU_MODE != 3)) {
func_8002C124(&globalCtx->actorCtx.targetCtx, globalCtx); // Draw Z-Target
}
func_80094520(globalCtx->state.gfxCtx);
@ -3343,10 +3391,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
G_MTX_MODELVIEW | G_MTX_LOAD);
gSPVertex(gfxCtx->overlay.p++, &interfaceCtx->vtx_128[4], 4, 0);
if ((interfaceCtx->unk_1EC < 2) || (interfaceCtx->unk_1EC == 3))
if ((interfaceCtx->unk_1EC < 2) || (interfaceCtx->unk_1EC == 3)) {
Interface_DrawActionLabel(globalCtx->state.gfxCtx, (void*)(u32)interfaceCtx->do_actionSegment);
else
} else {
Interface_DrawActionLabel(globalCtx->state.gfxCtx, (void*)((u32)interfaceCtx->do_actionSegment + 0x180));
}
gDPPipeSync(gfxCtx->overlay.p++);
@ -3441,10 +3490,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s1 = ZREG(14);
for (phi_s3 = 1; phi_s3 < 7; phi_s3++) {
// Carrot Color (based on availability)
if ((interfaceCtx->unk_23A == 0) || (interfaceCtx->unk_23A < phi_s3))
if ((interfaceCtx->unk_23A == 0) || (interfaceCtx->unk_23A < phi_s3)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0x00, 0x96, 0xFF, interfaceCtx->aAlpha);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0xFF, 0xFF, interfaceCtx->aAlpha);
}
gSPTextureRectangle(gfxCtx->overlay.p++, phi_s1 << 2, ZREG(15) << 2, (phi_s1 + 16) << 2,
(ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024);
@ -3507,10 +3557,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
(gSaveContext.equips.button_items[0] != ITEM_SWORD_MASTER) &&
(gSaveContext.equips.button_items[0] != ITEM_SWORD_BGS) &&
(gSaveContext.equips.button_items[0] != ITEM_SWORD_KNIFE)) {
if (gSaveContext.button_status[0] != BTN_ENABLED)
if (gSaveContext.button_status[0] != BTN_ENABLED) {
gSaveContext.equips.button_items[0] = gSaveContext.button_status[0];
else
} else {
gSaveContext.equips.button_items[0] = ITEM_NONE;
}
}
// Revert any spoiling trade quest items
@ -3553,20 +3604,22 @@ void Interface_Draw(GlobalContext* globalCtx) {
case 5:
case 11:
D_8015FFE0 = D_8015FFE2 = 20;
if (gSaveContext.timer_1_state == 5)
if (gSaveContext.timer_1_state == 5) {
gSaveContext.timer_1_state = 6;
else
} else {
gSaveContext.timer_1_state = 12;
}
break;
case 6:
case 12:
D_8015FFE2--;
if (D_8015FFE2 == 0) {
D_8015FFE2 = 20;
if (gSaveContext.timer_1_state == 6)
if (gSaveContext.timer_1_state == 6) {
gSaveContext.timer_1_state = 7;
else
} else {
gSaveContext.timer_1_state = 13;
}
}
break;
case 3:
@ -3574,10 +3627,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s3 = (gSaveContext.timer_x[0] - 26) / D_8015FFE2;
gSaveContext.timer_x[0] -= phi_s3;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
phi_s3 = (gSaveContext.timer_y[0] - 54) / D_8015FFE2;
else
} else {
phi_s3 = (gSaveContext.timer_y[0] - 46) / D_8015FFE2;
}
gSaveContext.timer_y[0] -= phi_s3;
D_8015FFE2--;
@ -3585,30 +3639,34 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_x[0] = 26;
D_8015FFE2 = 20;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[0] = 54;
else
} else {
gSaveContext.timer_y[0] = 46;
}
if (gSaveContext.timer_1_state == 3)
if (gSaveContext.timer_1_state == 3) {
gSaveContext.timer_1_state = 4;
else
} else {
gSaveContext.timer_1_state = 8;
}
}
case 4:
case 8:
if ((gSaveContext.timer_1_state == 4) || (gSaveContext.timer_1_state == 8)) {
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[0] = 54;
else
} else {
gSaveContext.timer_y[0] = 46;
}
}
if ((gSaveContext.timer_1_state >= 3) && (msgCtx->unk_E300 == 0)) {
D_8015FFE0--;
if (D_8015FFE0 == 0) {
if (gSaveContext.timer_1_value != 0)
if (gSaveContext.timer_1_value != 0) {
gSaveContext.timer_1_value--;
}
D_8015FFE0 = 20;
@ -3620,13 +3678,15 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
D_80125A5C = 0;
} else if (gSaveContext.timer_1_value > 60) {
if (sTimerDigits[4] == 1)
if (sTimerDigits[4] == 1) {
Audio_PlaySoundGeneral(NA_SE_SY_MESSAGE_WOMAN, &D_801333D4, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
}
} else if (gSaveContext.timer_1_value >= 11) {
if (sTimerDigits[4] & 1)
if (sTimerDigits[4] & 1) {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
}
} else {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_E, &D_801333D4, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
@ -3638,10 +3698,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s3 = (gSaveContext.timer_x[0] - 26) / D_8015FFE2;
gSaveContext.timer_x[0] -= phi_s3;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
phi_s3 = (gSaveContext.timer_y[0] - 54) / D_8015FFE2;
else
} else {
phi_s3 = (gSaveContext.timer_y[0] - 46) / D_8015FFE2;
}
gSaveContext.timer_y[0] -= phi_s3;
D_8015FFE2--;
@ -3649,19 +3710,21 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_x[0] = 26;
D_8015FFE2 = 20;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[0] = 54;
else
} else {
gSaveContext.timer_y[0] = 46;
}
gSaveContext.timer_1_state = 14;
}
case 14:
if (gSaveContext.timer_1_state == 14) {
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[0] = 54;
else
} else {
gSaveContext.timer_y[0] = 46;
}
}
if (gSaveContext.timer_1_state >= 3) {
@ -3686,10 +3749,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_y[1] = 80;
D_8015FFE4 = D_8015FFE6 = 20;
if (gSaveContext.timer_2_state < 7)
if (gSaveContext.timer_2_state < 7) {
gSaveContext.timer_2_state = 2;
else
} else {
gSaveContext.timer_2_state = 8;
}
gSaveContext.timer_1_state = 0;
} else {
@ -3706,20 +3770,22 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_x[1] = 140;
gSaveContext.timer_y[1] = 80;
D_8015FFE4 = D_8015FFE6 = 20;
if (gSaveContext.timer_2_state == 1)
if (gSaveContext.timer_2_state == 1) {
gSaveContext.timer_2_state = 2;
else
} else {
gSaveContext.timer_2_state = 8;
}
break;
case 2:
case 8:
D_8015FFE6--;
if (D_8015FFE6 == 0) {
D_8015FFE6 = 20;
if (gSaveContext.timer_2_state == 2)
if (gSaveContext.timer_2_state == 2) {
gSaveContext.timer_2_state = 3;
else
} else {
gSaveContext.timer_2_state = 9;
}
}
break;
case 3:
@ -3730,10 +3796,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s3 = (gSaveContext.timer_x[1] - 26) / D_8015FFE2;
gSaveContext.timer_x[1] -= phi_s3;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
phi_s3 = (gSaveContext.timer_y[1] - 54) / D_8015FFE6;
else
} else {
phi_s3 = (gSaveContext.timer_y[1] - 46) / D_8015FFE6;
}
gSaveContext.timer_y[1] -= phi_s3;
D_8015FFE6--;
@ -3741,23 +3808,26 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_x[1] = 26;
D_8015FFE6 = 20;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[1] = 54;
else
} else {
gSaveContext.timer_y[1] = 46;
}
if (gSaveContext.timer_2_state == 3)
if (gSaveContext.timer_2_state == 3) {
gSaveContext.timer_2_state = 4;
else
} else {
gSaveContext.timer_2_state = 10;
}
}
case 4:
case 10:
if ((gSaveContext.timer_2_state == 4) || (gSaveContext.timer_2_state == 10)) {
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[1] = 54;
else
} else {
gSaveContext.timer_y[1] = 46;
}
}
if (gSaveContext.timer_2_state >= 3) {
@ -3785,13 +3855,15 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
} else {
if (gSaveContext.timer_2_value > 60) {
if (sTimerDigits[4] == 1)
if (sTimerDigits[4] == 1) {
Audio_PlaySoundGeneral(NA_SE_SY_MESSAGE_WOMAN, &D_801333D4, 4,
&D_801333E0, &D_801333E0, &D_801333E8);
}
} else if (gSaveContext.timer_2_value > 10) {
if (sTimerDigits[4] & 1)
if (sTimerDigits[4] & 1) {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4,
&D_801333E0, &D_801333E0, &D_801333E8);
}
} else {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_E, &D_801333D4, 4,
&D_801333E0, &D_801333E0, &D_801333E8);
@ -3817,8 +3889,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
break;
case 6:
D_8015FFE6--;
if (D_8015FFE6 == 0)
if (D_8015FFE6 == 0) {
gSaveContext.timer_2_state = 0;
}
break;
}
}
@ -3828,10 +3901,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
sTimerDigits[0] = sTimerDigits[1] = sTimerDigits[3] = 0;
sTimerDigits[2] = 10; // digit 10 is used as ':' (colon)
if (gSaveContext.timer_1_state != 0)
if (gSaveContext.timer_1_state != 0) {
sTimerDigits[4] = gSaveContext.timer_1_value;
else
} else {
sTimerDigits[4] = gSaveContext.timer_2_value;
}
while (sTimerDigits[4] >= 60) {
sTimerDigits[1]++;
@ -3860,15 +3934,17 @@ void Interface_Draw(GlobalContext* globalCtx) {
TEXEL0, 0, PRIMITIVE, 0);
if (gSaveContext.timer_1_state != 0) {
if ((gSaveContext.timer_1_value < 10) && (gSaveContext.timer_1_state < 11))
if ((gSaveContext.timer_1_value < 10) && (gSaveContext.timer_1_state < 11)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0x32, 0x00, 0xFF);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF);
}
} else {
if ((gSaveContext.timer_2_value < 10) && (gSaveContext.timer_2_state < 6))
if ((gSaveContext.timer_2_value < 10) && (gSaveContext.timer_2_state < 6)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0x32, 0x00, 0xFF);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0xFF, 0x00, 0xFF);
}
}
for (phi_s3 = 0; phi_s3 < 5; phi_s3++) {
@ -3881,8 +3957,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
}
if (pauseCtx->flag == 3)
if (pauseCtx->flag == 3) {
func_8002AAB0(globalCtx);
}
if (interfaceCtx->unk_244 != 0) {
gDPPipeSync(gfxCtx->overlay.p++);
@ -3952,32 +4029,38 @@ void Interface_Update(GlobalContext* globalCtx) {
case 12:
case 13:
alpha = 0xFF - (gSaveContext.unk_13EC << 5);
if (alpha < 0)
if (alpha < 0) {
alpha = 0;
}
func_80082850(globalCtx, alpha);
gSaveContext.unk_13EC++;
if (alpha == 0)
if (alpha == 0) {
gSaveContext.unk_13E8 = 0;
}
break;
case 50:
alpha = 0xFF - (gSaveContext.unk_13EC << 5);
if (alpha < 0)
if (alpha < 0) {
alpha = 0;
}
alpha1 = 0xFF - alpha;
if (alpha1 >= 0xFF)
if (alpha1 >= 0xFF) {
alpha1 = 0xFF;
}
osSyncPrintf("case 50 : alpha=%d alpha1=%d\n", alpha, alpha1);
func_80082644(globalCtx, alpha1);
if (interfaceCtx->healthAlpha != 0xFF)
if (interfaceCtx->healthAlpha != 0xFF) {
interfaceCtx->healthAlpha = alpha1;
}
if (interfaceCtx->magicAlpha != 0xFF)
if (interfaceCtx->magicAlpha != 0xFF) {
interfaceCtx->magicAlpha = alpha1;
}
switch (globalCtx->sceneNum) {
case SCENE_SPOT00:
@ -4000,20 +4083,23 @@ void Interface_Update(GlobalContext* globalCtx) {
case SCENE_SPOT18:
case SCENE_SPOT20:
case SCENE_GANON_TOU:
if (interfaceCtx->minimapAlpha < 0xAA)
if (interfaceCtx->minimapAlpha < 0xAA) {
interfaceCtx->minimapAlpha = alpha1;
else
} else {
interfaceCtx->minimapAlpha = 0xAA;
}
break;
default:
if (interfaceCtx->minimapAlpha != 0xFF)
if (interfaceCtx->minimapAlpha != 0xFF) {
interfaceCtx->minimapAlpha = alpha1;
}
break;
}
gSaveContext.unk_13EC++;
if (alpha1 == 0xFF)
if (alpha1 == 0xFF) {
gSaveContext.unk_13E8 = 0;
}
break;
case 52:
@ -4030,8 +4116,9 @@ void Interface_Update(GlobalContext* globalCtx) {
gSaveContext.health_accumulator -= 4;
gSaveContext.health += 4;
if ((gSaveContext.health & 0xF) < 4)
if ((gSaveContext.health & 0xF) < 4) {
Audio_PlaySoundGeneral(NA_SE_SY_HP_RECOVER, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
osSyncPrintf("now_life=%d max_life=%d\n", gSaveContext.health, gSaveContext.health_capacity);
@ -4079,8 +4166,9 @@ void Interface_Update(GlobalContext* globalCtx) {
gSaveContext.rupee_accumulator += 10;
gSaveContext.rupees -= 10;
if (gSaveContext.rupees < 0)
if (gSaveContext.rupees < 0) {
gSaveContext.rupees = 0;
}
Audio_PlaySoundGeneral(NA_SE_SY_RUPY_COUNT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else {
@ -4108,8 +4196,9 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_1EC = 0;
interfaceCtx->unk_1EE = interfaceCtx->unk_1F0;
action = interfaceCtx->unk_1EE;
if ((action == 0x1D) || (action == 0x1E))
if ((action == 0x1D) || (action == 0x1E)) {
action = 0xA;
}
Interface_LoadActionLabel(interfaceCtx, action, 0);
}
break;
@ -4127,8 +4216,9 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_1EC = 0;
interfaceCtx->unk_1EE = interfaceCtx->unk_1F0;
action = interfaceCtx->unk_1EE;
if ((action == 0x1D) || (action == 0x1E))
if ((action == 0x1D) || (action == 0x1E)) {
action = 0xA;
}
Interface_LoadActionLabel(interfaceCtx, action, 0);
}
break;
@ -4173,11 +4263,13 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_23C = 0;
if (sHBAScoreTier == 0) {
if (gSaveContext.minigame_score >= 1000)
if (gSaveContext.minigame_score >= 1000) {
sHBAScoreTier++;
}
} else if (sHBAScoreTier == 1) {
if (gSaveContext.minigame_score >= 1500)
if (gSaveContext.minigame_score >= 1500) {
sHBAScoreTier++;
}
}
sHBAScoreDigits[1] = 0;
@ -4202,14 +4294,16 @@ void Interface_Update(GlobalContext* globalCtx) {
}
if (gSaveContext.unk_1422 != 0) {
if ((msgCtx->unk_E3F0 != 0x31) && (gSaveContext.unk_1422 == 1))
if ((msgCtx->unk_E3F0 != 0x31) && (gSaveContext.unk_1422 == 1)) {
globalCtx->msgCtx.unk_E3EE = 4;
}
if (globalCtx->unk_10A26 != 0) {
if (gSaveContext.unk_1422 != 2) {
D_80125B60 = 0;
if ((gSaveContext.day_time >= 0x4555) && (gSaveContext.day_time <= 0xC001))
if ((gSaveContext.day_time >= 0x4555) && (gSaveContext.day_time <= 0xC001)) {
D_80125B60 = 1;
}
gSaveContext.unk_1422 = 2;
D_80125B64 = D_8011FB40;

46
src/code/z_path.c Normal file
View File

@ -0,0 +1,46 @@
#include <ultra64.h>
#include <global.h>
Path* Path_GetByIndex(GlobalContext* globalCtx, s16 index, s16 max) {
Path* path;
if (index != max) {
path = &globalCtx->setupPathList[index];
} else {
path = NULL;
}
return path;
}
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw) {
f32 dx;
f32 dz;
Vec3s* pointPos;
if (path == NULL) {
return -1.0;
}
pointPos = SEGMENTED_TO_VIRTUAL(path->points);
pointPos = &pointPos[waypoint];
dx = pointPos->x - actor->posRot.pos.x;
dz = pointPos->z - actor->posRot.pos.z;
*yaw = Math_atan2f(dx, dz) * (32768 / M_PI);
return SQ(dx) + SQ(dz);
}
void Path_CopyLastPoint(Path* path, Vec3f* dest) {
Vec3s* pointPos;
if (path != NULL) {
pointPos = &((Vec3s*)SEGMENTED_TO_VIRTUAL(path->points))[path->count - 1];
dest->x = pointPos->x;
dest->y = pointPos->y;
dest->z = pointPos->z;
}
}

View File

@ -129,8 +129,9 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
spA4 = &spB8[0];
polygonDlist = SEGMENTED_TO_VIRTUAL(room->mesh->polygon2.start);
polygon2 = &room->mesh->polygon2;
if (polygon2->num > SHAPE_SORT_MAX)
if (polygon2->num > SHAPE_SORT_MAX) {
__assert("polygon2->num <= SHAPE_SORT_MAX", "../z_room.c", 317);
}
sp78 = polygonDlist;
for (sp9C = 0; sp9C < polygon2->num; sp9C++) {
@ -152,8 +153,9 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
spA4->unk_08 = NULL;
} else {
do {
if (spA4->unk_04 < phi_v0->unk_04)
if (spA4->unk_04 < phi_v0->unk_04) {
break;
}
phi_v0 = phi_v0->unk_0C;
} while (phi_v0 != NULL);
@ -165,10 +167,11 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
} else {
phi_a0 = phi_v0->unk_08;
spA4->unk_08 = phi_a0;
if (phi_a0 == NULL)
if (phi_a0 == NULL) {
spB4 = spA4;
else
} else {
phi_a0->unk_0C = spA4;
}
phi_v0->unk_08 = spA4;
spA4->unk_0C = (void*)phi_v0;
}
@ -187,25 +190,30 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
if (iREG(86) != 0) {
phi_v1 = 0;
while (phi_v1 < polygon2->num) {
if (phi_s0 == sp78)
if (phi_s0 == sp78) {
break;
}
phi_v1++;
sp78++;
}
if (((iREG(86) == 1) && (iREG(89) > sp9C)) || ((iREG(86) == 2) && (iREG(89) == sp9C))) {
if ((flags & 1) && (phi_s0->opa != NULL))
if ((flags & 1) && (phi_s0->opa != NULL)) {
gSPDisplayList(gfxCtx->polyOpa.p++, phi_s0->opa);
}
if ((flags & 2) && (phi_s0->xlu != NULL))
if ((flags & 2) && (phi_s0->xlu != NULL)) {
gSPDisplayList(gfxCtx->polyXlu.p++, phi_s0->xlu);
}
}
} else {
if ((flags & 1) && (phi_s0->opa != NULL))
if ((flags & 1) && (phi_s0->opa != NULL)) {
gSPDisplayList(gfxCtx->polyOpa.p++, phi_s0->opa);
}
if ((flags & 2) && (phi_s0->xlu != NULL))
if ((flags & 2) && (phi_s0->xlu != NULL)) {
gSPDisplayList(gfxCtx->polyXlu.p++, phi_s0->xlu);
}
}
spB4 = spB4->unk_0C;
@ -541,8 +549,9 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
for (i = 0; i < globalCtx->nbRooms; i++) {
roomSize = roomList[i].vromEnd - roomList[i].vromStart;
osSyncPrintf("ROOM%d size=%d\n", i, roomSize);
if (maxRoomSize < roomSize)
if (maxRoomSize < roomSize) {
maxRoomSize = roomSize;
}
}
if (globalCtx->nbTransitionActors != 0) {
@ -559,8 +568,9 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
cumulRoomSize = (frontRoom != backRoom) ? frontRoomSize + backRoomSize : frontRoomSize;
osSyncPrintf("DOOR%d=<%d> ROOM1=<%d, %d> ROOM2=<%d, %d>\n", j, cumulRoomSize, frontRoom, frontRoomSize,
backRoom, backRoomSize);
if (maxRoomSize < cumulRoomSize)
if (maxRoomSize < cumulRoomSize) {
maxRoomSize = cumulRoomSize;
}
transitionActor++;
}
}
@ -578,10 +588,11 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
roomCtx->unk_30 = 0;
roomCtx->status = 0;
if (gSaveContext.respawn_flag > 0)
if (gSaveContext.respawn_flag > 0) {
nextRoomNum = gSaveContext.respawn[gSaveContext.respawn_flag - 1].room_index;
else
} else {
nextRoomNum = globalCtx->setupEntranceList[globalCtx->curSpawn].room;
}
func_8009728C(globalCtx, roomCtx, nextRoomNum);
return maxRoomSize;

View File

@ -20,8 +20,8 @@ void Sample_Draw(SampleContext* this) {
func_800C6AC4(gfxArr, gfxCtx, "../z_sample.c", 62);
gSPSegment(gfxCtx->polyOpa.p++, 0, NULL;
gSPSegment(gfxCtx->polyOpa.p++, 1, this->staticSegment);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL);
gSPSegment(gfxCtx->polyOpa.p++, 0x01, this->staticSegment);
func_80095248(gfxCtx, 0, 0, 0);

View File

@ -312,13 +312,15 @@ void func_8009899C(GlobalContext* globalCtx, SceneCmd* cmd) {
}
}
if (cmd->objectList.num > OBJECT_EXCHANGE_BANK_MAX)
if (cmd->objectList.num > OBJECT_EXCHANGE_BANK_MAX) {
__assert("scene_info->object_bank.num <= OBJECT_EXCHANGE_BANK_MAX", "../z_scene.c", 705);
}
while (k < cmd->objectList.num) {
nextPtr = func_800982FC(&globalCtx->objectCtx, i, *objectEntry);
if (i < OBJECT_EXCHANGE_BANK_MAX - 1)
if (i < OBJECT_EXCHANGE_BANK_MAX - 1) {
globalCtx->objectCtx.status[i + 1].segment = nextPtr;
}
k++;
objectEntry++;
status++;

Some files were not shown because too many files have changed in this diff Show More