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:
Ryan Myers
2023-10-31 16:09:58 -04:00
committed by GitHub
parent d8e58622e0
commit cf2fa915b9
20 changed files with 521 additions and 2076 deletions
+26 -26
View File
@@ -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:
&emsp;&emsp;&emsp;&emsp;Decomp progress: 62.34%
&emsp;&emsp;&emsp;&emsp;Decomp progress: 63.02%
&emsp;&emsp;&emsp;&emsp;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 -->
-463
View File
@@ -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
-354
View File
@@ -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
-202
View File
@@ -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
+4 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -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);
+1
View File
@@ -9,6 +9,7 @@
#include "asset_loading.h"
#include "textures_sprites.h"
#include "racer.h"
#include "save_data.h"
/************ .data ************/
+5 -5
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;