mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Apply the usual cleanup of some recent matches (#428)
* WIP set_ghost_position_and_rotation * set_ghost_position_and_rotation WIP update * Match 3 menu funcs * Add missing changes from last commit. * Update README * Fix NON_EQUIVALENT again * math_util renames and minor cleanup. Used official names. * Match func_800904E8 * Rename to our standard
This commit is contained in:
@@ -5,9 +5,9 @@ This repo contains a work-in-progress decompilation of Diddy Kong Racing for the
|
||||
Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time.
|
||||
|
||||
<!-- README_SCORE_SUMMARY_BEGIN -->
|
||||
As of October 29, 2023, this is our current score:
|
||||
As of October 30, 2023, this is our current score:
|
||||
|
||||
    Decomp progress: 62.22%
|
||||
    Decomp progress: 62.34%
|
||||
|
||||
    Documentation progress: 33.66%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
@@ -128,15 +128,15 @@ s32 is_drumstick_unlocked(void) {
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of October 29, 2023, this is our current score:
|
||||
As of October 30th, 2023, this is our current score:
|
||||
```
|
||||
======================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
-------------------------- 62.22% Complete ---------------------------
|
||||
# Decompiled functions: 1655
|
||||
# GLOBAL_ASM remaining: 190
|
||||
-------------------------- 62.34% Complete ---------------------------
|
||||
# Decompiled functions: 1656
|
||||
# GLOBAL_ASM remaining: 189
|
||||
# NON_MATCHING functions: 12
|
||||
# NON_EQUIVALENT WIP functions: 56
|
||||
# NON_EQUIVALENT WIP functions: 57
|
||||
---------------------------- Game Status -----------------------------
|
||||
Balloons: 30/47, Keys: 3/4, Trophies: 2/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
glabel clear_status_register_flags /* Official name: disableInterrupts */
|
||||
/* 070110 8006F510 3C08800E */ lui $t0, %hi(D_800DD430) # $t0, 0x800e
|
||||
/* 070114 8006F514 8108D430 */ lb $t0, %lo(D_800DD430)($t0)
|
||||
glabel disable_interrupts /* Official name: disableInterrupts */
|
||||
/* 070110 8006F510 3C08800E */ lui $t0, %hi(gIntDisFlag) # $t0, 0x800e
|
||||
/* 070114 8006F514 8108D430 */ lb $t0, %lo(gIntDisFlag)($t0)
|
||||
/* 070118 8006F518 11000006 */ beqz $t0, .L8006F534
|
||||
/* 07011C 8006F51C 40086000 */ mfc0 $t0, $12 # C0_SR - Status Register
|
||||
/* 07011C 8006F51C 40086000 */ mfc0 $t0, $12 # C0_SR - Status Register
|
||||
/* 070120 8006F520 2401FFFE */ li $at, -2
|
||||
/* 070124 8006F524 01014824 */ and $t1, $t0, $at
|
||||
/* 070128 8006F528 40896000 */ mtc0 $t1, $12
|
||||
@@ -9,6 +9,3 @@ glabel dmacopy_doubleword
|
||||
/* 07171C 80070B1C FCA9FFF8 */ sd $t1, -8($a1)
|
||||
/* 071720 80070B20 03E00008 */ jr $ra
|
||||
/* 071724 80070B24 00000000 */ nop
|
||||
|
||||
/* 071728 80070B28 00000000 */ nop
|
||||
/* 07172C 80070B2C 00000000 */ nop
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
glabel set_status_register_flags /* Official name: enableInterrupts */
|
||||
/* 07013C 8006F53C 3C08800E */ lui $t0, %hi(D_800DD430) # $t0, 0x800e
|
||||
/* 070140 8006F540 8108D430 */ lb $t0, %lo(D_800DD430)($t0)
|
||||
glabel enable_interrupts /* Official name: enableInterrupts */
|
||||
/* 07013C 8006F53C 3C08800E */ lui $t0, %hi(gIntDisFlag) # $t0, 0x800e
|
||||
/* 070140 8006F540 8108D430 */ lb $t0, %lo(gIntDisFlag)($t0)
|
||||
/* 070144 8006F544 11000005 */ beqz $t0, .L8006F55C # Identical to __osRestoreInt below this line
|
||||
/* 070148 8006F548 40086000 */ mfc0 $t0, $12 # C0_SR - Status Register
|
||||
/* 07014C 8006F54C 01044025 */ or $t0, $t0, $a0
|
||||
@@ -1,4 +0,0 @@
|
||||
glabel get_D_800DD430
|
||||
/* 070170 8006F570 3C02800E */ lui $v0, %hi(D_800DD430) # $v0, 0x800e
|
||||
/* 070174 8006F574 03E00008 */ jr $ra
|
||||
/* 070178 8006F578 9042D430 */ lbu $v0, %lo(D_800DD430)($v0)
|
||||
@@ -0,0 +1,4 @@
|
||||
glabel get_gIntDisFlag
|
||||
/* 070170 8006F570 3C02800E */ lui $v0, %hi(gIntDisFlag) # $v0, 0x800e
|
||||
/* 070174 8006F574 03E00008 */ jr $ra
|
||||
/* 070178 8006F578 9042D430 */ lbu $v0, %lo(gIntDisFlag)($v0)
|
||||
@@ -1,4 +0,0 @@
|
||||
glabel set_D_800DD430
|
||||
/* 070164 8006F564 3C01800E */ lui $at, %hi(D_800DD430) # $at, 0x800e
|
||||
/* 070168 8006F568 03E00008 */ jr $ra
|
||||
/* 07016C 8006F56C A024D430 */ sb $a0, %lo(D_800DD430)($at)
|
||||
@@ -0,0 +1,4 @@
|
||||
glabel set_gIntDisFlag /* Official Name: setIntDisFlag */
|
||||
/* 070164 8006F564 3C01800E */ lui $at, %hi(gIntDisFlag) # $at, 0x800e
|
||||
/* 070168 8006F568 03E00008 */ jr $ra
|
||||
/* 07016C 8006F56C A024D430 */ sb $a0, %lo(gIntDisFlag)($at)
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
.section .data
|
||||
|
||||
glabel D_800DD430
|
||||
glabel gIntDisFlag
|
||||
.word 0x00000000
|
||||
|
||||
glabel gCurrentRNGSeed
|
||||
|
||||
@@ -1,284 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E84E0
|
||||
.double 0.1
|
||||
glabel D_800E84E8
|
||||
.double 0.1
|
||||
|
||||
.text
|
||||
glabel func_800904E8
|
||||
/* 0910E8 800904E8 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 0910EC 800904EC AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0910F0 800904F0 0C031CFC */ jal tick_thread30
|
||||
/* 0910F4 800904F4 AFA40048 */ sw $a0, 0x48($sp)
|
||||
/* 0910F8 800904F8 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* 0910FC 800904FC 00001025 */ move $v0, $zero
|
||||
/* 091100 80090500 18A00080 */ blez $a1, .L80090704
|
||||
/* 091104 80090504 30A30003 */ andi $v1, $a1, 3
|
||||
/* 091108 80090508 10600031 */ beqz $v1, .L800905D0
|
||||
/* 09110C 8009050C 00602025 */ move $a0, $v1
|
||||
/* 091110 80090510 3C018012 */ lui $at, %hi(D_801269E8) # $at, 0x8012
|
||||
/* 091114 80090514 C42E69E8 */ lwc1 $f14, %lo(D_801269E8)($at)
|
||||
/* 091118 80090518 3C018012 */ lui $at, %hi(D_801269EC) # $at, 0x8012
|
||||
/* 09111C 8009051C C43069EC */ lwc1 $f16, %lo(D_801269EC)($at)
|
||||
/* 091120 80090520 3C01800F */ lui $at, %hi(D_800E84E0 + 4) # $at, 0x800f
|
||||
/* 091124 80090524 3C088012 */ lui $t0, %hi(gTrackSelectY) # $t0, 0x8012
|
||||
/* 091128 80090528 3C038012 */ lui $v1, %hi(gTrackSelectX) # $v1, 0x8012
|
||||
/* 09112C 8009052C C42184E0 */ lwc1 $f1, %lo(D_800E84E0)($at)
|
||||
/* 091130 80090530 C42084E4 */ lwc1 $f0, %lo(D_800E84E0 + 4)($at)
|
||||
/* 091134 80090534 246369DC */ addiu $v1, %lo(gTrackSelectX) # addiu $v1, $v1, 0x69dc
|
||||
/* 091138 80090538 250869E4 */ addiu $t0, %lo(gTrackSelectY) # addiu $t0, $t0, 0x69e4
|
||||
/* 09113C 8009053C C4660000 */ lwc1 $f6, ($v1)
|
||||
/* 091140 80090540 C50C0000 */ lwc1 $f12, ($t0)
|
||||
/* 091144 80090544 46067101 */ sub.s $f4, $f14, $f6
|
||||
/* 091148 80090548 24420001 */ addiu $v0, $v0, 1
|
||||
/* 09114C 8009054C 46002121 */ cvt.d.s $f4, $f4
|
||||
/* 091150 80090550 46202102 */ mul.d $f4, $f4, $f0
|
||||
/* 091154 80090554 460C8201 */ sub.s $f8, $f16, $f12
|
||||
/* 091158 80090558 460031A1 */ cvt.d.s $f6, $f6
|
||||
/* 09115C 8009055C 46243280 */ add.d $f10, $f6, $f4
|
||||
/* 091160 80090560 10820013 */ beq $a0, $v0, .L800905B0
|
||||
/* 091164 80090564 460044A1 */ cvt.d.s $f18, $f8
|
||||
.L80090568:
|
||||
/* 091168 80090568 46209202 */ mul.d $f8, $f18, $f0
|
||||
/* 09116C 8009056C 462051A0 */ cvt.s.d $f6, $f10
|
||||
/* 091170 80090570 24420001 */ addiu $v0, $v0, 1
|
||||
/* 091174 80090574 E4660000 */ swc1 $f6, ($v1)
|
||||
/* 091178 80090578 C4660000 */ lwc1 $f6, ($v1)
|
||||
/* 09117C 8009057C 46006121 */ cvt.d.s $f4, $f12
|
||||
/* 091180 80090580 46282200 */ add.d $f8, $f4, $f8
|
||||
/* 091184 80090584 46204220 */ cvt.s.d $f8, $f8
|
||||
/* 091188 80090588 46067101 */ sub.s $f4, $f14, $f6
|
||||
/* 09118C 8009058C E5080000 */ swc1 $f8, ($t0)
|
||||
/* 091190 80090590 C50C0000 */ lwc1 $f12, ($t0)
|
||||
/* 091194 80090594 46002121 */ cvt.d.s $f4, $f4
|
||||
/* 091198 80090598 46202102 */ mul.d $f4, $f4, $f0
|
||||
/* 09119C 8009059C 460C8201 */ sub.s $f8, $f16, $f12
|
||||
/* 0911A0 800905A0 460031A1 */ cvt.d.s $f6, $f6
|
||||
/* 0911A4 800905A4 46243280 */ add.d $f10, $f6, $f4
|
||||
/* 0911A8 800905A8 1482FFEF */ bne $a0, $v0, .L80090568
|
||||
/* 0911AC 800905AC 460044A1 */ cvt.d.s $f18, $f8
|
||||
.L800905B0:
|
||||
/* 0911B0 800905B0 46209202 */ mul.d $f8, $f18, $f0
|
||||
/* 0911B4 800905B4 46006121 */ cvt.d.s $f4, $f12
|
||||
/* 0911B8 800905B8 462051A0 */ cvt.s.d $f6, $f10
|
||||
/* 0911BC 800905BC E4660000 */ swc1 $f6, ($v1)
|
||||
/* 0911C0 800905C0 46282200 */ add.d $f8, $f4, $f8
|
||||
/* 0911C4 800905C4 46204220 */ cvt.s.d $f8, $f8
|
||||
/* 0911C8 800905C8 E5080000 */ swc1 $f8, ($t0)
|
||||
/* 0911CC 800905CC 1045004D */ beq $v0, $a1, .L80090704
|
||||
.L800905D0:
|
||||
/* 0911D0 800905D0 3C01800F */ lui $at, %hi(D_800E84E8 + 4) # $at, 0x800f
|
||||
/* 0911D4 800905D4 C42184E8 */ lwc1 $f1, %lo(D_800E84E8)($at)
|
||||
/* 0911D8 800905D8 C42084EC */ lwc1 $f0, %lo(D_800E84E8 + 4)($at)
|
||||
/* 0911DC 800905DC 3C018012 */ lui $at, %hi(D_801269E8) # $at, 0x8012
|
||||
/* 0911E0 800905E0 C42E69E8 */ lwc1 $f14, %lo(D_801269E8)($at)
|
||||
/* 0911E4 800905E4 3C018012 */ lui $at, %hi(D_801269EC) # $at, 0x8012
|
||||
/* 0911E8 800905E8 3C038012 */ lui $v1, %hi(gTrackSelectX) # $v1, 0x8012
|
||||
/* 0911EC 800905EC 3C088012 */ lui $t0, %hi(gTrackSelectY) # $t0, 0x8012
|
||||
/* 0911F0 800905F0 C43069EC */ lwc1 $f16, %lo(D_801269EC)($at)
|
||||
/* 0911F4 800905F4 250869E4 */ addiu $t0, %lo(gTrackSelectY) # addiu $t0, $t0, 0x69e4
|
||||
/* 0911F8 800905F8 246369DC */ addiu $v1, %lo(gTrackSelectX) # addiu $v1, $v1, 0x69dc
|
||||
.L800905FC:
|
||||
/* 0911FC 800905FC C4720000 */ lwc1 $f18, ($v1)
|
||||
/* 091200 80090600 C50C0000 */ lwc1 $f12, ($t0)
|
||||
/* 091204 80090604 46127281 */ sub.s $f10, $f14, $f18
|
||||
/* 091208 80090608 24420004 */ addiu $v0, $v0, 4
|
||||
/* 09120C 8009060C 460C8201 */ sub.s $f8, $f16, $f12
|
||||
/* 091210 80090610 460052A1 */ cvt.d.s $f10, $f10
|
||||
/* 091214 80090614 46205282 */ mul.d $f10, $f10, $f0
|
||||
/* 091218 80090618 460094A1 */ cvt.d.s $f18, $f18
|
||||
/* 09121C 8009061C 46004221 */ cvt.d.s $f8, $f8
|
||||
/* 091220 80090620 46006321 */ cvt.d.s $f12, $f12
|
||||
/* 091224 80090624 46204202 */ mul.d $f8, $f8, $f0
|
||||
/* 091228 80090628 462A9280 */ add.d $f10, $f18, $f10
|
||||
/* 09122C 8009062C 462052A0 */ cvt.s.d $f10, $f10
|
||||
/* 091230 80090630 46286200 */ add.d $f8, $f12, $f8
|
||||
/* 091234 80090634 E46A0000 */ swc1 $f10, ($v1)
|
||||
/* 091238 80090638 46204220 */ cvt.s.d $f8, $f8
|
||||
/* 09123C 8009063C C46A0000 */ lwc1 $f10, ($v1)
|
||||
/* 091240 80090640 E5080000 */ swc1 $f8, ($t0)
|
||||
/* 091244 80090644 460A7201 */ sub.s $f8, $f14, $f10
|
||||
/* 091248 80090648 C50C0000 */ lwc1 $f12, ($t0)
|
||||
/* 09124C 8009064C 46004221 */ cvt.d.s $f8, $f8
|
||||
/* 091250 80090650 46204202 */ mul.d $f8, $f8, $f0
|
||||
/* 091254 80090654 460C8481 */ sub.s $f18, $f16, $f12
|
||||
/* 091258 80090658 460052A1 */ cvt.d.s $f10, $f10
|
||||
/* 09125C 8009065C 46285200 */ add.d $f8, $f10, $f8
|
||||
/* 091260 80090660 46204220 */ cvt.s.d $f8, $f8
|
||||
/* 091264 80090664 E4680000 */ swc1 $f8, ($v1)
|
||||
/* 091268 80090668 C4680000 */ lwc1 $f8, ($v1)
|
||||
/* 09126C 8009066C 460094A1 */ cvt.d.s $f18, $f18
|
||||
/* 091270 80090670 46209482 */ mul.d $f18, $f18, $f0
|
||||
/* 091274 80090674 46087281 */ sub.s $f10, $f14, $f8
|
||||
/* 091278 80090678 46006321 */ cvt.d.s $f12, $f12
|
||||
/* 09127C 8009067C 46326480 */ add.d $f18, $f12, $f18
|
||||
/* 091280 80090680 462094A0 */ cvt.s.d $f18, $f18
|
||||
/* 091284 80090684 E5120000 */ swc1 $f18, ($t0)
|
||||
/* 091288 80090688 C5120000 */ lwc1 $f18, ($t0)
|
||||
/* 09128C 8009068C 460052A1 */ cvt.d.s $f10, $f10
|
||||
/* 091290 80090690 46205282 */ mul.d $f10, $f10, $f0
|
||||
/* 091294 80090694 46128301 */ sub.s $f12, $f16, $f18
|
||||
/* 091298 80090698 46004221 */ cvt.d.s $f8, $f8
|
||||
/* 09129C 8009069C 462A4280 */ add.d $f10, $f8, $f10
|
||||
/* 0912A0 800906A0 462052A0 */ cvt.s.d $f10, $f10
|
||||
/* 0912A4 800906A4 46006321 */ cvt.d.s $f12, $f12
|
||||
/* 0912A8 800906A8 46206302 */ mul.d $f12, $f12, $f0
|
||||
/* 0912AC 800906AC E46A0000 */ swc1 $f10, ($v1)
|
||||
/* 0912B0 800906B0 C46A0000 */ lwc1 $f10, ($v1)
|
||||
/* 0912B4 800906B4 460094A1 */ cvt.d.s $f18, $f18
|
||||
/* 0912B8 800906B8 462C9300 */ add.d $f12, $f18, $f12
|
||||
/* 0912BC 800906BC 46206320 */ cvt.s.d $f12, $f12
|
||||
/* 0912C0 800906C0 460A7481 */ sub.s $f18, $f14, $f10
|
||||
/* 0912C4 800906C4 E50C0000 */ swc1 $f12, ($t0)
|
||||
/* 0912C8 800906C8 C50C0000 */ lwc1 $f12, ($t0)
|
||||
/* 0912CC 800906CC 460094A1 */ cvt.d.s $f18, $f18
|
||||
/* 0912D0 800906D0 46209482 */ mul.d $f18, $f18, $f0
|
||||
/* 0912D4 800906D4 460C8201 */ sub.s $f8, $f16, $f12
|
||||
/* 0912D8 800906D8 460052A1 */ cvt.d.s $f10, $f10
|
||||
/* 0912DC 800906DC 46325480 */ add.d $f18, $f10, $f18
|
||||
/* 0912E0 800906E0 462094A0 */ cvt.s.d $f18, $f18
|
||||
/* 0912E4 800906E4 46004221 */ cvt.d.s $f8, $f8
|
||||
/* 0912E8 800906E8 46204202 */ mul.d $f8, $f8, $f0
|
||||
/* 0912EC 800906EC 46006321 */ cvt.d.s $f12, $f12
|
||||
/* 0912F0 800906F0 E4720000 */ swc1 $f18, ($v1)
|
||||
/* 0912F4 800906F4 46286200 */ add.d $f8, $f12, $f8
|
||||
/* 0912F8 800906F8 46204220 */ cvt.s.d $f8, $f8
|
||||
/* 0912FC 800906FC 1445FFBF */ bne $v0, $a1, .L800905FC
|
||||
/* 091300 80090700 E5080000 */ swc1 $f8, ($t0)
|
||||
.L80090704:
|
||||
/* 091304 80090704 3C0E8012 */ lui $t6, %hi(gOpacityDecayTimer) # $t6, 0x8012
|
||||
/* 091308 80090708 8DCE63D8 */ lw $t6, %lo(gOpacityDecayTimer)($t6)
|
||||
/* 09130C 8009070C 3C038012 */ lui $v1, %hi(gTrackSelectX) # $v1, 0x8012
|
||||
/* 091310 80090710 3C088012 */ lui $t0, %hi(gTrackSelectY) # $t0, 0x8012
|
||||
/* 091314 80090714 24010020 */ li $at, 32
|
||||
/* 091318 80090718 250869E4 */ addiu $t0, %lo(gTrackSelectY) # addiu $t0, $t0, 0x69e4
|
||||
/* 09131C 8009071C 15C10034 */ bne $t6, $at, .L800907F0
|
||||
/* 091320 80090720 246369DC */ addiu $v1, %lo(gTrackSelectX) # addiu $v1, $v1, 0x69dc
|
||||
/* 091324 80090724 0C031CF8 */ jal get_thread30_level_id_to_load
|
||||
/* 091328 80090728 00000000 */ nop
|
||||
/* 09132C 8009072C 3C038012 */ lui $v1, %hi(gTrackSelectX) # $v1, 0x8012
|
||||
/* 091330 80090730 3C088012 */ lui $t0, %hi(gTrackSelectY) # $t0, 0x8012
|
||||
/* 091334 80090734 250869E4 */ addiu $t0, %lo(gTrackSelectY) # addiu $t0, $t0, 0x69e4
|
||||
/* 091338 80090738 1440002D */ bnez $v0, .L800907F0
|
||||
/* 09133C 8009073C 246369DC */ addiu $v1, %lo(gTrackSelectX) # addiu $v1, $v1, 0x69dc
|
||||
/* 091340 80090740 3C028012 */ lui $v0, %hi(D_801263D0) # $v0, 0x8012
|
||||
/* 091344 80090744 3C04800E */ lui $a0, %hi(gTrackIdForPreview) # $a0, 0x800e
|
||||
/* 091348 80090748 8C84F4C4 */ lw $a0, %lo(gTrackIdForPreview)($a0)
|
||||
/* 09134C 8009074C 8C4263D0 */ lw $v0, %lo(D_801263D0)($v0)
|
||||
/* 091350 80090750 3C0F8012 */ lui $t7, %hi(D_801269C8) # $t7, 0x8012
|
||||
/* 091354 80090754 14440008 */ bne $v0, $a0, .L80090778
|
||||
/* 091358 80090758 3C018012 */ lui $at, %hi(gSelectedTrackX) # $at, 0x8012
|
||||
/* 09135C 8009075C 8DEF69C8 */ lw $t7, %lo(D_801269C8)($t7)
|
||||
/* 091360 80090760 3C188012 */ lui $t8, %hi(D_801269CC) # $t8, 0x8012
|
||||
/* 091364 80090764 8F1869CC */ lw $t8, %lo(D_801269CC)($t8)
|
||||
/* 091368 80090768 AC2F69F4 */ sw $t7, %lo(gSelectedTrackX)($at)
|
||||
/* 09136C 8009076C 3C018012 */ lui $at, %hi(gSelectedTrackY) # $at, 0x8012
|
||||
/* 091370 80090770 1000001F */ b .L800907F0
|
||||
/* 091374 80090774 AC3869F8 */ sw $t8, %lo(gSelectedTrackY)($at)
|
||||
.L80090778:
|
||||
/* 091378 80090778 1044001D */ beq $v0, $a0, .L800907F0
|
||||
/* 09137C 8009077C 2401FFFF */ li $at, -1
|
||||
/* 091380 80090780 1081001B */ beq $a0, $at, .L800907F0
|
||||
/* 091384 80090784 00000000 */ nop
|
||||
/* 091388 80090788 0C031D16 */ jal set_level_to_load_in_background
|
||||
/* 09138C 8009078C 24050001 */ li $a1, 1
|
||||
/* 091390 80090790 3C038012 */ lui $v1, %hi(gTrackSelectX) # $v1, 0x8012
|
||||
/* 091394 80090794 3C088012 */ lui $t0, %hi(gTrackSelectY) # $t0, 0x8012
|
||||
/* 091398 80090798 250869E4 */ addiu $t0, %lo(gTrackSelectY) # addiu $t0, $t0, 0x69e4
|
||||
/* 09139C 8009079C 10400014 */ beqz $v0, .L800907F0
|
||||
/* 0913A0 800907A0 246369DC */ addiu $v1, %lo(gTrackSelectX) # addiu $v1, $v1, 0x69dc
|
||||
/* 0913A4 800907A4 3C04800E */ lui $a0, %hi(gTrackIdForPreview) # $a0, 0x800e
|
||||
/* 0913A8 800907A8 8C84F4C4 */ lw $a0, %lo(gTrackIdForPreview)($a0)
|
||||
/* 0913AC 800907AC 3C018012 */ lui $at, %hi(D_801263D0) # $at, 0x8012
|
||||
/* 0913B0 800907B0 3C198012 */ lui $t9, %hi(D_801269C8) # $t9, 0x8012
|
||||
/* 0913B4 800907B4 8F3969C8 */ lw $t9, %lo(D_801269C8)($t9)
|
||||
/* 0913B8 800907B8 AC2463D0 */ sw $a0, %lo(D_801263D0)($at)
|
||||
/* 0913BC 800907BC 3C018012 */ lui $at, %hi(gSelectedTrackX) # $at, 0x8012
|
||||
/* 0913C0 800907C0 3C0B8012 */ lui $t3, %hi(D_801269CC) # $t3, 0x8012
|
||||
/* 0913C4 800907C4 8D6B69CC */ lw $t3, %lo(D_801269CC)($t3)
|
||||
/* 0913C8 800907C8 AC3969F4 */ sw $t9, %lo(gSelectedTrackX)($at)
|
||||
/* 0913CC 800907CC 3C018012 */ lui $at, %hi(gSelectedTrackY) # $at, 0x8012
|
||||
/* 0913D0 800907D0 0C01AC2B */ jal get_map_default_vehicle
|
||||
/* 0913D4 800907D4 AC2B69F8 */ sw $t3, %lo(gSelectedTrackY)($at)
|
||||
/* 0913D8 800907D8 0C01B6C5 */ jal set_level_default_vehicle
|
||||
/* 0913DC 800907DC 00402025 */ move $a0, $v0
|
||||
/* 0913E0 800907E0 3C038012 */ lui $v1, %hi(gTrackSelectX) # $v1, 0x8012
|
||||
/* 0913E4 800907E4 3C088012 */ lui $t0, %hi(gTrackSelectY) # $t0, 0x8012
|
||||
/* 0913E8 800907E8 250869E4 */ addiu $t0, %lo(gTrackSelectY) # addiu $t0, $t0, 0x69e4
|
||||
/* 0913EC 800907EC 246369DC */ addiu $v1, %lo(gTrackSelectX) # addiu $v1, $v1, 0x69dc
|
||||
.L800907F0:
|
||||
/* 0913F0 800907F0 3C0C8012 */ lui $t4, %hi(gSelectedTrackX) # $t4, 0x8012
|
||||
/* 0913F4 800907F4 8D8C69F4 */ lw $t4, %lo(gSelectedTrackX)($t4)
|
||||
/* 0913F8 800907F8 3C098012 */ lui $t1, %hi(gTrackSelectViewportY) # $t1, 0x8012
|
||||
/* 0913FC 800907FC 000C6880 */ sll $t5, $t4, 2
|
||||
/* 091400 80090800 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 091404 80090804 000D6980 */ sll $t5, $t5, 6
|
||||
/* 091408 80090808 448D2000 */ mtc1 $t5, $f4
|
||||
/* 09140C 8009080C C4680000 */ lwc1 $f8, ($v1)
|
||||
/* 091410 80090810 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 091414 80090814 8D296480 */ lw $t1, %lo(gTrackSelectViewportY)($t1)
|
||||
/* 091418 80090818 3C014320 */ li $at, 0x43200000 # 160.000000
|
||||
/* 09141C 8009081C 3C0F8012 */ lui $t7, %hi(gSelectedTrackY) # $t7, 0x8012
|
||||
/* 091420 80090820 44819000 */ mtc1 $at, $f18
|
||||
/* 091424 80090824 8DEF69F8 */ lw $t7, %lo(gSelectedTrackY)($t7)
|
||||
/* 091428 80090828 46083281 */ sub.s $f10, $f6, $f8
|
||||
/* 09142C 8009082C 0009C023 */ negu $t8, $t1
|
||||
/* 091430 80090830 01F80019 */ multu $t7, $t8
|
||||
/* 091434 80090834 3C0142A0 */ li $at, 0x42A00000 # 80.000000
|
||||
/* 091438 80090838 44813000 */ mtc1 $at, $f6
|
||||
/* 09143C 8009083C 46125100 */ add.s $f4, $f10, $f18
|
||||
/* 091440 80090840 3C028012 */ lui $v0, %hi(gTrackSelectViewPortHalfY) # $v0, 0x8012
|
||||
/* 091444 80090844 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 091448 80090848 8C426478 */ lw $v0, %lo(gTrackSelectViewPortHalfY)($v0)
|
||||
/* 09144C 8009084C 444EF800 */ cfc1 $t6, $31
|
||||
/* 091450 80090850 C5060000 */ lwc1 $f6, ($t0)
|
||||
/* 091454 80090854 35C10003 */ ori $at, $t6, 3
|
||||
/* 091458 80090858 38210002 */ xori $at, $at, 2
|
||||
/* 09145C 8009085C 44C1F800 */ ctc1 $at, $31
|
||||
/* 091460 80090860 0000C812 */ mflo $t9
|
||||
/* 091464 80090864 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 091468 80090868 44999000 */ mtc1 $t9, $f18
|
||||
/* 09146C 8009086C 44CEF800 */ ctc1 $t6, $31
|
||||
/* 091470 80090870 44055000 */ mfc1 $a1, $f10
|
||||
/* 091474 80090874 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 091478 80090878 44825000 */ mtc1 $v0, $f10
|
||||
/* 09147C 8009087C 00095883 */ sra $t3, $t1, 2
|
||||
/* 091480 80090880 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 091484 80090884 448B3000 */ mtc1 $t3, $f6
|
||||
/* 091488 80090888 468054A0 */ cvt.s.w $f18, $f10
|
||||
/* 09148C 8009088C 24A700A0 */ addiu $a3, $a1, 0xa0
|
||||
/* 091490 80090890 AFA7003C */ sw $a3, 0x3c($sp)
|
||||
/* 091494 80090894 468032A0 */ cvt.s.w $f10, $f6
|
||||
/* 091498 80090898 00002025 */ move $a0, $zero
|
||||
/* 09149C 8009089C AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* 0914A0 800908A0 46089101 */ sub.s $f4, $f18, $f8
|
||||
/* 0914A4 800908A4 460A2481 */ sub.s $f18, $f4, $f10
|
||||
/* 0914A8 800908A8 444CF800 */ cfc1 $t4, $31
|
||||
/* 0914AC 800908AC 00000000 */ nop
|
||||
/* 0914B0 800908B0 35810003 */ ori $at, $t4, 3
|
||||
/* 0914B4 800908B4 38210002 */ xori $at, $at, 2
|
||||
/* 0914B8 800908B8 44C1F800 */ ctc1 $at, $31
|
||||
/* 0914BC 800908BC 00000000 */ nop
|
||||
/* 0914C0 800908C0 46009224 */ cvt.w.s $f8, $f18
|
||||
/* 0914C4 800908C4 44064000 */ mfc1 $a2, $f8
|
||||
/* 0914C8 800908C8 44CCF800 */ ctc1 $t4, $31
|
||||
/* 0914CC 800908CC 00C25021 */ addu $t2, $a2, $v0
|
||||
/* 0914D0 800908D0 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 0914D4 800908D4 AFAA0038 */ sw $t2, 0x38($sp)
|
||||
/* 0914D8 800908D8 0C019A50 */ jal resize_viewport
|
||||
/* 0914DC 800908DC AFA60040 */ sw $a2, 0x40($sp)
|
||||
/* 0914E0 800908E0 27AD0038 */ addiu $t5, $sp, 0x38
|
||||
/* 0914E4 800908E4 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 0914E8 800908E8 00002025 */ move $a0, $zero
|
||||
/* 0914EC 800908EC 27A50044 */ addiu $a1, $sp, 0x44
|
||||
/* 0914F0 800908F0 27A60040 */ addiu $a2, $sp, 0x40
|
||||
/* 0914F4 800908F4 0C019AEA */ jal copy_viewport_background_size_to_coords
|
||||
/* 0914F8 800908F8 27A7003C */ addiu $a3, $sp, 0x3c
|
||||
/* 0914FC 800908FC 00002025 */ move $a0, $zero
|
||||
/* 091500 80090900 0C019A06 */ jal camEnableUserView
|
||||
/* 091504 80090904 00002825 */ move $a1, $zero
|
||||
/* 091508 80090908 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 09150C 8009090C 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
/* 091510 80090910 03E00008 */ jr $ra
|
||||
/* 091514 80090914 00000000 */ nop
|
||||
|
||||
@@ -1,102 +0,0 @@
|
||||
glabel func_800998E0
|
||||
/* 09A4E0 800998E0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 09A4E4 800998E4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 09A4E8 800998E8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 09A4EC 800998EC 00803025 */ move $a2, $a0
|
||||
/* 09A4F0 800998F0 04800055 */ bltz $a0, .L80099A48
|
||||
/* 09A4F4 800998F4 00005025 */ move $t2, $zero
|
||||
/* 09A4F8 800998F8 3C038012 */ lui $v1, %hi(D_801264D4) # $v1, 0x8012
|
||||
/* 09A4FC 800998FC 246364D4 */ addiu $v1, %lo(D_801264D4) # addiu $v1, $v1, 0x64d4
|
||||
/* 09A500 80099900 8C6E0000 */ lw $t6, ($v1)
|
||||
/* 09A504 80099904 00002825 */ move $a1, $zero
|
||||
/* 09A508 80099908 008E082A */ slt $at, $a0, $t6
|
||||
/* 09A50C 8009990C 1020004E */ beqz $at, .L80099A48
|
||||
/* 09A510 80099910 240400EF */ li $a0, 239
|
||||
/* 09A514 80099914 0C000741 */ jal play_sound_global
|
||||
/* 09A518 80099918 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 09A51C 8009991C 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 09A520 80099920 3C108012 */ lui $s0, %hi(D_80126540) # $s0, 0x8012
|
||||
/* 09A524 80099924 02068021 */ addu $s0, $s0, $a2
|
||||
/* 09A528 80099928 92106540 */ lbu $s0, %lo(D_80126540)($s0)
|
||||
/* 09A52C 8009992C 3C048012 */ lui $a0, %hi(D_801264D0) # $a0, 0x8012
|
||||
/* 09A530 80099930 8C8464D0 */ lw $a0, %lo(D_801264D0)($a0)
|
||||
/* 09A534 80099934 0C01D4F6 */ jal func_800753D8
|
||||
/* 09A538 80099938 02002825 */ move $a1, $s0
|
||||
/* 09A53C 8009993C 3C038012 */ lui $v1, %hi(D_801264D4) # $v1, 0x8012
|
||||
/* 09A540 80099940 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 09A544 80099944 246364D4 */ addiu $v1, %lo(D_801264D4) # addiu $v1, $v1, 0x64d4
|
||||
/* 09A548 80099948 1440003F */ bnez $v0, .L80099A48
|
||||
/* 09A54C 8009994C 00405025 */ move $t2, $v0
|
||||
/* 09A550 80099950 3C018012 */ lui $at, %hi(D_801264DC) # $at, 0x8012
|
||||
/* 09A554 80099954 00300821 */ addu $at, $at, $s0
|
||||
/* 09A558 80099958 240F00FF */ li $t7, 255
|
||||
/* 09A55C 8009995C A02F64DC */ sb $t7, %lo(D_801264DC)($at)
|
||||
/* 09A560 80099960 8C780000 */ lw $t8, ($v1)
|
||||
/* 09A564 80099964 00C04025 */ move $t0, $a2
|
||||
/* 09A568 80099968 2719FFFF */ addiu $t9, $t8, -1
|
||||
/* 09A56C 8009996C 00D9082A */ slt $at, $a2, $t9
|
||||
/* 09A570 80099970 AC790000 */ sw $t9, ($v1)
|
||||
/* 09A574 80099974 10200026 */ beqz $at, .L80099A10
|
||||
/* 09A578 80099978 03204825 */ move $t1, $t9
|
||||
/* 09A57C 8009997C 3C0B8012 */ lui $t3, %hi(D_80126540) # $t3, 0x8012
|
||||
/* 09A580 80099980 256B6540 */ addiu $t3, %lo(D_80126540) # addiu $t3, $t3, 0x6540
|
||||
/* 09A584 80099984 00CB1021 */ addu $v0, $a2, $t3
|
||||
/* 09A588 80099988 3C0C8012 */ lui $t4, %hi(D_80126508) # $t4, 0x8012
|
||||
/* 09A58C 8009998C 3C0D8012 */ lui $t5, %hi(D_80126510) # $t5, 0x8012
|
||||
/* 09A590 80099990 25AD6510 */ addiu $t5, %lo(D_80126510) # addiu $t5, $t5, 0x6510
|
||||
/* 09A594 80099994 258C6508 */ addiu $t4, %lo(D_80126508) # addiu $t4, $t4, 0x6508
|
||||
/* 09A598 80099998 3C0B8012 */ lui $t3, %hi(D_80126520) # $t3, 0x8012
|
||||
/* 09A59C 8009999C 3C0E8012 */ lui $t6, %hi(D_80126518) # $t6, 0x8012
|
||||
/* 09A5A0 800999A0 3C188012 */ lui $t8, %hi(D_80126520) # $t8, 0x8012
|
||||
/* 09A5A4 800999A4 27186520 */ addiu $t8, %lo(D_80126520) # addiu $t8, $t8, 0x6520
|
||||
/* 09A5A8 800999A8 25CE6518 */ addiu $t6, %lo(D_80126518) # addiu $t6, $t6, 0x6518
|
||||
/* 09A5AC 800999AC 256B6520 */ addiu $t3, %lo(D_80126520) # addiu $t3, $t3, 0x6520
|
||||
/* 09A5B0 800999B0 00CC2021 */ addu $a0, $a2, $t4
|
||||
/* 09A5B4 800999B4 00CD2821 */ addu $a1, $a2, $t5
|
||||
/* 09A5B8 800999B8 00087840 */ sll $t7, $t0, 1
|
||||
/* 09A5BC 800999BC 0019C840 */ sll $t9, $t9, 1
|
||||
/* 09A5C0 800999C0 032B3821 */ addu $a3, $t9, $t3
|
||||
/* 09A5C4 800999C4 01F81821 */ addu $v1, $t7, $t8
|
||||
/* 09A5C8 800999C8 00CE3021 */ addu $a2, $a2, $t6
|
||||
.L800999CC:
|
||||
/* 09A5CC 800999CC 904C0001 */ lbu $t4, 1($v0)
|
||||
/* 09A5D0 800999D0 908D0001 */ lbu $t5, 1($a0)
|
||||
/* 09A5D4 800999D4 90AE0001 */ lbu $t6, 1($a1)
|
||||
/* 09A5D8 800999D8 90CF0001 */ lbu $t7, 1($a2)
|
||||
/* 09A5DC 800999DC 94780002 */ lhu $t8, 2($v1)
|
||||
/* 09A5E0 800999E0 24630002 */ addiu $v1, $v1, 2
|
||||
/* 09A5E4 800999E4 0067082B */ sltu $at, $v1, $a3
|
||||
/* 09A5E8 800999E8 24420001 */ addiu $v0, $v0, 1
|
||||
/* 09A5EC 800999EC 24840001 */ addiu $a0, $a0, 1
|
||||
/* 09A5F0 800999F0 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 09A5F4 800999F4 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 09A5F8 800999F8 A04CFFFF */ sb $t4, -1($v0)
|
||||
/* 09A5FC 800999FC A08DFFFF */ sb $t5, -1($a0)
|
||||
/* 09A600 80099A00 A0AEFFFF */ sb $t6, -1($a1)
|
||||
/* 09A604 80099A04 A0CFFFFF */ sb $t7, -1($a2)
|
||||
/* 09A608 80099A08 1420FFF0 */ bnez $at, .L800999CC
|
||||
/* 09A60C 80099A0C A478FFFE */ sh $t8, -2($v1)
|
||||
.L80099A10:
|
||||
/* 09A610 80099A10 1920000D */ blez $t1, .L80099A48
|
||||
/* 09A614 80099A14 3C198012 */ lui $t9, %hi(D_80126540) # $t9, 0x8012
|
||||
/* 09A618 80099A18 27226540 */ addiu $v0, $t9, %lo(D_80126540)
|
||||
/* 09A61C 80099A1C 01222021 */ addu $a0, $t1, $v0
|
||||
.L80099A20:
|
||||
/* 09A620 80099A20 90430000 */ lbu $v1, ($v0)
|
||||
/* 09A624 80099A24 00000000 */ nop
|
||||
/* 09A628 80099A28 0203082A */ slt $at, $s0, $v1
|
||||
/* 09A62C 80099A2C 10200002 */ beqz $at, .L80099A38
|
||||
/* 09A630 80099A30 246BFFFF */ addiu $t3, $v1, -1
|
||||
/* 09A634 80099A34 A04B0000 */ sb $t3, ($v0)
|
||||
.L80099A38:
|
||||
/* 09A638 80099A38 24420001 */ addiu $v0, $v0, 1
|
||||
/* 09A63C 80099A3C 0044082B */ sltu $at, $v0, $a0
|
||||
/* 09A640 80099A40 1420FFF7 */ bnez $at, .L80099A20
|
||||
/* 09A644 80099A44 00000000 */ nop
|
||||
.L80099A48:
|
||||
/* 09A648 80099A48 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 09A64C 80099A4C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 09A650 80099A50 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 09A654 80099A54 03E00008 */ jr $ra
|
||||
/* 09A658 80099A58 01401025 */ move $v0, $t2
|
||||
|
||||
@@ -536,7 +536,7 @@ glabel menu_track_select_init
|
||||
/* 08FBA8 8008EFA8 00000000 */ nop
|
||||
/* 08FBAC 8008EFAC 0C0002C6 */ jal func_80000B18
|
||||
/* 08FBB0 8008EFB0 00000000 */ nop
|
||||
/* 08FBB4 8008EFB4 0C01BD59 */ jal set_D_800DD430
|
||||
/* 08FBB4 8008EFB4 0C01BD59 */ jal set_gIntDisFlag
|
||||
/* 08FBB8 8008EFB8 24040001 */ li $a0, 1
|
||||
/* 08FBBC 8008EFBC 3C0C800E */ lui $t4, %hi(gTracksMenuAdventureHighlightIndex) # $t4, 0x800e
|
||||
/* 08FBC0 8008EFC0 8D8C0418 */ lw $t4, %lo(gTracksMenuAdventureHighlightIndex)($t4)
|
||||
|
||||
@@ -1,242 +0,0 @@
|
||||
glabel render_magic_codes_list_menu_text
|
||||
/* 08B16C 8008A56C 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* 08B170 8008A570 AFBF004C */ sw $ra, 0x4c($sp)
|
||||
/* 08B174 8008A574 AFA40050 */ sw $a0, 0x50($sp)
|
||||
/* 08B178 8008A578 AFBE0048 */ sw $fp, 0x48($sp)
|
||||
/* 08B17C 8008A57C AFB70044 */ sw $s7, 0x44($sp)
|
||||
/* 08B180 8008A580 AFB60040 */ sw $s6, 0x40($sp)
|
||||
/* 08B184 8008A584 AFB5003C */ sw $s5, 0x3c($sp)
|
||||
/* 08B188 8008A588 AFB40038 */ sw $s4, 0x38($sp)
|
||||
/* 08B18C 8008A58C AFB30034 */ sw $s3, 0x34($sp)
|
||||
/* 08B190 8008A590 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 08B194 8008A594 AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 08B198 8008A598 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 08B19C 8008A59C 00002025 */ move $a0, $zero
|
||||
/* 08B1A0 8008A5A0 00002825 */ move $a1, $zero
|
||||
/* 08B1A4 8008A5A4 00003025 */ move $a2, $zero
|
||||
/* 08B1A8 8008A5A8 0C0310F3 */ jal set_text_background_colour
|
||||
/* 08B1AC 8008A5AC 00003825 */ move $a3, $zero
|
||||
/* 08B1B0 8008A5B0 0C0310BB */ jal set_text_font
|
||||
/* 08B1B4 8008A5B4 24040002 */ li $a0, 2
|
||||
/* 08B1B8 8008A5B8 240E0080 */ li $t6, 128
|
||||
/* 08B1BC 8008A5BC AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 08B1C0 8008A5C0 00002025 */ move $a0, $zero
|
||||
/* 08B1C4 8008A5C4 00002825 */ move $a1, $zero
|
||||
/* 08B1C8 8008A5C8 00003025 */ move $a2, $zero
|
||||
/* 08B1CC 8008A5CC 0C0310E1 */ jal set_text_colour
|
||||
/* 08B1D0 8008A5D0 240700FF */ li $a3, 255
|
||||
/* 08B1D4 8008A5D4 3C17800E */ lui $s7, %hi(gMenuText) # $s7, 0x800e
|
||||
/* 08B1D8 8008A5D8 26F7F4A0 */ addiu $s7, %lo(gMenuText) # addiu $s7, $s7, -0xb60
|
||||
/* 08B1DC 8008A5DC 8EEF0000 */ lw $t7, ($s7)
|
||||
/* 08B1E0 8008A5E0 3C158012 */ lui $s5, %hi(sMenuCurrDisplayList) # $s5, 0x8012
|
||||
/* 08B1E4 8008A5E4 26B563A0 */ addiu $s5, %lo(sMenuCurrDisplayList) # addiu $s5, $s5, 0x63a0
|
||||
/* 08B1E8 8008A5E8 2418000C */ li $t8, 12
|
||||
/* 08B1EC 8008A5EC 8DE70050 */ lw $a3, 0x50($t7)
|
||||
/* 08B1F0 8008A5F0 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 08B1F4 8008A5F4 02A02025 */ move $a0, $s5
|
||||
/* 08B1F8 8008A5F8 240500A1 */ li $a1, 161
|
||||
/* 08B1FC 8008A5FC 0C031110 */ jal draw_text
|
||||
/* 08B200 8008A600 24060023 */ li $a2, 35
|
||||
/* 08B204 8008A604 241900FF */ li $t9, 255
|
||||
/* 08B208 8008A608 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 08B20C 8008A60C 240400FF */ li $a0, 255
|
||||
/* 08B210 8008A610 240500FF */ li $a1, 255
|
||||
/* 08B214 8008A614 240600FF */ li $a2, 255
|
||||
/* 08B218 8008A618 0C0310E1 */ jal set_text_colour
|
||||
/* 08B21C 8008A61C 00003825 */ move $a3, $zero
|
||||
/* 08B220 8008A620 8EE80000 */ lw $t0, ($s7)
|
||||
/* 08B224 8008A624 2409000C */ li $t1, 12
|
||||
/* 08B228 8008A628 8D070050 */ lw $a3, 0x50($t0)
|
||||
/* 08B22C 8008A62C AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 08B230 8008A630 02A02025 */ move $a0, $s5
|
||||
/* 08B234 8008A634 240500A0 */ li $a1, 160
|
||||
/* 08B238 8008A638 0C031110 */ jal draw_text
|
||||
/* 08B23C 8008A63C 24060020 */ li $a2, 32
|
||||
/* 08B240 8008A640 3C03800E */ lui $v1, %hi(gUnlockedMagicCodes) # $v1, 0x800e
|
||||
/* 08B244 8008A644 3C048012 */ lui $a0, %hi(D_80126C80) # $a0, 0x8012
|
||||
/* 08B248 8008A648 8C63FD9C */ lw $v1, %lo(gUnlockedMagicCodes)($v1)
|
||||
/* 08B24C 8008A64C 24846C80 */ addiu $a0, %lo(D_80126C80) # addiu $a0, $a0, 0x6c80
|
||||
/* 08B250 8008A650 00008025 */ move $s0, $zero
|
||||
/* 08B254 8008A654 24020001 */ li $v0, 1
|
||||
/* 08B258 8008A658 00009825 */ move $s3, $zero
|
||||
.L8008A65C:
|
||||
/* 08B25C 8008A65C 00435024 */ and $t2, $v0, $v1
|
||||
/* 08B260 8008A660 11400005 */ beqz $t2, .L8008A678
|
||||
/* 08B264 8008A664 00026840 */ sll $t5, $v0, 1
|
||||
/* 08B268 8008A668 00135840 */ sll $t3, $s3, 1
|
||||
/* 08B26C 8008A66C 008B6021 */ addu $t4, $a0, $t3
|
||||
/* 08B270 8008A670 A5900000 */ sh $s0, ($t4)
|
||||
/* 08B274 8008A674 26730001 */ addiu $s3, $s3, 1
|
||||
.L8008A678:
|
||||
/* 08B278 8008A678 26100001 */ addiu $s0, $s0, 1
|
||||
/* 08B27C 8008A67C 2A010020 */ slti $at, $s0, 0x20
|
||||
/* 08B280 8008A680 1420FFF6 */ bnez $at, .L8008A65C
|
||||
/* 08B284 8008A684 01A01025 */ move $v0, $t5
|
||||
/* 08B288 8008A688 3C1E8012 */ lui $fp, %hi(gOptionBlinkTimer) # $fp, 0x8012
|
||||
/* 08B28C 8008A68C 8FDE63BC */ lw $fp, %lo(gOptionBlinkTimer)($fp)
|
||||
/* 08B290 8008A690 24120036 */ li $s2, 54
|
||||
/* 08B294 8008A694 001E70C0 */ sll $t6, $fp, 3
|
||||
/* 08B298 8008A698 29C10100 */ slti $at, $t6, 0x100
|
||||
/* 08B29C 8008A69C 14200003 */ bnez $at, .L8008A6AC
|
||||
/* 08B2A0 8008A6A0 01C0F025 */ move $fp, $t6
|
||||
/* 08B2A4 8008A6A4 240F01FF */ li $t7, 511
|
||||
/* 08B2A8 8008A6A8 01EEF023 */ subu $fp, $t7, $t6
|
||||
.L8008A6AC:
|
||||
/* 08B2AC 8008A6AC 0C0310BB */ jal set_text_font
|
||||
/* 08B2B0 8008A6B0 00002025 */ move $a0, $zero
|
||||
/* 08B2B4 8008A6B4 241800FF */ li $t8, 255
|
||||
/* 08B2B8 8008A6B8 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 08B2BC 8008A6BC 240400FF */ li $a0, 255
|
||||
/* 08B2C0 8008A6C0 240500FF */ li $a1, 255
|
||||
/* 08B2C4 8008A6C4 240600FF */ li $a2, 255
|
||||
/* 08B2C8 8008A6C8 0C0310E1 */ jal set_text_colour
|
||||
/* 08B2CC 8008A6CC 00003825 */ move $a3, $zero
|
||||
/* 08B2D0 8008A6D0 3C038012 */ lui $v1, %hi(gMenuOptionCount) # $v1, 0x8012
|
||||
/* 08B2D4 8008A6D4 3C198012 */ lui $t9, %hi(gNumOnscreenMagicCodes) # $t9, 0x8012
|
||||
/* 08B2D8 8008A6D8 8F396C70 */ lw $t9, %lo(gNumOnscreenMagicCodes)($t9)
|
||||
/* 08B2DC 8008A6DC 8C6363E0 */ lw $v1, %lo(gMenuOptionCount)($v1)
|
||||
/* 08B2E0 8008A6E0 3C168012 */ lui $s6, %hi(gCheatsAssetData) # $s6, 0x8012
|
||||
/* 08B2E4 8008A6E4 8ED66C30 */ lw $s6, %lo(gCheatsAssetData)($s6)
|
||||
/* 08B2E8 8008A6E8 00791021 */ addu $v0, $v1, $t9
|
||||
/* 08B2EC 8008A6EC 0062082A */ slt $at, $v1, $v0
|
||||
/* 08B2F0 8008A6F0 00608025 */ move $s0, $v1
|
||||
/* 08B2F4 8008A6F4 1020004B */ beqz $at, .L8008A824
|
||||
/* 08B2F8 8008A6F8 26D60002 */ addiu $s6, $s6, 2
|
||||
/* 08B2FC 8008A6FC 0073082A */ slt $at, $v1, $s3
|
||||
/* 08B300 8008A700 10200048 */ beqz $at, .L8008A824
|
||||
/* 08B304 8008A704 00034040 */ sll $t0, $v1, 1
|
||||
/* 08B308 8008A708 3C098012 */ lui $t1, %hi(D_80126C80) # $t1, 0x8012
|
||||
/* 08B30C 8008A70C 25296C80 */ addiu $t1, %lo(D_80126C80) # addiu $t1, $t1, 0x6c80
|
||||
/* 08B310 8008A710 3C148012 */ lui $s4, %hi(gOptionsMenuItemIndex) # $s4, 0x8012
|
||||
/* 08B314 8008A714 26946C46 */ addiu $s4, %lo(gOptionsMenuItemIndex) # addiu $s4, $s4, 0x6c46
|
||||
/* 08B318 8008A718 01098821 */ addu $s1, $t0, $t1
|
||||
.L8008A71C:
|
||||
/* 08B31C 8008A71C 868A0000 */ lh $t2, ($s4)
|
||||
/* 08B320 8008A720 240400FF */ li $a0, 255
|
||||
/* 08B324 8008A724 160A0006 */ bne $s0, $t2, .L8008A740
|
||||
/* 08B328 8008A728 240500FF */ li $a1, 255
|
||||
/* 08B32C 8008A72C 240B00FF */ li $t3, 255
|
||||
/* 08B330 8008A730 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 08B334 8008A734 240600FF */ li $a2, 255
|
||||
/* 08B338 8008A738 0C0310E1 */ jal set_text_colour
|
||||
/* 08B33C 8008A73C 03C03825 */ move $a3, $fp
|
||||
.L8008A740:
|
||||
/* 08B340 8008A740 862D0000 */ lh $t5, ($s1)
|
||||
/* 08B344 8008A744 3C198012 */ lui $t9, %hi(gCheatsAssetData) # $t9, 0x8012
|
||||
/* 08B348 8008A748 000D7080 */ sll $t6, $t5, 2
|
||||
/* 08B34C 8008A74C 02CE7821 */ addu $t7, $s6, $t6
|
||||
/* 08B350 8008A750 95F80002 */ lhu $t8, 2($t7)
|
||||
/* 08B354 8008A754 8F396C30 */ lw $t9, %lo(gCheatsAssetData)($t9)
|
||||
/* 08B358 8008A758 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 08B35C 8008A75C 02A02025 */ move $a0, $s5
|
||||
/* 08B360 8008A760 24050030 */ li $a1, 48
|
||||
/* 08B364 8008A764 02403025 */ move $a2, $s2
|
||||
/* 08B368 8008A768 0C031110 */ jal draw_text
|
||||
/* 08B36C 8008A76C 03193821 */ addu $a3, $t8, $t9
|
||||
/* 08B370 8008A770 86280000 */ lh $t0, ($s1)
|
||||
/* 08B374 8008A774 3C0B800E */ lui $t3, %hi(gActiveMagicCodes) # $t3, 0x800e
|
||||
/* 08B378 8008A778 8D6BFD98 */ lw $t3, %lo(gActiveMagicCodes)($t3)
|
||||
/* 08B37C 8008A77C 24090001 */ li $t1, 1
|
||||
/* 08B380 8008A780 01095004 */ sllv $t2, $t1, $t0
|
||||
/* 08B384 8008A784 014B6024 */ and $t4, $t2, $t3
|
||||
/* 08B388 8008A788 1180000A */ beqz $t4, .L8008A7B4
|
||||
/* 08B38C 8008A78C 02A02025 */ move $a0, $s5
|
||||
/* 08B390 8008A790 8EED0000 */ lw $t5, ($s7)
|
||||
/* 08B394 8008A794 02A02025 */ move $a0, $s5
|
||||
/* 08B398 8008A798 8DA70054 */ lw $a3, 0x54($t5)
|
||||
/* 08B39C 8008A79C AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 08B3A0 8008A7A0 24050100 */ li $a1, 256
|
||||
/* 08B3A4 8008A7A4 0C031110 */ jal draw_text
|
||||
/* 08B3A8 8008A7A8 02403025 */ move $a2, $s2
|
||||
/* 08B3AC 8008A7AC 10000008 */ b .L8008A7D0
|
||||
/* 08B3B0 8008A7B0 868F0000 */ lh $t7, ($s4)
|
||||
.L8008A7B4:
|
||||
/* 08B3B4 8008A7B4 8EEE0000 */ lw $t6, ($s7)
|
||||
/* 08B3B8 8008A7B8 24050100 */ li $a1, 256
|
||||
/* 08B3BC 8008A7BC 8DC70058 */ lw $a3, 0x58($t6)
|
||||
/* 08B3C0 8008A7C0 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 08B3C4 8008A7C4 0C031110 */ jal draw_text
|
||||
/* 08B3C8 8008A7C8 02403025 */ move $a2, $s2
|
||||
/* 08B3CC 8008A7CC 868F0000 */ lh $t7, ($s4)
|
||||
.L8008A7D0:
|
||||
/* 08B3D0 8008A7D0 240400FF */ li $a0, 255
|
||||
/* 08B3D4 8008A7D4 160F0006 */ bne $s0, $t7, .L8008A7F0
|
||||
/* 08B3D8 8008A7D8 240500FF */ li $a1, 255
|
||||
/* 08B3DC 8008A7DC 241800FF */ li $t8, 255
|
||||
/* 08B3E0 8008A7E0 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 08B3E4 8008A7E4 240600FF */ li $a2, 255
|
||||
/* 08B3E8 8008A7E8 0C0310E1 */ jal set_text_colour
|
||||
/* 08B3EC 8008A7EC 00003825 */ move $a3, $zero
|
||||
.L8008A7F0:
|
||||
/* 08B3F0 8008A7F0 3C198012 */ lui $t9, %hi(gMenuOptionCount) # $t9, 0x8012
|
||||
/* 08B3F4 8008A7F4 3C098012 */ lui $t1, %hi(gNumOnscreenMagicCodes) # $t1, 0x8012
|
||||
/* 08B3F8 8008A7F8 8D296C70 */ lw $t1, %lo(gNumOnscreenMagicCodes)($t1)
|
||||
/* 08B3FC 8008A7FC 8F3963E0 */ lw $t9, %lo(gMenuOptionCount)($t9)
|
||||
/* 08B400 8008A800 26100001 */ addiu $s0, $s0, 1
|
||||
/* 08B404 8008A804 03291021 */ addu $v0, $t9, $t1
|
||||
/* 08B408 8008A808 0202082A */ slt $at, $s0, $v0
|
||||
/* 08B40C 8008A80C 26310002 */ addiu $s1, $s1, 2
|
||||
/* 08B410 8008A810 10200004 */ beqz $at, .L8008A824
|
||||
/* 08B414 8008A814 26520010 */ addiu $s2, $s2, 0x10
|
||||
/* 08B418 8008A818 0213082A */ slt $at, $s0, $s3
|
||||
/* 08B41C 8008A81C 1420FFBF */ bnez $at, .L8008A71C
|
||||
/* 08B420 8008A820 00000000 */ nop
|
||||
.L8008A824:
|
||||
/* 08B424 8008A824 3C148012 */ lui $s4, %hi(gOptionsMenuItemIndex) # $s4, 0x8012
|
||||
/* 08B428 8008A828 0202082A */ slt $at, $s0, $v0
|
||||
/* 08B42C 8008A82C 10200014 */ beqz $at, .L8008A880
|
||||
/* 08B430 8008A830 26946C46 */ addiu $s4, %lo(gOptionsMenuItemIndex) # addiu $s4, $s4, 0x6c46
|
||||
/* 08B434 8008A834 86880000 */ lh $t0, ($s4)
|
||||
/* 08B438 8008A838 240400FF */ li $a0, 255
|
||||
/* 08B43C 8008A83C 16680006 */ bne $s3, $t0, .L8008A858
|
||||
/* 08B440 8008A840 240500FF */ li $a1, 255
|
||||
/* 08B444 8008A844 240A00FF */ li $t2, 255
|
||||
/* 08B448 8008A848 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 08B44C 8008A84C 240600FF */ li $a2, 255
|
||||
/* 08B450 8008A850 0C0310E1 */ jal set_text_colour
|
||||
/* 08B454 8008A854 03C03825 */ move $a3, $fp
|
||||
.L8008A858:
|
||||
/* 08B458 8008A858 8EEB0000 */ lw $t3, ($s7)
|
||||
/* 08B45C 8008A85C 240C0004 */ li $t4, 4
|
||||
/* 08B460 8008A860 8D670014 */ lw $a3, 0x14($t3)
|
||||
/* 08B464 8008A864 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 08B468 8008A868 02A02025 */ move $a0, $s5
|
||||
/* 08B46C 8008A86C 24058000 */ li $a1, -32768
|
||||
/* 08B470 8008A870 0C031110 */ jal draw_text
|
||||
/* 08B474 8008A874 02403025 */ move $a2, $s2
|
||||
/* 08B478 8008A878 10000014 */ b .L8008A8CC
|
||||
/* 08B47C 8008A87C 8FBF004C */ lw $ra, 0x4c($sp)
|
||||
.L8008A880:
|
||||
/* 08B480 8008A880 3C0D8012 */ lui $t5, %hi(gOptionBlinkTimer) # $t5, 0x8012
|
||||
/* 08B484 8008A884 8DAD63BC */ lw $t5, %lo(gOptionBlinkTimer)($t5)
|
||||
/* 08B488 8008A888 02A02025 */ move $a0, $s5
|
||||
/* 08B48C 8008A88C 31AE0008 */ andi $t6, $t5, 8
|
||||
/* 08B490 8008A890 11C0000D */ beqz $t6, .L8008A8C8
|
||||
/* 08B494 8008A894 3C05800E */ lui $a1, %hi(gMenuSelectionArrowDown) # $a1, 0x800e
|
||||
/* 08B498 8008A898 240F00FF */ li $t7, 255
|
||||
/* 08B49C 8008A89C 241800FF */ li $t8, 255
|
||||
/* 08B4A0 8008A8A0 241900FF */ li $t9, 255
|
||||
/* 08B4A4 8008A8A4 240900FF */ li $t1, 255
|
||||
/* 08B4A8 8008A8A8 AFA9001C */ sw $t1, 0x1c($sp)
|
||||
/* 08B4AC 8008A8AC AFB90018 */ sw $t9, 0x18($sp)
|
||||
/* 08B4B0 8008A8B0 AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* 08B4B4 8008A8B4 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 08B4B8 8008A8B8 24A5043C */ addiu $a1, %lo(gMenuSelectionArrowDown) # addiu $a1, $a1, 0x43c
|
||||
/* 08B4BC 8008A8BC 240600A0 */ li $a2, 160
|
||||
/* 08B4C0 8008A8C0 0C01E2AE */ jal render_textured_rectangle
|
||||
/* 08B4C4 8008A8C4 26470008 */ addiu $a3, $s2, 8
|
||||
.L8008A8C8:
|
||||
/* 08B4C8 8008A8C8 8FBF004C */ lw $ra, 0x4c($sp)
|
||||
.L8008A8CC:
|
||||
/* 08B4CC 8008A8CC 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 08B4D0 8008A8D0 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* 08B4D4 8008A8D4 8FB20030 */ lw $s2, 0x30($sp)
|
||||
/* 08B4D8 8008A8D8 8FB30034 */ lw $s3, 0x34($sp)
|
||||
/* 08B4DC 8008A8DC 8FB40038 */ lw $s4, 0x38($sp)
|
||||
/* 08B4E0 8008A8E0 8FB5003C */ lw $s5, 0x3c($sp)
|
||||
/* 08B4E4 8008A8E4 8FB60040 */ lw $s6, 0x40($sp)
|
||||
/* 08B4E8 8008A8E8 8FB70044 */ lw $s7, 0x44($sp)
|
||||
/* 08B4EC 8008A8EC 8FBE0048 */ lw $fp, 0x48($sp)
|
||||
/* 08B4F0 8008A8F0 03E00008 */ jr $ra
|
||||
/* 08B4F4 8008A8F4 27BD0050 */ addiu $sp, $sp, 0x50
|
||||
|
||||
@@ -1,428 +0,0 @@
|
||||
glabel render_magic_codes_ui
|
||||
/* 08A2A4 800896A4 27BDFF80 */ addiu $sp, $sp, -0x80
|
||||
/* 08A2A8 800896A8 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 08A2AC 800896AC AFA40080 */ sw $a0, 0x80($sp)
|
||||
/* 08A2B0 800896B0 AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* 08A2B4 800896B4 AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* 08A2B8 800896B8 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* 08A2BC 800896BC AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* 08A2C0 800896C0 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 08A2C4 800896C4 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 08A2C8 800896C8 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 08A2CC 800896CC AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 08A2D0 800896D0 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 08A2D4 800896D4 00002025 */ move $a0, $zero
|
||||
/* 08A2D8 800896D8 00002825 */ move $a1, $zero
|
||||
/* 08A2DC 800896DC 00003025 */ move $a2, $zero
|
||||
/* 08A2E0 800896E0 0C0310F3 */ jal set_text_background_colour
|
||||
/* 08A2E4 800896E4 00003825 */ move $a3, $zero
|
||||
/* 08A2E8 800896E8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A2EC 800896EC 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A2F0 800896F0 00002825 */ move $a1, $zero
|
||||
/* 08A2F4 800896F4 00003025 */ move $a2, $zero
|
||||
/* 08A2F8 800896F8 0C0316D6 */ jal render_dialogue_box
|
||||
/* 08A2FC 800896FC 24070007 */ li $a3, 7
|
||||
/* 08A300 80089700 0C0310BB */ jal set_text_font
|
||||
/* 08A304 80089704 24040002 */ li $a0, 2
|
||||
/* 08A308 80089708 240E0080 */ li $t6, 128
|
||||
/* 08A30C 8008970C AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 08A310 80089710 00002025 */ move $a0, $zero
|
||||
/* 08A314 80089714 00002825 */ move $a1, $zero
|
||||
/* 08A318 80089718 00003025 */ move $a2, $zero
|
||||
/* 08A31C 8008971C 0C0310E1 */ jal set_text_colour
|
||||
/* 08A320 80089720 240700FF */ li $a3, 255
|
||||
/* 08A324 80089724 3C0F800E */ lui $t7, %hi(gMenuText) # $t7, 0x800e
|
||||
/* 08A328 80089728 8DEFF4A0 */ lw $t7, %lo(gMenuText)($t7)
|
||||
/* 08A32C 8008972C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A330 80089730 2418000C */ li $t8, 12
|
||||
/* 08A334 80089734 8DE70044 */ lw $a3, 0x44($t7)
|
||||
/* 08A338 80089738 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 08A33C 8008973C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A340 80089740 240500A1 */ li $a1, 161
|
||||
/* 08A344 80089744 0C031110 */ jal draw_text
|
||||
/* 08A348 80089748 24060023 */ li $a2, 35
|
||||
/* 08A34C 8008974C 241900FF */ li $t9, 255
|
||||
/* 08A350 80089750 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 08A354 80089754 240400FF */ li $a0, 255
|
||||
/* 08A358 80089758 240500FF */ li $a1, 255
|
||||
/* 08A35C 8008975C 240600FF */ li $a2, 255
|
||||
/* 08A360 80089760 0C0310E1 */ jal set_text_colour
|
||||
/* 08A364 80089764 00003825 */ move $a3, $zero
|
||||
/* 08A368 80089768 3C09800E */ lui $t1, %hi(gMenuText) # $t1, 0x800e
|
||||
/* 08A36C 8008976C 8D29F4A0 */ lw $t1, %lo(gMenuText)($t1)
|
||||
/* 08A370 80089770 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A374 80089774 240A000C */ li $t2, 12
|
||||
/* 08A378 80089778 8D270044 */ lw $a3, 0x44($t1)
|
||||
/* 08A37C 8008977C AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 08A380 80089780 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A384 80089784 240500A0 */ li $a1, 160
|
||||
/* 08A388 80089788 0C031110 */ jal draw_text
|
||||
/* 08A38C 8008978C 24060020 */ li $a2, 32
|
||||
/* 08A390 80089790 24130041 */ li $s3, 65
|
||||
/* 08A394 80089794 0C0310BB */ jal set_text_font
|
||||
/* 08A398 80089798 00002025 */ move $a0, $zero
|
||||
/* 08A39C 8008979C 240B00FF */ li $t3, 255
|
||||
/* 08A3A0 800897A0 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 08A3A4 800897A4 240400FF */ li $a0, 255
|
||||
/* 08A3A8 800897A8 240500FF */ li $a1, 255
|
||||
/* 08A3AC 800897AC 240600FF */ li $a2, 255
|
||||
/* 08A3B0 800897B0 0C0310E1 */ jal set_text_colour
|
||||
/* 08A3B4 800897B4 00003825 */ move $a3, $zero
|
||||
/* 08A3B8 800897B8 3C168012 */ lui $s6, %hi(gCheatInputCurrentRow) # $s6, 0x8012
|
||||
/* 08A3BC 800897BC 3C158012 */ lui $s5, %hi(gCheatInputCurrentColumn) # $s5, 0x8012
|
||||
/* 08A3C0 800897C0 26B56C42 */ addiu $s5, %lo(gCheatInputCurrentColumn) # addiu $s5, $s5, 0x6c42
|
||||
/* 08A3C4 800897C4 26D66C40 */ addiu $s6, %lo(gCheatInputCurrentRow) # addiu $s6, $s6, 0x6c40
|
||||
/* 08A3C8 800897C8 0000F025 */ move $fp, $zero
|
||||
/* 08A3CC 800897CC 2414003C */ li $s4, 60
|
||||
/* 08A3D0 800897D0 24170005 */ li $s7, 5
|
||||
.L800897D4:
|
||||
/* 08A3D4 800897D4 00008025 */ move $s0, $zero
|
||||
/* 08A3D8 800897D8 24110040 */ li $s1, 64
|
||||
.L800897DC:
|
||||
/* 08A3DC 800897DC 3C0C8012 */ lui $t4, %hi(gOptionsMenuItemIndex) # $t4, 0x8012
|
||||
/* 08A3E0 800897E0 858C6C46 */ lh $t4, %lo(gOptionsMenuItemIndex)($t4)
|
||||
/* 08A3E4 800897E4 00000000 */ nop
|
||||
/* 08A3E8 800897E8 16EC0018 */ bne $s7, $t4, .L8008984C
|
||||
/* 08A3EC 800897EC 2A61005B */ slti $at, $s3, 0x5b
|
||||
/* 08A3F0 800897F0 86AD0000 */ lh $t5, ($s5)
|
||||
/* 08A3F4 800897F4 00000000 */ nop
|
||||
/* 08A3F8 800897F8 160D0014 */ bne $s0, $t5, .L8008984C
|
||||
/* 08A3FC 800897FC 2A61005B */ slti $at, $s3, 0x5b
|
||||
/* 08A400 80089800 86CE0000 */ lh $t6, ($s6)
|
||||
/* 08A404 80089804 3C128012 */ lui $s2, %hi(gOptionBlinkTimer) # $s2, 0x8012
|
||||
/* 08A408 80089808 17CE000F */ bne $fp, $t6, .L80089848
|
||||
/* 08A40C 8008980C 24040080 */ li $a0, 128
|
||||
/* 08A410 80089810 8E5263BC */ lw $s2, %lo(gOptionBlinkTimer)($s2)
|
||||
/* 08A414 80089814 240500FF */ li $a1, 255
|
||||
/* 08A418 80089818 001278C0 */ sll $t7, $s2, 3
|
||||
/* 08A41C 8008981C 29E10100 */ slti $at, $t7, 0x100
|
||||
/* 08A420 80089820 14200003 */ bnez $at, .L80089830
|
||||
/* 08A424 80089824 01E09025 */ move $s2, $t7
|
||||
/* 08A428 80089828 241801FF */ li $t8, 511
|
||||
/* 08A42C 8008982C 030F9023 */ subu $s2, $t8, $t7
|
||||
.L80089830:
|
||||
/* 08A430 80089830 0012C843 */ sra $t9, $s2, 1
|
||||
/* 08A434 80089834 240900FF */ li $t1, 255
|
||||
/* 08A438 80089838 27270080 */ addiu $a3, $t9, 0x80
|
||||
/* 08A43C 8008983C AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 08A440 80089840 0C0310E1 */ jal set_text_colour
|
||||
/* 08A444 80089844 240600C0 */ li $a2, 192
|
||||
.L80089848:
|
||||
/* 08A448 80089848 2A61005B */ slti $at, $s3, 0x5b
|
||||
.L8008984C:
|
||||
/* 08A44C 8008984C 1020000C */ beqz $at, .L80089880
|
||||
/* 08A450 80089850 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A454 80089854 240A000C */ li $t2, 12
|
||||
/* 08A458 80089858 A3B3005C */ sb $s3, 0x5c($sp)
|
||||
/* 08A45C 8008985C A3A0005D */ sb $zero, 0x5d($sp)
|
||||
/* 08A460 80089860 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 08A464 80089864 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A468 80089868 02202825 */ move $a1, $s1
|
||||
/* 08A46C 8008986C 02803025 */ move $a2, $s4
|
||||
/* 08A470 80089870 0C031110 */ jal draw_text
|
||||
/* 08A474 80089874 27A7005C */ addiu $a3, $sp, 0x5c
|
||||
/* 08A478 80089878 10000016 */ b .L800898D4
|
||||
/* 08A47C 8008987C 00000000 */ nop
|
||||
.L80089880:
|
||||
/* 08A480 80089880 1617000C */ bne $s0, $s7, .L800898B4
|
||||
/* 08A484 80089884 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A488 80089888 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A48C 8008988C 3C07800F */ lui $a3, %hi(D_800E8210) # $a3, 0x800f
|
||||
/* 08A490 80089890 240B000C */ li $t3, 12
|
||||
/* 08A494 80089894 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 08A498 80089898 24E78210 */ addiu $a3, %lo(D_800E8210) # addiu $a3, $a3, -0x7df0
|
||||
/* 08A49C 8008989C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A4A0 800898A0 02202825 */ move $a1, $s1
|
||||
/* 08A4A4 800898A4 0C031110 */ jal draw_text
|
||||
/* 08A4A8 800898A8 02803025 */ move $a2, $s4
|
||||
/* 08A4AC 800898AC 10000009 */ b .L800898D4
|
||||
/* 08A4B0 800898B0 00000000 */ nop
|
||||
.L800898B4:
|
||||
/* 08A4B4 800898B4 3C07800F */ lui $a3, %hi(D_800E8214) # $a3, 0x800f
|
||||
/* 08A4B8 800898B8 240C000C */ li $t4, 12
|
||||
/* 08A4BC 800898BC AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 08A4C0 800898C0 24E78214 */ addiu $a3, %lo(D_800E8214) # addiu $a3, $a3, -0x7dec
|
||||
/* 08A4C4 800898C4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A4C8 800898C8 02202825 */ move $a1, $s1
|
||||
/* 08A4CC 800898CC 0C031110 */ jal draw_text
|
||||
/* 08A4D0 800898D0 02803025 */ move $a2, $s4
|
||||
.L800898D4:
|
||||
/* 08A4D4 800898D4 3C0D8012 */ lui $t5, %hi(gOptionsMenuItemIndex) # $t5, 0x8012
|
||||
/* 08A4D8 800898D8 85AD6C46 */ lh $t5, %lo(gOptionsMenuItemIndex)($t5)
|
||||
/* 08A4DC 800898DC 00000000 */ nop
|
||||
/* 08A4E0 800898E0 16ED000E */ bne $s7, $t5, .L8008991C
|
||||
/* 08A4E4 800898E4 00000000 */ nop
|
||||
/* 08A4E8 800898E8 86AE0000 */ lh $t6, ($s5)
|
||||
/* 08A4EC 800898EC 00000000 */ nop
|
||||
/* 08A4F0 800898F0 160E000A */ bne $s0, $t6, .L8008991C
|
||||
/* 08A4F4 800898F4 00000000 */ nop
|
||||
/* 08A4F8 800898F8 86CF0000 */ lh $t7, ($s6)
|
||||
/* 08A4FC 800898FC 240400FF */ li $a0, 255
|
||||
/* 08A500 80089900 17CF0006 */ bne $fp, $t7, .L8008991C
|
||||
/* 08A504 80089904 240500FF */ li $a1, 255
|
||||
/* 08A508 80089908 241800FF */ li $t8, 255
|
||||
/* 08A50C 8008990C AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 08A510 80089910 240600FF */ li $a2, 255
|
||||
/* 08A514 80089914 0C0310E1 */ jal set_text_colour
|
||||
/* 08A518 80089918 00003825 */ move $a3, $zero
|
||||
.L8008991C:
|
||||
/* 08A51C 8008991C 26730001 */ addiu $s3, $s3, 1
|
||||
/* 08A520 80089920 26100001 */ addiu $s0, $s0, 1
|
||||
/* 08A524 80089924 24010007 */ li $at, 7
|
||||
/* 08A528 80089928 327900FF */ andi $t9, $s3, 0xff
|
||||
/* 08A52C 8008992C 26310020 */ addiu $s1, $s1, 0x20
|
||||
/* 08A530 80089930 1601FFAA */ bne $s0, $at, .L800897DC
|
||||
/* 08A534 80089934 03209825 */ move $s3, $t9
|
||||
/* 08A538 80089938 27DE0001 */ addiu $fp, $fp, 1
|
||||
/* 08A53C 8008993C 2BC10004 */ slti $at, $fp, 4
|
||||
/* 08A540 80089940 1420FFA4 */ bnez $at, .L800897D4
|
||||
/* 08A544 80089944 26940016 */ addiu $s4, $s4, 0x16
|
||||
/* 08A548 80089948 3C128012 */ lui $s2, %hi(gOptionBlinkTimer) # $s2, 0x8012
|
||||
/* 08A54C 8008994C 8E5263BC */ lw $s2, %lo(gOptionBlinkTimer)($s2)
|
||||
/* 08A550 80089950 00000000 */ nop
|
||||
/* 08A554 80089954 001248C0 */ sll $t1, $s2, 3
|
||||
/* 08A558 80089958 29210100 */ slti $at, $t1, 0x100
|
||||
/* 08A55C 8008995C 14200003 */ bnez $at, .L8008996C
|
||||
/* 08A560 80089960 01209025 */ move $s2, $t1
|
||||
/* 08A564 80089964 240A01FF */ li $t2, 511
|
||||
/* 08A568 80089968 01499023 */ subu $s2, $t2, $t1
|
||||
.L8008996C:
|
||||
/* 08A56C 8008996C 0C0310BB */ jal set_text_font
|
||||
/* 08A570 80089970 00002025 */ move $a0, $zero
|
||||
/* 08A574 80089974 3C168000 */ lui $s6, %hi(osTvType) # $s6, 0x8000
|
||||
/* 08A578 80089978 26D60300 */ addiu $s6, %lo(osTvType) # addiu $s6, $s6, 0x300
|
||||
/* 08A57C 8008997C 8ECB0000 */ lw $t3, ($s6)
|
||||
/* 08A580 80089980 0000F025 */ move $fp, $zero
|
||||
/* 08A584 80089984 241300A4 */ li $s3, 164
|
||||
/* 08A588 80089988 15600002 */ bnez $t3, .L80089994
|
||||
/* 08A58C 8008998C 24140010 */ li $s4, 16
|
||||
/* 08A590 80089990 24140018 */ li $s4, 24
|
||||
.L80089994:
|
||||
/* 08A594 80089994 3C0C800E */ lui $t4, %hi(gMagicCodeMenuStrings) # $t4, 0x800e
|
||||
/* 08A598 80089998 8D8CFDA0 */ lw $t4, %lo(gMagicCodeMenuStrings)($t4)
|
||||
/* 08A59C 8008999C 001E6880 */ sll $t5, $fp, 2
|
||||
/* 08A5A0 800899A0 11800022 */ beqz $t4, .L80089A2C
|
||||
/* 08A5A4 800899A4 3C0E800E */ lui $t6, %hi(gMagicCodeMenuStrings) # $t6, 0x800e
|
||||
/* 08A5A8 800899A8 25CEFDA0 */ addiu $t6, %lo(gMagicCodeMenuStrings) # addiu $t6, $t6, -0x260
|
||||
/* 08A5AC 800899AC 3C158012 */ lui $s5, %hi(gMenuOptionCount) # $s5, 0x8012
|
||||
/* 08A5B0 800899B0 26B563E0 */ addiu $s5, %lo(gMenuOptionCount) # addiu $s5, $s5, 0x63e0
|
||||
/* 08A5B4 800899B4 01AE8821 */ addu $s1, $t5, $t6
|
||||
.L800899B8:
|
||||
/* 08A5B8 800899B8 3C0F8012 */ lui $t7, %hi(gOptionsMenuItemIndex) # $t7, 0x8012
|
||||
/* 08A5BC 800899BC 85EF6C46 */ lh $t7, %lo(gOptionsMenuItemIndex)($t7)
|
||||
/* 08A5C0 800899C0 00008025 */ move $s0, $zero
|
||||
/* 08A5C4 800899C4 17CF0006 */ bne $fp, $t7, .L800899E0
|
||||
/* 08A5C8 800899C8 240400FF */ li $a0, 255
|
||||
/* 08A5CC 800899CC 8EB80000 */ lw $t8, ($s5)
|
||||
/* 08A5D0 800899D0 00000000 */ nop
|
||||
/* 08A5D4 800899D4 17000003 */ bnez $t8, .L800899E4
|
||||
/* 08A5D8 800899D8 241900FF */ li $t9, 255
|
||||
/* 08A5DC 800899DC 02408025 */ move $s0, $s2
|
||||
.L800899E0:
|
||||
/* 08A5E0 800899E0 241900FF */ li $t9, 255
|
||||
.L800899E4:
|
||||
/* 08A5E4 800899E4 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 08A5E8 800899E8 240500FF */ li $a1, 255
|
||||
/* 08A5EC 800899EC 240600FF */ li $a2, 255
|
||||
/* 08A5F0 800899F0 0C0310E1 */ jal set_text_colour
|
||||
/* 08A5F4 800899F4 02003825 */ move $a3, $s0
|
||||
/* 08A5F8 800899F8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A5FC 800899FC 8E270000 */ lw $a3, ($s1)
|
||||
/* 08A600 80089A00 2409000C */ li $t1, 12
|
||||
/* 08A604 80089A04 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 08A608 80089A08 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A60C 80089A0C 24058000 */ li $a1, -32768
|
||||
/* 08A610 80089A10 0C031110 */ jal draw_text
|
||||
/* 08A614 80089A14 02603025 */ move $a2, $s3
|
||||
/* 08A618 80089A18 8E2A0004 */ lw $t2, 4($s1)
|
||||
/* 08A61C 80089A1C 27DE0001 */ addiu $fp, $fp, 1
|
||||
/* 08A620 80089A20 26310004 */ addiu $s1, $s1, 4
|
||||
/* 08A624 80089A24 1540FFE4 */ bnez $t2, .L800899B8
|
||||
/* 08A628 80089A28 02749821 */ addu $s3, $s3, $s4
|
||||
.L80089A2C:
|
||||
/* 08A62C 80089A2C 3C158012 */ lui $s5, %hi(gMenuOptionCount) # $s5, 0x8012
|
||||
/* 08A630 80089A30 26B563E0 */ addiu $s5, %lo(gMenuOptionCount) # addiu $s5, $s5, 0x63e0
|
||||
/* 08A634 80089A34 0C0310BB */ jal set_text_font
|
||||
/* 08A638 80089A38 00002025 */ move $a0, $zero
|
||||
/* 08A63C 80089A3C 240B00FF */ li $t3, 255
|
||||
/* 08A640 80089A40 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 08A644 80089A44 240400FF */ li $a0, 255
|
||||
/* 08A648 80089A48 240500FF */ li $a1, 255
|
||||
/* 08A64C 80089A4C 24060080 */ li $a2, 128
|
||||
/* 08A650 80089A50 0C0310E1 */ jal set_text_colour
|
||||
/* 08A654 80089A54 24070080 */ li $a3, 128
|
||||
/* 08A658 80089A58 00002025 */ move $a0, $zero
|
||||
/* 08A65C 80089A5C 00002825 */ move $a1, $zero
|
||||
/* 08A660 80089A60 24060080 */ li $a2, 128
|
||||
/* 08A664 80089A64 0C0310F3 */ jal set_text_background_colour
|
||||
/* 08A668 80089A68 24070080 */ li $a3, 128
|
||||
/* 08A66C 80089A6C 3C028012 */ lui $v0, %hi(gOptionsMenuItemIndex) # $v0, 0x8012
|
||||
/* 08A670 80089A70 84426C46 */ lh $v0, %lo(gOptionsMenuItemIndex)($v0)
|
||||
/* 08A674 80089A74 24010004 */ li $at, 4
|
||||
/* 08A678 80089A78 14410020 */ bne $v0, $at, .L80089AFC
|
||||
/* 08A67C 80089A7C 3C088012 */ lui $t0, %hi(D_80126C4C) # $t0, 0x8012
|
||||
/* 08A680 80089A80 85086C4C */ lh $t0, %lo(D_80126C4C)($t0)
|
||||
/* 08A684 80089A84 2401FFFF */ li $at, -1
|
||||
/* 08A688 80089A88 1501000D */ bne $t0, $at, .L80089AC0
|
||||
/* 08A68C 80089A8C 3C028012 */ lui $v0, %hi(gCheatsAssetData) # $v0, 0x8012
|
||||
/* 08A690 80089A90 3C0C800E */ lui $t4, %hi(gMenuText) # $t4, 0x800e
|
||||
/* 08A694 80089A94 8D8CF4A0 */ lw $t4, %lo(gMenuText)($t4)
|
||||
/* 08A698 80089A98 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A69C 80089A9C 240D000C */ li $t5, 12
|
||||
/* 08A6A0 80089AA0 8D870048 */ lw $a3, 0x48($t4)
|
||||
/* 08A6A4 80089AA4 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 08A6A8 80089AA8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A6AC 80089AAC 24058000 */ li $a1, -32768
|
||||
/* 08A6B0 80089AB0 0C031110 */ jal draw_text
|
||||
/* 08A6B4 80089AB4 24060090 */ li $a2, 144
|
||||
/* 08A6B8 80089AB8 10000029 */ b .L80089B60
|
||||
/* 08A6BC 80089ABC 8EAC0000 */ lw $t4, ($s5)
|
||||
.L80089AC0:
|
||||
/* 08A6C0 80089AC0 8C426C30 */ lw $v0, %lo(gCheatsAssetData)($v0)
|
||||
/* 08A6C4 80089AC4 00087040 */ sll $t6, $t0, 1
|
||||
/* 08A6C8 80089AC8 24430002 */ addiu $v1, $v0, 2
|
||||
/* 08A6CC 80089ACC 006E7821 */ addu $t7, $v1, $t6
|
||||
/* 08A6D0 80089AD0 95F80002 */ lhu $t8, 2($t7)
|
||||
/* 08A6D4 80089AD4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A6D8 80089AD8 2419000C */ li $t9, 12
|
||||
/* 08A6DC 80089ADC AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 08A6E0 80089AE0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A6E4 80089AE4 24058000 */ li $a1, -32768
|
||||
/* 08A6E8 80089AE8 24060090 */ li $a2, 144
|
||||
/* 08A6EC 80089AEC 0C031110 */ jal draw_text
|
||||
/* 08A6F0 80089AF0 03023821 */ addu $a3, $t8, $v0
|
||||
/* 08A6F4 80089AF4 1000001A */ b .L80089B60
|
||||
/* 08A6F8 80089AF8 8EAC0000 */ lw $t4, ($s5)
|
||||
.L80089AFC:
|
||||
/* 08A6FC 80089AFC 16E2000C */ bne $s7, $v0, .L80089B30
|
||||
/* 08A700 80089B00 24010006 */ li $at, 6
|
||||
/* 08A704 80089B04 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A708 80089B08 3C078012 */ lui $a3, %hi(D_80126C58) # $a3, 0x8012
|
||||
/* 08A70C 80089B0C 2409000C */ li $t1, 12
|
||||
/* 08A710 80089B10 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 08A714 80089B14 24E76C58 */ addiu $a3, %lo(D_80126C58) # addiu $a3, $a3, 0x6c58
|
||||
/* 08A718 80089B18 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A71C 80089B1C 24058000 */ li $a1, -32768
|
||||
/* 08A720 80089B20 0C031110 */ jal draw_text
|
||||
/* 08A724 80089B24 24060090 */ li $a2, 144
|
||||
/* 08A728 80089B28 1000000D */ b .L80089B60
|
||||
/* 08A72C 80089B2C 8EAC0000 */ lw $t4, ($s5)
|
||||
.L80089B30:
|
||||
/* 08A730 80089B30 1441000A */ bne $v0, $at, .L80089B5C
|
||||
/* 08A734 80089B34 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A738 80089B38 3C0A800E */ lui $t2, %hi(gMenuText) # $t2, 0x800e
|
||||
/* 08A73C 80089B3C 8D4AF4A0 */ lw $t2, %lo(gMenuText)($t2)
|
||||
/* 08A740 80089B40 240B000C */ li $t3, 12
|
||||
/* 08A744 80089B44 8D47004C */ lw $a3, 0x4c($t2)
|
||||
/* 08A748 80089B48 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 08A74C 80089B4C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A750 80089B50 24058000 */ li $a1, -32768
|
||||
/* 08A754 80089B54 0C031110 */ jal draw_text
|
||||
/* 08A758 80089B58 24060090 */ li $a2, 144
|
||||
.L80089B5C:
|
||||
/* 08A75C 80089B5C 8EAC0000 */ lw $t4, ($s5)
|
||||
.L80089B60:
|
||||
/* 08A760 80089B60 00000000 */ nop
|
||||
/* 08A764 80089B64 11800049 */ beqz $t4, .L80089C8C
|
||||
/* 08A768 80089B68 00000000 */ nop
|
||||
/* 08A76C 80089B6C 8ECD0000 */ lw $t5, ($s6)
|
||||
/* 08A770 80089B70 0000F025 */ move $fp, $zero
|
||||
/* 08A774 80089B74 15A00003 */ bnez $t5, .L80089B84
|
||||
/* 08A778 80089B78 24130078 */ li $s3, 120
|
||||
/* 08A77C 80089B7C 10000001 */ b .L80089B84
|
||||
/* 08A780 80089B80 24130086 */ li $s3, 134
|
||||
.L80089B84:
|
||||
/* 08A784 80089B84 0C031525 */ jal assign_dialogue_box_id
|
||||
/* 08A788 80089B88 24040006 */ li $a0, 6
|
||||
/* 08A78C 80089B8C 24040006 */ li $a0, 6
|
||||
/* 08A790 80089B90 0C0313DF */ jal set_dialogue_font
|
||||
/* 08A794 80089B94 00002825 */ move $a1, $zero
|
||||
/* 08A798 80089B98 266E001C */ addiu $t6, $s3, 0x1c
|
||||
/* 08A79C 80089B9C AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 08A7A0 80089BA0 24040006 */ li $a0, 6
|
||||
/* 08A7A4 80089BA4 2405004C */ li $a1, 76
|
||||
/* 08A7A8 80089BA8 2666FFE4 */ addiu $a2, $s3, -0x1c
|
||||
/* 08A7AC 80089BAC 0C0313B7 */ jal set_current_dialogue_box_coords
|
||||
/* 08A7B0 80089BB0 240700F4 */ li $a3, 244
|
||||
/* 08A7B4 80089BB4 240F00A0 */ li $t7, 160
|
||||
/* 08A7B8 80089BB8 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 08A7BC 80089BBC 24040006 */ li $a0, 6
|
||||
/* 08A7C0 80089BC0 00002825 */ move $a1, $zero
|
||||
/* 08A7C4 80089BC4 00003025 */ move $a2, $zero
|
||||
/* 08A7C8 80089BC8 0C0313EF */ jal set_current_dialogue_background_colour
|
||||
/* 08A7CC 80089BCC 00003825 */ move $a3, $zero
|
||||
/* 08A7D0 80089BD0 24130004 */ li $s3, 4
|
||||
/* 08A7D4 80089BD4 00008825 */ move $s1, $zero
|
||||
/* 08A7D8 80089BD8 24140003 */ li $s4, 3
|
||||
.L80089BDC:
|
||||
/* 08A7DC 80089BDC 240600FF */ li $a2, 255
|
||||
/* 08A7E0 80089BE0 17C00004 */ bnez $fp, .L80089BF4
|
||||
/* 08A7E4 80089BE4 00008025 */ move $s0, $zero
|
||||
/* 08A7E8 80089BE8 00003025 */ move $a2, $zero
|
||||
/* 08A7EC 80089BEC 10000006 */ b .L80089C08
|
||||
/* 08A7F0 80089BF0 24100040 */ li $s0, 64
|
||||
.L80089BF4:
|
||||
/* 08A7F4 80089BF4 8EB80000 */ lw $t8, ($s5)
|
||||
/* 08A7F8 80089BF8 00000000 */ nop
|
||||
/* 08A7FC 80089BFC 17D80003 */ bne $fp, $t8, .L80089C0C
|
||||
/* 08A800 80089C00 241900FF */ li $t9, 255
|
||||
/* 08A804 80089C04 02408025 */ move $s0, $s2
|
||||
.L80089C08:
|
||||
/* 08A808 80089C08 241900FF */ li $t9, 255
|
||||
.L80089C0C:
|
||||
/* 08A80C 80089C0C AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* 08A810 80089C10 24040006 */ li $a0, 6
|
||||
/* 08A814 80089C14 240500FF */ li $a1, 255
|
||||
/* 08A818 80089C18 240700FF */ li $a3, 255
|
||||
/* 08A81C 80089C1C 0C031400 */ jal set_current_text_colour
|
||||
/* 08A820 80089C20 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 08A824 80089C24 3C09800E */ lui $t1, %hi(gMenuText) # $t1, 0x800e
|
||||
/* 08A828 80089C28 8D29F4A0 */ lw $t1, %lo(gMenuText)($t1)
|
||||
/* 08A82C 80089C2C 240B0001 */ li $t3, 1
|
||||
/* 08A830 80089C30 01315021 */ addu $t2, $t1, $s1
|
||||
/* 08A834 80089C34 8D470250 */ lw $a3, 0x250($t2)
|
||||
/* 08A838 80089C38 240C0004 */ li $t4, 4
|
||||
/* 08A83C 80089C3C AFAC0014 */ sw $t4, 0x14($sp)
|
||||
/* 08A840 80089C40 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 08A844 80089C44 24040006 */ li $a0, 6
|
||||
/* 08A848 80089C48 24058000 */ li $a1, -32768
|
||||
/* 08A84C 80089C4C 0C03145A */ jal render_dialogue_text
|
||||
/* 08A850 80089C50 02603025 */ move $a2, $s3
|
||||
/* 08A854 80089C54 13C00003 */ beqz $fp, .L80089C64
|
||||
/* 08A858 80089C58 00000000 */ nop
|
||||
/* 08A85C 80089C5C 10000002 */ b .L80089C68
|
||||
/* 08A860 80089C60 26730010 */ addiu $s3, $s3, 0x10
|
||||
.L80089C64:
|
||||
/* 08A864 80089C64 26730014 */ addiu $s3, $s3, 0x14
|
||||
.L80089C68:
|
||||
/* 08A868 80089C68 27DE0001 */ addiu $fp, $fp, 1
|
||||
/* 08A86C 80089C6C 17D4FFDB */ bne $fp, $s4, .L80089BDC
|
||||
/* 08A870 80089C70 26310004 */ addiu $s1, $s1, 4
|
||||
/* 08A874 80089C74 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08A878 80089C78 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08A87C 80089C7C 00002825 */ move $a1, $zero
|
||||
/* 08A880 80089C80 00003025 */ move $a2, $zero
|
||||
/* 08A884 80089C84 0C0316D6 */ jal render_dialogue_box
|
||||
/* 08A888 80089C88 24070006 */ li $a3, 6
|
||||
.L80089C8C:
|
||||
/* 08A88C 80089C8C 0C0270C3 */ jal get_filtered_cheats
|
||||
/* 08A890 80089C90 00000000 */ nop
|
||||
/* 08A894 80089C94 000268C0 */ sll $t5, $v0, 3
|
||||
/* 08A898 80089C98 05A10004 */ bgez $t5, .L80089CAC
|
||||
/* 08A89C 80089C9C 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 08A8A0 80089CA0 0C022B51 */ jal calculate_and_display_rom_checksum
|
||||
/* 08A8A4 80089CA4 00000000 */ nop
|
||||
/* 08A8A8 80089CA8 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80089CAC:
|
||||
/* 08A8AC 80089CAC 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 08A8B0 80089CB0 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 08A8B4 80089CB4 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 08A8B8 80089CB8 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 08A8BC 80089CBC 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 08A8C0 80089CC0 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* 08A8C4 80089CC4 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* 08A8C8 80089CC8 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* 08A8CC 80089CCC 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* 08A8D0 80089CD0 03E00008 */ jr $ra
|
||||
/* 08A8D4 80089CD4 27BD0080 */ addiu $sp, $sp, 0x80
|
||||
|
||||
+6
-6
@@ -1891,12 +1891,12 @@ typedef struct GhostHeader {
|
||||
|
||||
/* Size: 12 bytes */
|
||||
typedef struct GhostNode {
|
||||
s16 x;
|
||||
s16 y;
|
||||
s16 z;
|
||||
s16 zRotation; // This order is correct.
|
||||
s16 xRotation;
|
||||
s16 yRotation;
|
||||
/* 0x00 */ s16 x;
|
||||
/* 0x02 */ s16 y;
|
||||
/* 0x04 */ s16 z;
|
||||
/* 0x06 */ s16 zRotation; // This order is correct.
|
||||
/* 0x08 */ s16 xRotation;
|
||||
/* 0x0A */ s16 yRotation;
|
||||
} GhostNode;
|
||||
|
||||
/* Size: 12 bytes */
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
#define SCREEN_HEIGHT_PAL (SCREEN_HEIGHT + 44)
|
||||
#define SCREEN_WIDTH_HALF (SCREEN_WIDTH / 2)
|
||||
#define SCREEN_HEIGHT_HALF (SCREEN_HEIGHT / 2)
|
||||
#define SCREEN_HEIGHT_HALF_PAL (SCREEN_HEIGHT_HALF + 12)
|
||||
|
||||
+7
-7
@@ -8,7 +8,7 @@
|
||||
#include "macros.h"
|
||||
#include "structs.h"
|
||||
|
||||
extern s32 D_800DD430;
|
||||
extern s32 gIntDisFlag;
|
||||
extern s32 gCurrentRNGSeed; //Official Name: rngSeed
|
||||
extern s32 gPrevRNGSeed;
|
||||
extern s16 gSineTable[];
|
||||
@@ -16,19 +16,19 @@ extern s16 gArcTanTable[];
|
||||
|
||||
/**
|
||||
* Most files below are handwritten assembly. Because of this, matching C code is impossible.
|
||||
* Nonmatching is not, so functionally equivilent C code can be here to replace these handwritten functions in nonmatching builds.
|
||||
* Nonmatching is not, so functionally equivalent C code can be here to replace these handwritten functions in nonmatching builds.
|
||||
* Variables cannot be declared here because of the way they're aligned, so they have to stay in an assembly file.
|
||||
*/
|
||||
|
||||
/******************************/
|
||||
|
||||
/* Official Name: disableInterrupts*/
|
||||
GLOBAL_ASM("asm/math_util/clear_status_register_flags.s")
|
||||
/* Official Name: enableInterrupts */
|
||||
GLOBAL_ASM("asm/math_util/set_status_register_flags.s")
|
||||
GLOBAL_ASM("asm/math_util/disable_interrupts.s")
|
||||
/* Official Name: enable_interrupts */
|
||||
GLOBAL_ASM("asm/math_util/enable_interrupts.s")
|
||||
/* Official Name: setIntDisFlag */
|
||||
GLOBAL_ASM("asm/math_util/set_D_800DD430.s")
|
||||
GLOBAL_ASM("asm/math_util/get_D_800DD430.s")
|
||||
GLOBAL_ASM("asm/math_util/set_gIntDisFlag.s")
|
||||
GLOBAL_ASM("asm/math_util/get_gIntDisFlag.s")
|
||||
|
||||
#ifdef NON_EQUIVALENT // Untested
|
||||
UNUSED void s32_matrix_to_s16_matrix(s32 **input, s16 **output) {
|
||||
|
||||
+26
-26
@@ -50,13 +50,13 @@ MemoryPoolSlot *new_sub_memory_pool(s32 poolDataSize, s32 numSlots) {
|
||||
s32 size;
|
||||
MemoryPoolSlot *slots;
|
||||
UNUSED s32 unused_2;
|
||||
s32 *flags = clear_status_register_flags();
|
||||
s32 *flags = disable_interrupts();
|
||||
MemoryPoolSlot *newPool;
|
||||
|
||||
size = poolDataSize + (numSlots * sizeof(MemoryPoolSlot));
|
||||
slots = (MemoryPoolSlot *) allocate_from_main_pool_safe(size, COLOUR_TAG_WHITE);
|
||||
newPool = new_memory_pool(slots, size, numSlots);
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return newPool;
|
||||
}
|
||||
|
||||
@@ -133,13 +133,13 @@ MemoryPoolSlot *allocate_from_memory_pool(s32 poolIndex, s32 size, u32 colourTag
|
||||
s32 nextIndex;
|
||||
s32 currIndex;
|
||||
|
||||
flags = clear_status_register_flags();
|
||||
flags = disable_interrupts();
|
||||
if (size == 0) {
|
||||
stubbed_printf("*** mmAlloc: size = 0 ***\n");
|
||||
}
|
||||
pool = &gMemoryPools[poolIndex];
|
||||
if ((pool->curNumSlots + 1) == (*pool).maxNumSlots) {
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
stubbed_printf("*** mm Error *** ---> No more slots available.\n");
|
||||
return NULL;
|
||||
}
|
||||
@@ -163,10 +163,10 @@ MemoryPoolSlot *allocate_from_memory_pool(s32 poolIndex, s32 size, u32 colourTag
|
||||
} while (nextIndex != -1);
|
||||
if (currIndex != -1) {
|
||||
allocate_memory_pool_slot(poolIndex, (s32) currIndex, size, 1, 0, colourTag);
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return (MemoryPoolSlot *) (slots + currIndex)->data;
|
||||
}
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
stubbed_printf("\n*** mm Error *** ---> No suitble block found for allocation.\n");
|
||||
return NULL;
|
||||
}
|
||||
@@ -189,12 +189,12 @@ void *allocate_at_address_in_main_pool(s32 size, u8 *address, u32 colorTag) {
|
||||
MemoryPoolSlot *slots;
|
||||
s32 *flags;
|
||||
|
||||
flags = clear_status_register_flags();
|
||||
flags = disable_interrupts();
|
||||
if (size == 0) {
|
||||
stubbed_printf("*** mmAllocAtAddr: size = 0 ***\n");
|
||||
}
|
||||
if ((gMemoryPools[0].curNumSlots + 1) == gMemoryPools[0].maxNumSlots) {
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
stubbed_printf("\n*** mm Error *** ---> No more slots available.\n");
|
||||
} else {
|
||||
if (size & 0xF) {
|
||||
@@ -207,18 +207,18 @@ void *allocate_at_address_in_main_pool(s32 size, u8 *address, u32 colorTag) {
|
||||
if ((u32) address >= (u32) curSlot->data && (u32)address + size <= (u32) curSlot->data + curSlot->size) {
|
||||
if (address == (u8 *) curSlot->data) {
|
||||
allocate_memory_pool_slot(0, i, size, 1, 0, colorTag);
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return curSlot->data;
|
||||
} else {
|
||||
i = allocate_memory_pool_slot(0, i, (u32) address - (u32) curSlot->data, 0, 1, colorTag);
|
||||
allocate_memory_pool_slot(0, i, size, 1, 0, colorTag);
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return (slots + i)->data;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
}
|
||||
stubbed_printf("\n*** mm Error *** ---> Can't allocate memory at desired address.\n");
|
||||
return NULL;
|
||||
@@ -230,14 +230,14 @@ void *allocate_at_address_in_main_pool(s32 size, u8 *address, u32 colorTag) {
|
||||
* Official name: mmSetDelay
|
||||
*/
|
||||
void set_free_queue_state(s32 state) {
|
||||
s32 *flags = clear_status_register_flags();
|
||||
s32 *flags = disable_interrupts();
|
||||
gFreeQueueTimer = state;
|
||||
if (state == 0) { // flush free queue if state is 0.
|
||||
while (gFreeQueueCount > 0) {
|
||||
free_slot_containing_address(gFreeQueue[--gFreeQueueCount].dataAddress);
|
||||
}
|
||||
}
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -246,13 +246,13 @@ void set_free_queue_state(s32 state) {
|
||||
* Official Name: mmFree
|
||||
*/
|
||||
void free_from_memory_pool(void *data) {
|
||||
s32 *flags = clear_status_register_flags();
|
||||
s32 *flags = disable_interrupts();
|
||||
if (gFreeQueueTimer == 0) {
|
||||
free_slot_containing_address(data);
|
||||
} else {
|
||||
add_to_free_queue(data);
|
||||
}
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -263,7 +263,7 @@ void clear_free_queue(void) {
|
||||
s32 i;
|
||||
s32 *flags;
|
||||
|
||||
flags = clear_status_register_flags();
|
||||
flags = disable_interrupts();
|
||||
|
||||
for (i = 0; i < gFreeQueueCount;) {
|
||||
gFreeQueue[i].freeTimer--;
|
||||
@@ -278,7 +278,7 @@ void clear_free_queue(void) {
|
||||
}
|
||||
}
|
||||
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
}
|
||||
|
||||
/* Official name: heapFree */
|
||||
@@ -313,7 +313,7 @@ UNUSED void func_80071314(void) {
|
||||
s32 poolIndex;
|
||||
s32 slotIndex;
|
||||
|
||||
flags = clear_status_register_flags();
|
||||
flags = disable_interrupts();
|
||||
poolIndex = gNumberOfMemoryPools;
|
||||
while (poolIndex != -1) {
|
||||
pool = &gMemoryPools[poolIndex];
|
||||
@@ -327,7 +327,7 @@ UNUSED void func_80071314(void) {
|
||||
if (pool->curNumSlots == 1) {
|
||||
free_memory_pool_slot(poolIndex, slotIndex);
|
||||
} else {
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -335,7 +335,7 @@ UNUSED void func_80071314(void) {
|
||||
} while (slotIndex != -1);
|
||||
poolIndex--;
|
||||
}
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
stubbed_printf("\n*** mm Error *** ---> No match found for mmFree.\n");
|
||||
}
|
||||
|
||||
@@ -360,7 +360,7 @@ s32 func_80071478(u8 *address) {
|
||||
MemoryPool *pool;
|
||||
s32 *flags;
|
||||
|
||||
flags = clear_status_register_flags();
|
||||
flags = disable_interrupts();
|
||||
pool = &gMemoryPools[get_memory_pool_index_containing_address(address)];
|
||||
slotIndex = 0;
|
||||
while (slotIndex != -1) {
|
||||
@@ -368,13 +368,13 @@ s32 func_80071478(u8 *address) {
|
||||
if (address == (u8 *) slot->data) {
|
||||
if (slot->flags == 1 || slot->flags == 4) {
|
||||
slot->flags |= 2;
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
slotIndex = slot->nextIndex;
|
||||
}
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -384,7 +384,7 @@ s32 func_80071538(u8 *address) {
|
||||
MemoryPool *pool;
|
||||
s32 *flags;
|
||||
|
||||
flags = clear_status_register_flags();
|
||||
flags = disable_interrupts();
|
||||
pool = &gMemoryPools[get_memory_pool_index_containing_address(address)];
|
||||
slotIndex = 0;
|
||||
while (slotIndex != -1) {
|
||||
@@ -392,13 +392,13 @@ s32 func_80071538(u8 *address) {
|
||||
if (address == (u8 *)slot->data) {
|
||||
if (slot->flags & 2) {
|
||||
slot->flags ^= 2;
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
slotIndex = slot->nextIndex;
|
||||
}
|
||||
set_status_register_flags(flags);
|
||||
enable_interrupts(flags);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -70,8 +70,8 @@ typedef struct unk800B7D10 {
|
||||
|
||||
//Functions below don't have files or matches yet
|
||||
unk800B7D10 *get_stack_pointer(void); // Non Matching with own file?
|
||||
s32 *clear_status_register_flags(void); // Non Matching math_util
|
||||
void set_status_register_flags(s32*); // Non Matching math_util
|
||||
s32 *disable_interrupts(void);
|
||||
void enable_interrupts(s32*);
|
||||
|
||||
void init_main_memory_pool(void);
|
||||
MemoryPoolSlot *new_sub_memory_pool(s32 poolDataSize, s32 numSlots);
|
||||
|
||||
+149
-127
@@ -111,7 +111,7 @@ s32 D_8012649C;
|
||||
SavefileInfo gSavefileInfo[4];
|
||||
|
||||
s32 D_801264D0;
|
||||
s32 D_801264D4;
|
||||
s32 D_801264D4; //Count of elements in some arrays? D_80126540, D_80126508, D_80126510, D_80126518, D_80126520?
|
||||
s8 gDialogueSubmenu;
|
||||
u8 D_801264DC[4]; //gGhostLevelIDs?
|
||||
s8 D_801264E0;
|
||||
@@ -259,7 +259,7 @@ s32 D_80126C48;
|
||||
s16 D_80126C4C;
|
||||
f32 D_80126C50;
|
||||
unk80126C54 D_80126C54;
|
||||
u8 D_80126C58[20];
|
||||
char D_80126C58[20];
|
||||
s32 *D_80126C6C;
|
||||
s32 gNumOnscreenMagicCodes;
|
||||
char *D_80126C74; // gFileName?
|
||||
@@ -2719,7 +2719,7 @@ void menu_logos_screen_init(void) {
|
||||
set_background_fill_colour(0, 0, 0);
|
||||
if (osTvType == TV_TYPE_PAL) {
|
||||
resize_viewport(0, 0, 38, SCREEN_WIDTH, SCREEN_HEIGHT - 16);
|
||||
set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, SCREEN_WIDTH, SCREEN_HEIGHT + 44);
|
||||
set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, SCREEN_WIDTH, SCREEN_HEIGHT_PAL);
|
||||
} else {
|
||||
resize_viewport(0, 0, 40, SCREEN_WIDTH, SCREEN_HEIGHT - 44);
|
||||
set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
@@ -4951,7 +4951,7 @@ void menu_magic_codes_init(void) {
|
||||
gCheatInputStringLength = 0;
|
||||
sUnused_80126470 = 0;
|
||||
D_80126C4C = -1;
|
||||
D_80126C58[0] = 0;
|
||||
D_80126C58[0] = '\0';
|
||||
gOptionBlinkTimer = 0;
|
||||
gMenuDelay = 0;
|
||||
gOpacityDecayTimer = 0;
|
||||
@@ -4963,126 +4963,120 @@ void menu_magic_codes_init(void) {
|
||||
load_font(ASSET_FONTS_BIGFONT);
|
||||
}
|
||||
|
||||
void render_magic_codes_ui(s32 arg0) {
|
||||
void render_magic_codes_ui(UNUSED s32 updateRate) {
|
||||
u16 *cheatData;
|
||||
s32 j;
|
||||
s32 green;
|
||||
s32 i;
|
||||
s32 alpha;
|
||||
s32 x;
|
||||
s32 alpha2;
|
||||
s32 y;
|
||||
s8 displayChar[2];
|
||||
s32 i, j;
|
||||
s32 alpha2, alpha, green;
|
||||
s32 xPos, yPos;
|
||||
char displayChar[2];
|
||||
s32 temp;
|
||||
s32 y2;
|
||||
s32 pad[2];
|
||||
UNUSED s32 pad[2];
|
||||
|
||||
set_text_background_colour(0, 0, 0, 0);
|
||||
render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 7);
|
||||
set_text_font(2);
|
||||
set_text_colour(0, 0, 0, 0xFF, 0x80);
|
||||
draw_text(&sMenuCurrDisplayList, 0xA1, 0x23, gMenuText[17], ALIGN_MIDDLE_CENTER);
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF);
|
||||
draw_text(&sMenuCurrDisplayList, 0xA0, 0x20, gMenuText[17], ALIGN_MIDDLE_CENTER);
|
||||
set_text_font(ASSET_FONTS_BIGFONT);
|
||||
set_text_colour(0, 0, 0, 255, 128);
|
||||
draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, gMenuText[ASSET_MENU_TEXT_MAGICCODES], ALIGN_MIDDLE_CENTER); // "MAGIC CODES"
|
||||
set_text_colour(255, 255, 255, 0, 255);
|
||||
draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_MAGICCODES], ALIGN_MIDDLE_CENTER); // "MAGIC CODES"
|
||||
temp = 'A';
|
||||
set_text_font(0);
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF);
|
||||
for (i = 0, y = 0x3C; i < 4; i++, y += 22) {
|
||||
for(j = 0, x = 0x40; j < 7; j++, x += 32) {
|
||||
if (gOptionsMenuItemIndex == 5) {
|
||||
if (j == gCheatInputCurrentColumn) {
|
||||
if (i == gCheatInputCurrentRow) {
|
||||
alpha2 = gOptionBlinkTimer * 8;
|
||||
if (alpha2 >= 0x100) {
|
||||
alpha2 = 0x1FF - alpha2;
|
||||
}
|
||||
alpha2 >>= 1;
|
||||
alpha2 += 0x80;
|
||||
set_text_colour(0x80, 0xFF, 0xC0, alpha2, 0xFF);
|
||||
}
|
||||
set_text_font(ASSET_FONTS_FUNFONT);
|
||||
set_text_colour(255, 255, 255, 0, 255);
|
||||
// Draw the input table
|
||||
for (i = 0, yPos = 60; i < 4; i++, yPos += 22) {
|
||||
for (j = 0, xPos = 64; j < 7; j++, xPos += 32) {
|
||||
if (gOptionsMenuItemIndex == 5 && j == gCheatInputCurrentColumn && i == gCheatInputCurrentRow) {
|
||||
alpha2 = gOptionBlinkTimer * 8;
|
||||
if (alpha2 >= 256) {
|
||||
alpha2 = 511 - alpha2;
|
||||
}
|
||||
alpha2 >>= 1;
|
||||
alpha2 += 128;
|
||||
set_text_colour(128, 255, 192, alpha2, 255);
|
||||
}
|
||||
if (temp <= 'Z') {
|
||||
displayChar[0] = temp;
|
||||
displayChar[1] = '\0';
|
||||
draw_text(&sMenuCurrDisplayList, x, y, &displayChar, ALIGN_MIDDLE_CENTER);
|
||||
draw_text(&sMenuCurrDisplayList, xPos, yPos, displayChar, ALIGN_MIDDLE_CENTER); // Draw the character
|
||||
} else if (j == 5) {
|
||||
draw_text(&sMenuCurrDisplayList, x, y, D_800E8210, ALIGN_MIDDLE_CENTER);
|
||||
draw_text(&sMenuCurrDisplayList, xPos, yPos, (char *) &D_800E8210 /* "DEL" */, ALIGN_MIDDLE_CENTER);
|
||||
} else {
|
||||
draw_text(&sMenuCurrDisplayList, x, y, D_800E8214, ALIGN_MIDDLE_CENTER);
|
||||
draw_text(&sMenuCurrDisplayList, xPos, yPos, (char *) &D_800E8214 /* "OK" */, ALIGN_MIDDLE_CENTER);
|
||||
}
|
||||
if ((gOptionsMenuItemIndex == 5) && (j == gCheatInputCurrentColumn) && (i == gCheatInputCurrentRow)) {
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF);
|
||||
if ((5 == gOptionsMenuItemIndex) && (j == gCheatInputCurrentColumn) && (i == gCheatInputCurrentRow)) {
|
||||
set_text_colour(255, 255, 255, 0, 255);
|
||||
}
|
||||
temp = (temp + 1) & 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
alpha2 = gOptionBlinkTimer * 8;
|
||||
if (alpha2 >= 0x100) {
|
||||
alpha2 = 0x1FF - alpha2;
|
||||
if (alpha2 >= 256) {
|
||||
alpha2 = 511 - alpha2;
|
||||
}
|
||||
set_text_font(0);
|
||||
|
||||
set_text_font(ASSET_FONTS_FUNFONT);
|
||||
i = 0;
|
||||
temp = 0xA4;
|
||||
y = 0x10;
|
||||
temp = 164;
|
||||
yPos = 16;
|
||||
if (osTvType == TV_TYPE_PAL) {
|
||||
y = 0x18;
|
||||
yPos = 24;
|
||||
}
|
||||
|
||||
while (gMagicCodeMenuStrings[i] != NULL) {
|
||||
alpha = 0;
|
||||
if (i == gOptionsMenuItemIndex) {
|
||||
if (gMenuOptionCount == 0) {
|
||||
alpha = alpha2;
|
||||
}
|
||||
if (i == gOptionsMenuItemIndex && gMenuOptionCount == 0) {
|
||||
alpha = alpha2;
|
||||
}
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, alpha, 0xFF);
|
||||
set_text_colour(255, 255, 255, alpha, 255);
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, temp, gMagicCodeMenuStrings[i], ALIGN_MIDDLE_CENTER);
|
||||
i++;
|
||||
temp += y;
|
||||
temp += yPos;
|
||||
}
|
||||
set_text_font(0);
|
||||
set_text_colour(0xFF, 0xFF, 0x80, 0x80, 0xFF);
|
||||
set_text_background_colour(0, 0, 0x80, 0x80);
|
||||
set_text_font(ASSET_FONTS_FUNFONT);
|
||||
set_text_colour(255, 255, 128, 128, 255);
|
||||
set_text_background_colour(0, 0, 128, 128);
|
||||
if (gOptionsMenuItemIndex == 4) {
|
||||
if (D_80126C4C == -1) {
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x90, gMenuText[18], ALIGN_MIDDLE_CENTER);
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, 144, gMenuText[ASSET_MENU_TEXT_BADCODE], ALIGN_MIDDLE_CENTER); //"Sorry, the code was incorrect"
|
||||
} else {
|
||||
// Draw cheat code name.
|
||||
cheatData = (*gCheatsAssetData) + 1;
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x90, &((char*)(*gCheatsAssetData))[cheatData[D_80126C4C + 1]], ALIGN_MIDDLE_CENTER);
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, 144, &((char*)(*gCheatsAssetData))[cheatData[D_80126C4C + 1]], ALIGN_MIDDLE_CENTER);
|
||||
}
|
||||
} else if (gOptionsMenuItemIndex == 5) {
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x90, (s8* ) D_80126C58, ALIGN_MIDDLE_CENTER);
|
||||
} else if (5 == gOptionsMenuItemIndex) {
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, 144, D_80126C58, ALIGN_MIDDLE_CENTER);
|
||||
} else if (gOptionsMenuItemIndex == 6) {
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x90, gMenuText[19], ALIGN_MIDDLE_CENTER);
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, 144, gMenuText[ASSET_MENU_TEXT_ALLCODESDELETED], ALIGN_MIDDLE_CENTER); //"All cheats have been deleted"
|
||||
}
|
||||
if (gMenuOptionCount != 0) {
|
||||
if (osTvType == TV_TYPE_PAL) {
|
||||
temp = 0x86;
|
||||
temp = SCREEN_HEIGHT_HALF + 14;
|
||||
} else {
|
||||
temp = 0x78;
|
||||
temp = SCREEN_HEIGHT_HALF;
|
||||
}
|
||||
assign_dialogue_box_id(6);
|
||||
set_dialogue_font(6, 0);
|
||||
set_current_dialogue_box_coords(6, 0x4C, temp - 0x1C, 0xF4, temp + 0x1C);
|
||||
set_current_dialogue_background_colour(6, 0, 0, 0, 0xA0);
|
||||
set_dialogue_font(6, ASSET_FONTS_FUNFONT);
|
||||
set_current_dialogue_box_coords(6, 76, temp - 28, 244, temp + 28);
|
||||
set_current_dialogue_background_colour(6, 0, 0, 0, 160);
|
||||
temp = 4;
|
||||
|
||||
for(i = 0; i < 3; i++) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
green = 0xFF;
|
||||
alpha = 0;
|
||||
if (i == 0) {
|
||||
green = 0;
|
||||
alpha = 0x40;
|
||||
alpha = 64;
|
||||
} else if (i == gMenuOptionCount) {
|
||||
alpha = alpha2;
|
||||
}
|
||||
set_current_text_colour(6, 0xFF, green, 0xFF, alpha, 0xFF);
|
||||
set_current_text_colour(6, 255, green, 255, alpha, 255);
|
||||
// gMenuText[148] = "CLEAR ALL CODES?", [149] = "OK", [150] = "CANCEL"
|
||||
render_dialogue_text(6, POS_CENTRED, temp, gMenuText[148 + i], 1, 4);
|
||||
render_dialogue_text(6, POS_CENTRED, temp, gMenuText[148 + i], 1, HORZ_ALIGN_CENTER);
|
||||
|
||||
if (i != 0) {
|
||||
temp += 0x10;
|
||||
temp += 16;
|
||||
} else {
|
||||
temp += 0x14;
|
||||
temp += 20;
|
||||
}
|
||||
}
|
||||
render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 6);
|
||||
@@ -5092,7 +5086,6 @@ void render_magic_codes_ui(s32 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
s32 menu_magic_codes_loop(s32 updateRate) {
|
||||
s32 i;
|
||||
s32 buttonsPressed;
|
||||
@@ -5184,9 +5177,9 @@ s32 menu_magic_codes_loop(s32 updateRate) {
|
||||
someBool2 = TRUE;
|
||||
} else if (gCheatInputStringLength <= 18) {
|
||||
playSelectSound = TRUE;
|
||||
D_80126C58[gCheatInputStringLength] = (gCheatInputCurrentRow * 7) + gCheatInputCurrentColumn + 65;
|
||||
D_80126C58[gCheatInputStringLength] = (gCheatInputCurrentRow * 7) + gCheatInputCurrentColumn + 'A'; //Convert to upper case?
|
||||
gCheatInputStringLength++;
|
||||
D_80126C58[gCheatInputStringLength] = 0;
|
||||
D_80126C58[gCheatInputStringLength] = '\0';
|
||||
}
|
||||
}
|
||||
if (buttonsPressed & B_BUTTON) {
|
||||
@@ -5203,7 +5196,7 @@ s32 menu_magic_codes_loop(s32 updateRate) {
|
||||
play_sound_global(SOUND_BOUNCE, NULL);
|
||||
if (gCheatInputStringLength > 0) {
|
||||
gCheatInputStringLength--;
|
||||
D_80126C58[gCheatInputStringLength] = 0;
|
||||
D_80126C58[gCheatInputStringLength] = '\0';
|
||||
}
|
||||
}
|
||||
if (someBool2) {
|
||||
@@ -5292,7 +5285,7 @@ s32 menu_magic_codes_loop(s32 updateRate) {
|
||||
gCheatInputCurrentRow = 0;
|
||||
gCheatInputCurrentColumn = 0;
|
||||
gCheatInputStringLength = 0;
|
||||
*D_80126C58 = 0;
|
||||
D_80126C58[0] = '\0';
|
||||
gOptionsMenuItemIndex = 5;
|
||||
} else if (gOptionsMenuItemIndex == 1) {
|
||||
gMenuOptionCount = 2;
|
||||
@@ -5365,58 +5358,57 @@ void menu_magic_codes_list_init(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void render_magic_codes_list_menu_text(s32 arg0) {
|
||||
void render_magic_codes_list_menu_text(UNUSED s32 updateRate) {
|
||||
s32 i;
|
||||
s32 alpha;
|
||||
s32 y;
|
||||
s32 var_s3;
|
||||
s32 yPos;
|
||||
s32 numOfUnlockedCheats;
|
||||
s32 code;
|
||||
u16 *cheatData;
|
||||
|
||||
set_text_background_colour(0, 0, 0, 0);
|
||||
set_text_font(2);
|
||||
set_text_colour(0, 0, 0, 0xFF, 0x80);
|
||||
draw_text(&sMenuCurrDisplayList, 0xA1, 0x23, gMenuText[20], ALIGN_MIDDLE_CENTER);
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF);
|
||||
draw_text(&sMenuCurrDisplayList, 0xA0, 0x20, gMenuText[20], ALIGN_MIDDLE_CENTER);
|
||||
|
||||
for (i = 0, code = 1, var_s3 = 0; i < 32; i++, code <<= 1) {
|
||||
set_text_font(ASSET_FONTS_BIGFONT);
|
||||
set_text_colour(0, 0, 0, 255, 128);
|
||||
draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, gMenuText[ASSET_MENU_TEXT_MAGICCODESLIST], ALIGN_MIDDLE_CENTER); // MAGIC CODES LIST
|
||||
set_text_colour(255, 255, 255, 0, 255);
|
||||
draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_MAGICCODESLIST], ALIGN_MIDDLE_CENTER); // MAGIC CODES LIST
|
||||
|
||||
for (i = 0, code = 1, numOfUnlockedCheats = 0; i < 32; i++, code <<= 1) {
|
||||
if (code & gUnlockedMagicCodes) {
|
||||
D_80126C80[var_s3] = i;
|
||||
var_s3 += 1;
|
||||
D_80126C80[numOfUnlockedCheats] = i;
|
||||
numOfUnlockedCheats += 1;
|
||||
}
|
||||
}
|
||||
y = 0x36;
|
||||
yPos = 54;
|
||||
alpha = gOptionBlinkTimer * 8;
|
||||
if (alpha >= 0x100) {
|
||||
alpha = 0x1FF - alpha;
|
||||
if (alpha >= 256) {
|
||||
alpha = 511 - alpha;
|
||||
}
|
||||
set_text_font(0);
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF);
|
||||
|
||||
for (i = gMenuOptionCount, cheatData = (*gCheatsAssetData) + 1; (i < gMenuOptionCount + gNumOnscreenMagicCodes) && (i < var_s3); i++, y+= 16) {
|
||||
set_text_font(ASSET_FONTS_FUNFONT);
|
||||
set_text_colour(255, 255, 255, 0, 255);
|
||||
for (i = gMenuOptionCount, cheatData = (*gCheatsAssetData) + 1; (i < gMenuOptionCount + gNumOnscreenMagicCodes) && (i < numOfUnlockedCheats); i++, yPos += 16) {
|
||||
if (i == gOptionsMenuItemIndex) {
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, alpha, 0xFF);
|
||||
set_text_colour(255, 255, 255, alpha, 255);
|
||||
}
|
||||
draw_text(&sMenuCurrDisplayList, 0x30, y, (char*)(*gCheatsAssetData) + cheatData[(D_80126C80[i] << 1) + 1], ALIGN_TOP_LEFT);
|
||||
draw_text(&sMenuCurrDisplayList, 48, yPos, (char *) (*gCheatsAssetData) + cheatData[(D_80126C80[i] << 1) + 1], ALIGN_TOP_LEFT);
|
||||
if ((1 << D_80126C80[i]) & gActiveMagicCodes) {
|
||||
draw_text(&sMenuCurrDisplayList, 0x100, y, gMenuText[21], ALIGN_TOP_LEFT);
|
||||
draw_text(&sMenuCurrDisplayList, 256, yPos, gMenuText[ASSET_MENU_TEXT_ON], ALIGN_TOP_LEFT); // ON
|
||||
} else {
|
||||
draw_text(&sMenuCurrDisplayList, 0x100, y, gMenuText[22], ALIGN_TOP_LEFT);
|
||||
}
|
||||
draw_text(&sMenuCurrDisplayList, 256, yPos, gMenuText[ASSET_MENU_TEXT_OFF], ALIGN_TOP_LEFT); // OFF
|
||||
}
|
||||
if (i == gOptionsMenuItemIndex) {
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF);
|
||||
set_text_colour(255, 255, 255, 0, 255);
|
||||
}
|
||||
}
|
||||
if (i < gMenuOptionCount + gNumOnscreenMagicCodes) {
|
||||
if (var_s3 == gOptionsMenuItemIndex) {
|
||||
set_text_colour(0xFF, 0xFF, 0xFF, alpha, 0xFF);
|
||||
if (numOfUnlockedCheats == gOptionsMenuItemIndex) {
|
||||
set_text_colour(255, 255, 255, alpha, 255);
|
||||
}
|
||||
draw_text(&sMenuCurrDisplayList, -0x8000, y, gMenuText[5], ALIGN_TOP_CENTER);
|
||||
draw_text(&sMenuCurrDisplayList, POS_CENTRED, yPos, gMenuText[ASSET_MENU_TEXT_RETURN], ALIGN_TOP_CENTER); // RETURN
|
||||
return;
|
||||
}
|
||||
if (gOptionBlinkTimer & 8) {
|
||||
render_textured_rectangle(&sMenuCurrDisplayList, gMenuSelectionArrowDown, 0xA0, y + 8, (u8) 0xFF, (u8) 0xFF, (u8) 0xFF, (u8) 0xFF);
|
||||
render_textured_rectangle(&sMenuCurrDisplayList, gMenuSelectionArrowDown, SCREEN_WIDTH_HALF, yPos + 8, 255, 255, 255, 255);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7016,18 +7008,18 @@ void menu_track_select_init(void) {
|
||||
var_a0 = -160;
|
||||
var_v0 = 0;
|
||||
for (var_v0 = 0; var_v0 < 80; var_v0++) {
|
||||
gTrackSelectBgVertices[var_v0].x = var_a0;
|
||||
gTrackSelectBgVertices[var_v0]->x = var_a0;
|
||||
var_a0 = -var_a0;
|
||||
gTrackSelectBgVertices[var_v0].z = -1024;
|
||||
gTrackSelectBgVertices[var_v0].r = 0xFF;
|
||||
gTrackSelectBgVertices[var_v0].g = 0xFF;
|
||||
gTrackSelectBgVertices[var_v0].b = 0xFF;
|
||||
gTrackSelectBgVertices[var_v0]->z = -1024;
|
||||
gTrackSelectBgVertices[var_v0]->r = 0xFF;
|
||||
gTrackSelectBgVertices[var_v0]->g = 0xFF;
|
||||
gTrackSelectBgVertices[var_v0]->b = 0xFF;
|
||||
}
|
||||
for (var_v0 = 0; var_v0 < 40; var_v0++) {
|
||||
gTrackSelectBgTriangles[var_v0].flags = 0x40; // 0x40 = Draw backface
|
||||
gTrackSelectBgTriangles[var_v0].vi0 = 0;
|
||||
gTrackSelectBgTriangles[var_v0].vi1 = 2;
|
||||
gTrackSelectBgTriangles[var_v0].vi2 = 1;
|
||||
gTrackSelectBgTriangles[var_v0]->flags = 0x40; // 0x40 = Draw backface
|
||||
gTrackSelectBgTriangles[var_v0]->vi0 = 0;
|
||||
gTrackSelectBgTriangles[var_v0]->vi1 = 2;
|
||||
gTrackSelectBgTriangles[var_v0]->vi2 = 1;
|
||||
}
|
||||
D_80126924 = 0;
|
||||
set_background_draw_function(func_8008F618);
|
||||
@@ -7103,7 +7095,7 @@ void menu_track_select_init(void) {
|
||||
play_music(SEQUENCE_MAIN_MENU);
|
||||
set_relative_volume_for_music(sMenuMusicVolume);
|
||||
func_80000B18();
|
||||
set_D_800DD430(1); // Set an interrupt?
|
||||
set_gIntDisFlag(TRUE); // Set an interrupt?
|
||||
gIsInAdventureTwo = gTracksMenuAdventureHighlightIndex;
|
||||
gMultiplayerSelectedNumberOfRacersCopy = gMultiplayerSelectedNumberOfRacers;
|
||||
}
|
||||
@@ -7268,7 +7260,7 @@ void func_8008F534(void) {
|
||||
func_80000B28();
|
||||
func_80000C2C();
|
||||
func_80001844();
|
||||
set_D_800DD430(0);
|
||||
set_gIntDisFlag(FALSE);
|
||||
}
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
@@ -7591,7 +7583,37 @@ void func_8008FF1C(s32 updateRate) {
|
||||
GLOBAL_ASM("asm/non_matchings/menu/func_8008FF1C.s")
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/menu/func_800904E8.s")
|
||||
void func_800904E8(s32 updateRate) {
|
||||
s32 x1;
|
||||
s32 y1;
|
||||
s32 x2;
|
||||
s32 y2;
|
||||
s32 i;
|
||||
|
||||
tick_thread30();
|
||||
for(i = 0; i < updateRate; i++) {
|
||||
gTrackSelectX += (D_801269E8 - gTrackSelectX) * 0.1;
|
||||
gTrackSelectY += (D_801269EC - gTrackSelectY) * 0.1;
|
||||
}
|
||||
if (gOpacityDecayTimer == 32 && get_thread30_level_id_to_load() == 0) {
|
||||
if (gTrackIdForPreview == D_801263D0) {
|
||||
gSelectedTrackX = D_801269C8;
|
||||
gSelectedTrackY = D_801269CC;
|
||||
} else if (gTrackIdForPreview != D_801263D0 && gTrackIdForPreview != -1 && set_level_to_load_in_background(gTrackIdForPreview, 1)) {
|
||||
D_801263D0 = gTrackIdForPreview;
|
||||
gSelectedTrackX = D_801269C8;
|
||||
gSelectedTrackY = D_801269CC;
|
||||
set_level_default_vehicle(get_map_default_vehicle(gTrackIdForPreview));
|
||||
}
|
||||
}
|
||||
x1 = ((gSelectedTrackX * SCREEN_WIDTH) - gTrackSelectX) + SCREEN_WIDTH_FLOAT_HALF - 80.0f;
|
||||
x2 = x1 + SCREEN_WIDTH_HALF;
|
||||
y1 = gTrackSelectViewPortHalfY - ((gSelectedTrackY * -gTrackSelectViewportY) - gTrackSelectY) - (gTrackSelectViewportY >> 2);
|
||||
y2 = y1 + gTrackSelectViewPortHalfY;
|
||||
resize_viewport(0, x1, y1, x2, y2);
|
||||
copy_viewport_background_size_to_coords(0, &x1, &y1, &x2, &y2);
|
||||
camEnableUserView(0, 0);
|
||||
}
|
||||
|
||||
void func_80090918(s32 updateRate) {
|
||||
UNUSED s32 pad1[2];
|
||||
@@ -7831,7 +7853,7 @@ void render_track_select_setup_ui(s32 updateRate) {
|
||||
if (gNumberOfActivePlayers == 1) {
|
||||
// Glow effect
|
||||
set_current_dialogue_box_coords(7, 134, sp80 + 112, 186, sp80 + 137);
|
||||
render_dialogue_box(&sMenuCurrDisplayList, 0, 0, 7);
|
||||
render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 7);
|
||||
if (gMenuOptionCount <= 0) {
|
||||
render_textured_rectangle(&sMenuCurrDisplayList, &gRaceSelectionVehicleTitleTexture, 136, sp80 + 114, 255, 0xFF, 255, sMenuGuiOpacity);
|
||||
} else {
|
||||
@@ -7855,7 +7877,7 @@ void render_track_select_setup_ui(s32 updateRate) {
|
||||
s32 temp_v1 = gTracksMenuPlayerNamePositions[s3 + (i * 2) + 1] + sp80;
|
||||
// Glow effect around Player image
|
||||
set_current_dialogue_box_coords(7, temp_v0_9 - 2, temp_v1 - 2, temp_v0_9 + 0x32, temp_v1 + 0x17);
|
||||
render_dialogue_box(&sMenuCurrDisplayList, 0, 0, 7);
|
||||
render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 7);
|
||||
}
|
||||
|
||||
// "Player" text image
|
||||
@@ -9216,9 +9238,9 @@ s32 func_80095728(Gfx **dlist, MatrixS **matrices, Vertex **vertices, s32 update
|
||||
}
|
||||
if (sp54 != 0) {
|
||||
play_sound_global(SOUND_MENU_BACK3, NULL);
|
||||
} else if((sp50 != 0)) {
|
||||
} else if (sp50 != 0) {
|
||||
play_sound_global(SOUND_SELECT2, NULL);
|
||||
} else if((sp4C != 0)) {
|
||||
} else if (sp4C != 0) {
|
||||
play_sound_global(SOUND_MENU_PICK2, NULL);
|
||||
}
|
||||
break;
|
||||
@@ -10281,8 +10303,8 @@ s32 func_800998E0(s32 arg0) {
|
||||
s32 i;
|
||||
|
||||
result = 0;
|
||||
if ((arg0 >= 0) && (arg0 < D_801264D4)) {
|
||||
play_sound_global(0xEFU, NULL);
|
||||
if (arg0 >= 0 && arg0 < D_801264D4) {
|
||||
play_sound_global(SOUND_SELECT2, NULL);
|
||||
temp_s0 = D_80126540[arg0];
|
||||
result = func_800753D8(D_801264D0, temp_s0);
|
||||
if (result == 0) {
|
||||
@@ -10716,7 +10738,7 @@ void menu_credits_init(void) {
|
||||
set_background_fill_colour(0, 0, 0);
|
||||
if (osTvType == TV_TYPE_PAL) {
|
||||
resize_viewport(0, 0, 38, SCREEN_WIDTH, 224);
|
||||
set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, SCREEN_WIDTH, SCREEN_HEIGHT + 44);
|
||||
set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, SCREEN_WIDTH, SCREEN_HEIGHT_PAL);
|
||||
} else {
|
||||
resize_viewport(0, 0, 40, SCREEN_WIDTH, 196);
|
||||
set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
@@ -10761,7 +10783,7 @@ void menu_credits_init(void) {
|
||||
}
|
||||
func_80000B18();
|
||||
enable_new_screen_transitions();
|
||||
set_D_800DD430(1);
|
||||
set_gIntDisFlag(TRUE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -10794,7 +10816,7 @@ void func_8009BCF0(void) {
|
||||
set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, VIEWPORT_AUTO, VIEWPORT_AUTO);
|
||||
func_8009C4A8(gCreditsObjectIndices);
|
||||
unload_font(ASSET_FONTS_BIGFONT);
|
||||
set_D_800DD430(0);
|
||||
set_gIntDisFlag(FALSE);
|
||||
}
|
||||
|
||||
void func_8009BD5C(void) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user