From 4a64c556b08093f40726e78296e1788456af857f Mon Sep 17 00:00:00 2001 From: Roman971 <32455037+Roman971@users.noreply.github.com> Date: Tue, 30 Jun 2020 20:44:07 +0200 Subject: [PATCH] Fix and improve some non matchings (#229) --- .../code/z_lifemeter/Health_UpdateData.s | 48 +- .../gamestates/ovl_select/Select_UpdateMenu.s | 671 ------------------ data/overlays/gamestates/z_select.reloc.s | 13 - data/z_lifemeter.data.s | 48 +- spec | 4 - src/code/z_lifemeter.c | 2 +- src/code/z_view.c | 30 +- .../z_bg_spot01_idohashira.c | 1 + src/overlays/gamestates/ovl_select/z_select.c | 24 +- 9 files changed, 62 insertions(+), 779 deletions(-) delete mode 100644 asm/non_matchings/overlays/gamestates/ovl_select/Select_UpdateMenu.s delete mode 100644 data/overlays/gamestates/z_select.reloc.s diff --git a/asm/non_matchings/code/z_lifemeter/Health_UpdateData.s b/asm/non_matchings/code/z_lifemeter/Health_UpdateData.s index 8402556c4a..01fa3527cf 100644 --- a/asm/non_matchings/code/z_lifemeter/Health_UpdateData.s +++ b/asm/non_matchings/code/z_lifemeter/Health_UpdateData.s @@ -54,26 +54,26 @@ glabel Health_UpdateData /* AEFC88 80078AE8 A44C0222 */ sh $t4, 0x222($v0) /* AEFC8C 80078AEC 3C0D8012 */ lui $t5, %hi(D_8011FF10) # $t5, 0x8012 /* AEFC90 80078AF0 85ADFF10 */ lh $t5, %lo(D_8011FF10)($t5) -/* AEFC94 80078AF4 3C0E8012 */ lui $t6, %hi(D_8011FF12) # $t6, 0x8012 -/* AEFC98 80078AF8 3C0F8012 */ lui $t7, %hi(D_8011FF14) # $t7, 0x8012 +/* AEFC94 80078AF4 3C0E8012 */ lui $t6, %hi(D_8011FF10+2) # $t6, 0x8012 +/* AEFC98 80078AF8 3C0F8012 */ lui $t7, %hi(D_8011FF10+4) # $t7, 0x8012 /* AEFC9C 80078AFC A44D0210 */ sh $t5, 0x210($v0) -/* AEFCA0 80078B00 85CEFF12 */ lh $t6, %lo(D_8011FF12)($t6) +/* AEFCA0 80078B00 85CEFF12 */ lh $t6, %lo(D_8011FF10+2)($t6) /* AEFCA4 80078B04 3C188012 */ lui $t8, %hi(D_8011FF24) # $t8, 0x8012 -/* AEFCA8 80078B08 3C198012 */ lui $t9, %hi(D_8011FF26) # $t9, 0x8012 +/* AEFCA8 80078B08 3C198012 */ lui $t9, %hi(D_8011FF24+2) # $t9, 0x8012 /* AEFCAC 80078B0C A44E0214 */ sh $t6, 0x214($v0) -/* AEFCB0 80078B10 85EFFF14 */ lh $t7, %lo(D_8011FF14)($t7) -/* AEFCB4 80078B14 3C0B8012 */ lui $t3, %hi(D_8011FF28) # $t3, 0x8012 +/* AEFCB0 80078B10 85EFFF14 */ lh $t7, %lo(D_8011FF10+4)($t7) +/* AEFCB4 80078B14 3C0B8012 */ lui $t3, %hi(D_8011FF24+4) # $t3, 0x8012 /* AEFCB8 80078B18 3C078012 */ lui $a3, %hi(D_8011FF38) # $a3, 0x8012 /* AEFCBC 80078B1C A44F0218 */ sh $t7, 0x218($v0) /* AEFCC0 80078B20 8718FF24 */ lh $t8, %lo(D_8011FF24)($t8) /* AEFCC4 80078B24 24E7FF38 */ addiu $a3, %lo(D_8011FF38) # addiu $a3, $a3, -0xc8 /* AEFCC8 80078B28 3C088012 */ lui $t0, %hi(D_8011FF4C) # $t0, 0x8012 /* AEFCCC 80078B2C A458021C */ sh $t8, 0x21c($v0) -/* AEFCD0 80078B30 8739FF26 */ lh $t9, %lo(D_8011FF26)($t9) +/* AEFCD0 80078B30 8739FF26 */ lh $t9, %lo(D_8011FF24+2)($t9) /* AEFCD4 80078B34 2508FF4C */ addiu $t0, %lo(D_8011FF4C) # addiu $t0, $t0, -0xb4 /* AEFCD8 80078B38 3C018016 */ lui $at, %hi(D_8015FDD0+6) # $at, 0x8016 /* AEFCDC 80078B3C A4590220 */ sh $t9, 0x220($v0) -/* AEFCE0 80078B40 856BFF28 */ lh $t3, %lo(D_8011FF28)($t3) +/* AEFCE0 80078B40 856BFF28 */ lh $t3, %lo(D_8011FF24+4)($t3) /* AEFCE4 80078B44 3C098016 */ lui $t1, %hi(D_8015FDC0) # $t1, 0x8016 /* AEFCE8 80078B48 2529FDC0 */ addiu $t1, %lo(D_8015FDC0) # addiu $t1, $t1, -0x240 /* AEFCEC 80078B4C A44B0224 */ sh $t3, 0x224($v0) @@ -151,7 +151,7 @@ glabel Health_UpdateData /* AEFE0C 80078C6C 331900FF */ andi $t9, $t8, 0xff /* AEFE10 80078C70 44054000 */ mfc1 $a1, $f8 /* AEFE14 80078C74 A459020A */ sh $t9, 0x20a($v0) -/* AEFE18 80078C78 3C188012 */ lui $t8, %hi(D_8011FF62) # $t8, 0x8012 +/* AEFE18 80078C78 3C188012 */ lui $t8, %hi(D_8011FF60+2) # $t8, 0x8012 /* AEFE1C 80078C7C 00052C00 */ sll $a1, $a1, 0x10 /* AEFE20 80078C80 00052C03 */ sra $a1, $a1, 0x10 /* AEFE24 80078C84 24AC003C */ addiu $t4, $a1, 0x3c @@ -166,32 +166,32 @@ glabel Health_UpdateData /* AEFE48 80078CA8 3C0E8012 */ lui $t6, %hi(D_8011FF88) # $t6, 0x8012 /* AEFE4C 80078CAC 85CEFF88 */ lh $t6, %lo(D_8011FF88)($t6) /* AEFE50 80078CB0 85EFFF60 */ lh $t7, %lo(D_8011FF60)($t7) -/* AEFE54 80078CB4 8718FF62 */ lh $t8, %lo(D_8011FF62)($t8) +/* AEFE54 80078CB4 8718FF62 */ lh $t8, %lo(D_8011FF60+2)($t8) /* AEFE58 80078CB8 448E5000 */ mtc1 $t6, $f10 -/* AEFE5C 80078CBC 3C198012 */ lui $t9, %hi(D_8011FF64) # $t9, 0x8012 -/* AEFE60 80078CC0 8739FF64 */ lh $t9, %lo(D_8011FF64)($t9) +/* AEFE5C 80078CBC 3C198012 */ lui $t9, %hi(D_8011FF60+4) # $t9, 0x8012 +/* AEFE60 80078CC0 8739FF64 */ lh $t9, %lo(D_8011FF60+4)($t9) /* AEFE64 80078CC4 46805420 */ cvt.s.w $f16, $f10 /* AEFE68 80078CC8 A42FFDD6 */ sh $t7, %lo(D_8015FDD0+6)($at) /* AEFE6C 80078CCC 3C018016 */ lui $at, %hi(D_8015FDD0+8) # $at, 0x8016 /* AEFE70 80078CD0 856BFF74 */ lh $t3, %lo(D_8011FF74)($t3) /* AEFE74 80078CD4 A438FDD8 */ sh $t8, %lo(D_8015FDD0+8)($at) -/* AEFE78 80078CD8 3C188012 */ lui $t8, %hi(D_8011FF8A) # $t8, 0x8012 +/* AEFE78 80078CD8 3C188012 */ lui $t8, %hi(D_8011FF88+2) # $t8, 0x8012 /* AEFE7C 80078CDC 46008482 */ mul.s $f18, $f16, $f0 /* AEFE80 80078CE0 A439FDDA */ sh $t9, %lo(D_8015FDD0+0xa)($at) -/* AEFE84 80078CE4 8718FF8A */ lh $t8, %lo(D_8011FF8A)($t8) +/* AEFE84 80078CE4 8718FF8A */ lh $t8, %lo(D_8011FF88+2)($t8) /* AEFE88 80078CE8 3C018016 */ lui $at, %hi(D_8015FDE0+6) # $at, 0x8016 /* AEFE8C 80078CEC A42BFDE6 */ sh $t3, %lo(D_8015FDE0+6)($at) -/* AEFE90 80078CF0 3C0B8012 */ lui $t3, %hi(D_8011FF8C) -/* AEFE94 80078CF4 856BFF8C */ lh $t3, %lo(D_8011FF8C)($t3) +/* AEFE90 80078CF0 3C0B8012 */ lui $t3, %hi(D_8011FF88+4) +/* AEFE94 80078CF4 856BFF8C */ lh $t3, %lo(D_8011FF88+4)($t3) /* AEFE98 80078CF8 44983000 */ mtc1 $t8, $f6 /* AEFE9C 80078CFC 4600910D */ trunc.w.s $f4, $f18 /* AEFEA0 80078D00 448B9000 */ mtc1 $t3, $f18 -/* AEFEA4 80078D04 3C0D8012 */ lui $t5, %hi(D_8011FF78) # $t5, 0x8012 +/* AEFEA4 80078D04 3C0D8012 */ lui $t5, %hi(D_8011FF74+4) # $t5, 0x8012 /* AEFEA8 80078D08 46803220 */ cvt.s.w $f8, $f6 /* AEFEAC 80078D0C 44032000 */ mfc1 $v1, $f4 -/* AEFEB0 80078D10 85ADFF78 */ lh $t5, %lo(D_8011FF78)($t5) -/* AEFEB4 80078D14 3C0C8012 */ lui $t4, %hi(D_8011FF76) # $t4, 0x8012 -/* AEFEB8 80078D18 858CFF76 */ lh $t4, %lo(D_8011FF76)($t4) +/* AEFEB0 80078D10 85ADFF78 */ lh $t5, %lo(D_8011FF74+4)($t5) +/* AEFEB4 80078D14 3C0C8012 */ lui $t4, %hi(D_8011FF74+2) # $t4, 0x8012 +/* AEFEB8 80078D18 858CFF76 */ lh $t4, %lo(D_8011FF74+2)($t4) /* AEFEBC 80078D1C 46809120 */ cvt.s.w $f4, $f18 /* AEFEC0 80078D20 46004282 */ mul.s $f10, $f8, $f0 /* AEFEC4 80078D24 00031C00 */ sll $v1, $v1, 0x10 @@ -205,7 +205,7 @@ glabel Health_UpdateData /* AEFEE4 80078D44 A52F0000 */ sh $t7, ($t1) /* AEFEE8 80078D48 3C0F8012 */ lui $t7, %hi(D_8011FF9C) # $t7, 0x8012 /* AEFEEC 80078D4C 4600540D */ trunc.w.s $f16, $f10 -/* AEFEF0 80078D50 3C0C8012 */ lui $t4, %hi(D_8011FFA0) # $t4, 0x8012 +/* AEFEF0 80078D50 3C0C8012 */ lui $t4, %hi(D_8011FF9C+4) # $t4, 0x8012 /* AEFEF4 80078D54 4600320D */ trunc.w.s $f8, $f6 /* AEFEF8 80078D58 44048000 */ mfc1 $a0, $f16 /* AEFEFC 80078D5C 44054000 */ mfc1 $a1, $f8 @@ -220,10 +220,10 @@ glabel Health_UpdateData /* AEFF20 80078D80 A52B0002 */ sh $t3, 2($t1) /* AEFF24 80078D84 A52E0004 */ sh $t6, 4($t1) /* AEFF28 80078D88 85EFFF9C */ lh $t7, %lo(D_8011FF9C)($t7) -/* AEFF2C 80078D8C 3C198012 */ lui $t9, %hi(D_8011FF9E) -/* AEFF30 80078D90 8739FF9E */ lh $t9, %lo(D_8011FF9E)($t9) +/* AEFF2C 80078D8C 3C198012 */ lui $t9, %hi(D_8011FF9C+2) +/* AEFF30 80078D90 8739FF9E */ lh $t9, %lo(D_8011FF9C+2)($t9) /* AEFF34 80078D94 448F5000 */ mtc1 $t7, $f10 -/* AEFF38 80078D98 858CFFA0 */ lh $t4, %lo(D_8011FFA0)($t4) +/* AEFF38 80078D98 858CFFA0 */ lh $t4, %lo(D_8011FF9C+4)($t4) /* AEFF3C 80078D9C 44993000 */ mtc1 $t9, $f6 /* AEFF40 80078DA0 46805420 */ cvt.s.w $f16, $f10 /* AEFF44 80078DA4 46803220 */ cvt.s.w $f8, $f6 diff --git a/asm/non_matchings/overlays/gamestates/ovl_select/Select_UpdateMenu.s b/asm/non_matchings/overlays/gamestates/ovl_select/Select_UpdateMenu.s deleted file mode 100644 index 6224a1a9c3..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_select/Select_UpdateMenu.s +++ /dev/null @@ -1,671 +0,0 @@ -glabel Select_UpdateMenu -/* 00124 80800CB4 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00128 80800CB8 AFBF0024 */ sw $ra, 0x0024($sp) -/* 0012C 80800CBC AFB00020 */ sw $s0, 0x0020($sp) -/* 00130 80800CC0 8C8E021C */ lw $t6, 0x021C($a0) ## 0000021C -/* 00134 80800CC4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00138 80800CC8 55C0017D */ bnel $t6, $zero, .L808012C0 -/* 0013C 80800CCC 96180020 */ lhu $t8, 0x0020($s0) ## 00000020 -/* 00140 80800CD0 26090014 */ addiu $t1, $s0, 0x0014 ## $t1 = 00000014 -/* 00144 80800CD4 9522000C */ lhu $v0, 0x000C($t1) ## 00000020 -/* 00148 80800CD8 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000 -/* 0014C 80800CDC 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF -/* 00150 80800CE0 00417827 */ nor $t7, $v0, $at -/* 00154 80800CE4 11E00004 */ beq $t7, $zero, .L80800CF8 -/* 00158 80800CE8 2401EFFF */ addiu $at, $zero, 0xEFFF ## $at = FFFFEFFF -/* 0015C 80800CEC 0041C027 */ nor $t8, $v0, $at -/* 00160 80800CF0 57000011 */ bnel $t8, $zero, .L80800D38 -/* 00164 80800CF4 2401BFFF */ addiu $at, $zero, 0xBFFF ## $at = FFFFBFFF -.L80800CF8: -/* 00168 80800CF8 8E0B01D8 */ lw $t3, 0x01D8($s0) ## 000001D8 -/* 0016C 80800CFC 8E1901D4 */ lw $t9, 0x01D4($s0) ## 000001D4 -/* 00170 80800D00 000B6080 */ sll $t4, $t3, 2 -/* 00174 80800D04 018B6023 */ subu $t4, $t4, $t3 -/* 00178 80800D08 000C6080 */ sll $t4, $t4, 2 -/* 0017C 80800D0C 032C1821 */ addu $v1, $t9, $t4 -/* 00180 80800D10 8C660004 */ lw $a2, 0x0004($v1) ## 00000004 -/* 00184 80800D14 50C00008 */ beql $a2, $zero, .L80800D38 -/* 00188 80800D18 2401BFFF */ addiu $at, $zero, 0xBFFF ## $at = FFFFBFFF -/* 0018C 80800D1C 8C650008 */ lw $a1, 0x0008($v1) ## 00000008 -/* 00190 80800D20 AFA9002C */ sw $t1, 0x002C($sp) -/* 00194 80800D24 00C0F809 */ jalr $ra, $a2 -/* 00198 80800D28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0019C 80800D2C 8FA9002C */ lw $t1, 0x002C($sp) -/* 001A0 80800D30 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -/* 001A4 80800D34 2401BFFF */ addiu $at, $zero, 0xBFFF ## $at = FFFFBFFF -.L80800D38: -/* 001A8 80800D38 00416827 */ nor $t5, $v0, $at -/* 001AC 80800D3C 15A00010 */ bne $t5, $zero, .L80800D80 -/* 001B0 80800D40 3C038016 */ lui $v1, %hi(gSaveContext) -/* 001B4 80800D44 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 001B8 80800D48 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664 -/* 001BC 80800D4C 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 001C0 80800D50 24020011 */ addiu $v0, $zero, 0x0011 ## $v0 = 00000011 -/* 001C4 80800D54 11C00003 */ beq $t6, $zero, .L80800D64 -/* 001C8 80800D58 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 001CC 80800D5C 10000001 */ beq $zero, $zero, .L80800D64 -/* 001D0 80800D60 24020005 */ addiu $v0, $zero, 0x0005 ## $v0 = 00000005 -.L80800D64: -/* 001D4 80800D64 54410005 */ bnel $v0, $at, .L80800D7C -/* 001D8 80800D68 AC600004 */ sw $zero, 0x0004($v1) ## 8015E664 -/* 001DC 80800D6C AC6A0004 */ sw $t2, 0x0004($v1) ## 8015E664 -/* 001E0 80800D70 10000003 */ beq $zero, $zero, .L80800D80 -/* 001E4 80800D74 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -/* 001E8 80800D78 AC600004 */ sw $zero, 0x0004($v1) ## 8015E664 -.L80800D7C: -/* 001EC 80800D7C 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -.L80800D80: -/* 001F0 80800D80 2401DFFF */ addiu $at, $zero, 0xDFFF ## $at = FFFFDFFF -/* 001F4 80800D84 3C038016 */ lui $v1, %hi(gSaveContext) -/* 001F8 80800D88 00417827 */ nor $t7, $v0, $at -/* 001FC 80800D8C 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 00200 80800D90 15E00042 */ bne $t7, $zero, .L80800E9C -/* 00204 80800D94 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00208 80800D98 8C620008 */ lw $v0, 0x0008($v1) ## 8015E668 -/* 0020C 80800D9C 34068000 */ ori $a2, $zero, 0x8000 ## $a2 = 00008000 -/* 00210 80800DA0 14C20003 */ bne $a2, $v0, .L80800DB0 -/* 00214 80800DA4 00000000 */ nop -/* 00218 80800DA8 10000080 */ beq $zero, $zero, .L80800FAC -/* 0021C 80800DAC AC600008 */ sw $zero, 0x0008($v1) ## 8015E668 -.L80800DB0: -/* 00220 80800DB0 14400004 */ bne $v0, $zero, .L80800DC4 -/* 00224 80800DB4 3404FFF0 */ ori $a0, $zero, 0xFFF0 ## $a0 = 0000FFF0 -/* 00228 80800DB8 3404FFF0 */ ori $a0, $zero, 0xFFF0 ## $a0 = 0000FFF0 -/* 0022C 80800DBC 1000007B */ beq $zero, $zero, .L80800FAC -/* 00230 80800DC0 AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -.L80800DC4: -/* 00234 80800DC4 14820004 */ bne $a0, $v0, .L80800DD8 -/* 00238 80800DC8 3405FFF1 */ ori $a1, $zero, 0xFFF1 ## $a1 = 0000FFF1 -/* 0023C 80800DCC 3405FFF1 */ ori $a1, $zero, 0xFFF1 ## $a1 = 0000FFF1 -/* 00240 80800DD0 10000076 */ beq $zero, $zero, .L80800FAC -/* 00244 80800DD4 AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -.L80800DD8: -/* 00248 80800DD8 14A20004 */ bne $a1, $v0, .L80800DEC -/* 0024C 80800DDC 3404FFF2 */ ori $a0, $zero, 0xFFF2 ## $a0 = 0000FFF2 -/* 00250 80800DE0 3404FFF2 */ ori $a0, $zero, 0xFFF2 ## $a0 = 0000FFF2 -/* 00254 80800DE4 10000071 */ beq $zero, $zero, .L80800FAC -/* 00258 80800DE8 AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -.L80800DEC: -/* 0025C 80800DEC 14820004 */ bne $a0, $v0, .L80800E00 -/* 00260 80800DF0 3405FFF3 */ ori $a1, $zero, 0xFFF3 ## $a1 = 0000FFF3 -/* 00264 80800DF4 3405FFF3 */ ori $a1, $zero, 0xFFF3 ## $a1 = 0000FFF3 -/* 00268 80800DF8 1000006C */ beq $zero, $zero, .L80800FAC -/* 0026C 80800DFC AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -.L80800E00: -/* 00270 80800E00 14A20004 */ bne $a1, $v0, .L80800E14 -/* 00274 80800E04 3404FFF4 */ ori $a0, $zero, 0xFFF4 ## $a0 = 0000FFF4 -/* 00278 80800E08 3404FFF4 */ ori $a0, $zero, 0xFFF4 ## $a0 = 0000FFF4 -/* 0027C 80800E0C 10000067 */ beq $zero, $zero, .L80800FAC -/* 00280 80800E10 AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -.L80800E14: -/* 00284 80800E14 14820004 */ bne $a0, $v0, .L80800E28 -/* 00288 80800E18 3405FFF5 */ ori $a1, $zero, 0xFFF5 ## $a1 = 0000FFF5 -/* 0028C 80800E1C 3405FFF5 */ ori $a1, $zero, 0xFFF5 ## $a1 = 0000FFF5 -/* 00290 80800E20 10000062 */ beq $zero, $zero, .L80800FAC -/* 00294 80800E24 AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -.L80800E28: -/* 00298 80800E28 14A20004 */ bne $a1, $v0, .L80800E3C -/* 0029C 80800E2C 3404FFF6 */ ori $a0, $zero, 0xFFF6 ## $a0 = 0000FFF6 -/* 002A0 80800E30 3404FFF6 */ ori $a0, $zero, 0xFFF6 ## $a0 = 0000FFF6 -/* 002A4 80800E34 1000005D */ beq $zero, $zero, .L80800FAC -/* 002A8 80800E38 AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -.L80800E3C: -/* 002AC 80800E3C 14820004 */ bne $a0, $v0, .L80800E50 -/* 002B0 80800E40 3405FFF7 */ ori $a1, $zero, 0xFFF7 ## $a1 = 0000FFF7 -/* 002B4 80800E44 3405FFF7 */ ori $a1, $zero, 0xFFF7 ## $a1 = 0000FFF7 -/* 002B8 80800E48 10000058 */ beq $zero, $zero, .L80800FAC -/* 002BC 80800E4C AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -.L80800E50: -/* 002C0 80800E50 14A20004 */ bne $a1, $v0, .L80800E64 -/* 002C4 80800E54 3404FFF8 */ ori $a0, $zero, 0xFFF8 ## $a0 = 0000FFF8 -/* 002C8 80800E58 3404FFF8 */ ori $a0, $zero, 0xFFF8 ## $a0 = 0000FFF8 -/* 002CC 80800E5C 10000053 */ beq $zero, $zero, .L80800FAC -/* 002D0 80800E60 AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -.L80800E64: -/* 002D4 80800E64 14820004 */ bne $a0, $v0, .L80800E78 -/* 002D8 80800E68 3405FFF9 */ ori $a1, $zero, 0xFFF9 ## $a1 = 0000FFF9 -/* 002DC 80800E6C 3405FFF9 */ ori $a1, $zero, 0xFFF9 ## $a1 = 0000FFF9 -/* 002E0 80800E70 1000004E */ beq $zero, $zero, .L80800FAC -/* 002E4 80800E74 AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -.L80800E78: -/* 002E8 80800E78 14A20004 */ bne $a1, $v0, .L80800E8C -/* 002EC 80800E7C 3401FFFA */ ori $at, $zero, 0xFFFA ## $at = 0000FFFA -/* 002F0 80800E80 3418FFFA */ ori $t8, $zero, 0xFFFA ## $t8 = 0000FFFA -/* 002F4 80800E84 10000049 */ beq $zero, $zero, .L80800FAC -/* 002F8 80800E88 AC780008 */ sw $t8, 0x0008($v1) ## 8015E668 -.L80800E8C: -/* 002FC 80800E8C 54410048 */ bnel $v0, $at, .L80800FB0 -/* 00300 80800E90 8C6C0008 */ lw $t4, 0x0008($v1) ## 8015E668 -/* 00304 80800E94 10000045 */ beq $zero, $zero, .L80800FAC -/* 00308 80800E98 AC660008 */ sw $a2, 0x0008($v1) ## 8015E668 -.L80800E9C: -/* 0030C 80800E9C 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF -/* 00310 80800EA0 00415827 */ nor $t3, $v0, $at -/* 00314 80800EA4 55600042 */ bnel $t3, $zero, .L80800FB0 -/* 00318 80800EA8 8C6C0008 */ lw $t4, 0x0008($v1) ## 8015E668 -/* 0031C 80800EAC 8C620008 */ lw $v0, 0x0008($v1) ## 8015E668 -/* 00320 80800EB0 34068000 */ ori $a2, $zero, 0x8000 ## $a2 = 00008000 -/* 00324 80800EB4 14C20004 */ bne $a2, $v0, .L80800EC8 -/* 00328 80800EB8 00000000 */ nop -/* 0032C 80800EBC 3419FFFA */ ori $t9, $zero, 0xFFFA ## $t9 = 0000FFFA -/* 00330 80800EC0 1000003A */ beq $zero, $zero, .L80800FAC -/* 00334 80800EC4 AC790008 */ sw $t9, 0x0008($v1) ## 8015E668 -.L80800EC8: -/* 00338 80800EC8 54400004 */ bnel $v0, $zero, .L80800EDC -/* 0033C 80800ECC 3404FFF0 */ ori $a0, $zero, 0xFFF0 ## $a0 = 0000FFF0 -/* 00340 80800ED0 10000036 */ beq $zero, $zero, .L80800FAC -/* 00344 80800ED4 AC660008 */ sw $a2, 0x0008($v1) ## 8015E668 -/* 00348 80800ED8 3404FFF0 */ ori $a0, $zero, 0xFFF0 ## $a0 = 0000FFF0 -.L80800EDC: -/* 0034C 80800EDC 54820004 */ bnel $a0, $v0, .L80800EF0 -/* 00350 80800EE0 3405FFF1 */ ori $a1, $zero, 0xFFF1 ## $a1 = 0000FFF1 -/* 00354 80800EE4 10000031 */ beq $zero, $zero, .L80800FAC -/* 00358 80800EE8 AC600008 */ sw $zero, 0x0008($v1) ## 8015E668 -/* 0035C 80800EEC 3405FFF1 */ ori $a1, $zero, 0xFFF1 ## $a1 = 0000FFF1 -.L80800EF0: -/* 00360 80800EF0 54A20004 */ bnel $a1, $v0, .L80800F04 -/* 00364 80800EF4 3404FFF2 */ ori $a0, $zero, 0xFFF2 ## $a0 = 0000FFF2 -/* 00368 80800EF8 1000002C */ beq $zero, $zero, .L80800FAC -/* 0036C 80800EFC AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -/* 00370 80800F00 3404FFF2 */ ori $a0, $zero, 0xFFF2 ## $a0 = 0000FFF2 -.L80800F04: -/* 00374 80800F04 54820004 */ bnel $a0, $v0, .L80800F18 -/* 00378 80800F08 3405FFF3 */ ori $a1, $zero, 0xFFF3 ## $a1 = 0000FFF3 -/* 0037C 80800F0C 10000027 */ beq $zero, $zero, .L80800FAC -/* 00380 80800F10 AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -/* 00384 80800F14 3405FFF3 */ ori $a1, $zero, 0xFFF3 ## $a1 = 0000FFF3 -.L80800F18: -/* 00388 80800F18 54A20004 */ bnel $a1, $v0, .L80800F2C -/* 0038C 80800F1C 3404FFF4 */ ori $a0, $zero, 0xFFF4 ## $a0 = 0000FFF4 -/* 00390 80800F20 10000022 */ beq $zero, $zero, .L80800FAC -/* 00394 80800F24 AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -/* 00398 80800F28 3404FFF4 */ ori $a0, $zero, 0xFFF4 ## $a0 = 0000FFF4 -.L80800F2C: -/* 0039C 80800F2C 54820004 */ bnel $a0, $v0, .L80800F40 -/* 003A0 80800F30 3405FFF5 */ ori $a1, $zero, 0xFFF5 ## $a1 = 0000FFF5 -/* 003A4 80800F34 1000001D */ beq $zero, $zero, .L80800FAC -/* 003A8 80800F38 AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -/* 003AC 80800F3C 3405FFF5 */ ori $a1, $zero, 0xFFF5 ## $a1 = 0000FFF5 -.L80800F40: -/* 003B0 80800F40 54A20004 */ bnel $a1, $v0, .L80800F54 -/* 003B4 80800F44 3404FFF6 */ ori $a0, $zero, 0xFFF6 ## $a0 = 0000FFF6 -/* 003B8 80800F48 10000018 */ beq $zero, $zero, .L80800FAC -/* 003BC 80800F4C AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -/* 003C0 80800F50 3404FFF6 */ ori $a0, $zero, 0xFFF6 ## $a0 = 0000FFF6 -.L80800F54: -/* 003C4 80800F54 54820004 */ bnel $a0, $v0, .L80800F68 -/* 003C8 80800F58 3405FFF7 */ ori $a1, $zero, 0xFFF7 ## $a1 = 0000FFF7 -/* 003CC 80800F5C 10000013 */ beq $zero, $zero, .L80800FAC -/* 003D0 80800F60 AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -/* 003D4 80800F64 3405FFF7 */ ori $a1, $zero, 0xFFF7 ## $a1 = 0000FFF7 -.L80800F68: -/* 003D8 80800F68 54A20004 */ bnel $a1, $v0, .L80800F7C -/* 003DC 80800F6C 3404FFF8 */ ori $a0, $zero, 0xFFF8 ## $a0 = 0000FFF8 -/* 003E0 80800F70 1000000E */ beq $zero, $zero, .L80800FAC -/* 003E4 80800F74 AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -/* 003E8 80800F78 3404FFF8 */ ori $a0, $zero, 0xFFF8 ## $a0 = 0000FFF8 -.L80800F7C: -/* 003EC 80800F7C 54820004 */ bnel $a0, $v0, .L80800F90 -/* 003F0 80800F80 3405FFF9 */ ori $a1, $zero, 0xFFF9 ## $a1 = 0000FFF9 -/* 003F4 80800F84 10000009 */ beq $zero, $zero, .L80800FAC -/* 003F8 80800F88 AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -/* 003FC 80800F8C 3405FFF9 */ ori $a1, $zero, 0xFFF9 ## $a1 = 0000FFF9 -.L80800F90: -/* 00400 80800F90 14A20003 */ bne $a1, $v0, .L80800FA0 -/* 00404 80800F94 3401FFFA */ ori $at, $zero, 0xFFFA ## $at = 0000FFFA -/* 00408 80800F98 10000004 */ beq $zero, $zero, .L80800FAC -/* 0040C 80800F9C AC640008 */ sw $a0, 0x0008($v1) ## 8015E668 -.L80800FA0: -/* 00410 80800FA0 54410003 */ bnel $v0, $at, .L80800FB0 -/* 00414 80800FA4 8C6C0008 */ lw $t4, 0x0008($v1) ## 8015E668 -/* 00418 80800FA8 AC650008 */ sw $a1, 0x0008($v1) ## 8015E668 -.L80800FAC: -/* 0041C 80800FAC 8C6C0008 */ lw $t4, 0x0008($v1) ## 8015E668 -.L80800FB0: -/* 00420 80800FB0 AC600010 */ sw $zero, 0x0010($v1) ## 8015E670 -/* 00424 80800FB4 55800003 */ bnel $t4, $zero, .L80800FC4 -/* 00428 80800FB8 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -/* 0042C 80800FBC AC6A0010 */ sw $t2, 0x0010($v1) ## 8015E670 -/* 00430 80800FC0 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -.L80800FC4: -/* 00434 80800FC4 2401FFF7 */ addiu $at, $zero, 0xFFF7 ## $at = FFFFFFF7 -/* 00438 80800FC8 00416827 */ nor $t5, $v0, $at -/* 0043C 80800FCC 15A00005 */ bne $t5, $zero, .L80800FE4 -/* 00440 80800FD0 2401FFFB */ addiu $at, $zero, 0xFFFB ## $at = FFFFFFFB -/* 00444 80800FD4 8E0E0208 */ lw $t6, 0x0208($s0) ## 00000208 -/* 00448 80800FD8 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF -/* 0044C 80800FDC AE0F0208 */ sw $t7, 0x0208($s0) ## 00000208 -/* 00450 80800FE0 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -.L80800FE4: -/* 00454 80800FE4 0041C027 */ nor $t8, $v0, $at -/* 00458 80800FE8 17000005 */ bne $t8, $zero, .L80801000 -/* 0045C 80800FEC 2401F7FF */ addiu $at, $zero, 0xF7FF ## $at = FFFFF7FF -/* 00460 80800FF0 8E0B0208 */ lw $t3, 0x0208($s0) ## 00000208 -/* 00464 80800FF4 25790001 */ addiu $t9, $t3, 0x0001 ## $t9 = 00000001 -/* 00468 80800FF8 AE190208 */ sw $t9, 0x0208($s0) ## 00000208 -/* 0046C 80800FFC 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -.L80801000: -/* 00470 80801000 00416027 */ nor $t4, $v0, $at -/* 00474 80801004 5580001E */ bnel $t4, $zero, .L80801080 -/* 00478 80801008 952C0000 */ lhu $t4, 0x0000($t1) ## 00000000 -/* 0047C 8080100C 8E0D022C */ lw $t5, 0x022C($s0) ## 0000022C -/* 00480 80801010 3C188013 */ lui $t8, %hi(D_801333E8) -/* 00484 80801014 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014 -/* 00488 80801018 154D0002 */ bne $t2, $t5, .L80801024 -/* 0048C 8080101C 271833E8 */ addiu $t8, %lo(D_801333E8) -/* 00490 80801020 AE000224 */ sw $zero, 0x0224($s0) ## 00000224 -.L80801024: -/* 00494 80801024 8E0E0224 */ lw $t6, 0x0224($s0) ## 00000224 -/* 00498 80801028 55C00015 */ bnel $t6, $zero, .L80801080 -/* 0049C 8080102C 952C0000 */ lhu $t4, 0x0000($t1) ## 00000000 -/* 004A0 80801030 3C078013 */ lui $a3, %hi(D_801333E0) -/* 004A4 80801034 AE0F0224 */ sw $t7, 0x0224($s0) ## 00000224 -/* 004A8 80801038 AE0A022C */ sw $t2, 0x022C($s0) ## 0000022C -/* 004AC 8080103C 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 004B0 80801040 3C058013 */ lui $a1, %hi(D_801333D4) -/* 004B4 80801044 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 004B8 80801048 AFA70010 */ sw $a3, 0x0010($sp) -/* 004BC 8080104C AFA9002C */ sw $t1, 0x002C($sp) -/* 004C0 80801050 AFB80014 */ sw $t8, 0x0014($sp) -/* 004C4 80801054 24041800 */ addiu $a0, $zero, 0x1800 ## $a0 = 00001800 -/* 004C8 80801058 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* 004CC 8080105C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 004D0 80801060 3C088016 */ lui $t0, %hi(gGameInfo) -/* 004D4 80801064 2508FA90 */ addiu $t0, %lo(gGameInfo) -/* 004D8 80801068 8D0B0000 */ lw $t3, 0x0000($t0) ## 8015FA90 -/* 004DC 8080106C 8FA9002C */ lw $t1, 0x002C($sp) -/* 004E0 80801070 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 004E4 80801074 85790110 */ lh $t9, 0x0110($t3) ## 00000110 -/* 004E8 80801078 AE190220 */ sw $t9, 0x0220($s0) ## 00000220 -/* 004EC 8080107C 952C0000 */ lhu $t4, 0x0000($t1) ## 00000000 -.L80801080: -/* 004F0 80801080 2401F7FF */ addiu $at, $zero, 0xF7FF ## $at = FFFFF7FF -/* 004F4 80801084 01816827 */ nor $t5, $t4, $at -/* 004F8 80801088 55A0001A */ bnel $t5, $zero, .L808010F4 -/* 004FC 8080108C 952C000C */ lhu $t4, 0x000C($t1) ## 0000000C -/* 00500 80801090 8E0E0224 */ lw $t6, 0x0224($s0) ## 00000224 -/* 00504 80801094 3C0F8013 */ lui $t7, %hi(D_801333E8) -/* 00508 80801098 25EF33E8 */ addiu $t7, %lo(D_801333E8) -/* 0050C 8080109C 55C00015 */ bnel $t6, $zero, .L808010F4 -/* 00510 808010A0 952C000C */ lhu $t4, 0x000C($t1) ## 0000000C -/* 00514 808010A4 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00518 808010A8 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 0051C 808010AC 3C058013 */ lui $a1, %hi(D_801333D4) -/* 00520 808010B0 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00524 808010B4 AFA70010 */ sw $a3, 0x0010($sp) -/* 00528 808010B8 24041800 */ addiu $a0, $zero, 0x1800 ## $a0 = 00001800 -/* 0052C 808010BC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00530 808010C0 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00534 808010C4 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* 00538 808010C8 AFA9002C */ sw $t1, 0x002C($sp) -/* 0053C 808010CC 3C088016 */ lui $t0, %hi(gGameInfo) -/* 00540 808010D0 2508FA90 */ addiu $t0, %lo(gGameInfo) -/* 00544 808010D4 8D180000 */ lw $t8, 0x0000($t0) ## 8015FA90 -/* 00548 808010D8 8FA9002C */ lw $t1, 0x002C($sp) -/* 0054C 808010DC 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00550 808010E0 870B0110 */ lh $t3, 0x0110($t8) ## 00000110 -/* 00554 808010E4 000BC880 */ sll $t9, $t3, 2 -/* 00558 808010E8 032BC823 */ subu $t9, $t9, $t3 -/* 0055C 808010EC AE190220 */ sw $t9, 0x0220($s0) ## 00000220 -/* 00560 808010F0 952C000C */ lhu $t4, 0x000C($t1) ## 0000000C -.L808010F4: -/* 00564 808010F4 2401FBFF */ addiu $at, $zero, 0xFBFF ## $at = FFFFFBFF -/* 00568 808010F8 01816827 */ nor $t5, $t4, $at -/* 0056C 808010FC 55A0001E */ bnel $t5, $zero, .L80801178 -/* 00570 80801100 952E0000 */ lhu $t6, 0x0000($t1) ## 00000000 -/* 00574 80801104 8E0E0230 */ lw $t6, 0x0230($s0) ## 00000230 -/* 00578 80801108 3C0B8013 */ lui $t3, %hi(D_801333E8) -/* 0057C 8080110C 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014 -/* 00580 80801110 154E0002 */ bne $t2, $t6, .L8080111C -/* 00584 80801114 256B33E8 */ addiu $t3, %lo(D_801333E8) -/* 00588 80801118 AE000228 */ sw $zero, 0x0228($s0) ## 00000228 -.L8080111C: -/* 0058C 8080111C 8E0F0228 */ lw $t7, 0x0228($s0) ## 00000228 -/* 00590 80801120 55E00015 */ bnel $t7, $zero, .L80801178 -/* 00594 80801124 952E0000 */ lhu $t6, 0x0000($t1) ## 00000000 -/* 00598 80801128 3C078013 */ lui $a3, %hi(D_801333E0) -/* 0059C 8080112C AE180228 */ sw $t8, 0x0228($s0) ## 00000228 -/* 005A0 80801130 AE0A0230 */ sw $t2, 0x0230($s0) ## 00000230 -/* 005A4 80801134 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 005A8 80801138 3C058013 */ lui $a1, %hi(D_801333D4) -/* 005AC 8080113C 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 005B0 80801140 AFA70010 */ sw $a3, 0x0010($sp) -/* 005B4 80801144 AFA9002C */ sw $t1, 0x002C($sp) -/* 005B8 80801148 AFAB0014 */ sw $t3, 0x0014($sp) -/* 005BC 8080114C 24041800 */ addiu $a0, $zero, 0x1800 ## $a0 = 00001800 -/* 005C0 80801150 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* 005C4 80801154 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 005C8 80801158 3C088016 */ lui $t0, %hi(gGameInfo) -/* 005CC 8080115C 2508FA90 */ addiu $t0, %lo(gGameInfo) -/* 005D0 80801160 8D190000 */ lw $t9, 0x0000($t0) ## 8015FA90 -/* 005D4 80801164 8FA9002C */ lw $t1, 0x002C($sp) -/* 005D8 80801168 872C0110 */ lh $t4, 0x0110($t9) ## 00000110 -/* 005DC 8080116C 000C6823 */ subu $t5, $zero, $t4 -/* 005E0 80801170 AE0D0220 */ sw $t5, 0x0220($s0) ## 00000220 -/* 005E4 80801174 952E0000 */ lhu $t6, 0x0000($t1) ## 00000000 -.L80801178: -/* 005E8 80801178 2401FBFF */ addiu $at, $zero, 0xFBFF ## $at = FFFFFBFF -/* 005EC 8080117C 01C17827 */ nor $t7, $t6, $at -/* 005F0 80801180 55E0001A */ bnel $t7, $zero, .L808011EC -/* 005F4 80801184 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -/* 005F8 80801188 8E180228 */ lw $t8, 0x0228($s0) ## 00000228 -/* 005FC 8080118C 3C0B8013 */ lui $t3, %hi(D_801333E8) -/* 00600 80801190 256B33E8 */ addiu $t3, %lo(D_801333E8) -/* 00604 80801194 57000015 */ bnel $t8, $zero, .L808011EC -/* 00608 80801198 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -/* 0060C 8080119C 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00610 808011A0 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00614 808011A4 3C058013 */ lui $a1, %hi(D_801333D4) -/* 00618 808011A8 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 0061C 808011AC AFA70010 */ sw $a3, 0x0010($sp) -/* 00620 808011B0 24041800 */ addiu $a0, $zero, 0x1800 ## $a0 = 00001800 -/* 00624 808011B4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00628 808011B8 AFAB0014 */ sw $t3, 0x0014($sp) -/* 0062C 808011BC 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* 00630 808011C0 AFA9002C */ sw $t1, 0x002C($sp) -/* 00634 808011C4 3C088016 */ lui $t0, %hi(gGameInfo) -/* 00638 808011C8 2508FA90 */ addiu $t0, %lo(gGameInfo) -/* 0063C 808011CC 8D190000 */ lw $t9, 0x0000($t0) ## 8015FA90 -/* 00640 808011D0 8FA9002C */ lw $t1, 0x002C($sp) -/* 00644 808011D4 872C0110 */ lh $t4, 0x0110($t9) ## 00000110 -/* 00648 808011D8 000C6823 */ subu $t5, $zero, $t4 -/* 0064C 808011DC 000D7080 */ sll $t6, $t5, 2 -/* 00650 808011E0 01CD7023 */ subu $t6, $t6, $t5 -/* 00654 808011E4 AE0E0220 */ sw $t6, 0x0220($s0) ## 00000220 -/* 00658 808011E8 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -.L808011EC: -/* 0065C 808011EC 2403FDFF */ addiu $v1, $zero, 0xFDFF ## $v1 = FFFFFDFF -/* 00660 808011F0 3C0C8013 */ lui $t4, %hi(D_801333E8) -/* 00664 808011F4 00437827 */ nor $t7, $v0, $v1 -/* 00668 808011F8 11E00005 */ beq $t7, $zero, .L80801210 -/* 0066C 808011FC 258C33E8 */ addiu $t4, %lo(D_801333E8) -/* 00670 80801200 95380000 */ lhu $t8, 0x0000($t1) ## 00000000 -/* 00674 80801204 03035827 */ nor $t3, $t8, $v1 -/* 00678 80801208 55600014 */ bnel $t3, $zero, .L8080125C -/* 0067C 8080120C 2403FEFF */ addiu $v1, $zero, 0xFEFF ## $v1 = FFFFFEFF -.L80801210: -/* 00680 80801210 3C198013 */ lui $t9, %hi(D_801333E0) -/* 00684 80801214 273933E0 */ addiu $t9, %lo(D_801333E0) -/* 00688 80801218 3C058013 */ lui $a1, %hi(D_801333D4) -/* 0068C 8080121C 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00690 80801220 03203825 */ or $a3, $t9, $zero ## $a3 = 801333E0 -/* 00694 80801224 AFB90010 */ sw $t9, 0x0010($sp) -/* 00698 80801228 24041800 */ addiu $a0, $zero, 0x1800 ## $a0 = 00001800 -/* 0069C 8080122C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 006A0 80801230 AFAC0014 */ sw $t4, 0x0014($sp) -/* 006A4 80801234 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* 006A8 80801238 AFA9002C */ sw $t1, 0x002C($sp) -/* 006AC 8080123C 3C088016 */ lui $t0, %hi(gGameInfo) -/* 006B0 80801240 2508FA90 */ addiu $t0, %lo(gGameInfo) -/* 006B4 80801244 8D0D0000 */ lw $t5, 0x0000($t0) ## 8015FA90 -/* 006B8 80801248 8FA9002C */ lw $t1, 0x002C($sp) -/* 006BC 8080124C 85AE0110 */ lh $t6, 0x0110($t5) ## 00000110 -/* 006C0 80801250 AE0E0220 */ sw $t6, 0x0220($s0) ## 00000220 -/* 006C4 80801254 9522000C */ lhu $v0, 0x000C($t1) ## 0000000C -/* 006C8 80801258 2403FEFF */ addiu $v1, $zero, 0xFEFF ## $v1 = FFFFFEFF -.L8080125C: -/* 006CC 8080125C 00437827 */ nor $t7, $v0, $v1 -/* 006D0 80801260 11E00005 */ beq $t7, $zero, .L80801278 -/* 006D4 80801264 3C0C8013 */ lui $t4, %hi(D_801333E8) -/* 006D8 80801268 95380000 */ lhu $t8, 0x0000($t1) ## 00000000 -/* 006DC 8080126C 03035827 */ nor $t3, $t8, $v1 -/* 006E0 80801270 55600013 */ bnel $t3, $zero, .L808012C0 -/* 006E4 80801274 96180020 */ lhu $t8, 0x0020($s0) ## 00000020 -.L80801278: -/* 006E8 80801278 3C198013 */ lui $t9, %hi(D_801333E0) -/* 006EC 8080127C 273933E0 */ addiu $t9, %lo(D_801333E0) -/* 006F0 80801280 3C058013 */ lui $a1, %hi(D_801333D4) -/* 006F4 80801284 258C33E8 */ addiu $t4, %lo(D_801333E8) -/* 006F8 80801288 AFAC0014 */ sw $t4, 0x0014($sp) -/* 006FC 8080128C 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00700 80801290 03203825 */ or $a3, $t9, $zero ## $a3 = 801333E0 -/* 00704 80801294 AFB90010 */ sw $t9, 0x0010($sp) -/* 00708 80801298 24041800 */ addiu $a0, $zero, 0x1800 ## $a0 = 00001800 -/* 0070C 8080129C 0C03DCE3 */ jal Audio_PlaySoundGeneral -/* 00710 808012A0 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00714 808012A4 3C088016 */ lui $t0, %hi(gGameInfo) -/* 00718 808012A8 2508FA90 */ addiu $t0, %lo(gGameInfo) -/* 0071C 808012AC 8D0D0000 */ lw $t5, 0x0000($t0) ## 8015FA90 -/* 00720 808012B0 85AE0110 */ lh $t6, 0x0110($t5) ## 00000110 -/* 00724 808012B4 000E7823 */ subu $t7, $zero, $t6 -/* 00728 808012B8 AE0F0220 */ sw $t7, 0x0220($s0) ## 00000220 -/* 0072C 808012BC 96180020 */ lhu $t8, 0x0020($s0) ## 00000020 -.L808012C0: -/* 00730 808012C0 2401FFDF */ addiu $at, $zero, 0xFFDF ## $at = FFFFFFDF -/* 00734 808012C4 3C088016 */ lui $t0, %hi(gGameInfo) -/* 00738 808012C8 03015827 */ nor $t3, $t8, $at -/* 0073C 808012CC 1560000E */ bne $t3, $zero, .L80801308 -/* 00740 808012D0 2508FA90 */ addiu $t0, %lo(gGameInfo) -/* 00744 808012D4 8E1901DC */ lw $t9, 0x01DC($s0) ## 000001DC -/* 00748 808012D8 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007 -/* 0074C 808012DC 272C0001 */ addiu $t4, $t9, 0x0001 ## $t4 = 00000001 -/* 00750 808012E0 258E0007 */ addiu $t6, $t4, 0x0007 ## $t6 = 00000008 -/* 00754 808012E4 01C1001A */ div $zero, $t6, $at -/* 00758 808012E8 0000C010 */ mfhi $t8 -/* 0075C 808012EC AE0C01DC */ sw $t4, 0x01DC($s0) ## 000001DC -/* 00760 808012F0 00185880 */ sll $t3, $t8, 2 -/* 00764 808012F4 AE1801DC */ sw $t8, 0x01DC($s0) ## 000001DC -/* 00768 808012F8 020BC821 */ addu $t9, $s0, $t3 -/* 0076C 808012FC 8F2201E0 */ lw $v0, 0x01E0($t9) ## 000001E0 -/* 00770 80801300 AE02020C */ sw $v0, 0x020C($s0) ## 0000020C -/* 00774 80801304 AE0201D8 */ sw $v0, 0x01D8($s0) ## 000001D8 -.L80801308: -/* 00778 80801308 8E0C021C */ lw $t4, 0x021C($s0) ## 0000021C -/* 0077C 8080130C 8E0D0220 */ lw $t5, 0x0220($s0) ## 00000220 -/* 00780 80801310 018D7021 */ addu $t6, $t4, $t5 -/* 00784 80801314 29C1FFF9 */ slti $at, $t6, 0xFFF9 -/* 00788 80801318 AE0E021C */ sw $t6, 0x021C($s0) ## 0000021C -/* 0078C 8080131C 10200036 */ beq $at, $zero, .L808013F8 -/* 00790 80801320 01C07825 */ or $t7, $t6, $zero ## $t7 = 00000008 -/* 00794 80801324 8E0201D0 */ lw $v0, 0x01D0($s0) ## 000001D0 -/* 00798 80801328 8E1801D8 */ lw $t8, 0x01D8($s0) ## 000001D8 -/* 0079C 8080132C 8E03020C */ lw $v1, 0x020C($s0) ## 0000020C -/* 007A0 80801330 AE000220 */ sw $zero, 0x0220($s0) ## 00000220 -/* 007A4 80801334 270B0001 */ addiu $t3, $t8, 0x0001 ## $t3 = 00000001 -/* 007A8 80801338 01626021 */ addu $t4, $t3, $v0 -/* 007AC 8080133C 0182001A */ div $zero, $t4, $v0 -/* 007B0 80801340 00627021 */ addu $t6, $v1, $v0 -/* 007B4 80801344 25CF0013 */ addiu $t7, $t6, 0x0013 ## $t7 = 0000001B -/* 007B8 80801348 00006810 */ mfhi $t5 -/* 007BC 8080134C AE0B01D8 */ sw $t3, 0x01D8($s0) ## 000001D8 -/* 007C0 80801350 AE0D01D8 */ sw $t5, 0x01D8($s0) ## 000001D8 -/* 007C4 80801354 01E2001A */ div $zero, $t7, $v0 -/* 007C8 80801358 0160C825 */ or $t9, $t3, $zero ## $t9 = 00000001 -/* 007CC 8080135C 8E0B01D8 */ lw $t3, 0x01D8($s0) ## 000001D8 -/* 007D0 80801360 0000C010 */ mfhi $t8 -/* 007D4 80801364 AE00021C */ sw $zero, 0x021C($s0) ## 0000021C -/* 007D8 80801368 14400002 */ bne $v0, $zero, .L80801374 -/* 007DC 8080136C 00000000 */ nop -/* 007E0 80801370 0007000D */ break 7 -.L80801374: -/* 007E4 80801374 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 007E8 80801378 14410004 */ bne $v0, $at, .L8080138C -/* 007EC 8080137C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 007F0 80801380 15810002 */ bne $t4, $at, .L8080138C -/* 007F4 80801384 00000000 */ nop -/* 007F8 80801388 0006000D */ break 6 -.L8080138C: -/* 007FC 8080138C 14400002 */ bne $v0, $zero, .L80801398 -/* 00800 80801390 00000000 */ nop -/* 00804 80801394 0007000D */ break 7 -.L80801398: -/* 00808 80801398 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 0080C 8080139C 14410004 */ bne $v0, $at, .L808013B0 -/* 00810 808013A0 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00814 808013A4 15E10002 */ bne $t7, $at, .L808013B0 -/* 00818 808013A8 00000000 */ nop -/* 0081C 808013AC 0006000D */ break 6 -.L808013B0: -/* 00820 808013B0 570B0012 */ bnel $t8, $t3, .L808013FC -/* 00824 808013B4 8E0F021C */ lw $t7, 0x021C($s0) ## 0000021C -/* 00828 808013B8 24790001 */ addiu $t9, $v1, 0x0001 ## $t9 = 00000001 -/* 0082C 808013BC 03226821 */ addu $t5, $t9, $v0 -/* 00830 808013C0 01A2001A */ div $zero, $t5, $v0 -/* 00834 808013C4 00007010 */ mfhi $t6 -/* 00838 808013C8 AE19020C */ sw $t9, 0x020C($s0) ## 0000020C -/* 0083C 808013CC AE0E020C */ sw $t6, 0x020C($s0) ## 0000020C -/* 00840 808013D0 03206025 */ or $t4, $t9, $zero ## $t4 = 00000001 -/* 00844 808013D4 14400002 */ bne $v0, $zero, .L808013E0 -/* 00848 808013D8 00000000 */ nop -/* 0084C 808013DC 0007000D */ break 7 -.L808013E0: -/* 00850 808013E0 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 00854 808013E4 14410004 */ bne $v0, $at, .L808013F8 -/* 00858 808013E8 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 0085C 808013EC 15A10002 */ bne $t5, $at, .L808013F8 -/* 00860 808013F0 00000000 */ nop -/* 00864 808013F4 0006000D */ break 6 -.L808013F8: -/* 00868 808013F8 8E0F021C */ lw $t7, 0x021C($s0) ## 0000021C -.L808013FC: -/* 0086C 808013FC 8E0401D8 */ lw $a0, 0x01D8($s0) ## 000001D8 -/* 00870 80801400 8E03020C */ lw $v1, 0x020C($s0) ## 0000020C -/* 00874 80801404 29E10008 */ slti $at, $t7, 0x0008 -/* 00878 80801408 5420004A */ bnel $at, $zero, .L80801534 -/* 0087C 8080140C 8E0201D0 */ lw $v0, 0x01D0($s0) ## 000001D0 -/* 00880 80801410 AE000220 */ sw $zero, 0x0220($s0) ## 00000220 -/* 00884 80801414 14640014 */ bne $v1, $a0, .L80801468 -/* 00888 80801418 AE00021C */ sw $zero, 0x021C($s0) ## 0000021C -/* 0088C 8080141C 8E0201D0 */ lw $v0, 0x01D0($s0) ## 000001D0 -/* 00890 80801420 2478FFFE */ addiu $t8, $v1, 0xFFFE ## $t8 = FFFFFFFE -/* 00894 80801424 AE18020C */ sw $t8, 0x020C($s0) ## 0000020C -/* 00898 80801428 0302C821 */ addu $t9, $t8, $v0 -/* 0089C 8080142C 0322001A */ div $zero, $t9, $v0 -/* 008A0 80801430 00006010 */ mfhi $t4 -/* 008A4 80801434 AE0C020C */ sw $t4, 0x020C($s0) ## 0000020C -/* 008A8 80801438 01801825 */ or $v1, $t4, $zero ## $v1 = 00000001 -/* 008AC 8080143C 03005825 */ or $t3, $t8, $zero ## $t3 = FFFFFFFE -/* 008B0 80801440 8E0401D8 */ lw $a0, 0x01D8($s0) ## 000001D8 -/* 008B4 80801444 14400002 */ bne $v0, $zero, .L80801450 -/* 008B8 80801448 00000000 */ nop -/* 008BC 8080144C 0007000D */ break 7 -.L80801450: -/* 008C0 80801450 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 008C4 80801454 14410004 */ bne $v0, $at, .L80801468 -/* 008C8 80801458 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 008CC 8080145C 17210002 */ bne $t9, $at, .L80801468 -/* 008D0 80801460 00000000 */ nop -/* 008D4 80801464 0006000D */ break 6 -.L80801468: -/* 008D8 80801468 8E0201D0 */ lw $v0, 0x01D0($s0) ## 000001D0 -/* 008DC 8080146C 248DFFFF */ addiu $t5, $a0, 0xFFFF ## $t5 = FFFFFFFF -/* 008E0 80801470 AE0D01D8 */ sw $t5, 0x01D8($s0) ## 000001D8 -/* 008E4 80801474 01A27821 */ addu $t7, $t5, $v0 -/* 008E8 80801478 01E2001A */ div $zero, $t7, $v0 -/* 008EC 8080147C 00625821 */ addu $t3, $v1, $v0 -/* 008F0 80801480 0000C010 */ mfhi $t8 -/* 008F4 80801484 03002025 */ or $a0, $t8, $zero ## $a0 = FFFFFFFE -/* 008F8 80801488 AE1801D8 */ sw $t8, 0x01D8($s0) ## 000001D8 -/* 008FC 8080148C 0162001A */ div $zero, $t3, $v0 -/* 00900 80801490 0000C810 */ mfhi $t9 -/* 00904 80801494 01A07025 */ or $t6, $t5, $zero ## $t6 = FFFFFFFF -/* 00908 80801498 14400002 */ bne $v0, $zero, .L808014A4 -/* 0090C 8080149C 00000000 */ nop -/* 00910 808014A0 0007000D */ break 7 -.L808014A4: -/* 00914 808014A4 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 00918 808014A8 14410004 */ bne $v0, $at, .L808014BC -/* 0091C 808014AC 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00920 808014B0 15E10002 */ bne $t7, $at, .L808014BC -/* 00924 808014B4 00000000 */ nop -/* 00928 808014B8 0006000D */ break 6 -.L808014BC: -/* 0092C 808014BC 14400002 */ bne $v0, $zero, .L808014C8 -/* 00930 808014C0 00000000 */ nop -/* 00934 808014C4 0007000D */ break 7 -.L808014C8: -/* 00938 808014C8 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 0093C 808014CC 14410004 */ bne $v0, $at, .L808014E0 -/* 00940 808014D0 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00944 808014D4 15610002 */ bne $t3, $at, .L808014E0 -/* 00948 808014D8 00000000 */ nop -/* 0094C 808014DC 0006000D */ break 6 -.L808014E0: -/* 00950 808014E0 57240014 */ bnel $t9, $a0, .L80801534 -/* 00954 808014E4 8E0201D0 */ lw $v0, 0x01D0($s0) ## 000001D0 -/* 00958 808014E8 246CFFFF */ addiu $t4, $v1, 0xFFFF ## $t4 = 00000000 -/* 0095C 808014EC 01827021 */ addu $t6, $t4, $v0 -/* 00960 808014F0 01C2001A */ div $zero, $t6, $v0 -/* 00964 808014F4 00007810 */ mfhi $t7 -/* 00968 808014F8 AE0C020C */ sw $t4, 0x020C($s0) ## 0000020C -/* 0096C 808014FC AE0F020C */ sw $t7, 0x020C($s0) ## 0000020C -/* 00970 80801500 01E01825 */ or $v1, $t7, $zero ## $v1 = 0000001B -/* 00974 80801504 01806825 */ or $t5, $t4, $zero ## $t5 = 00000000 -/* 00978 80801508 14400002 */ bne $v0, $zero, .L80801514 -/* 0097C 8080150C 00000000 */ nop -/* 00980 80801510 0007000D */ break 7 -.L80801514: -/* 00984 80801514 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 00988 80801518 14410004 */ bne $v0, $at, .L8080152C -/* 0098C 8080151C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00990 80801520 15C10002 */ bne $t6, $at, .L8080152C -/* 00994 80801524 00000000 */ nop -/* 00998 80801528 0006000D */ break 6 -.L8080152C: -/* 0099C 8080152C 8E0401D8 */ lw $a0, 0x01D8($s0) ## 000001D8 -/* 009A0 80801530 8E0201D0 */ lw $v0, 0x01D0($s0) ## 000001D0 -.L80801534: -/* 009A4 80801534 0082C021 */ addu $t8, $a0, $v0 -/* 009A8 80801538 0302001A */ div $zero, $t8, $v0 -/* 009AC 8080153C 00005810 */ mfhi $t3 -/* 009B0 80801540 0062C821 */ addu $t9, $v1, $v0 -/* 009B4 80801544 AE0B01D8 */ sw $t3, 0x01D8($s0) ## 000001D8 -/* 009B8 80801548 0322001A */ div $zero, $t9, $v0 -/* 009BC 8080154C 00006010 */ mfhi $t4 -/* 009C0 80801550 AE0C020C */ sw $t4, 0x020C($s0) ## 0000020C -/* 009C4 80801554 8D0E0000 */ lw $t6, 0x0000($t0) ## 8015FA90 -/* 009C8 80801558 8E0D01D8 */ lw $t5, 0x01D8($s0) ## 000001D8 -/* 009CC 8080155C 14400002 */ bne $v0, $zero, .L80801568 -/* 009D0 80801560 00000000 */ nop -/* 009D4 80801564 0007000D */ break 7 -.L80801568: -/* 009D8 80801568 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 009DC 8080156C 14410004 */ bne $v0, $at, .L80801580 -/* 009E0 80801570 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 009E4 80801574 17010002 */ bne $t8, $at, .L80801580 -/* 009E8 80801578 00000000 */ nop -/* 009EC 8080157C 0006000D */ break 6 -.L80801580: -/* 009F0 80801580 A5CD1434 */ sh $t5, 0x1434($t6) ## 00001433 -/* 009F4 80801584 8D180000 */ lw $t8, 0x0000($t0) ## 8015FA90 -/* 009F8 80801588 8E0F020C */ lw $t7, 0x020C($s0) ## 0000020C -/* 009FC 8080158C 14400002 */ bne $v0, $zero, .L80801598 -/* 00A00 80801590 00000000 */ nop -/* 00A04 80801594 0007000D */ break 7 -.L80801598: -/* 00A08 80801598 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 00A0C 8080159C 14410004 */ bne $v0, $at, .L808015B0 -/* 00A10 808015A0 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00A14 808015A4 17210002 */ bne $t9, $at, .L808015B0 -/* 00A18 808015A8 00000000 */ nop -/* 00A1C 808015AC 0006000D */ break 6 -.L808015B0: -/* 00A20 808015B0 A70F1436 */ sh $t7, 0x1436($t8) ## 00001434 -/* 00A24 808015B4 8D190000 */ lw $t9, 0x0000($t0) ## 8015FA90 -/* 00A28 808015B8 8E0B01DC */ lw $t3, 0x01DC($s0) ## 000001DC -/* 00A2C 808015BC A72B1438 */ sh $t3, 0x1438($t9) ## 00001439 -/* 00A30 808015C0 8E050224 */ lw $a1, 0x0224($s0) ## 00000224 -/* 00A34 808015C4 10A00003 */ beq $a1, $zero, .L808015D4 -/* 00A38 808015C8 24ACFFFF */ addiu $t4, $a1, 0xFFFF ## $t4 = FFFFFFFF -/* 00A3C 808015CC AE0C0224 */ sw $t4, 0x0224($s0) ## 00000224 -/* 00A40 808015D0 01802825 */ or $a1, $t4, $zero ## $a1 = FFFFFFFF -.L808015D4: -/* 00A44 808015D4 54A00003 */ bnel $a1, $zero, .L808015E4 -/* 00A48 808015D8 8E020228 */ lw $v0, 0x0228($s0) ## 00000228 -/* 00A4C 808015DC AE00022C */ sw $zero, 0x022C($s0) ## 0000022C -/* 00A50 808015E0 8E020228 */ lw $v0, 0x0228($s0) ## 00000228 -.L808015E4: -/* 00A54 808015E4 10400003 */ beq $v0, $zero, .L808015F4 -/* 00A58 808015E8 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = FFFFFFFF -/* 00A5C 808015EC AE0D0228 */ sw $t5, 0x0228($s0) ## 00000228 -/* 00A60 808015F0 01A01025 */ or $v0, $t5, $zero ## $v0 = FFFFFFFF -.L808015F4: -/* 00A64 808015F4 54400003 */ bnel $v0, $zero, .L80801604 -/* 00A68 808015F8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00A6C 808015FC AE000230 */ sw $zero, 0x0230($s0) ## 00000230 -/* 00A70 80801600 8FBF0024 */ lw $ra, 0x0024($sp) -.L80801604: -/* 00A74 80801604 8FB00020 */ lw $s0, 0x0020($sp) -/* 00A78 80801608 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00A7C 8080160C 03E00008 */ jr $ra -/* 00A80 80801610 00000000 */ nop diff --git a/data/overlays/gamestates/z_select.reloc.s b/data/overlays/gamestates/z_select.reloc.s deleted file mode 100644 index fee13f5e8e..0000000000 --- a/data/overlays/gamestates/z_select.reloc.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .rodata - -.balign 16 - -glabel D_80803620 - .incbin "baserom/ovl_select", 0x2A90, 0x000005D0 diff --git a/data/z_lifemeter.data.s b/data/z_lifemeter.data.s index fc841b6176..0b506e4ab5 100644 --- a/data/z_lifemeter.data.s +++ b/data/z_lifemeter.data.s @@ -10,22 +10,10 @@ .balign 16 glabel D_8011FF10 - .incbin "baserom.z64", 0xB970B0, 0x2 - -glabel D_8011FF12 - .incbin "baserom.z64", 0xB970B2, 0x2 - -glabel D_8011FF14 - .incbin "baserom.z64", 0xB970B4, 0x10 + .incbin "baserom.z64", 0xB970B0, 0x14 glabel D_8011FF24 - .incbin "baserom.z64", 0xB970C4, 0x2 - -glabel D_8011FF26 - .incbin "baserom.z64", 0xB970C6, 0x2 - -glabel D_8011FF28 - .incbin "baserom.z64", 0xB970C8, 0x10 + .incbin "baserom.z64", 0xB970C4, 0x14 glabel D_8011FF38 .incbin "baserom.z64", 0xB970D8, 0x14 @@ -34,40 +22,16 @@ glabel D_8011FF4C .incbin "baserom.z64", 0xB970EC, 0x14 glabel D_8011FF60 - .incbin "baserom.z64", 0xB97100, 0x2 - -glabel D_8011FF62 - .incbin "baserom.z64", 0xB97102, 0x2 - -glabel D_8011FF64 - .incbin "baserom.z64", 0xB97104, 0x10 + .incbin "baserom.z64", 0xB97100, 0x14 glabel D_8011FF74 - .incbin "baserom.z64", 0xB97114, 0x2 - -glabel D_8011FF76 - .incbin "baserom.z64", 0xB97116, 0x2 - -glabel D_8011FF78 - .incbin "baserom.z64", 0xB97118, 0x10 + .incbin "baserom.z64", 0xB97114, 0x14 glabel D_8011FF88 - .incbin "baserom.z64", 0xB97128, 0x2 - -glabel D_8011FF8A - .incbin "baserom.z64", 0xB9712A, 0x2 - -glabel D_8011FF8C - .incbin "baserom.z64", 0xB9712C, 0x10 + .incbin "baserom.z64", 0xB97128, 0x14 glabel D_8011FF9C - .incbin "baserom.z64", 0xB9713C, 0x2 - -glabel D_8011FF9E - .incbin "baserom.z64", 0xB9713E, 0x2 - -glabel D_8011FFA0 - .incbin "baserom.z64", 0xB97140, 0x10 + .incbin "baserom.z64", 0xB9713C, 0x14 glabel D_8011FFB0 .incbin "baserom.z64", 0xB97150, 0x40 diff --git a/spec b/spec index 32de331309..8aa3049fe3 100644 --- a/spec +++ b/spec @@ -552,11 +552,7 @@ endseg beginseg name "ovl_select" include "build/src/overlays/gamestates/ovl_select/z_select.o" -#ifdef NON_MATCHING include "build/src/overlays/gamestates/ovl_select/ovl_select_reloc.o" -#else - include "build/data/overlays/gamestates/z_select.reloc.o" -#endif endseg beginseg diff --git a/src/code/z_lifemeter.c b/src/code/z_lifemeter.c index 63c328ce6f..8556920735 100644 --- a/src/code/z_lifemeter.c +++ b/src/code/z_lifemeter.c @@ -104,7 +104,7 @@ void Health_UpdateData(GlobalContext* globalCtx) { temp2 *= temp_f0; interfaceCtx->unk_208[1] = (u8)(temp2 + 0x28); temp3 *= temp_f0; - interfaceCtx->unk_208[2] = (u8)(temp2 + 0x3C); + interfaceCtx->unk_208[2] = (u8)(temp3 + 0x3C); D_8015FDD0[0] = 0xFF; D_8015FDD0[1] = 0xFF; diff --git a/src/code/z_view.c b/src/code/z_view.c index fc0cc3c719..63de9688d4 100644 --- a/src/code/z_view.c +++ b/src/code/z_view.c @@ -351,8 +351,8 @@ s32 func_800AAA9C(View* view) { } func_800ABE74(view->eye.x, view->eye.y, view->eye.z); - guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->lookAt.x, view->lookAt.y, view->lookAt.z, - view->up.x, view->up.y, view->up.z); + guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->lookAt.x, view->lookAt.y, view->lookAt.z, view->up.x, + view->up.y, view->up.z); view->viewing = *viewing; @@ -500,8 +500,8 @@ s32 func_800AB560(View* view) { } func_800ABE74(view->eye.x, view->eye.y, view->eye.z); - guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->lookAt.x, view->lookAt.y, view->lookAt.z, - view->up.x, view->up.y, view->up.z); + guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->lookAt.x, view->lookAt.y, view->lookAt.z, view->up.x, + view->up.y, view->up.z); view->viewing = *viewing; @@ -527,17 +527,23 @@ s32 func_800AB944(View* view) { } #ifdef NON_MATCHING -// saved register usage is wrong, relatively minor reorderings, regalloc +// regalloc differences s32 func_800AB9EC(View* view, s32 arg1, Gfx** gfxp) { - GraphicsContext* gfxCtx = view->gfxCtx; Gfx* gfx = *gfxp; + GraphicsContext* gfxCtx = view->gfxCtx; + s32 width; + s32 height; + Vp* vp; + Mtx* projection; + Mtx* viewing; - arg1 = (view->flags & arg1) | arg1 >> 4; + arg1 = (arg1 & view->flags) | (arg1 >> 4); if (arg1 & 2) { - Vp* vp = Graph_Alloc(view->gfxCtx, sizeof(Vp)); + vp = Graph_Alloc(view->gfxCtx, sizeof(Vp)); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 910); View_ViewportToVp(vp, &view->viewport); + view->vp = *vp; gDPPipeSync(gfx++); @@ -547,7 +553,7 @@ s32 func_800AB9EC(View* view, s32 arg1, Gfx** gfxp) { } if (arg1 & 8) { - Mtx* projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); + projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 921); view->projectionPtr = projection; @@ -558,9 +564,7 @@ s32 func_800AB9EC(View* view, s32 arg1, Gfx** gfxp) { gSPMatrix(gfx++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); } else if (arg1 & 6) { - s32 width; - s32 height; - Mtx* projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); + projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 932); view->projectionPtr = projection; @@ -577,7 +581,7 @@ s32 func_800AB9EC(View* view, s32 arg1, Gfx** gfxp) { } if (arg1 & 1) { - Mtx* viewing = Graph_Alloc(gfxCtx, sizeof(Mtx)); + viewing = Graph_Alloc(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 948); view->viewingPtr = viewing; diff --git a/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c b/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c index 89616c8795..0d3456726f 100644 --- a/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c +++ b/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c @@ -323,6 +323,7 @@ void BgSpot01Idohashira_Init(Actor* thisx, GlobalContext* globalCtx) { } #ifdef NON_MATCHING +// regalloc differences void func_808AB700(BgSpot01Idohashira* this, GlobalContext* globalCtx) { GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; Gfx* dispRefs[5]; diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c index 429735fa34..1997c4ae1b 100644 --- a/src/overlays/gamestates/ovl_select/z_select.c +++ b/src/overlays/gamestates/ovl_select/z_select.c @@ -172,8 +172,6 @@ static SceneSelectEntry sScenes[] = { { "title", Select_LoadTitle, 0x0000 }, }; -#ifdef NON_MATCHING -// mostly regalloc, a good amount of instruction ordering. confirmed equivalent in game. void Select_UpdateMenu(SelectContext* this) { Input* controller1; s32 pad; @@ -315,7 +313,8 @@ void Select_UpdateMenu(SelectContext* this) { } if (CHECK_PAD(controller1->press, L_TRIG)) { - this->unk_1DC = (++this->unk_1DC + 7) % 7; + this->unk_1DC++; + this->unk_1DC = (this->unk_1DC + 7) % 7; this->currentScene = this->unk_20C = this->unk_1E0[this->unk_1DC]; } @@ -324,10 +323,13 @@ void Select_UpdateMenu(SelectContext* this) { if (this->unk_21C < -7) { this->unk_220 = 0; this->unk_21C = 0; + + this->currentScene++; + this->currentScene = (this->currentScene + this->count) % this->count; - this->currentScene = (++this->currentScene + this->count) % this->count; if (this->currentScene == ((this->unk_20C + this->count + 0x13) % this->count)) { - this->unk_20C = (++this->unk_20C + this->count) % this->count; + this->unk_20C++; + this->unk_20C = (this->unk_20C + this->count) % this->count; } } @@ -336,13 +338,16 @@ void Select_UpdateMenu(SelectContext* this) { this->unk_21C = 0; if (this->currentScene == this->unk_20C) { - this->unk_20C = ((this->unk_20C - 2) + this->count) % this->count; + this->unk_20C -= 2; + this->unk_20C = (this->unk_20C + this->count) % this->count; } - this->currentScene = ((--this->currentScene) + this->count) % this->count; + this->currentScene--; + this->currentScene = (this->currentScene + this->count) % this->count; if (this->currentScene == ((this->unk_20C + this->count) % this->count)) { - this->unk_20C = (--this->unk_20C + this->count) % this->count; + this->unk_20C--; + this->unk_20C = (this->unk_20C + this->count) % this->count; } } @@ -369,9 +374,6 @@ void Select_UpdateMenu(SelectContext* this) { this->unk_230 = 0; } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_select/Select_UpdateMenu.s") -#endif void Select_PrintMenu(SelectContext* this, GfxPrint* printer) { s32 scene;