mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Halloween! 🎃63% matched! (#430)
* Match func_80085B9C * Match draw_menu_elements * Match render_file_select_menu * Minor cleanup and semi documenting * Fix some warnings * Match func_800871D8 * More SIDeviceStatus stuff * Update progress * Fix non equivalent * Update filter alpha to blend factor * Fixed minor spacing issue * Better floats math.
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 30, 2023, this is our current score:
|
||||
As of October 31, 2023, this is our current score:
|
||||
|
||||
    Decomp progress: 62.34%
|
||||
    Decomp progress: 63.02%
|
||||
|
||||
    Documentation progress: 34.35%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
@@ -128,31 +128,31 @@ s32 is_drumstick_unlocked(void) {
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of October 30th, 2023, this is our current score:
|
||||
As of October 31st, 2023, this is our current score:
|
||||
```
|
||||
======================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
-------------------------- 62.34% Complete ---------------------------
|
||||
# Decompiled functions: 1656
|
||||
# GLOBAL_ASM remaining: 189
|
||||
# NON_MATCHING functions: 14
|
||||
# NON_EQUIVALENT WIP functions: 55
|
||||
---------------------------- Game Status -----------------------------
|
||||
Balloons: 30/47, Keys: 3/4, Trophies: 2/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
|
||||
----------------------------------------------------------------------
|
||||
We are participating in the Trophy Race of Sherbet Island. (Round One)
|
||||
======================================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
-------------------------- 34.35% Complete ---------------------------
|
||||
# Documented functions: 761
|
||||
# Undocumented remaining: 807
|
||||
---------------------------- Game Status -----------------------------
|
||||
Balloons: 17/47, Keys: 2/4, Trophies: 1/5
|
||||
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
|
||||
----------------------------------------------------------------------
|
||||
We are battling in Icicle Pyramid. (2 opponents remain)
|
||||
======================================================================
|
||||
========================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
--------------------------- 63.02% Complete ----------------------------
|
||||
# Decompiled functions: 1660
|
||||
# GLOBAL_ASM remaining: 185
|
||||
# NON_MATCHING functions: 14
|
||||
# NON_EQUIVALENT WIP functions: 52
|
||||
----------------------------- Game Status ------------------------------
|
||||
Balloons: 30/47, Keys: 3/4, Trophies: 2/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
|
||||
------------------------------------------------------------------------
|
||||
We are participating in the Trophy Race of Sherbet Island. (Round Three)
|
||||
========================================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
--------------------------- 34.35% Complete ----------------------------
|
||||
# Documented functions: 761
|
||||
# Undocumented remaining: 807
|
||||
----------------------------- Game Status ------------------------------
|
||||
Balloons: 17/47, Keys: 2/4, Trophies: 1/5
|
||||
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
|
||||
------------------------------------------------------------------------
|
||||
We are battling in Icicle Pyramid. (2 opponents remain)
|
||||
========================================================================
|
||||
```
|
||||
<!-- README_SCORE_END -->
|
||||
|
||||
|
||||
@@ -1,463 +0,0 @@
|
||||
.late_rodata
|
||||
glabel jpt_800E836C
|
||||
.word L800823E8, L80082454, L800824B8, L80082524, L8008256C, L80082608, L80082760, L800827C0
|
||||
|
||||
.text
|
||||
glabel draw_menu_elements
|
||||
/* 082DEC 800821EC 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* 082DF0 800821F0 E7B4003C */ swc1 $f20, 0x3c($sp)
|
||||
/* 082DF4 800821F4 4486A000 */ mtc1 $a2, $f20
|
||||
/* 082DF8 800821F8 AFB5005C */ sw $s5, 0x5c($sp)
|
||||
/* 082DFC 800821FC AFB00048 */ sw $s0, 0x48($sp)
|
||||
/* 082E00 80082200 24010004 */ li $at, 4
|
||||
/* 082E04 80082204 00A08025 */ move $s0, $a1
|
||||
/* 082E08 80082208 AFBF006C */ sw $ra, 0x6c($sp)
|
||||
/* 082E0C 8008220C AFBE0068 */ sw $fp, 0x68($sp)
|
||||
/* 082E10 80082210 AFB70064 */ sw $s7, 0x64($sp)
|
||||
/* 082E14 80082214 AFB60060 */ sw $s6, 0x60($sp)
|
||||
/* 082E18 80082218 AFB40058 */ sw $s4, 0x58($sp)
|
||||
/* 082E1C 8008221C AFB30054 */ sw $s3, 0x54($sp)
|
||||
/* 082E20 80082220 AFB20050 */ sw $s2, 0x50($sp)
|
||||
/* 082E24 80082224 AFB1004C */ sw $s1, 0x4c($sp)
|
||||
/* 082E28 80082228 E7B70040 */ swc1 $f23, 0x40($sp)
|
||||
/* 082E2C 8008222C E7B60044 */ swc1 $f22, 0x44($sp)
|
||||
/* 082E30 80082230 E7B50038 */ swc1 $f21, 0x38($sp)
|
||||
/* 082E34 80082234 AFA40070 */ sw $a0, 0x70($sp)
|
||||
/* 082E38 80082238 1081018F */ beq $a0, $at, .L80082878
|
||||
/* 082E3C 8008223C 0000A825 */ move $s5, $zero
|
||||
/* 082E40 80082240 3C168012 */ lui $s6, %hi(sMenuCurrDisplayList) # $s6, 0x8012
|
||||
/* 082E44 80082244 26D663A0 */ addiu $s6, %lo(sMenuCurrDisplayList) # addiu $s6, $s6, 0x63a0
|
||||
/* 082E48 80082248 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012
|
||||
/* 082E4C 8008224C 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8
|
||||
/* 082E50 80082250 0C019FCB */ jal set_ortho_matrix_view
|
||||
/* 082E54 80082254 02C02025 */ move $a0, $s6
|
||||
/* 082E58 80082258 8E110014 */ lw $s1, 0x14($s0)
|
||||
/* 082E5C 8008225C 3C013B80 */ li $at, 0x3B800000 # 0.003906
|
||||
/* 082E60 80082260 12200175 */ beqz $s1, .L80082838
|
||||
/* 082E64 80082264 3C17800E */ lui $s7, %hi(gDrawElementsYOffset) # $s7, 0x800e
|
||||
/* 082E68 80082268 3C1E800E */ lui $fp, %hi(gDrawElementsRegionYOffset) # $fp, 0x800e
|
||||
/* 082E6C 8008226C 3C14800E */ lui $s4, %hi(gMenuImageStack) # $s4, 0x800e
|
||||
/* 082E70 80082270 4481B000 */ mtc1 $at, $f22
|
||||
/* 082E74 80082274 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 082E78 80082278 2694F75C */ addiu $s4, %lo(gMenuImageStack) # addiu $s4, $s4, -0x8a4
|
||||
/* 082E7C 8008227C 27DEF79C */ addiu $fp, %lo(gDrawElementsRegionYOffset) # addiu $fp, $fp, -0x864
|
||||
/* 082E80 80082280 26F7F7A0 */ addiu $s7, %lo(gDrawElementsYOffset) # addiu $s7, $s7, -0x860
|
||||
.L80082284:
|
||||
/* 082E84 80082284 3C0F8012 */ lui $t7, %hi(D_80126850) # $t7, 0x8012
|
||||
/* 082E88 80082288 25EF6850 */ addiu $t7, %lo(D_80126850) # addiu $t7, $t7, 0x6850
|
||||
/* 082E8C 8008228C 11F10166 */ beq $t7, $s1, .L80082828
|
||||
/* 082E90 80082290 00000000 */ nop
|
||||
/* 082E94 80082294 14800022 */ bnez $a0, .L80082320
|
||||
/* 082E98 80082298 24010001 */ li $at, 1
|
||||
/* 082E9C 8008229C 86020000 */ lh $v0, ($s0)
|
||||
/* 082EA0 800822A0 86180004 */ lh $t8, 4($s0)
|
||||
/* 082EA4 800822A4 86030002 */ lh $v1, 2($s0)
|
||||
/* 082EA8 800822A8 0302C823 */ subu $t9, $t8, $v0
|
||||
/* 082EAC 800822AC 44992000 */ mtc1 $t9, $f4
|
||||
/* 082EB0 800822B0 860A0006 */ lh $t2, 6($s0)
|
||||
/* 082EB4 800822B4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 082EB8 800822B8 01435823 */ subu $t3, $t2, $v1
|
||||
/* 082EBC 800822BC 448B8000 */ mtc1 $t3, $f16
|
||||
/* 082EC0 800822C0 46143202 */ mul.s $f8, $f6, $f20
|
||||
/* 082EC4 800822C4 4448F800 */ cfc1 $t0, $31
|
||||
/* 082EC8 800822C8 00000000 */ nop
|
||||
/* 082ECC 800822CC 35010003 */ ori $at, $t0, 3
|
||||
/* 082ED0 800822D0 38210002 */ xori $at, $at, 2
|
||||
/* 082ED4 800822D4 44C1F800 */ ctc1 $at, $31
|
||||
/* 082ED8 800822D8 00000000 */ nop
|
||||
/* 082EDC 800822DC 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 082EE0 800822E0 44C8F800 */ ctc1 $t0, $31
|
||||
/* 082EE4 800822E4 44095000 */ mfc1 $t1, $f10
|
||||
/* 082EE8 800822E8 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 082EEC 800822EC 01229021 */ addu $s2, $t1, $v0
|
||||
/* 082EF0 800822F0 46149102 */ mul.s $f4, $f18, $f20
|
||||
/* 082EF4 800822F4 444CF800 */ cfc1 $t4, $31
|
||||
/* 082EF8 800822F8 00000000 */ nop
|
||||
/* 082EFC 800822FC 35810003 */ ori $at, $t4, 3
|
||||
/* 082F00 80082300 38210002 */ xori $at, $at, 2
|
||||
/* 082F04 80082304 44C1F800 */ ctc1 $at, $31
|
||||
/* 082F08 80082308 00000000 */ nop
|
||||
/* 082F0C 8008230C 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 082F10 80082310 440D3000 */ mfc1 $t5, $f6
|
||||
/* 082F14 80082314 44CCF800 */ ctc1 $t4, $31
|
||||
/* 082F18 80082318 10000028 */ b .L800823BC
|
||||
/* 082F1C 8008231C 01A39821 */ addu $s3, $t5, $v1
|
||||
.L80082320:
|
||||
/* 082F20 80082320 14810005 */ bne $a0, $at, .L80082338
|
||||
/* 082F24 80082324 00000000 */ nop
|
||||
/* 082F28 80082328 86120004 */ lh $s2, 4($s0)
|
||||
/* 082F2C 8008232C 86130006 */ lh $s3, 6($s0)
|
||||
/* 082F30 80082330 10000023 */ b .L800823C0
|
||||
/* 082F34 80082334 920C0013 */ lbu $t4, 0x13($s0)
|
||||
.L80082338:
|
||||
/* 082F38 80082338 86020004 */ lh $v0, 4($s0)
|
||||
/* 082F3C 8008233C 860E0008 */ lh $t6, 8($s0)
|
||||
/* 082F40 80082340 86030006 */ lh $v1, 6($s0)
|
||||
/* 082F44 80082344 01C27823 */ subu $t7, $t6, $v0
|
||||
/* 082F48 80082348 448F4000 */ mtc1 $t7, $f8
|
||||
/* 082F4C 8008234C 8608000A */ lh $t0, 0xa($s0)
|
||||
/* 082F50 80082350 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 082F54 80082354 01034823 */ subu $t1, $t0, $v1
|
||||
/* 082F58 80082358 44892000 */ mtc1 $t1, $f4
|
||||
/* 082F5C 8008235C 46145402 */ mul.s $f16, $f10, $f20
|
||||
/* 082F60 80082360 4458F800 */ cfc1 $t8, $31
|
||||
/* 082F64 80082364 00000000 */ nop
|
||||
/* 082F68 80082368 37010003 */ ori $at, $t8, 3
|
||||
/* 082F6C 8008236C 38210002 */ xori $at, $at, 2
|
||||
/* 082F70 80082370 44C1F800 */ ctc1 $at, $31
|
||||
/* 082F74 80082374 00000000 */ nop
|
||||
/* 082F78 80082378 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 082F7C 8008237C 44D8F800 */ ctc1 $t8, $31
|
||||
/* 082F80 80082380 44199000 */ mfc1 $t9, $f18
|
||||
/* 082F84 80082384 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 082F88 80082388 03229021 */ addu $s2, $t9, $v0
|
||||
/* 082F8C 8008238C 46143202 */ mul.s $f8, $f6, $f20
|
||||
/* 082F90 80082390 444AF800 */ cfc1 $t2, $31
|
||||
/* 082F94 80082394 00000000 */ nop
|
||||
/* 082F98 80082398 35410003 */ ori $at, $t2, 3
|
||||
/* 082F9C 8008239C 38210002 */ xori $at, $at, 2
|
||||
/* 082FA0 800823A0 44C1F800 */ ctc1 $at, $31
|
||||
/* 082FA4 800823A4 00000000 */ nop
|
||||
/* 082FA8 800823A8 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 082FAC 800823AC 440B5000 */ mfc1 $t3, $f10
|
||||
/* 082FB0 800823B0 44CAF800 */ ctc1 $t2, $31
|
||||
/* 082FB4 800823B4 01639821 */ addu $s3, $t3, $v1
|
||||
/* 082FB8 800823B8 00000000 */ nop
|
||||
.L800823BC:
|
||||
/* 082FBC 800823BC 920C0013 */ lbu $t4, 0x13($s0)
|
||||
.L800823C0:
|
||||
/* 082FC0 800823C0 00000000 */ nop
|
||||
/* 082FC4 800823C4 2D810008 */ sltiu $at, $t4, 8
|
||||
/* 082FC8 800823C8 10200117 */ beqz $at, .L80082828
|
||||
/* 082FCC 800823CC 000C6080 */ sll $t4, $t4, 2
|
||||
/* 082FD0 800823D0 3C01800F */ lui $at, %hi(jpt_800E836C) # $at, 0x800f
|
||||
/* 082FD4 800823D4 002C0821 */ addu $at, $at, $t4
|
||||
/* 082FD8 800823D8 8C2C836C */ lw $t4, %lo(jpt_800E836C)($at)
|
||||
/* 082FDC 800823DC 00000000 */ nop
|
||||
/* 082FE0 800823E0 01800008 */ jr $t4
|
||||
/* 082FE4 800823E4 00000000 */ nop
|
||||
glabel L800823E8
|
||||
/* 082FE8 800823E8 86040018 */ lh $a0, 0x18($s0)
|
||||
/* 082FEC 800823EC 8605001A */ lh $a1, 0x1a($s0)
|
||||
/* 082FF0 800823F0 8606001C */ lh $a2, 0x1c($s0)
|
||||
/* 082FF4 800823F4 8607001E */ lh $a3, 0x1e($s0)
|
||||
/* 082FF8 800823F8 0C0310F3 */ jal set_text_background_colour
|
||||
/* 082FFC 800823FC 00000000 */ nop
|
||||
/* 083000 80082400 920D0010 */ lbu $t5, 0x10($s0)
|
||||
/* 083004 80082404 9204000C */ lbu $a0, 0xc($s0)
|
||||
/* 083008 80082408 9205000D */ lbu $a1, 0xd($s0)
|
||||
/* 08300C 8008240C 9206000E */ lbu $a2, 0xe($s0)
|
||||
/* 083010 80082410 9207000F */ lbu $a3, 0xf($s0)
|
||||
/* 083014 80082414 0C0310E1 */ jal set_text_colour
|
||||
/* 083018 80082418 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 08301C 8008241C 92040011 */ lbu $a0, 0x11($s0)
|
||||
/* 083020 80082420 0C0310BB */ jal set_text_font
|
||||
/* 083024 80082424 00000000 */ nop
|
||||
/* 083028 80082428 8FCE0000 */ lw $t6, ($fp)
|
||||
/* 08302C 8008242C 920F0012 */ lbu $t7, 0x12($s0)
|
||||
/* 083030 80082430 8E070014 */ lw $a3, 0x14($s0)
|
||||
/* 083034 80082434 02C02025 */ move $a0, $s6
|
||||
/* 083038 80082438 02402825 */ move $a1, $s2
|
||||
/* 08303C 8008243C 026E3021 */ addu $a2, $s3, $t6
|
||||
/* 083040 80082440 0C031110 */ jal draw_text
|
||||
/* 083044 80082444 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 083048 80082448 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 08304C 8008244C 100000F7 */ b .L8008282C
|
||||
/* 083050 80082450 8E110034 */ lw $s1, 0x34($s0)
|
||||
glabel L80082454
|
||||
/* 083054 80082454 12A00003 */ beqz $s5, .L80082464
|
||||
/* 083058 80082458 02C02025 */ move $a0, $s6
|
||||
/* 08305C 8008245C 0C01ECF4 */ jal reset_render_settings
|
||||
/* 083060 80082460 0000A825 */ move $s5, $zero
|
||||
.L80082464:
|
||||
/* 083064 80082464 92180010 */ lbu $t8, 0x10($s0)
|
||||
/* 083068 80082468 3C01800E */ lui $at, %hi(sMenuGuiOpacity) # $at, 0x800e
|
||||
/* 08306C 8008246C AC38F764 */ sw $t8, %lo(sMenuGuiOpacity)($at)
|
||||
/* 083070 80082470 8E190014 */ lw $t9, 0x14($s0)
|
||||
/* 083074 80082474 920A000D */ lbu $t2, 0xd($s0)
|
||||
/* 083078 80082478 9207000C */ lbu $a3, 0xc($s0)
|
||||
/* 08307C 8008247C 97240000 */ lhu $a0, ($t9)
|
||||
/* 083080 80082480 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 083084 80082484 920B000E */ lbu $t3, 0xe($s0)
|
||||
/* 083088 80082488 8EE90000 */ lw $t1, ($s7)
|
||||
/* 08308C 8008248C AFAB0014 */ sw $t3, 0x14($sp)
|
||||
/* 083090 80082490 920C0011 */ lbu $t4, 0x11($s0)
|
||||
/* 083094 80082494 00134023 */ negu $t0, $s3
|
||||
/* 083098 80082498 01093023 */ subu $a2, $t0, $t1
|
||||
/* 08309C 8008249C 24C60078 */ addiu $a2, $a2, 0x78
|
||||
/* 0830A0 800824A0 2645FF60 */ addiu $a1, $s2, -0xa0
|
||||
/* 0830A4 800824A4 0C020600 */ jal show_timestamp
|
||||
/* 0830A8 800824A8 AFAC0018 */ sw $t4, 0x18($sp)
|
||||
/* 0830AC 800824AC 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 0830B0 800824B0 100000DE */ b .L8008282C
|
||||
/* 0830B4 800824B4 8E110034 */ lw $s1, 0x34($s0)
|
||||
glabel L800824B8
|
||||
/* 0830B8 800824B8 12A00005 */ beqz $s5, .L800824D0
|
||||
/* 0830BC 800824BC 02C02025 */ move $a0, $s6
|
||||
/* 0830C0 800824C0 0C01ECF4 */ jal reset_render_settings
|
||||
/* 0830C4 800824C4 0000A825 */ move $s5, $zero
|
||||
/* 0830C8 800824C8 8E110014 */ lw $s1, 0x14($s0)
|
||||
/* 0830CC 800824CC 00000000 */ nop
|
||||
.L800824D0:
|
||||
/* 0830D0 800824D0 920F000D */ lbu $t7, 0xd($s0)
|
||||
/* 0830D4 800824D4 8E240000 */ lw $a0, ($s1)
|
||||
/* 0830D8 800824D8 9207000C */ lbu $a3, 0xc($s0)
|
||||
/* 0830DC 800824DC AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 0830E0 800824E0 9218000E */ lbu $t8, 0xe($s0)
|
||||
/* 0830E4 800824E4 8EEE0000 */ lw $t6, ($s7)
|
||||
/* 0830E8 800824E8 AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* 0830EC 800824EC 92190010 */ lbu $t9, 0x10($s0)
|
||||
/* 0830F0 800824F0 00136823 */ negu $t5, $s3
|
||||
/* 0830F4 800824F4 AFB90018 */ sw $t9, 0x18($sp)
|
||||
/* 0830F8 800824F8 92080011 */ lbu $t0, 0x11($s0)
|
||||
/* 0830FC 800824FC 01AE3023 */ subu $a2, $t5, $t6
|
||||
/* 083100 80082500 AFA8001C */ sw $t0, 0x1c($sp)
|
||||
/* 083104 80082504 92090012 */ lbu $t1, 0x12($s0)
|
||||
/* 083108 80082508 24C60078 */ addiu $a2, $a2, 0x78
|
||||
/* 08310C 8008250C 2645FF60 */ addiu $a1, $s2, -0xa0
|
||||
/* 083110 80082510 0C020701 */ jal func_80081C04
|
||||
/* 083114 80082514 AFA90020 */ sw $t1, 0x20($sp)
|
||||
/* 083118 80082518 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 08311C 8008251C 100000C3 */ b .L8008282C
|
||||
/* 083120 80082520 8E110034 */ lw $s1, 0x34($s0)
|
||||
glabel L80082524
|
||||
/* 083124 80082524 920B000C */ lbu $t3, 0xc($s0)
|
||||
/* 083128 80082528 8FCA0000 */ lw $t2, ($fp)
|
||||
/* 08312C 8008252C AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 083130 80082530 920C000D */ lbu $t4, 0xd($s0)
|
||||
/* 083134 80082534 02C02025 */ move $a0, $s6
|
||||
/* 083138 80082538 AFAC0014 */ sw $t4, 0x14($sp)
|
||||
/* 08313C 8008253C 920D000E */ lbu $t5, 0xe($s0)
|
||||
/* 083140 80082540 02202825 */ move $a1, $s1
|
||||
/* 083144 80082544 AFAD0018 */ sw $t5, 0x18($sp)
|
||||
/* 083148 80082548 920E0010 */ lbu $t6, 0x10($s0)
|
||||
/* 08314C 8008254C 02403025 */ move $a2, $s2
|
||||
/* 083150 80082550 24150001 */ li $s5, 1
|
||||
/* 083154 80082554 026A3821 */ addu $a3, $s3, $t2
|
||||
/* 083158 80082558 0C01E2AE */ jal render_textured_rectangle
|
||||
/* 08315C 8008255C AFAE001C */ sw $t6, 0x1c($sp)
|
||||
/* 083160 80082560 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 083164 80082564 100000B1 */ b .L8008282C
|
||||
/* 083168 80082568 8E110034 */ lw $s1, 0x34($s0)
|
||||
glabel L8008256C
|
||||
/* 08316C 8008256C 86190018 */ lh $t9, 0x18($s0)
|
||||
/* 083170 80082570 44928000 */ mtc1 $s2, $f16
|
||||
/* 083174 80082574 44992000 */ mtc1 $t9, $f4
|
||||
/* 083178 80082578 8FCF0000 */ lw $t7, ($fp)
|
||||
/* 08317C 8008257C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 083180 80082580 026FC021 */ addu $t8, $s3, $t7
|
||||
/* 083184 80082584 44989000 */ mtc1 $t8, $f18
|
||||
/* 083188 80082588 46163202 */ mul.s $f8, $f6, $f22
|
||||
/* 08318C 8008258C 02C02025 */ move $a0, $s6
|
||||
/* 083190 80082590 02202825 */ move $a1, $s1
|
||||
/* 083194 80082594 24150001 */ li $s5, 1
|
||||
/* 083198 80082598 E7A80010 */ swc1 $f8, 0x10($sp)
|
||||
/* 08319C 8008259C 46808420 */ cvt.s.w $f16, $f16
|
||||
/* 0831A0 800825A0 8608001A */ lh $t0, 0x1a($s0)
|
||||
/* 0831A4 800825A4 00000000 */ nop
|
||||
/* 0831A8 800825A8 44885000 */ mtc1 $t0, $f10
|
||||
/* 0831AC 800825AC 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* 0831B0 800825B0 44068000 */ mfc1 $a2, $f16
|
||||
/* 0831B4 800825B4 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 0831B8 800825B8 44079000 */ mfc1 $a3, $f18
|
||||
/* 0831BC 800825BC 46168482 */ mul.s $f18, $f16, $f22
|
||||
/* 0831C0 800825C0 E7B20014 */ swc1 $f18, 0x14($sp)
|
||||
/* 0831C4 800825C4 920B000D */ lbu $t3, 0xd($s0)
|
||||
/* 0831C8 800825C8 9209000C */ lbu $t1, 0xc($s0)
|
||||
/* 0831CC 800825CC 920E000E */ lbu $t6, 0xe($s0)
|
||||
/* 0831D0 800825D0 000B6400 */ sll $t4, $t3, 0x10
|
||||
/* 0831D4 800825D4 00095600 */ sll $t2, $t1, 0x18
|
||||
/* 0831D8 800825D8 92190010 */ lbu $t9, 0x10($s0)
|
||||
/* 0831DC 800825DC 014C6825 */ or $t5, $t2, $t4
|
||||
/* 0831E0 800825E0 000E7A00 */ sll $t7, $t6, 8
|
||||
/* 0831E4 800825E4 01AFC025 */ or $t8, $t5, $t7
|
||||
/* 0831E8 800825E8 03194025 */ or $t0, $t8, $t9
|
||||
/* 0831EC 800825EC AFA80018 */ sw $t0, 0x18($sp)
|
||||
/* 0831F0 800825F0 92090012 */ lbu $t1, 0x12($s0)
|
||||
/* 0831F4 800825F4 0C01E340 */ jal render_texture_rectangle_scaled
|
||||
/* 0831F8 800825F8 AFA9001C */ sw $t1, 0x1c($sp)
|
||||
/* 0831FC 800825FC 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 083200 80082600 1000008A */ b .L8008282C
|
||||
/* 083204 80082604 8E110034 */ lw $s1, 0x34($s0)
|
||||
glabel L80082608
|
||||
/* 083208 80082608 12A00003 */ beqz $s5, .L80082618
|
||||
/* 08320C 8008260C 02C02025 */ move $a0, $s6
|
||||
/* 083210 80082610 0C01ECF4 */ jal reset_render_settings
|
||||
/* 083214 80082614 0000A825 */ move $s5, $zero
|
||||
.L80082618:
|
||||
/* 083218 80082618 0C01A142 */ jal func_80068508
|
||||
/* 08321C 8008261C 24040001 */ li $a0, 1
|
||||
/* 083220 80082620 0C01EFC7 */ jal sprite_opaque
|
||||
/* 083224 80082624 00002025 */ move $a0, $zero
|
||||
/* 083228 80082628 264BFF60 */ addiu $t3, $s2, -0xa0
|
||||
/* 08322C 8008262C 448B2000 */ mtc1 $t3, $f4
|
||||
/* 083230 80082630 8E0C0014 */ lw $t4, 0x14($s0)
|
||||
/* 083234 80082634 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 083238 80082638 8E8A0000 */ lw $t2, ($s4)
|
||||
/* 08323C 8008263C 000C7140 */ sll $t6, $t4, 5
|
||||
/* 083240 80082640 014E6821 */ addu $t5, $t2, $t6
|
||||
/* 083244 80082644 E5A6000C */ swc1 $f6, 0xc($t5)
|
||||
/* 083248 80082648 8EF80000 */ lw $t8, ($s7)
|
||||
/* 08324C 8008264C 00137823 */ negu $t7, $s3
|
||||
/* 083250 80082650 01F8C823 */ subu $t9, $t7, $t8
|
||||
/* 083254 80082654 27280078 */ addiu $t0, $t9, 0x78
|
||||
/* 083258 80082658 44884000 */ mtc1 $t0, $f8
|
||||
/* 08325C 8008265C 8E0B0014 */ lw $t3, 0x14($s0)
|
||||
/* 083260 80082660 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 083264 80082664 8E890000 */ lw $t1, ($s4)
|
||||
/* 083268 80082668 000B6140 */ sll $t4, $t3, 5
|
||||
/* 08326C 8008266C 012C5021 */ addu $t2, $t1, $t4
|
||||
/* 083270 80082670 E54A0010 */ swc1 $f10, 0x10($t2)
|
||||
/* 083274 80082674 8E0F0014 */ lw $t7, 0x14($s0)
|
||||
/* 083278 80082678 8E8D0000 */ lw $t5, ($s4)
|
||||
/* 08327C 8008267C 920E0011 */ lbu $t6, 0x11($s0)
|
||||
/* 083280 80082680 000FC140 */ sll $t8, $t7, 5
|
||||
/* 083284 80082684 01B8C821 */ addu $t9, $t5, $t8
|
||||
/* 083288 80082688 A72E0018 */ sh $t6, 0x18($t9)
|
||||
/* 08328C 8008268C 8E090014 */ lw $t1, 0x14($s0)
|
||||
/* 083290 80082690 8E8B0000 */ lw $t3, ($s4)
|
||||
/* 083294 80082694 86080018 */ lh $t0, 0x18($s0)
|
||||
/* 083298 80082698 00096140 */ sll $t4, $t1, 5
|
||||
/* 08329C 8008269C 016C5021 */ addu $t2, $t3, $t4
|
||||
/* 0832A0 800826A0 A5480004 */ sh $t0, 4($t2)
|
||||
/* 0832A4 800826A4 8E180014 */ lw $t8, 0x14($s0)
|
||||
/* 0832A8 800826A8 8E8D0000 */ lw $t5, ($s4)
|
||||
/* 0832AC 800826AC 860F001A */ lh $t7, 0x1a($s0)
|
||||
/* 0832B0 800826B0 00187140 */ sll $t6, $t8, 5
|
||||
/* 0832B4 800826B4 01AEC821 */ addu $t9, $t5, $t6
|
||||
/* 0832B8 800826B8 A72F0002 */ sh $t7, 2($t9)
|
||||
/* 0832BC 800826BC 8E0C0014 */ lw $t4, 0x14($s0)
|
||||
/* 0832C0 800826C0 8E8B0000 */ lw $t3, ($s4)
|
||||
/* 0832C4 800826C4 8609001C */ lh $t1, 0x1c($s0)
|
||||
/* 0832C8 800826C8 000C4140 */ sll $t0, $t4, 5
|
||||
/* 0832CC 800826CC 01685021 */ addu $t2, $t3, $t0
|
||||
/* 0832D0 800826D0 A5490000 */ sh $t1, ($t2)
|
||||
/* 0832D4 800826D4 8618001E */ lh $t8, 0x1e($s0)
|
||||
/* 0832D8 800826D8 8E0E0014 */ lw $t6, 0x14($s0)
|
||||
/* 0832DC 800826DC 44988000 */ mtc1 $t8, $f16
|
||||
/* 0832E0 800826E0 8E8D0000 */ lw $t5, ($s4)
|
||||
/* 0832E4 800826E4 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 0832E8 800826E8 000E7940 */ sll $t7, $t6, 5
|
||||
/* 0832EC 800826EC 01AFC821 */ addu $t9, $t5, $t7
|
||||
/* 0832F0 800826F0 46169102 */ mul.s $f4, $f18, $f22
|
||||
/* 0832F4 800826F4 3C01800E */ lui $at, %hi(sMenuGuiColourR) # $at, 0x800e
|
||||
/* 0832F8 800826F8 E7240008 */ swc1 $f4, 8($t9)
|
||||
/* 0832FC 800826FC 920C000C */ lbu $t4, 0xc($s0)
|
||||
/* 083300 80082700 00000000 */ nop
|
||||
/* 083304 80082704 A02CF4A4 */ sb $t4, %lo(sMenuGuiColourR)($at)
|
||||
/* 083308 80082708 920B000D */ lbu $t3, 0xd($s0)
|
||||
/* 08330C 8008270C 3C01800E */ lui $at, %hi(sMenuGuiColourG) # $at, 0x800e
|
||||
/* 083310 80082710 A02BF4A8 */ sb $t3, %lo(sMenuGuiColourG)($at)
|
||||
/* 083314 80082714 9208000E */ lbu $t0, 0xe($s0)
|
||||
/* 083318 80082718 3C01800E */ lui $at, %hi(sMenuGuiColourB) # $at, 0x800e
|
||||
/* 08331C 8008271C A028F4AC */ sb $t0, %lo(sMenuGuiColourB)($at)
|
||||
/* 083320 80082720 9209000F */ lbu $t1, 0xf($s0)
|
||||
/* 083324 80082724 3C01800E */ lui $at, %hi(sMenuGuiColourA) # $at, 0x800e
|
||||
/* 083328 80082728 A029F4B0 */ sb $t1, %lo(sMenuGuiColourA)($at)
|
||||
/* 08332C 8008272C 920A0010 */ lbu $t2, 0x10($s0)
|
||||
/* 083330 80082730 3C01800E */ lui $at, %hi(sMenuGuiOpacity) # $at, 0x800e
|
||||
/* 083334 80082734 AC2AF764 */ sw $t2, %lo(sMenuGuiOpacity)($at)
|
||||
/* 083338 80082738 8E040014 */ lw $a0, 0x14($s0)
|
||||
/* 08333C 8008273C 0C027298 */ jal func_8009CA60
|
||||
/* 083340 80082740 00000000 */ nop
|
||||
/* 083344 80082744 0C01A142 */ jal func_80068508
|
||||
/* 083348 80082748 00002025 */ move $a0, $zero
|
||||
/* 08334C 8008274C 0C01EFC7 */ jal sprite_opaque
|
||||
/* 083350 80082750 24040001 */ li $a0, 1
|
||||
/* 083354 80082754 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 083358 80082758 10000034 */ b .L8008282C
|
||||
/* 08335C 8008275C 8E110034 */ lw $s1, 0x34($s0)
|
||||
glabel L80082760
|
||||
/* 083360 80082760 860E001A */ lh $t6, 0x1a($s0)
|
||||
/* 083364 80082764 86070018 */ lh $a3, 0x18($s0)
|
||||
/* 083368 80082768 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 08336C 8008276C 860D001C */ lh $t5, 0x1c($s0)
|
||||
/* 083370 80082770 8EF80000 */ lw $t8, ($s7)
|
||||
/* 083374 80082774 AFAD0014 */ sw $t5, 0x14($sp)
|
||||
/* 083378 80082778 860F001E */ lh $t7, 0x1e($s0)
|
||||
/* 08337C 8008277C 02C02025 */ move $a0, $s6
|
||||
/* 083380 80082780 AFAF0018 */ sw $t7, 0x18($sp)
|
||||
/* 083384 80082784 9219000C */ lbu $t9, 0xc($s0)
|
||||
/* 083388 80082788 02402825 */ move $a1, $s2
|
||||
/* 08338C 8008278C AFB9001C */ sw $t9, 0x1c($sp)
|
||||
/* 083390 80082790 920C000D */ lbu $t4, 0xd($s0)
|
||||
/* 083394 80082794 02783021 */ addu $a2, $s3, $t8
|
||||
/* 083398 80082798 AFAC0020 */ sw $t4, 0x20($sp)
|
||||
/* 08339C 8008279C 920B000E */ lbu $t3, 0xe($s0)
|
||||
/* 0833A0 800827A0 00000000 */ nop
|
||||
/* 0833A4 800827A4 AFAB0024 */ sw $t3, 0x24($sp)
|
||||
/* 0833A8 800827A8 92080010 */ lbu $t0, 0x10($s0)
|
||||
/* 0833AC 800827AC 0C0203A4 */ jal func_80080E90
|
||||
/* 0833B0 800827B0 AFA80028 */ sw $t0, 0x28($sp)
|
||||
/* 0833B4 800827B4 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 0833B8 800827B8 1000001C */ b .L8008282C
|
||||
/* 0833BC 800827BC 8E110034 */ lw $s1, 0x34($s0)
|
||||
glabel L800827C0
|
||||
/* 0833C0 800827C0 860A001A */ lh $t2, 0x1a($s0)
|
||||
/* 0833C4 800827C4 86070018 */ lh $a3, 0x18($s0)
|
||||
/* 0833C8 800827C8 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 0833CC 800827CC 8618001C */ lh $t8, 0x1c($s0)
|
||||
/* 0833D0 800827D0 8EE90000 */ lw $t1, ($s7)
|
||||
/* 0833D4 800827D4 AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* 0833D8 800827D8 860E001E */ lh $t6, 0x1e($s0)
|
||||
/* 0833DC 800827DC 02693021 */ addu $a2, $s3, $t1
|
||||
/* 0833E0 800827E0 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 0833E4 800827E4 9219000D */ lbu $t9, 0xd($s0)
|
||||
/* 0833E8 800827E8 920D000C */ lbu $t5, 0xc($s0)
|
||||
/* 0833EC 800827EC 9208000E */ lbu $t0, 0xe($s0)
|
||||
/* 0833F0 800827F0 00196400 */ sll $t4, $t9, 0x10
|
||||
/* 0833F4 800827F4 000D7E00 */ sll $t7, $t5, 0x18
|
||||
/* 0833F8 800827F8 92180010 */ lbu $t8, 0x10($s0)
|
||||
/* 0833FC 800827FC 01EC5825 */ or $t3, $t7, $t4
|
||||
/* 083400 80082800 00084A00 */ sll $t1, $t0, 8
|
||||
/* 083404 80082804 01695025 */ or $t2, $t3, $t1
|
||||
/* 083408 80082808 01587025 */ or $t6, $t2, $t8
|
||||
/* 08340C 8008280C AFAE001C */ sw $t6, 0x1c($sp)
|
||||
/* 083410 80082810 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 083414 80082814 02C02025 */ move $a0, $s6
|
||||
/* 083418 80082818 0C020160 */ jal func_80080580
|
||||
/* 08341C 8008281C 02402825 */ move $a1, $s2
|
||||
/* 083420 80082820 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* 083424 80082824 00000000 */ nop
|
||||
.L80082828:
|
||||
/* 083428 80082828 8E110034 */ lw $s1, 0x34($s0)
|
||||
.L8008282C:
|
||||
/* 08342C 8008282C 26100020 */ addiu $s0, $s0, 0x20
|
||||
/* 083430 80082830 1620FE94 */ bnez $s1, .L80082284
|
||||
/* 083434 80082834 00000000 */ nop
|
||||
.L80082838:
|
||||
/* 083438 80082838 12A00004 */ beqz $s5, .L8008284C
|
||||
/* 08343C 8008283C 240200FF */ li $v0, 255
|
||||
/* 083440 80082840 0C01ECF4 */ jal reset_render_settings
|
||||
/* 083444 80082844 02C02025 */ move $a0, $s6
|
||||
/* 083448 80082848 240200FF */ li $v0, 255
|
||||
.L8008284C:
|
||||
/* 08344C 8008284C 3C01800E */ lui $at, %hi(sMenuGuiColourR) # $at, 0x800e
|
||||
/* 083450 80082850 A022F4A4 */ sb $v0, %lo(sMenuGuiColourR)($at)
|
||||
/* 083454 80082854 3C01800E */ lui $at, %hi(sMenuGuiColourG) # $at, 0x800e
|
||||
/* 083458 80082858 A022F4A8 */ sb $v0, %lo(sMenuGuiColourG)($at)
|
||||
/* 08345C 8008285C 3C01800E */ lui $at, %hi(sMenuGuiColourB) # $at, 0x800e
|
||||
/* 083460 80082860 A022F4AC */ sb $v0, %lo(sMenuGuiColourB)($at)
|
||||
/* 083464 80082864 3C01800E */ lui $at, %hi(sMenuGuiColourA) # $at, 0x800e
|
||||
/* 083468 80082868 A020F4B0 */ sb $zero, %lo(sMenuGuiColourA)($at)
|
||||
/* 08346C 8008286C 3C01800E */ lui $at, %hi(sMenuGuiOpacity) # $at, 0x800e
|
||||
/* 083470 80082870 240D00FF */ li $t5, 255
|
||||
/* 083474 80082874 AC2DF764 */ sw $t5, %lo(sMenuGuiOpacity)($at)
|
||||
.L80082878:
|
||||
/* 083478 80082878 8FBF006C */ lw $ra, 0x6c($sp)
|
||||
/* 08347C 8008287C C7B50038 */ lwc1 $f21, 0x38($sp)
|
||||
/* 083480 80082880 C7B4003C */ lwc1 $f20, 0x3c($sp)
|
||||
/* 083484 80082884 C7B70040 */ lwc1 $f23, 0x40($sp)
|
||||
/* 083488 80082888 C7B60044 */ lwc1 $f22, 0x44($sp)
|
||||
/* 08348C 8008288C 8FB00048 */ lw $s0, 0x48($sp)
|
||||
/* 083490 80082890 8FB1004C */ lw $s1, 0x4c($sp)
|
||||
/* 083494 80082894 8FB20050 */ lw $s2, 0x50($sp)
|
||||
/* 083498 80082898 8FB30054 */ lw $s3, 0x54($sp)
|
||||
/* 08349C 8008289C 8FB40058 */ lw $s4, 0x58($sp)
|
||||
/* 0834A0 800828A0 8FB5005C */ lw $s5, 0x5c($sp)
|
||||
/* 0834A4 800828A4 8FB60060 */ lw $s6, 0x60($sp)
|
||||
/* 0834A8 800828A8 8FB70064 */ lw $s7, 0x64($sp)
|
||||
/* 0834AC 800828AC 8FBE0068 */ lw $fp, 0x68($sp)
|
||||
/* 0834B0 800828B0 03E00008 */ jr $ra
|
||||
/* 0834B4 800828B4 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
|
||||
@@ -1,354 +0,0 @@
|
||||
.late_rodata
|
||||
glabel jpt_800E83E0
|
||||
.word L80085C30, L80085BF8, L80085BF8, L80085C00, L80085C00, L80085C08, L80085C14, L80085C24
|
||||
|
||||
.text
|
||||
glabel func_80085B9C
|
||||
/* 08679C 80085B9C 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* 0867A0 80085BA0 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 0867A4 80085BA4 AFB40038 */ sw $s4, 0x38($sp)
|
||||
/* 0867A8 80085BA8 AFB30034 */ sw $s3, 0x34($sp)
|
||||
/* 0867AC 80085BAC AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 0867B0 80085BB0 AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 0867B4 80085BB4 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 0867B8 80085BB8 0C01E948 */ jal get_video_width_and_height_as_s32
|
||||
/* 0867BC 80085BBC AFA40068 */ sw $a0, 0x68($sp)
|
||||
/* 0867C0 80085BC0 3C038012 */ lui $v1, %hi(gMenuOptionCount) # $v1, 0x8012
|
||||
/* 0867C4 80085BC4 8C6363E0 */ lw $v1, %lo(gMenuOptionCount)($v1)
|
||||
/* 0867C8 80085BC8 3C01800F */ lui $at, %hi(jpt_800E83E0) # $at, 0x800f
|
||||
/* 0867CC 80085BCC 306E0007 */ andi $t6, $v1, 7
|
||||
/* 0867D0 80085BD0 000E7080 */ sll $t6, $t6, 2
|
||||
/* 0867D4 80085BD4 002E0821 */ addu $at, $at, $t6
|
||||
/* 0867D8 80085BD8 8C2E83E0 */ lw $t6, %lo(jpt_800E83E0)($at)
|
||||
/* 0867DC 80085BDC 3054FFFF */ andi $s4, $v0, 0xffff
|
||||
/* 0867E0 80085BE0 00009825 */ move $s3, $zero
|
||||
/* 0867E4 80085BE4 00003025 */ move $a2, $zero
|
||||
/* 0867E8 80085BE8 00003825 */ move $a3, $zero
|
||||
/* 0867EC 80085BEC 00004025 */ move $t0, $zero
|
||||
/* 0867F0 80085BF0 01C00008 */ jr $t6
|
||||
/* 0867F4 80085BF4 00004825 */ move $t1, $zero
|
||||
glabel L80085BF8
|
||||
/* 0867F8 80085BF8 1000000D */ b .L80085C30
|
||||
/* 0867FC 80085BFC 24070001 */ li $a3, 1
|
||||
glabel L80085C00
|
||||
/* 086800 80085C00 1000000B */ b .L80085C30
|
||||
/* 086804 80085C04 24130001 */ li $s3, 1
|
||||
glabel L80085C08
|
||||
/* 086808 80085C08 24130001 */ li $s3, 1
|
||||
/* 08680C 80085C0C 10000008 */ b .L80085C30
|
||||
/* 086810 80085C10 24060001 */ li $a2, 1
|
||||
glabel L80085C14
|
||||
/* 086814 80085C14 24130001 */ li $s3, 1
|
||||
/* 086818 80085C18 24060001 */ li $a2, 1
|
||||
/* 08681C 80085C1C 10000004 */ b .L80085C30
|
||||
/* 086820 80085C20 24080001 */ li $t0, 1
|
||||
glabel L80085C24
|
||||
/* 086824 80085C24 24130001 */ li $s3, 1
|
||||
/* 086828 80085C28 24060001 */ li $a2, 1
|
||||
/* 08682C 80085C2C 24070001 */ li $a3, 1
|
||||
.L80085C30:
|
||||
glabel L80085C30
|
||||
/* 086830 80085C30 306F0008 */ andi $t7, $v1, 8
|
||||
/* 086834 80085C34 11E00002 */ beqz $t7, .L80085C40
|
||||
/* 086838 80085C38 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 08683C 80085C3C 24090001 */ li $t1, 1
|
||||
.L80085C40:
|
||||
/* 086840 80085C40 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012
|
||||
/* 086844 80085C44 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8
|
||||
/* 086848 80085C48 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08684C 80085C4C AFA6004C */ sw $a2, 0x4c($sp)
|
||||
/* 086850 80085C50 AFA70048 */ sw $a3, 0x48($sp)
|
||||
/* 086854 80085C54 AFA80044 */ sw $t0, 0x44($sp)
|
||||
/* 086858 80085C58 0C019FCB */ jal set_ortho_matrix_view
|
||||
/* 08685C 80085C5C AFA90040 */ sw $t1, 0x40($sp)
|
||||
/* 086860 80085C60 00002025 */ move $a0, $zero
|
||||
/* 086864 80085C64 00002825 */ move $a1, $zero
|
||||
/* 086868 80085C68 00003025 */ move $a2, $zero
|
||||
/* 08686C 80085C6C 0C0310F3 */ jal set_text_background_colour
|
||||
/* 086870 80085C70 00003825 */ move $a3, $zero
|
||||
/* 086874 80085C74 0C0310BB */ jal set_text_font
|
||||
/* 086878 80085C78 24040002 */ li $a0, 2
|
||||
/* 08687C 80085C7C 24180080 */ li $t8, 128
|
||||
/* 086880 80085C80 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 086884 80085C84 00002025 */ move $a0, $zero
|
||||
/* 086888 80085C88 00002825 */ move $a1, $zero
|
||||
/* 08688C 80085C8C 00003025 */ move $a2, $zero
|
||||
/* 086890 80085C90 0C0310E1 */ jal set_text_colour
|
||||
/* 086894 80085C94 240700FF */ li $a3, 255
|
||||
/* 086898 80085C98 3C19800E */ lui $t9, %hi(gMenuText) # $t9, 0x800e
|
||||
/* 08689C 80085C9C 8F39F4A0 */ lw $t9, %lo(gMenuText)($t9)
|
||||
/* 0868A0 80085CA0 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 0868A4 80085CA4 240A000C */ li $t2, 12
|
||||
/* 0868A8 80085CA8 8F270294 */ lw $a3, 0x294($t9)
|
||||
/* 0868AC 80085CAC AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 0868B0 80085CB0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 0868B4 80085CB4 240500A1 */ li $a1, 161
|
||||
/* 0868B8 80085CB8 0C031110 */ jal draw_text
|
||||
/* 0868BC 80085CBC 24060023 */ li $a2, 35
|
||||
/* 0868C0 80085CC0 240B00FF */ li $t3, 255
|
||||
/* 0868C4 80085CC4 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 0868C8 80085CC8 240400FF */ li $a0, 255
|
||||
/* 0868CC 80085CCC 240500FF */ li $a1, 255
|
||||
/* 0868D0 80085CD0 240600FF */ li $a2, 255
|
||||
/* 0868D4 80085CD4 0C0310E1 */ jal set_text_colour
|
||||
/* 0868D8 80085CD8 00003825 */ move $a3, $zero
|
||||
/* 0868DC 80085CDC 3C0C800E */ lui $t4, %hi(gMenuText) # $t4, 0x800e
|
||||
/* 0868E0 80085CE0 8D8CF4A0 */ lw $t4, %lo(gMenuText)($t4)
|
||||
/* 0868E4 80085CE4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 0868E8 80085CE8 240D000C */ li $t5, 12
|
||||
/* 0868EC 80085CEC 8D870294 */ lw $a3, 0x294($t4)
|
||||
/* 0868F0 80085CF0 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 0868F4 80085CF4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 0868F8 80085CF8 240500A0 */ li $a1, 160
|
||||
/* 0868FC 80085CFC 0C031110 */ jal draw_text
|
||||
/* 086900 80085D00 24060020 */ li $a2, 32
|
||||
/* 086904 80085D04 8FAE004C */ lw $t6, 0x4c($sp)
|
||||
/* 086908 80085D08 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000
|
||||
/* 08690C 80085D0C 11C0001F */ beqz $t6, .L80085D8C
|
||||
/* 086910 80085D10 3C188012 */ lui $t8, %hi(gOptionBlinkTimer) # $t8, 0x8012
|
||||
/* 086914 80085D14 8DEF0300 */ lw $t7, %lo(osTvType)($t7)
|
||||
/* 086918 80085D18 00009025 */ move $s2, $zero
|
||||
/* 08691C 80085D1C 15E00003 */ bnez $t7, .L80085D2C
|
||||
/* 086920 80085D20 3C11800E */ lui $s1, %hi(gMenuSelectionArrowDown) # $s1, 0x800e
|
||||
/* 086924 80085D24 10000002 */ b .L80085D30
|
||||
/* 086928 80085D28 24100084 */ li $s0, 132
|
||||
.L80085D2C:
|
||||
/* 08692C 80085D2C 24100078 */ li $s0, 120
|
||||
.L80085D30:
|
||||
/* 086930 80085D30 8F1863BC */ lw $t8, %lo(gOptionBlinkTimer)($t8)
|
||||
/* 086934 80085D34 2631043C */ addiu $s1, %lo(gMenuSelectionArrowDown) # addiu $s1, $s1, 0x43c
|
||||
/* 086938 80085D38 3319001F */ andi $t9, $t8, 0x1f
|
||||
/* 08693C 80085D3C 00195043 */ sra $t2, $t9, 1
|
||||
/* 086940 80085D40 020A8021 */ addu $s0, $s0, $t2
|
||||
.L80085D44:
|
||||
/* 086944 80085D44 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 086948 80085D48 240B00FF */ li $t3, 255
|
||||
/* 08694C 80085D4C 240C00FF */ li $t4, 255
|
||||
/* 086950 80085D50 240D00FF */ li $t5, 255
|
||||
/* 086954 80085D54 240E00FF */ li $t6, 255
|
||||
/* 086958 80085D58 AFAE001C */ sw $t6, 0x1c($sp)
|
||||
/* 08695C 80085D5C AFAD0018 */ sw $t5, 0x18($sp)
|
||||
/* 086960 80085D60 AFAC0014 */ sw $t4, 0x14($sp)
|
||||
/* 086964 80085D64 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 086968 80085D68 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 08696C 80085D6C 02202825 */ move $a1, $s1
|
||||
/* 086970 80085D70 240600A0 */ li $a2, 160
|
||||
/* 086974 80085D74 0C01E2AE */ jal render_textured_rectangle
|
||||
/* 086978 80085D78 02003825 */ move $a3, $s0
|
||||
/* 08697C 80085D7C 26520001 */ addiu $s2, $s2, 1
|
||||
/* 086980 80085D80 24010002 */ li $at, 2
|
||||
/* 086984 80085D84 1641FFEF */ bne $s2, $at, .L80085D44
|
||||
/* 086988 80085D88 26100010 */ addiu $s0, $s0, 0x10
|
||||
.L80085D8C:
|
||||
/* 08698C 80085D8C 1260004A */ beqz $s3, .L80085EB8
|
||||
/* 086990 80085D90 3C018012 */ lui $at, %hi(D_80126BDC) # $at, 0x8012
|
||||
/* 086994 80085D94 444FF800 */ cfc1 $t7, $31
|
||||
/* 086998 80085D98 C4206BDC */ lwc1 $f0, %lo(D_80126BDC)($at)
|
||||
/* 08699C 80085D9C 35E10003 */ ori $at, $t7, 3
|
||||
/* 0869A0 80085DA0 38210002 */ xori $at, $at, 2
|
||||
/* 0869A4 80085DA4 44C1F800 */ ctc1 $at, $31
|
||||
/* 0869A8 80085DA8 3C014324 */ li $at, 0x43240000 # 164.000000
|
||||
/* 0869AC 80085DAC 46000124 */ cvt.w.s $f4, $f0
|
||||
/* 0869B0 80085DB0 44818000 */ mtc1 $at, $f16
|
||||
/* 0869B4 80085DB4 44122000 */ mfc1 $s2, $f4
|
||||
/* 0869B8 80085DB8 44CFF800 */ ctc1 $t7, $31
|
||||
/* 0869BC 80085DBC 44923000 */ mtc1 $s2, $f6
|
||||
/* 0869C0 80085DC0 240A0050 */ li $t2, 80
|
||||
/* 0869C4 80085DC4 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 0869C8 80085DC8 3C0B8012 */ lui $t3, %hi(D_80126A08) # $t3, 0x8012
|
||||
/* 0869CC 80085DCC 02408025 */ move $s0, $s2
|
||||
/* 0869D0 80085DD0 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 0869D4 80085DD4 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 0869D8 80085DD8 4458F800 */ cfc1 $t8, $31
|
||||
/* 0869DC 80085DDC 00000000 */ nop
|
||||
/* 0869E0 80085DE0 37010003 */ ori $at, $t8, 3
|
||||
/* 0869E4 80085DE4 38210002 */ xori $at, $at, 2
|
||||
/* 0869E8 80085DE8 44C1F800 */ ctc1 $at, $31
|
||||
/* 0869EC 80085DEC 00000000 */ nop
|
||||
/* 0869F0 80085DF0 46009124 */ cvt.w.s $f4, $f18
|
||||
/* 0869F4 80085DF4 44192000 */ mfc1 $t9, $f4
|
||||
/* 0869F8 80085DF8 44D8F800 */ ctc1 $t8, $31
|
||||
/* 0869FC 80085DFC 01591023 */ subu $v0, $t2, $t9
|
||||
/* 086A00 80085E00 0054082A */ slt $at, $v0, $s4
|
||||
/* 086A04 80085E04 00408825 */ move $s1, $v0
|
||||
/* 086A08 80085E08 10200018 */ beqz $at, .L80085E6C
|
||||
/* 086A0C 80085E0C AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 086A10 80085E10 8D6B6A08 */ lw $t3, %lo(D_80126A08)($t3)
|
||||
/* 086A14 80085E14 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 086A18 80085E18 024B082A */ slt $at, $s2, $t3
|
||||
/* 086A1C 80085E1C 10200013 */ beqz $at, .L80085E6C
|
||||
/* 086A20 80085E20 3C138012 */ lui $s3, %hi(D_80126A0C) # $s3, 0x8012
|
||||
/* 086A24 80085E24 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 086A28 80085E28 26736A0C */ addiu $s3, %lo(D_80126A0C) # addiu $s3, $s3, 0x6a0c
|
||||
.L80085E2C:
|
||||
/* 086A2C 80085E2C 8E6D0000 */ lw $t5, ($s3)
|
||||
/* 086A30 80085E30 00106100 */ sll $t4, $s0, 4
|
||||
/* 086A34 80085E34 02202825 */ move $a1, $s1
|
||||
/* 086A38 80085E38 24060040 */ li $a2, 64
|
||||
/* 086A3C 80085E3C 0C0214F4 */ jal func_800853D0
|
||||
/* 086A40 80085E40 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 086A44 80085E44 263100A4 */ addiu $s1, $s1, 0xa4
|
||||
/* 086A48 80085E48 0234082A */ slt $at, $s1, $s4
|
||||
/* 086A4C 80085E4C 10200007 */ beqz $at, .L80085E6C
|
||||
/* 086A50 80085E50 26100001 */ addiu $s0, $s0, 1
|
||||
/* 086A54 80085E54 3C0E8012 */ lui $t6, %hi(D_80126A08) # $t6, 0x8012
|
||||
/* 086A58 80085E58 8DCE6A08 */ lw $t6, %lo(D_80126A08)($t6)
|
||||
/* 086A5C 80085E5C 00000000 */ nop
|
||||
/* 086A60 80085E60 020E082A */ slt $at, $s0, $t6
|
||||
/* 086A64 80085E64 1420FFF1 */ bnez $at, .L80085E2C
|
||||
/* 086A68 80085E68 00000000 */ nop
|
||||
.L80085E6C:
|
||||
/* 086A6C 80085E6C 8FB1005C */ lw $s1, 0x5c($sp)
|
||||
/* 086A70 80085E70 3C138012 */ lui $s3, %hi(D_80126A0C) # $s3, 0x8012
|
||||
/* 086A74 80085E74 26736A0C */ addiu $s3, %lo(D_80126A0C) # addiu $s3, $s3, 0x6a0c
|
||||
/* 086A78 80085E78 1A20000F */ blez $s1, .L80085EB8
|
||||
/* 086A7C 80085E7C 02408025 */ move $s0, $s2
|
||||
/* 086A80 80085E80 1A40000E */ blez $s2, .L80085EBC
|
||||
/* 086A84 80085E84 8FAA004C */ lw $t2, 0x4c($sp)
|
||||
.L80085E88:
|
||||
/* 086A88 80085E88 8E780000 */ lw $t8, ($s3)
|
||||
/* 086A8C 80085E8C 2610FFFF */ addiu $s0, $s0, -1
|
||||
/* 086A90 80085E90 2631FF5C */ addiu $s1, $s1, -0xa4
|
||||
/* 086A94 80085E94 00107900 */ sll $t7, $s0, 4
|
||||
/* 086A98 80085E98 02202825 */ move $a1, $s1
|
||||
/* 086A9C 80085E9C 24060040 */ li $a2, 64
|
||||
/* 086AA0 80085EA0 0C0214F4 */ jal func_800853D0
|
||||
/* 086AA4 80085EA4 01F82021 */ addu $a0, $t7, $t8
|
||||
/* 086AA8 80085EA8 1A200004 */ blez $s1, .L80085EBC
|
||||
/* 086AAC 80085EAC 8FAA004C */ lw $t2, 0x4c($sp)
|
||||
/* 086AB0 80085EB0 1E00FFF5 */ bgtz $s0, .L80085E88
|
||||
/* 086AB4 80085EB4 00000000 */ nop
|
||||
.L80085EB8:
|
||||
/* 086AB8 80085EB8 8FAA004C */ lw $t2, 0x4c($sp)
|
||||
.L80085EBC:
|
||||
/* 086ABC 80085EBC 3C018012 */ lui $at, %hi(D_80126BEC) # $at, 0x8012
|
||||
/* 086AC0 80085EC0 11400047 */ beqz $t2, .L80085FE0
|
||||
/* 086AC4 80085EC4 00000000 */ nop
|
||||
/* 086AC8 80085EC8 4459F800 */ cfc1 $t9, $31
|
||||
/* 086ACC 80085ECC C4206BEC */ lwc1 $f0, %lo(D_80126BEC)($at)
|
||||
/* 086AD0 80085ED0 37210003 */ ori $at, $t9, 3
|
||||
/* 086AD4 80085ED4 38210002 */ xori $at, $at, 2
|
||||
/* 086AD8 80085ED8 44C1F800 */ ctc1 $at, $31
|
||||
/* 086ADC 80085EDC 3C014324 */ li $at, 0x43240000 # 164.000000
|
||||
/* 086AE0 80085EE0 460001A4 */ cvt.w.s $f6, $f0
|
||||
/* 086AE4 80085EE4 44819000 */ mtc1 $at, $f18
|
||||
/* 086AE8 80085EE8 44123000 */ mfc1 $s2, $f6
|
||||
/* 086AEC 80085EEC 44D9F800 */ ctc1 $t9, $31
|
||||
/* 086AF0 80085EF0 44924000 */ mtc1 $s2, $f8
|
||||
/* 086AF4 80085EF4 240D0050 */ li $t5, 80
|
||||
/* 086AF8 80085EF8 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 086AFC 80085EFC 3C0F8012 */ lui $t7, %hi(D_80126A00) # $t7, 0x8012
|
||||
/* 086B00 80085F00 02408025 */ move $s0, $s2
|
||||
/* 086B04 80085F04 460A0401 */ sub.s $f16, $f0, $f10
|
||||
/* 086B08 80085F08 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 086B0C 80085F0C 444BF800 */ cfc1 $t3, $31
|
||||
/* 086B10 80085F10 00000000 */ nop
|
||||
/* 086B14 80085F14 35610003 */ ori $at, $t3, 3
|
||||
/* 086B18 80085F18 38210002 */ xori $at, $at, 2
|
||||
/* 086B1C 80085F1C 44C1F800 */ ctc1 $at, $31
|
||||
/* 086B20 80085F20 00000000 */ nop
|
||||
/* 086B24 80085F24 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 086B28 80085F28 440C3000 */ mfc1 $t4, $f6
|
||||
/* 086B2C 80085F2C 44CBF800 */ ctc1 $t3, $31
|
||||
/* 086B30 80085F30 01AC8823 */ subu $s1, $t5, $t4
|
||||
/* 086B34 80085F34 0234082A */ slt $at, $s1, $s4
|
||||
/* 086B38 80085F38 10200016 */ beqz $at, .L80085F94
|
||||
/* 086B3C 80085F3C AFB1005C */ sw $s1, 0x5c($sp)
|
||||
/* 086B40 80085F40 8DEF6A00 */ lw $t7, %lo(D_80126A00)($t7)
|
||||
/* 086B44 80085F44 3C138012 */ lui $s3, %hi(D_80126A04) # $s3, 0x8012
|
||||
/* 086B48 80085F48 024F082A */ slt $at, $s2, $t7
|
||||
/* 086B4C 80085F4C 10200011 */ beqz $at, .L80085F94
|
||||
/* 086B50 80085F50 26736A04 */ addiu $s3, %lo(D_80126A04) # addiu $s3, $s3, 0x6a04
|
||||
.L80085F54:
|
||||
/* 086B54 80085F54 8E6A0000 */ lw $t2, ($s3)
|
||||
/* 086B58 80085F58 0010C100 */ sll $t8, $s0, 4
|
||||
/* 086B5C 80085F5C 02202825 */ move $a1, $s1
|
||||
/* 086B60 80085F60 24060090 */ li $a2, 144
|
||||
/* 086B64 80085F64 0C0214F4 */ jal func_800853D0
|
||||
/* 086B68 80085F68 030A2021 */ addu $a0, $t8, $t2
|
||||
/* 086B6C 80085F6C 263100A4 */ addiu $s1, $s1, 0xa4
|
||||
/* 086B70 80085F70 0234082A */ slt $at, $s1, $s4
|
||||
/* 086B74 80085F74 10200007 */ beqz $at, .L80085F94
|
||||
/* 086B78 80085F78 26100001 */ addiu $s0, $s0, 1
|
||||
/* 086B7C 80085F7C 3C198012 */ lui $t9, %hi(D_80126A00) # $t9, 0x8012
|
||||
/* 086B80 80085F80 8F396A00 */ lw $t9, %lo(D_80126A00)($t9)
|
||||
/* 086B84 80085F84 00000000 */ nop
|
||||
/* 086B88 80085F88 0219082A */ slt $at, $s0, $t9
|
||||
/* 086B8C 80085F8C 1420FFF1 */ bnez $at, .L80085F54
|
||||
/* 086B90 80085F90 00000000 */ nop
|
||||
.L80085F94:
|
||||
/* 086B94 80085F94 8FB1005C */ lw $s1, 0x5c($sp)
|
||||
/* 086B98 80085F98 3C138012 */ lui $s3, %hi(D_80126A04) # $s3, 0x8012
|
||||
/* 086B9C 80085F9C 26736A04 */ addiu $s3, %lo(D_80126A04) # addiu $s3, $s3, 0x6a04
|
||||
/* 086BA0 80085FA0 1A20000F */ blez $s1, .L80085FE0
|
||||
/* 086BA4 80085FA4 02408025 */ move $s0, $s2
|
||||
/* 086BA8 80085FA8 1A40000D */ blez $s2, .L80085FE0
|
||||
/* 086BAC 80085FAC 00000000 */ nop
|
||||
.L80085FB0:
|
||||
/* 086BB0 80085FB0 8E6C0000 */ lw $t4, ($s3)
|
||||
/* 086BB4 80085FB4 2610FFFF */ addiu $s0, $s0, -1
|
||||
/* 086BB8 80085FB8 2631FF5C */ addiu $s1, $s1, -0xa4
|
||||
/* 086BBC 80085FBC 00106900 */ sll $t5, $s0, 4
|
||||
/* 086BC0 80085FC0 02202825 */ move $a1, $s1
|
||||
/* 086BC4 80085FC4 24060090 */ li $a2, 144
|
||||
/* 086BC8 80085FC8 0C0214F4 */ jal func_800853D0
|
||||
/* 086BCC 80085FCC 01AC2021 */ addu $a0, $t5, $t4
|
||||
/* 086BD0 80085FD0 1A200003 */ blez $s1, .L80085FE0
|
||||
/* 086BD4 80085FD4 00000000 */ nop
|
||||
/* 086BD8 80085FD8 1E00FFF5 */ bgtz $s0, .L80085FB0
|
||||
/* 086BDC 80085FDC 00000000 */ nop
|
||||
.L80085FE0:
|
||||
/* 086BE0 80085FE0 0C0310BB */ jal set_text_font
|
||||
/* 086BE4 80085FE4 24040002 */ li $a0, 2
|
||||
/* 086BE8 80085FE8 240E00FF */ li $t6, 255
|
||||
/* 086BEC 80085FEC AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 086BF0 80085FF0 240400FF */ li $a0, 255
|
||||
/* 086BF4 80085FF4 240500FF */ li $a1, 255
|
||||
/* 086BF8 80085FF8 240600FF */ li $a2, 255
|
||||
/* 086BFC 80085FFC 0C0310E1 */ jal set_text_colour
|
||||
/* 086C00 80086000 00003825 */ move $a3, $zero
|
||||
/* 086C04 80086004 8FAF0044 */ lw $t7, 0x44($sp)
|
||||
/* 086C08 80086008 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 086C0C 8008600C 11E00008 */ beqz $t7, .L80086030
|
||||
/* 086C10 80086010 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 086C14 80086014 3C07800F */ lui $a3, %hi(D_800E8208) # $a3, 0x800f
|
||||
/* 086C18 80086018 2418000C */ li $t8, 12
|
||||
/* 086C1C 8008601C AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 086C20 80086020 24E78208 */ addiu $a3, %lo(D_800E8208) # addiu $a3, $a3, -0x7df8
|
||||
/* 086C24 80086024 240500A0 */ li $a1, 160
|
||||
/* 086C28 80086028 0C031110 */ jal draw_text
|
||||
/* 086C2C 8008602C 24060080 */ li $a2, 128
|
||||
.L80086030:
|
||||
/* 086C30 80086030 8FAA0048 */ lw $t2, 0x48($sp)
|
||||
/* 086C34 80086034 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 086C38 80086038 11400009 */ beqz $t2, .L80086060
|
||||
/* 086C3C 8008603C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 086C40 80086040 3C19800E */ lui $t9, %hi(gMenuText) # $t9, 0x800e
|
||||
/* 086C44 80086044 8F39F4A0 */ lw $t9, %lo(gMenuText)($t9)
|
||||
/* 086C48 80086048 240B000C */ li $t3, 12
|
||||
/* 086C4C 8008604C 8F2701F0 */ lw $a3, 0x1f0($t9)
|
||||
/* 086C50 80086050 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 086C54 80086054 240500A0 */ li $a1, 160
|
||||
/* 086C58 80086058 0C031110 */ jal draw_text
|
||||
/* 086C5C 8008605C 24060080 */ li $a2, 128
|
||||
.L80086060:
|
||||
/* 086C60 80086060 8FAD0040 */ lw $t5, 0x40($sp)
|
||||
/* 086C64 80086064 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012
|
||||
/* 086C68 80086068 11A00005 */ beqz $t5, .L80086080
|
||||
/* 086C6C 8008606C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0
|
||||
/* 086C70 80086070 00002825 */ move $a1, $zero
|
||||
/* 086C74 80086074 00003025 */ move $a2, $zero
|
||||
/* 086C78 80086078 0C0316D6 */ jal render_dialogue_box
|
||||
/* 086C7C 8008607C 24070007 */ li $a3, 7
|
||||
.L80086080:
|
||||
/* 086C80 80086080 0C02039B */ jal func_80080E6C
|
||||
/* 086C84 80086084 00000000 */ nop
|
||||
/* 086C88 80086088 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 086C8C 8008608C 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 086C90 80086090 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* 086C94 80086094 8FB20030 */ lw $s2, 0x30($sp)
|
||||
/* 086C98 80086098 8FB30034 */ lw $s3, 0x34($sp)
|
||||
/* 086C9C 8008609C 8FB40038 */ lw $s4, 0x38($sp)
|
||||
/* 086CA0 800860A0 03E00008 */ jr $ra
|
||||
/* 086CA4 800860A4 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
|
||||
@@ -1,202 +0,0 @@
|
||||
glabel func_800871D8
|
||||
/* 087DD8 800871D8 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 087DDC 800871DC 3C013FFF */ lui $at, (0x3FFFFFFF >> 16) # lui $at, 0x3fff
|
||||
/* 087DE0 800871E0 AFB50030 */ sw $s5, 0x30($sp)
|
||||
/* 087DE4 800871E4 3421FFFF */ ori $at, (0x3FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 087DE8 800871E8 3C15800E */ lui $s5, %hi(D_800DFAE0) # $s5, 0x800e
|
||||
/* 087DEC 800871EC 00047783 */ sra $t6, $a0, 0x1e
|
||||
/* 087DF0 800871F0 0081C024 */ and $t8, $a0, $at
|
||||
/* 087DF4 800871F4 26B5FAE0 */ addiu $s5, %lo(D_800DFAE0) # addiu $s5, $s5, -0x520
|
||||
/* 087DF8 800871F8 31CF0003 */ andi $t7, $t6, 3
|
||||
/* 087DFC 800871FC 0018C880 */ sll $t9, $t8, 2
|
||||
/* 087E00 80087200 3C08800E */ lui $t0, %hi(gContPakStrings) # $t0, 0x800e
|
||||
/* 087E04 80087204 AFB4002C */ sw $s4, 0x2c($sp)
|
||||
/* 087E08 80087208 AEAF0000 */ sw $t7, ($s5)
|
||||
/* 087E0C 8008720C 01194021 */ addu $t0, $t0, $t9
|
||||
/* 087E10 80087210 8D08FBDC */ lw $t0, %lo(gContPakStrings)($t0)
|
||||
/* 087E14 80087214 3C148012 */ lui $s4, %hi(D_80126A70) # $s4, 0x8012
|
||||
/* 087E18 80087218 26946A70 */ addiu $s4, %lo(D_80126A70) # addiu $s4, $s4, 0x6a70
|
||||
/* 087E1C 8008721C 3C01800E */ lui $at, %hi(D_800DFADC) # $at, 0x800e
|
||||
/* 087E20 80087220 AE880000 */ sw $t0, ($s4)
|
||||
/* 087E24 80087224 3C058012 */ lui $a1, %hi(D_80126A74) # $a1, 0x8012
|
||||
/* 087E28 80087228 AC38FADC */ sw $t8, %lo(D_800DFADC)($at)
|
||||
/* 087E2C 8008722C 8E830000 */ lw $v1, ($s4)
|
||||
/* 087E30 80087230 24A56A74 */ addiu $a1, %lo(D_80126A74) # addiu $a1, $a1, 0x6a74
|
||||
/* 087E34 80087234 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 087E38 80087238 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* 087E3C 8008723C AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* 087E40 80087240 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 087E44 80087244 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* 087E48 80087248 ACA00000 */ sw $zero, ($a1)
|
||||
/* 087E4C 8008724C 8C690000 */ lw $t1, ($v1)
|
||||
/* 087E50 80087250 00008025 */ move $s0, $zero
|
||||
/* 087E54 80087254 11200006 */ beqz $t1, .L80087270
|
||||
/* 087E58 80087258 3C018012 */ lui $at, %hi(D_80126A78) # $at, 0x8012
|
||||
/* 087E5C 8008725C 00601025 */ move $v0, $v1
|
||||
.L80087260:
|
||||
/* 087E60 80087260 8C4A0004 */ lw $t2, 4($v0)
|
||||
/* 087E64 80087264 26100001 */ addiu $s0, $s0, 1
|
||||
/* 087E68 80087268 1540FFFD */ bnez $t2, .L80087260
|
||||
/* 087E6C 8008726C 24420004 */ addiu $v0, $v0, 4
|
||||
.L80087270:
|
||||
/* 087E70 80087270 26100001 */ addiu $s0, $s0, 1
|
||||
/* 087E74 80087274 00105880 */ sll $t3, $s0, 2
|
||||
/* 087E78 80087278 006B1021 */ addu $v0, $v1, $t3
|
||||
/* 087E7C 8008727C 8C4C0000 */ lw $t4, ($v0)
|
||||
/* 087E80 80087280 00000000 */ nop
|
||||
/* 087E84 80087284 11800009 */ beqz $t4, .L800872AC
|
||||
/* 087E88 80087288 00000000 */ nop
|
||||
.L8008728C:
|
||||
/* 087E8C 8008728C 8CAD0000 */ lw $t5, ($a1)
|
||||
/* 087E90 80087290 26100001 */ addiu $s0, $s0, 1
|
||||
/* 087E94 80087294 25AE0001 */ addiu $t6, $t5, 1
|
||||
/* 087E98 80087298 ACAE0000 */ sw $t6, ($a1)
|
||||
/* 087E9C 8008729C 8C4F0004 */ lw $t7, 4($v0)
|
||||
/* 087EA0 800872A0 24420004 */ addiu $v0, $v0, 4
|
||||
/* 087EA4 800872A4 15E0FFF9 */ bnez $t7, .L8008728C
|
||||
/* 087EA8 800872A8 00000000 */ nop
|
||||
.L800872AC:
|
||||
/* 087EAC 800872AC 8CB80000 */ lw $t8, ($a1)
|
||||
/* 087EB0 800872B0 24040007 */ li $a0, 7
|
||||
/* 087EB4 800872B4 2719FFFF */ addiu $t9, $t8, -1
|
||||
/* 087EB8 800872B8 0C031525 */ jal assign_dialogue_box_id
|
||||
/* 087EBC 800872BC AC396A78 */ sw $t9, %lo(D_80126A78)($at)
|
||||
/* 087EC0 800872C0 00101100 */ sll $v0, $s0, 4
|
||||
/* 087EC4 800872C4 2442002C */ addiu $v0, $v0, 0x2c
|
||||
/* 087EC8 800872C8 00024043 */ sra $t0, $v0, 1
|
||||
/* 087ECC 800872CC 250A0078 */ addiu $t2, $t0, 0x78
|
||||
/* 087ED0 800872D0 24090078 */ li $t1, 120
|
||||
/* 087ED4 800872D4 01283023 */ subu $a2, $t1, $t0
|
||||
/* 087ED8 800872D8 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 087EDC 800872DC 01001025 */ move $v0, $t0
|
||||
/* 087EE0 800872E0 24040007 */ li $a0, 7
|
||||
/* 087EE4 800872E4 24050028 */ li $a1, 40
|
||||
/* 087EE8 800872E8 0C0313B7 */ jal set_current_dialogue_box_coords
|
||||
/* 087EEC 800872EC 24070118 */ li $a3, 280
|
||||
/* 087EF0 800872F0 240B00A0 */ li $t3, 160
|
||||
/* 087EF4 800872F4 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 087EF8 800872F8 24040007 */ li $a0, 7
|
||||
/* 087EFC 800872FC 00002825 */ move $a1, $zero
|
||||
/* 087F00 80087300 00003025 */ move $a2, $zero
|
||||
/* 087F04 80087304 0C0313EF */ jal set_current_dialogue_background_colour
|
||||
/* 087F08 80087308 00003825 */ move $a3, $zero
|
||||
/* 087F0C 8008730C 24040007 */ li $a0, 7
|
||||
/* 087F10 80087310 00002825 */ move $a1, $zero
|
||||
/* 087F14 80087314 00003025 */ move $a2, $zero
|
||||
/* 087F18 80087318 00003825 */ move $a3, $zero
|
||||
/* 087F1C 8008731C 0C031414 */ jal set_current_text_background_colour
|
||||
/* 087F20 80087320 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 087F24 80087324 24040007 */ li $a0, 7
|
||||
/* 087F28 80087328 0C0313DF */ jal set_dialogue_font
|
||||
/* 087F2C 8008732C 24050002 */ li $a1, 2
|
||||
/* 087F30 80087330 240C00FF */ li $t4, 255
|
||||
/* 087F34 80087334 AFAC0014 */ sw $t4, 0x14($sp)
|
||||
/* 087F38 80087338 24040007 */ li $a0, 7
|
||||
/* 087F3C 8008733C 240500FF */ li $a1, 255
|
||||
/* 087F40 80087340 240600FF */ li $a2, 255
|
||||
/* 087F44 80087344 240700FF */ li $a3, 255
|
||||
/* 087F48 80087348 0C031400 */ jal set_current_text_colour
|
||||
/* 087F4C 8008734C AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 087F50 80087350 3C02800E */ lui $v0, %hi(gMenuText) # $v0, 0x800e
|
||||
/* 087F54 80087354 8C42F4A0 */ lw $v0, %lo(gMenuText)($v0)
|
||||
/* 087F58 80087358 8E830000 */ lw $v1, ($s4)
|
||||
/* 087F5C 8008735C 3C0D800E */ lui $t5, %hi(gContPakRumbleDetectedStrings) # $t5, 0x800e
|
||||
/* 087F60 80087360 25ADFB8C */ addiu $t5, %lo(gContPakRumbleDetectedStrings) # addiu $t5, $t5, -0x474
|
||||
/* 087F64 80087364 8C470100 */ lw $a3, 0x100($v0)
|
||||
/* 087F68 80087368 106D0005 */ beq $v1, $t5, .L80087380
|
||||
/* 087F6C 8008736C 24040007 */ li $a0, 7
|
||||
/* 087F70 80087370 3C0E800E */ lui $t6, %hi(gContPakSwitchToRumbleStrings) # $t6, 0x800e
|
||||
/* 087F74 80087374 25CEFBA4 */ addiu $t6, %lo(gContPakSwitchToRumbleStrings) # addiu $t6, $t6, -0x45c
|
||||
/* 087F78 80087378 146E0004 */ bne $v1, $t6, .L8008738C
|
||||
/* 087F7C 8008737C 3C0F800E */ lui $t7, %hi(gContPakNeed2ndAdvStrings) # $t7, 0x800e
|
||||
.L80087380:
|
||||
/* 087F80 80087380 8C470260 */ lw $a3, 0x260($v0)
|
||||
/* 087F84 80087384 10000007 */ b .L800873A4
|
||||
/* 087F88 80087388 24180001 */ li $t8, 1
|
||||
.L8008738C:
|
||||
/* 087F8C 8008738C 25EFFBBC */ addiu $t7, %lo(gContPakNeed2ndAdvStrings) # addiu $t7, $t7, -0x444
|
||||
/* 087F90 80087390 146F0004 */ bne $v1, $t7, .L800873A4
|
||||
/* 087F94 80087394 24180001 */ li $t8, 1
|
||||
/* 087F98 80087398 8C4701F4 */ lw $a3, 0x1f4($v0)
|
||||
/* 087F9C 8008739C 00000000 */ nop
|
||||
/* 087FA0 800873A0 24180001 */ li $t8, 1
|
||||
.L800873A4:
|
||||
/* 087FA4 800873A4 2419000C */ li $t9, 12
|
||||
/* 087FA8 800873A8 AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* 087FAC 800873AC AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 087FB0 800873B0 24058000 */ li $a1, -32768
|
||||
/* 087FB4 800873B4 0C03145A */ jal render_dialogue_text
|
||||
/* 087FB8 800873B8 24060014 */ li $a2, 20
|
||||
/* 087FBC 800873BC 24120034 */ li $s2, 52
|
||||
/* 087FC0 800873C0 00009825 */ move $s3, $zero
|
||||
/* 087FC4 800873C4 24040007 */ li $a0, 7
|
||||
/* 087FC8 800873C8 0C0313DF */ jal set_dialogue_font
|
||||
/* 087FCC 800873CC 00002825 */ move $a1, $zero
|
||||
/* 087FD0 800873D0 8E830000 */ lw $v1, ($s4)
|
||||
/* 087FD4 800873D4 00138080 */ sll $s0, $s3, 2
|
||||
/* 087FD8 800873D8 8C680000 */ lw $t0, ($v1)
|
||||
/* 087FDC 800873DC 00704821 */ addu $t1, $v1, $s0
|
||||
/* 087FE0 800873E0 11000014 */ beqz $t0, .L80087434
|
||||
/* 087FE4 800873E4 00000000 */ nop
|
||||
/* 087FE8 800873E8 8D310000 */ lw $s1, ($t1)
|
||||
/* 087FEC 800873EC 00000000 */ nop
|
||||
.L800873F0:
|
||||
/* 087FF0 800873F0 8EAA0000 */ lw $t2, ($s5)
|
||||
/* 087FF4 800873F4 240C000C */ li $t4, 12
|
||||
/* 087FF8 800873F8 254B0001 */ addiu $t3, $t2, 1
|
||||
/* 087FFC 800873FC AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 088000 80087400 AFAC0014 */ sw $t4, 0x14($sp)
|
||||
/* 088004 80087404 24040007 */ li $a0, 7
|
||||
/* 088008 80087408 24058000 */ li $a1, -32768
|
||||
/* 08800C 8008740C 02403025 */ move $a2, $s2
|
||||
/* 088010 80087410 0C03145A */ jal render_dialogue_text
|
||||
/* 088014 80087414 02203825 */ move $a3, $s1
|
||||
/* 088018 80087418 8E830000 */ lw $v1, ($s4)
|
||||
/* 08801C 8008741C 26100004 */ addiu $s0, $s0, 4
|
||||
/* 088020 80087420 00706821 */ addu $t5, $v1, $s0
|
||||
/* 088024 80087424 8DB10000 */ lw $s1, ($t5)
|
||||
/* 088028 80087428 26730001 */ addiu $s3, $s3, 1
|
||||
/* 08802C 8008742C 1620FFF0 */ bnez $s1, .L800873F0
|
||||
/* 088030 80087430 26520010 */ addiu $s2, $s2, 0x10
|
||||
.L80087434:
|
||||
/* 088034 80087434 26730001 */ addiu $s3, $s3, 1
|
||||
/* 088038 80087438 00138080 */ sll $s0, $s3, 2
|
||||
/* 08803C 8008743C 00707021 */ addu $t6, $v1, $s0
|
||||
/* 088040 80087440 8DD10000 */ lw $s1, ($t6)
|
||||
/* 088044 80087444 26520010 */ addiu $s2, $s2, 0x10
|
||||
/* 088048 80087448 12200013 */ beqz $s1, .L80087498
|
||||
/* 08804C 8008744C 3C138012 */ lui $s3, %hi(D_80126A80) # $s3, 0x8012
|
||||
/* 088050 80087450 26736A80 */ addiu $s3, %lo(D_80126A80) # addiu $s3, $s3, 0x6a80
|
||||
.L80087454:
|
||||
/* 088054 80087454 240F0001 */ li $t7, 1
|
||||
/* 088058 80087458 2418000C */ li $t8, 12
|
||||
/* 08805C 8008745C AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* 088060 80087460 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 088064 80087464 24040007 */ li $a0, 7
|
||||
/* 088068 80087468 24058000 */ li $a1, -32768
|
||||
/* 08806C 8008746C 02403025 */ move $a2, $s2
|
||||
/* 088070 80087470 0C03145A */ jal render_dialogue_text
|
||||
/* 088074 80087474 02203825 */ move $a3, $s1
|
||||
/* 088078 80087478 8E990000 */ lw $t9, ($s4)
|
||||
/* 08807C 8008747C 26100004 */ addiu $s0, $s0, 4
|
||||
/* 088080 80087480 AE620000 */ sw $v0, ($s3)
|
||||
/* 088084 80087484 03304021 */ addu $t0, $t9, $s0
|
||||
/* 088088 80087488 8D110000 */ lw $s1, ($t0)
|
||||
/* 08808C 8008748C 26730004 */ addiu $s3, $s3, 4
|
||||
/* 088090 80087490 1620FFF0 */ bnez $s1, .L80087454
|
||||
/* 088094 80087494 26520010 */ addiu $s2, $s2, 0x10
|
||||
.L80087498:
|
||||
/* 088098 80087498 3C028012 */ lui $v0, %hi(gMenuOptionCount) # $v0, 0x8012
|
||||
/* 08809C 8008749C 244263E0 */ addiu $v0, %lo(gMenuOptionCount) # addiu $v0, $v0, 0x63e0
|
||||
/* 0880A0 800874A0 8C490000 */ lw $t1, ($v0)
|
||||
/* 0880A4 800874A4 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 0880A8 800874A8 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* 0880AC 800874AC 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* 0880B0 800874B0 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* 0880B4 800874B4 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* 0880B8 800874B8 8FB4002C */ lw $s4, 0x2c($sp)
|
||||
/* 0880BC 800874BC 8FB50030 */ lw $s5, 0x30($sp)
|
||||
/* 0880C0 800874C0 352A0008 */ ori $t2, $t1, 8
|
||||
/* 0880C4 800874C4 AC4A0000 */ sw $t2, ($v0)
|
||||
/* 0880C8 800874C8 03E00008 */ jr $ra
|
||||
/* 0880CC 800874CC 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
@@ -252,9 +252,9 @@ glabel func_80096978
|
||||
/* 09793C 80096D3C 3C18800E */ lui $t8, %hi(gNumberOfActivePlayers) # $t8, 0x800e
|
||||
/* 097940 80096D40 8F18F4BC */ lw $t8, %lo(gNumberOfActivePlayers)($t8)
|
||||
/* 097944 80096D44 A022F4AC */ sb $v0, %lo(sMenuGuiColourB)($at)
|
||||
/* 097948 80096D48 3C01800E */ lui $at, %hi(sMenuGuiColourA) # $at, 0x800e
|
||||
/* 097948 80096D48 3C01800E */ lui $at, %hi(sMenuGuiColourBlendFactor) # $at, 0x800e
|
||||
/* 09794C 80096D4C 1B00006E */ blez $t8, .L80096F08
|
||||
/* 097950 80096D50 A022F4B0 */ sb $v0, %lo(sMenuGuiColourA)($at)
|
||||
/* 097950 80096D50 A022F4B0 */ sb $v0, %lo(sMenuGuiColourBlendFactor)($at)
|
||||
/* 097954 80096D54 8FAB00A8 */ lw $t3, 0xa8($sp)
|
||||
/* 097958 80096D58 240D0078 */ li $t5, 120
|
||||
/* 09795C 80096D5C 8FA900A0 */ lw $t1, 0xa0($sp)
|
||||
@@ -393,8 +393,8 @@ glabel func_80096978
|
||||
/* 097B48 80096F48 A02EF4A8 */ sb $t6, %lo(sMenuGuiColourG)($at)
|
||||
/* 097B4C 80096F4C 8FB80078 */ lw $t8, 0x78($sp)
|
||||
/* 097B50 80096F50 8FA80070 */ lw $t0, 0x70($sp)
|
||||
/* 097B54 80096F54 3C01800E */ lui $at, %hi(sMenuGuiColourA) # $at, 0x800e
|
||||
/* 097B58 80096F58 A020F4B0 */ sb $zero, %lo(sMenuGuiColourA)($at)
|
||||
/* 097B54 80096F54 3C01800E */ lui $at, %hi(sMenuGuiColourBlendFactor) # $at, 0x800e
|
||||
/* 097B58 80096F58 A020F4B0 */ sb $zero, %lo(sMenuGuiColourBlendFactor)($at)
|
||||
/* 097B5C 80096F5C 25F90001 */ addiu $t9, $t7, 1
|
||||
/* 097B60 80096F60 2B210004 */ slti $at, $t9, 4
|
||||
/* 097B64 80096F64 27090004 */ addiu $t1, $t8, 4
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+2
-1
@@ -151,7 +151,7 @@ typedef struct MenuElement {
|
||||
/* 0x0C */ u8 filterRed;
|
||||
/* 0x0D */ u8 filterGreen;
|
||||
/* 0x0E */ u8 filterBlue;
|
||||
/* 0x0F */ u8 filterAlpha; // 0 = no filter color, 0xFF = full color.
|
||||
/* 0x0F */ u8 filterBlendFactor; // 0 = no filter color, 0xFF = full color.
|
||||
/* 0x10 */ u8 opacity;
|
||||
// Element Properties
|
||||
/* 0x11 */ u8 textFont;
|
||||
@@ -162,6 +162,7 @@ typedef struct MenuElement {
|
||||
/* 0x14 */ void *element; // Generic pointer
|
||||
/* 0x14 */ char *asciiText; // Pointer to ascii text to be displayed on the screen.
|
||||
/* 0x14 */ TextureHeader *texture; // Pointer to texture to be displayed on the screen.
|
||||
/* 0x14 */ DrawTexture *drawTexture; // Pointer to texture to be displayed on the screen.
|
||||
/* 0x14 */ s32 *number; // Pointer to a number to be displayed on the screen.
|
||||
/* 0x14 */ u16 *numberU16; // Pointer to a number to be displayed on the screen.
|
||||
/* 0x14 */ s32 value; // Some value for elementType == 5
|
||||
|
||||
+4
-4
@@ -159,7 +159,7 @@ void camera_init(void) {
|
||||
gModelMatrixStackPos = 0;
|
||||
gCameraMatrixPos = 0;
|
||||
gNumberOfViewports = 0;
|
||||
D_80120D0C = 0;
|
||||
D_80120D0C = FALSE;
|
||||
D_80120D18 = 0;
|
||||
gAdjustViewportHeight = 0;
|
||||
gAntiPiracyViewport = 0;
|
||||
@@ -1006,8 +1006,8 @@ void func_80068408(Gfx **dlist, MatrixS **mtx) {
|
||||
gSPMatrix((*dlist)++, OS_PHYSICAL_TO_K0((*mtx)++), gMatrixType << 6);
|
||||
}
|
||||
|
||||
void func_80068508(s32 arg0) {
|
||||
D_80120D0C = arg0;
|
||||
void func_80068508(s32 bool) {
|
||||
D_80120D0C = bool;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1099,7 +1099,7 @@ s32 render_sprite_billboard(Gfx **dlist, MatrixS **mtx, Vertex **vertexList, Obj
|
||||
gSPMatrix((*dlist)++, OS_PHYSICAL_TO_K0((*mtx)++), G_MTX_DKR_INDEX_2);
|
||||
gDkrEnableBillboard((*dlist)++);
|
||||
}
|
||||
if (D_80120D0C == 0) {
|
||||
if (D_80120D0C == FALSE) {
|
||||
textureFrame = ((textureFrame & 0xFF) * arg4->textureCount) >> 8;
|
||||
}
|
||||
flags &= ~RENDER_VEHICLE_PART;
|
||||
|
||||
+1
-1
@@ -110,7 +110,7 @@ void func_8006807C(Gfx **dlist, MatrixS **mats);
|
||||
void func_80068158(Gfx **dlist, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void func_800682AC(Gfx **dlist);
|
||||
void func_80068408(Gfx **dlist, MatrixS **mats);
|
||||
void func_80068508(s32 arg0);
|
||||
void func_80068508(s32 bool);
|
||||
ObjectSegment *get_active_camera_segment_no_cutscenes(void);
|
||||
ObjectSegment *get_active_camera_segment(void);
|
||||
ObjectSegment *get_cutscene_camera_segment(void);
|
||||
|
||||
+24
-24
@@ -517,9 +517,9 @@ void render_hud(Gfx **dList, MatrixS **mtx, Vertex **vertexList, Object *arg3, s
|
||||
func_800A277C(sp2C, arg3, updateRate);
|
||||
} else {
|
||||
if (get_cutscene_id() == 10) {
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_balloon_count(racer);
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
} else {
|
||||
switch (get_current_level_race_type()) {
|
||||
case RACETYPE_DEFAULT:
|
||||
@@ -549,7 +549,7 @@ void render_hud(Gfx **dList, MatrixS **mtx, Vertex **vertexList, Object *arg3, s
|
||||
}
|
||||
}
|
||||
if (racer->raceFinished == TRUE) {
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
if (is_in_time_trial()) {
|
||||
render_time_trial_finish((Object_Racer *) racer, updateRate);
|
||||
} else if (get_viewport_count() == VIEWPORTS_COUNT_1_PLAYER && racer->unk1AC == 1) {
|
||||
@@ -565,7 +565,7 @@ showFinish:
|
||||
block_95:
|
||||
func_800A6254(racer, updateRate);
|
||||
}
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
D_80126CD1 = 0;
|
||||
sprite_opaque(TRUE);
|
||||
@@ -654,7 +654,7 @@ void func_800A0BD4(s32 updateRate) {
|
||||
void render_hud_race(s32 arg0, Object *obj, s32 updateRate) {
|
||||
Object_Racer *racer = &obj->unk64->racer;
|
||||
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_course_indicator_arrows(racer, updateRate);
|
||||
render_wrong_way_text(racer, updateRate);
|
||||
render_race_start(arg0, updateRate);
|
||||
@@ -673,7 +673,7 @@ void render_hud_race(s32 arg0, Object *obj, s32 updateRate) {
|
||||
}
|
||||
|
||||
render_weapon_hud(obj, updateRate);
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -784,7 +784,7 @@ void render_hud_banana_challenge(s32 arg0, Object *obj, s32 updateRate) {
|
||||
|
||||
racer = &obj->unk64->racer;
|
||||
racers = get_racer_objects(&numRacers);
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_race_start(arg0, updateRate);
|
||||
switch (gNumActivePlayers) {
|
||||
case 1:
|
||||
@@ -811,7 +811,7 @@ void render_hud_banana_challenge(s32 arg0, Object *obj, s32 updateRate) {
|
||||
reset_render_settings(&gHUDCurrDisplayList);
|
||||
render_racer_bananas(racer, updateRate);
|
||||
render_weapon_hud(obj, updateRate);
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -820,7 +820,7 @@ void render_hud_banana_challenge(s32 arg0, Object *obj, s32 updateRate) {
|
||||
void render_hud_challenge_eggs(s32 arg0, Object *obj, s32 updateRate) {
|
||||
Object_Racer *racer = &obj->unk64->racer;
|
||||
if (racer->raceFinished == FALSE) {
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_race_start(arg0, updateRate);
|
||||
render_weapon_hud(obj, updateRate);
|
||||
if ((127 - (updateRate * 2)) >= gCurrentHud->unk67A) {
|
||||
@@ -831,7 +831,7 @@ void render_hud_challenge_eggs(s32 arg0, Object *obj, s32 updateRate) {
|
||||
if (gNumActivePlayers != 2) {
|
||||
func_800A14F0(obj, updateRate);
|
||||
}
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -866,7 +866,7 @@ void func_800A14F0(Object *racerObj, s32 updateRate) {
|
||||
racer = &racers[0]->unk64->racer;
|
||||
}
|
||||
if (numRacers == 4) {
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
sp44 = (s32) gCurrentHud->unk64C;
|
||||
sp3C = (s32) gCurrentHud->unk650;
|
||||
sp40 = (s32) (gCurrentHud->unk66C - sp44);
|
||||
@@ -895,7 +895,7 @@ void func_800A14F0(Object *racerObj, s32 updateRate) {
|
||||
gCurrentHud->unk66C = sp44 + sp40;
|
||||
gCurrentHud->unk650 = sp3C;
|
||||
gCurrentHud->unk670 = sp3C + sp38;
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -949,7 +949,7 @@ void render_hud_battle(s32 arg0, Object *obj, s32 updateRate) {
|
||||
|
||||
racer = (Object_Racer *) obj->unk64;
|
||||
if (gNumActivePlayers != 1 || racer->raceFinished == FALSE) {
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_race_start(arg0, updateRate);
|
||||
render_weapon_hud(obj, updateRate);
|
||||
racerObjs = get_racer_objects(&numRacers);
|
||||
@@ -973,7 +973,7 @@ void render_hud_battle(s32 arg0, Object *obj, s32 updateRate) {
|
||||
render_racer_bananas(racer, updateRate);
|
||||
break;
|
||||
}
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1019,7 +1019,7 @@ void render_hud_race_boss(s32 arg0, Object *obj, s32 updateRate) {
|
||||
LevelHeader *level;
|
||||
Object_Racer *racer = (Object_Racer *) obj->unk64;
|
||||
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_wrong_way_text(racer, updateRate);
|
||||
render_race_start(arg0, updateRate);
|
||||
render_race_time(racer, updateRate);
|
||||
@@ -1032,7 +1032,7 @@ void render_hud_race_boss(s32 arg0, Object *obj, s32 updateRate) {
|
||||
|
||||
render_speedometer(obj, updateRate);
|
||||
render_race_position(racer, updateRate);
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1041,14 +1041,14 @@ void render_hud_race_boss(s32 arg0, Object *obj, s32 updateRate) {
|
||||
void render_hud_taj_race(s32 arg0, Object *obj, s32 updateRate) {
|
||||
Object_Racer *racer = (Object_Racer *) obj->unk64;
|
||||
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_wrong_way_text(racer, updateRate);
|
||||
render_lap_count(racer, updateRate);
|
||||
render_race_position(racer, updateRate);
|
||||
render_race_time(racer, updateRate);
|
||||
render_race_start(arg0, updateRate);
|
||||
render_speedometer(obj, updateRate);
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1061,7 +1061,7 @@ void render_hud_hubworld(Object *obj, s32 updateRate) {
|
||||
|
||||
if (get_viewport_count() == 0) {
|
||||
racer = (Object_Racer *) obj->unk64;
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_balloon_count(racer);
|
||||
render_speedometer(obj, updateRate);
|
||||
if (is_in_two_player_adventure()) {
|
||||
@@ -1069,7 +1069,7 @@ void render_hud_hubworld(Object *obj, s32 updateRate) {
|
||||
temp_a3->unk6 = (get_settings()->racers[1].character + 0x38);
|
||||
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) temp_a3);
|
||||
}
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1191,7 +1191,7 @@ void func_800A277C(s32 arg0, Object* playerRacerObj, s32 updateRate) {
|
||||
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, (unk80126CDC **) &gCurrentHud->unk440);
|
||||
}
|
||||
obj68->unk20 = 0;
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
render_course_indicator_arrows(curRacer, updateRate);
|
||||
if (!curRacer->raceFinished) {
|
||||
spB8 = gCurrentHud->unk2F0;
|
||||
@@ -1320,7 +1320,7 @@ void func_800A277C(s32 arg0, Object* playerRacerObj, s32 updateRate) {
|
||||
update_colour_cycle(D_80127194, updateRate);
|
||||
set_kerning(0);
|
||||
}
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
}
|
||||
}
|
||||
#else
|
||||
@@ -1563,13 +1563,13 @@ void render_racer_bananas(Object_Racer *racer, s32 updateRate) {
|
||||
}
|
||||
} else {
|
||||
gCurrentHud->unkF8 = var_v1 + 128;
|
||||
func_80068508(0);
|
||||
func_80068508(FALSE);
|
||||
sprite_opaque(TRUE);
|
||||
set_viewport_tv_type(TV_TYPE_NTSC);
|
||||
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, &gCurrentHud->unkE0);
|
||||
sprite_opaque(FALSE);
|
||||
set_viewport_tv_type(TV_TYPE_PAL);
|
||||
func_80068508(1);
|
||||
func_80068508(TRUE);
|
||||
gCurrentHud->unkF8 -= 128;
|
||||
}
|
||||
temp_lo = bananas / 10;
|
||||
|
||||
+412
-375
File diff suppressed because it is too large
Load Diff
+8
-8
@@ -348,7 +348,7 @@ void unload_big_font_1(void);
|
||||
void menu_audio_options_init(void);
|
||||
void func_800851FC(void);
|
||||
void menu_save_options_init(void);
|
||||
s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800861C8 *arg2, s32 *arg3, s32 fileSize, s32 arg5);
|
||||
SIDeviceStatus func_800860A8(s32 controllerIndex, s32 *arg1, unk800861C8 *arg2, s32 *arg3, s32 fileSize, s32 arg5);
|
||||
void func_800861C8(unk800861C8 *arg0, s32 *arg1);
|
||||
s32 func_800874D0(s32 buttonsPressed, s32 arg1);
|
||||
s32 func_800875E4(s32 buttonsPressed, s32 arg1);
|
||||
@@ -460,7 +460,7 @@ s32 menu_character_select_loop(s32 updateRate);
|
||||
s32 menu_caution_loop(s32 updateRate);
|
||||
void func_8008DC7C(UNUSED s32 updateRate);
|
||||
s32 menu_adventure_track_loop(s32 updateRate);
|
||||
void func_80095624(s32 status);
|
||||
void func_80095624(SIDeviceStatus status);
|
||||
s32 menu_boot_loop(s32 arg0);
|
||||
void menu_magic_codes_init(void);
|
||||
s32 menu_game_select_loop(s32 updateRate);
|
||||
@@ -471,7 +471,7 @@ PakError check_for_controller_pak_errors(void);
|
||||
void func_80093A40(void);
|
||||
s32 render_pause_menu(UNUSED Gfx **dl, s32 updateRate);
|
||||
s32 menu_track_select_loop(s32 updateRate);
|
||||
s32 func_800867D4(void);
|
||||
SIDeviceStatus func_800867D4(void);
|
||||
s32 menu_enter_filename_loop(s32 updateRate);
|
||||
s32 menu_file_select_loop(s32 updateRate);
|
||||
s32 func_8008D5F8(s32 updateRate);
|
||||
@@ -512,13 +512,15 @@ s32 func_800998E0(s32 arg0);
|
||||
void render_magic_codes_ui(s32 updateRate);
|
||||
void render_magic_codes_list_menu_text(s32 updateRate);
|
||||
void func_800904E8(s32 updateRate);
|
||||
void func_80085B9C(UNUSED s32 updateRate);
|
||||
void draw_menu_elements(s32 flags, MenuElement *elems, f32 scale);
|
||||
void render_file_select_menu(UNUSED s32 updateRate);
|
||||
void func_800871D8(SIDeviceStatus deviceStatus);
|
||||
|
||||
// Non Matching functions below here
|
||||
void load_menu_text(s32 language); // Non Matching
|
||||
void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2);
|
||||
s32 menu_controller_pak_loop(s32 updateRate);
|
||||
void menu_game_select_init(void);
|
||||
void render_file_select_menu(s32 arg0);
|
||||
void func_8008FF1C(s32 updateRate);
|
||||
void func_80090918(s32 updateRate);
|
||||
void render_track_select_setup_ui(s32 updateRate);
|
||||
@@ -533,7 +535,6 @@ s32 menu_title_screen_loop(s32 updateRate);
|
||||
s32 menu_magic_codes_loop(s32 updateRate);
|
||||
s32 menu_credits_loop(s32 updateRate);
|
||||
void func_8007FFEC(s32 arg0);
|
||||
void func_800871D8(s32 arg0);
|
||||
SIDeviceStatus func_80087F14(s32 *controllerIndex, s32 arg1);
|
||||
void set_gIntDisFlag(s8 bool);
|
||||
void func_80081218(void);
|
||||
@@ -544,8 +545,7 @@ s32 func_8008F618(Gfx **dlist, MatrixS **mtx);
|
||||
void func_80080BC8(Gfx **);
|
||||
void func_80080E90(Gfx **dList, s32 startX, s32 startY, s32 width, s32 height, s32 borderWidth, s32 borderHeight, s32 colour0, s32 colour1, s32 colour2, s32 colour3);
|
||||
void func_80084854(void);
|
||||
s32 func_80086AFC(void);
|
||||
void func_80085B9C(UNUSED s32 updateRate);
|
||||
SIDeviceStatus func_80086AFC(void);
|
||||
void func_80098774(s32);
|
||||
void func_80096978(s32, f32);
|
||||
void func_80094D28(UNUSED s32 updateRate);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "asset_loading.h"
|
||||
#include "textures_sprites.h"
|
||||
#include "racer.h"
|
||||
#include "save_data.h"
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
|
||||
+5
-5
@@ -1153,19 +1153,19 @@ GLOBAL_ASM("asm/non_matchings/objects/func_8000CC7C.s")
|
||||
s32 get_contpak_error(void) {
|
||||
// D_8011AD38 is likely an SIDeviceStatus value, but not 100% sure yet.
|
||||
switch (D_8011AD38) {
|
||||
case NO_CONTROLLER_PAK:
|
||||
case CONTROLLER_PAK_NOT_FOUND:
|
||||
return CONTPAK_ERROR_MISSING;
|
||||
case RUMBLE_PAK:
|
||||
case CONTROLLER_PAK_RUMBLE_PAK_FOUND:
|
||||
return CONTPAK_ERROR_NONE;
|
||||
case CONTROLLER_PAK_INCONSISTENT:
|
||||
case CONTROLLER_PAK_WITH_BAD_ID:
|
||||
return CONTPAK_ERROR_DAMAGED;
|
||||
case CONTROLLER_PAK_FULL:
|
||||
case CONTROLLER_PAK_UNK6:
|
||||
case CONTROLLER_PAK_NO_ROOM_FOR_GHOSTS:
|
||||
return CONTPAK_ERROR_FULL;
|
||||
case CONTROLLER_PAK_GOOD:
|
||||
case CONTROLLER_PAK_CHANGED:
|
||||
case CONTROLLER_PAK_UNK8:
|
||||
case CONTROLLER_PAK_SWITCH_TO_RUMBLE:
|
||||
return func_80059E20();
|
||||
default:
|
||||
return CONTPAK_ERROR_NONE;
|
||||
@@ -4286,7 +4286,7 @@ s32 func_8001B668(s32 arg0) {
|
||||
return func_800599B8(arg0, get_current_map_id(), D_8011AE82, NULL, NULL);
|
||||
}
|
||||
|
||||
s32 func_8001B738(s32 controllerIndex) {
|
||||
SIDeviceStatus func_8001B738(s32 controllerIndex) {
|
||||
return func_80059B7C(controllerIndex, func_800599A8(), D_800DC728, D_800DC72C, D_800DC724);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -378,7 +378,7 @@ Object *func_8001B2E0(void);
|
||||
s32 is_time_trial_ghost(Object* obj);
|
||||
Object *get_time_trial_ghost(void);
|
||||
s32 unbeaten_staff_time(void);
|
||||
s32 func_8001B738(s32 controllerIndex);
|
||||
SIDeviceStatus func_8001B738(s32 controllerIndex);
|
||||
u8 has_ghost_to_save(void);
|
||||
void set_ghost_none(void);
|
||||
f32 func_8001B834(Object_Racer *racer1, Object_Racer *racer2);
|
||||
|
||||
+1
-1
@@ -5667,7 +5667,7 @@ void free_tt_ghost_data(void) {
|
||||
gGhostData[2] = NULL;
|
||||
}
|
||||
|
||||
s32 func_80059B7C(s32 controllerIndex, s32 mapId, s16 arg2, s16 arg3, s16 arg4) {
|
||||
SIDeviceStatus func_80059B7C(s32 controllerIndex, s32 mapId, s16 arg2, s16 arg3, s16 arg4) {
|
||||
return func_80075000(controllerIndex, (s16) mapId, arg2, arg3, arg4, D_8011D5A0[D_8011D59C], (GhostHeader *) gGhostData[D_8011D59C]);
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -4,6 +4,7 @@
|
||||
#include "types.h"
|
||||
#include "structs.h"
|
||||
#include "level_object_entries.h"
|
||||
#include "save_data.h"
|
||||
|
||||
#define SEGMENT_NONE -1 // If the level in question does not use segmentation.
|
||||
|
||||
@@ -188,7 +189,7 @@ s32 func_800599A8(void);
|
||||
s32 func_800599B8(s32 arg0, s32 mapId, s16 arg2, s16 *arg3, s16 *arg4);
|
||||
s32 load_tt_ghost(s32 ghostOffset, s32 size, s16 *outTime);
|
||||
void free_tt_ghost_data(void);
|
||||
s32 func_80059B7C(s32 controllerIndex, s32 mapId, s16 arg2, s16 arg3, s16 arg4);
|
||||
SIDeviceStatus func_80059B7C(s32 controllerIndex, s32 mapId, s16 arg2, s16 arg3, s16 arg4);
|
||||
s16 func_80059E20(void);
|
||||
void disable_racer_input(void);
|
||||
void racer_set_dialogue_camera(void);
|
||||
|
||||
+19
-19
@@ -1196,25 +1196,25 @@ loop_10:
|
||||
}
|
||||
}
|
||||
if (fileOffset == 0) {
|
||||
ret = CONTROLLER_PAK_UNK6;
|
||||
ret = CONTROLLER_PAK_NO_ROOM_FOR_GHOSTS;
|
||||
if (fileData[4] == 0xFF) {
|
||||
ret = CONTROLLER_PAK_UNK8;
|
||||
ret = CONTROLLER_PAK_SWITCH_TO_RUMBLE;
|
||||
}
|
||||
temp_v0_4 = temp_a1 + (2 * 4);
|
||||
if (fileData[4] == 0xFF) {
|
||||
ret = CONTROLLER_PAK_UNK8;
|
||||
ret = CONTROLLER_PAK_SWITCH_TO_RUMBLE;
|
||||
}
|
||||
if (temp_v0_4[0] == 0xFF) {
|
||||
ret = CONTROLLER_PAK_UNK8;
|
||||
ret = CONTROLLER_PAK_SWITCH_TO_RUMBLE;
|
||||
}
|
||||
if (temp_v0_4[4] == 0xFF) {
|
||||
ret = CONTROLLER_PAK_UNK8;
|
||||
ret = CONTROLLER_PAK_SWITCH_TO_RUMBLE;
|
||||
}
|
||||
if (temp_v0_4[8] == 0xFF) {
|
||||
ret = CONTROLLER_PAK_UNK8;
|
||||
ret = CONTROLLER_PAK_SWITCH_TO_RUMBLE;
|
||||
}
|
||||
if (temp_v0_4[12] == 0xFF) {
|
||||
ret = CONTROLLER_PAK_UNK8;
|
||||
ret = CONTROLLER_PAK_SWITCH_TO_RUMBLE;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -1310,12 +1310,12 @@ typedef struct GhostData {
|
||||
GLOBAL_ASM("asm/non_matchings/save_data/func_80074EB8.s")
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
s32 func_80075000(s32 controllerIndex, s16 levelId, s16 vehicleId, s16 ghostCharacterId, s16 ghostTime, s16 ghostNodeCount, GhostHeader *ghostData) {
|
||||
SIDeviceStatus func_80075000(s32 controllerIndex, s16 levelId, s16 vehicleId, s16 ghostCharacterId, s16 ghostTime, s16 ghostNodeCount, GhostHeader *ghostData) {
|
||||
GhostHeaderAlt *sp70;
|
||||
s32 sp58;
|
||||
s32 fileSize;
|
||||
s32 fileNumber;
|
||||
s32 ret;
|
||||
SIDeviceStatus ret;
|
||||
s32 ghostIndex;
|
||||
s32 i;
|
||||
GhostHeader *ghostFileData;
|
||||
@@ -1376,7 +1376,7 @@ s32 func_80075000(s32 controllerIndex, s16 levelId, s16 vehicleId, s16 ghostChar
|
||||
if (ghostIndex == -2) {
|
||||
ret = CONTROLLER_PAK_GOOD;
|
||||
} else if (ghostIndex == -1) {
|
||||
ret = CONTROLLER_PAK_UNK6;
|
||||
ret = CONTROLLER_PAK_NO_ROOM_FOR_GHOSTS;
|
||||
} else {
|
||||
sp58 = (0x1100 - ghostFileData[ghostIndex].nodeCount) + ghostFileData[ghostIndex].unk2;
|
||||
fileDataToWrite = allocate_from_main_pool_safe(fileSize + 0x100, COLOUR_TAG_BLACK);
|
||||
@@ -1556,7 +1556,7 @@ SIDeviceStatus get_si_device_status(s32 controllerIndex) {
|
||||
|
||||
if (sControllerMesgQueue->validCount == 0) {
|
||||
if (osMotorInit(sControllerMesgQueue, &pfs[controllerIndex], controllerIndex) == 0) {
|
||||
return RUMBLE_PAK;
|
||||
return CONTROLLER_PAK_RUMBLE_PAK_FOUND;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1574,18 +1574,18 @@ SIDeviceStatus get_si_device_status(s32 controllerIndex) {
|
||||
}
|
||||
if (ret == PFS_ERR_ID_FATAL) {
|
||||
if (osMotorInit(sControllerMesgQueue, &pfs[controllerIndex], controllerIndex) == 0) {
|
||||
return RUMBLE_PAK;
|
||||
return CONTROLLER_PAK_RUMBLE_PAK_FOUND;
|
||||
}
|
||||
}
|
||||
if (ret == PFS_ERR_NEW_PACK) {
|
||||
if ((osPfsInit(sControllerMesgQueue, &pfs[controllerIndex], controllerIndex) == PFS_ERR_ID_FATAL)
|
||||
&& (osMotorInit(sControllerMesgQueue, &pfs[controllerIndex], controllerIndex) == 0)) {
|
||||
return RUMBLE_PAK;
|
||||
return CONTROLLER_PAK_RUMBLE_PAK_FOUND;
|
||||
}
|
||||
return CONTROLLER_PAK_CHANGED;
|
||||
}
|
||||
if (ret == PFS_ERR_NOPACK || ret == PFS_ERR_DEVICE) {
|
||||
return NO_CONTROLLER_PAK;
|
||||
return CONTROLLER_PAK_NOT_FOUND;
|
||||
}
|
||||
if (ret == PFS_ERR_BAD_DATA) {
|
||||
return CONTROLLER_PAK_BAD_DATA;
|
||||
@@ -1601,7 +1601,7 @@ SIDeviceStatus get_si_device_status(s32 controllerIndex) {
|
||||
}
|
||||
}
|
||||
|
||||
return NO_CONTROLLER_PAK;
|
||||
return CONTROLLER_PAK_NOT_FOUND;
|
||||
}
|
||||
|
||||
/* Official name: packClose */
|
||||
@@ -1666,7 +1666,7 @@ UNUSED SIDeviceStatus check_for_rumble_pak(s32 controllerIndex) {
|
||||
ret = get_si_device_status(controllerIndex);
|
||||
start_reading_controller_data(controllerIndex);
|
||||
|
||||
if (ret == RUMBLE_PAK) {
|
||||
if (ret == CONTROLLER_PAK_RUMBLE_PAK_FOUND) {
|
||||
sRumblePaksPresent |= 1 << controllerIndex;
|
||||
}
|
||||
|
||||
@@ -1945,7 +1945,7 @@ SIDeviceStatus get_file_number(s32 controllerIndex, char *fileName, char *fileEx
|
||||
return CONTROLLER_PAK_GOOD;
|
||||
}
|
||||
if ((ret == PFS_ERR_NOPACK) || (ret == PFS_ERR_DEVICE)) {
|
||||
return NO_CONTROLLER_PAK;
|
||||
return CONTROLLER_PAK_NOT_FOUND;
|
||||
}
|
||||
if (ret == PFS_ERR_INCONSISTENT) {
|
||||
return CONTROLLER_PAK_INCONSISTENT;
|
||||
@@ -1968,7 +1968,7 @@ SIDeviceStatus read_data_from_controller_pak(s32 controllerIndex, s32 fileNum, u
|
||||
return CONTROLLER_PAK_GOOD;
|
||||
}
|
||||
if ((readResult == PFS_ERR_NOPACK) || (readResult == PFS_ERR_DEVICE)) {
|
||||
return NO_CONTROLLER_PAK;
|
||||
return CONTROLLER_PAK_NOT_FOUND;
|
||||
}
|
||||
if (readResult == PFS_ERR_INCONSISTENT) {
|
||||
return CONTROLLER_PAK_INCONSISTENT;
|
||||
@@ -2043,7 +2043,7 @@ SIDeviceStatus write_controller_pak_file(s32 controllerIndex, s32 fileNumber, ch
|
||||
if (temp == 0) {
|
||||
ret = CONTROLLER_PAK_GOOD;
|
||||
} else if ((temp == PFS_ERR_NOPACK) || (temp == PFS_ERR_DEVICE)) {
|
||||
ret = NO_CONTROLLER_PAK;
|
||||
ret = CONTROLLER_PAK_NOT_FOUND;
|
||||
} else if (temp == PFS_ERR_INCONSISTENT) {
|
||||
ret = CONTROLLER_PAK_INCONSISTENT;
|
||||
} else if (temp == PFS_ERR_ID_FATAL) {
|
||||
|
||||
+10
-6
@@ -23,17 +23,21 @@
|
||||
|
||||
#define NUMBER_OF_SAVE_FILES 3
|
||||
|
||||
// One unique thing about results using SIDeviceStatus is that they
|
||||
// store the enum value in the lower 0xFF byte, and they store
|
||||
// the controller index in the upper 3 bits.
|
||||
typedef enum {
|
||||
CONTROLLER_PAK_GOOD,
|
||||
NO_CONTROLLER_PAK,
|
||||
CONTROLLER_PAK_NOT_FOUND,
|
||||
CONTROLLER_PAK_INCONSISTENT,
|
||||
CONTROLLER_PAK_WITH_BAD_ID,
|
||||
CONTROLLER_PAK_FULL,
|
||||
CONTROLLER_PAK_CHANGED,
|
||||
CONTROLLER_PAK_UNK6, //Could be another way to mark as full according to tt_menu_loop
|
||||
RUMBLE_PAK,
|
||||
CONTROLLER_PAK_UNK8, // func_80074B34 Sets this, possibly set in func_800860A8
|
||||
CONTROLLER_PAK_BAD_DATA
|
||||
CONTROLLER_PAK_NO_ROOM_FOR_GHOSTS,
|
||||
CONTROLLER_PAK_RUMBLE_PAK_FOUND,
|
||||
CONTROLLER_PAK_SWITCH_TO_RUMBLE,
|
||||
CONTROLLER_PAK_BAD_DATA,
|
||||
CONTROLLER_PAK_NEED_SECOND_ADVENTURE
|
||||
} SIDeviceStatus;
|
||||
|
||||
typedef enum {
|
||||
@@ -115,7 +119,7 @@ char *string_to_font_codes(char *inString, char *outString, s32 stringLength);
|
||||
|
||||
//Reasonably certain about these names for now.
|
||||
s32 func_80074EB8(s32 controllerIndex, s16 arg1, s16 arg2, s16 ghostCharacterId, s16 ghostTime, s16 ghostNodeCount, u8 *dest);
|
||||
s32 func_80075000(s32 controllerIndex, s16 arg1, s16 arg2, s16 ghostCharacterId, s16 ghostTime, s16 ghostNodeCount, GhostHeader *arg6);
|
||||
SIDeviceStatus func_80075000(s32 controllerIndex, s16 arg1, s16 arg2, s16 ghostCharacterId, s16 ghostTime, s16 ghostNodeCount, GhostHeader *arg6);
|
||||
s32 func_800753D8(s32 controllerIndex, s32 arg1);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -719,7 +719,7 @@ void obj_loop_wavepower(Object *obj) {
|
||||
diffY = racerObj->segment.trans.y_position - obj->segment.trans.y_position;
|
||||
diffZ = racerObj->segment.trans.z_position - obj->segment.trans.z_position;
|
||||
if ((diffX * diffX) + (diffY * diffY) + (diffZ * diffZ) < distance) {
|
||||
D_8012A720 = entry->unkA * (1.0f / 256.0f);
|
||||
D_8012A720 = entry->unkA / 256.0f;
|
||||
D_8012A724 = (D_8012A720 - D_80129FC8->unk40) / (f32) entry->unkC;
|
||||
D_8012A728 = entry->unkC;
|
||||
gWaveGeneratorObj = obj;
|
||||
|
||||
Reference in New Issue
Block a user