mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Fun with Functions! (#412)
* Match func_80094A5C * Cleanup on func_80094A5C * Reduce indentation on func_80094A5C with early returns * calculate_and_display_rom_checksum and menu_trophy_race_rankings_loop matched * Forgotten cleanup * Cleanup some funcs * Match menu_magic_codes_loop * menu_magic_codes_loop cleanup * "Match" free_texture... * Match free_sprite * Fix build issues. * Update score in readme
This commit is contained in:
@@ -5,11 +5,11 @@ 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 September 27, 2023, this is our current score:
|
||||
As of September 29, 2023, this is our current score:
|
||||
|
||||
    Decomp progress: 55.01%
|
||||
    Decomp progress: 55.56%
|
||||
|
||||
    Documentation progress: 28.42%
|
||||
    Documentation progress: 28.44%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
|
||||
---
|
||||
@@ -128,25 +128,25 @@ s32 is_drumstick_unlocked(void) {
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of September 27th, 2023, this is our current score:
|
||||
As of September 29th, 2023, this is our current score:
|
||||
```
|
||||
===============================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
----------------------- 55.01% Complete -----------------------
|
||||
# Decompiled functions: 1571
|
||||
# GLOBAL_ASM remaining: 267
|
||||
----------------------- 55.56% Complete -----------------------
|
||||
# Decompiled functions: 1577
|
||||
# GLOBAL_ASM remaining: 261
|
||||
# NON_MATCHING functions: 13
|
||||
# NON_EQUIVALENT WIP functions: 67
|
||||
# NON_EQUIVALENT WIP functions: 64
|
||||
------------------------- Game Status -------------------------
|
||||
Balloons: 26/47, Keys: 3/4, Trophies: 2/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 2/4
|
||||
---------------------------------------------------------------
|
||||
We are collecting silver coins in Whale Bay. (2/8 silver coins)
|
||||
We are collecting silver coins in Whale Bay. (6/8 silver coins)
|
||||
===============================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
----------------------- 28.42% Complete -----------------------
|
||||
# Documented functions: 623
|
||||
# Undocumented remaining: 947
|
||||
----------------------- 28.44% Complete -----------------------
|
||||
# Documented functions: 624
|
||||
# Undocumented remaining: 946
|
||||
------------------------- Game Status -------------------------
|
||||
Balloons: 14/47, Keys: 1/4, Trophies: 1/5
|
||||
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
|
||||
|
||||
@@ -1,102 +0,0 @@
|
||||
glabel calculate_and_display_rom_checksum
|
||||
/* 08B944 8008AD44 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 08B948 8008AD48 3C0E800E */ lui $t6, %hi(D_800E1E18) # $t6, 0x800e
|
||||
/* 08B94C 8008AD4C 8DCE1E18 */ lw $t6, %lo(D_800E1E18)($t6)
|
||||
/* 08B950 8008AD50 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 08B954 8008AD54 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 08B958 8008AD58 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 08B95C 8008AD5C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 08B960 8008AD60 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 08B964 8008AD64 15C0003B */ bnez $t6, .L8008AE54
|
||||
/* 08B968 8008AD68 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 08B96C 8008AD6C 3C1000AD */ lui $s0, %hi(__ROM_END) # $s0, 0xad
|
||||
/* 08B970 8008AD70 26109630 */ addiu $s0, %lo(__ROM_END) # addiu $s0, $s0, -0x69d0
|
||||
/* 08B974 8008AD74 2610F000 */ addiu $s0, $s0, -0x1000
|
||||
/* 08B978 8008AD78 24131000 */ li $s3, 4096
|
||||
/* 08B97C 8008AD7C 02009025 */ move $s2, $s0
|
||||
/* 08B980 8008AD80 24045000 */ li $a0, 20480
|
||||
/* 08B984 8008AD84 0C01C327 */ jal allocate_from_main_pool_safe
|
||||
/* 08B988 8008AD88 240500FF */ li $a1, 255
|
||||
/* 08B98C 8008AD8C 1200002C */ beqz $s0, .L8008AE40
|
||||
/* 08B990 8008AD90 0040A025 */ move $s4, $v0
|
||||
.L8008AD94:
|
||||
/* 08B994 8008AD94 2A415001 */ slti $at, $s2, 0x5001
|
||||
/* 08B998 8008AD98 02408825 */ move $s1, $s2
|
||||
/* 08B99C 8008AD9C 14200002 */ bnez $at, .L8008ADA8
|
||||
/* 08B9A0 8008ADA0 00008025 */ move $s0, $zero
|
||||
/* 08B9A4 8008ADA4 24115000 */ li $s1, 20480
|
||||
.L8008ADA8:
|
||||
/* 08B9A8 8008ADA8 02602025 */ move $a0, $s3
|
||||
/* 08B9AC 8008ADAC 02802825 */ move $a1, $s4
|
||||
/* 08B9B0 8008ADB0 0C01DBDE */ jal dmacopy
|
||||
/* 08B9B4 8008ADB4 02203025 */ move $a2, $s1
|
||||
/* 08B9B8 8008ADB8 1A20001F */ blez $s1, .L8008AE38
|
||||
/* 08B9BC 8008ADBC 02519023 */ subu $s2, $s2, $s1
|
||||
/* 08B9C0 8008ADC0 32240003 */ andi $a0, $s1, 3
|
||||
/* 08B9C4 8008ADC4 1080000C */ beqz $a0, .L8008ADF8
|
||||
/* 08B9C8 8008ADC8 00801825 */ move $v1, $a0
|
||||
/* 08B9CC 8008ADCC 3C05800E */ lui $a1, %hi(D_800E1E14) # $a1, 0x800e
|
||||
/* 08B9D0 8008ADD0 8CA51E14 */ lw $a1, %lo(D_800E1E14)($a1)
|
||||
/* 08B9D4 8008ADD4 02901021 */ addu $v0, $s4, $s0
|
||||
.L8008ADD8:
|
||||
/* 08B9D8 8008ADD8 904F0000 */ lbu $t7, ($v0)
|
||||
/* 08B9DC 8008ADDC 26100001 */ addiu $s0, $s0, 1
|
||||
/* 08B9E0 8008ADE0 24420001 */ addiu $v0, $v0, 1
|
||||
/* 08B9E4 8008ADE4 1470FFFC */ bne $v1, $s0, .L8008ADD8
|
||||
/* 08B9E8 8008ADE8 00AF2821 */ addu $a1, $a1, $t7
|
||||
/* 08B9EC 8008ADEC 3C01800E */ lui $at, %hi(D_800E1E14) # $at, 0x800e
|
||||
/* 08B9F0 8008ADF0 12110011 */ beq $s0, $s1, .L8008AE38
|
||||
/* 08B9F4 8008ADF4 AC251E14 */ sw $a1, %lo(D_800E1E14)($at)
|
||||
.L8008ADF8:
|
||||
/* 08B9F8 8008ADF8 3C05800E */ lui $a1, %hi(D_800E1E14) # $a1, 0x800e
|
||||
/* 08B9FC 8008ADFC 8CA51E14 */ lw $a1, %lo(D_800E1E14)($a1)
|
||||
/* 08BA00 8008AE00 02901021 */ addu $v0, $s4, $s0
|
||||
.L8008AE04:
|
||||
/* 08BA04 8008AE04 90580000 */ lbu $t8, ($v0)
|
||||
/* 08BA08 8008AE08 90590001 */ lbu $t9, 1($v0)
|
||||
/* 08BA0C 8008AE0C 90480002 */ lbu $t0, 2($v0)
|
||||
/* 08BA10 8008AE10 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 08BA14 8008AE14 90490003 */ lbu $t1, 3($v0)
|
||||
/* 08BA18 8008AE18 00B92821 */ addu $a1, $a1, $t9
|
||||
/* 08BA1C 8008AE1C 26100004 */ addiu $s0, $s0, 4
|
||||
/* 08BA20 8008AE20 00A82821 */ addu $a1, $a1, $t0
|
||||
/* 08BA24 8008AE24 24420004 */ addiu $v0, $v0, 4
|
||||
/* 08BA28 8008AE28 1611FFF6 */ bne $s0, $s1, .L8008AE04
|
||||
/* 08BA2C 8008AE2C 00A92821 */ addu $a1, $a1, $t1
|
||||
/* 08BA30 8008AE30 3C01800E */ lui $at, %hi(D_800E1E14) # $at, 0x800e
|
||||
/* 08BA34 8008AE34 AC251E14 */ sw $a1, %lo(D_800E1E14)($at)
|
||||
.L8008AE38:
|
||||
/* 08BA38 8008AE38 1640FFD6 */ bnez $s2, .L8008AD94
|
||||
/* 08BA3C 8008AE3C 02719821 */ addu $s3, $s3, $s1
|
||||
.L8008AE40:
|
||||
/* 08BA40 8008AE40 0C01C450 */ jal free_from_memory_pool
|
||||
/* 08BA44 8008AE44 02802025 */ move $a0, $s4
|
||||
/* 08BA48 8008AE48 240A0001 */ li $t2, 1
|
||||
/* 08BA4C 8008AE4C 3C01800E */ lui $at, %hi(D_800E1E18) # $at, 0x800e
|
||||
/* 08BA50 8008AE50 AC2A1E18 */ sw $t2, %lo(D_800E1E18)($at)
|
||||
.L8008AE54:
|
||||
/* 08BA54 8008AE54 3C1000AD */ lui $s0, %hi(__ROM_END) # $s0, 0xad
|
||||
/* 08BA58 8008AE58 26109630 */ addiu $s0, %lo(__ROM_END) # addiu $s0, $s0, -0x69d0
|
||||
/* 08BA5C 8008AE5C 00002025 */ move $a0, $zero
|
||||
/* 08BA60 8008AE60 00002825 */ move $a1, $zero
|
||||
/* 08BA64 8008AE64 00003025 */ move $a2, $zero
|
||||
/* 08BA68 8008AE68 0C02D8AD */ jal set_render_printf_background_colour
|
||||
/* 08BA6C 8008AE6C 24070080 */ li $a3, 128
|
||||
/* 08BA70 8008AE70 24040020 */ li $a0, 32
|
||||
/* 08BA74 8008AE74 0C02D8D7 */ jal set_render_printf_position
|
||||
/* 08BA78 8008AE78 24050088 */ li $a1, 136
|
||||
/* 08BA7C 8008AE7C 3C05800E */ lui $a1, %hi(D_800E1E14) # $a1, 0x800e
|
||||
/* 08BA80 8008AE80 8CA51E14 */ lw $a1, %lo(D_800E1E14)($a1)
|
||||
/* 08BA84 8008AE84 3C04800F */ lui $a0, %hi(D_800E8218) # $a0, 0x800f
|
||||
/* 08BA88 8008AE88 24848218 */ addiu $a0, %lo(D_800E8218) # addiu $a0, $a0, -0x7de8
|
||||
/* 08BA8C 8008AE8C 0C02D7B7 */ jal render_printf
|
||||
/* 08BA90 8008AE90 02003025 */ move $a2, $s0
|
||||
/* 08BA94 8008AE94 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 08BA98 8008AE98 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 08BA9C 8008AE9C 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 08BAA0 8008AEA0 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 08BAA4 8008AEA4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 08BAA8 8008AEA8 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 08BAAC 8008AEAC 03E00008 */ jr $ra
|
||||
/* 08BAB0 8008AEB0 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
glabel func_80094A5C
|
||||
/* 09565C 80094A5C 3C038012 */ lui $v1, %hi(D_80126C54) # $v1, 0x8012
|
||||
/* 095660 80094A60 24636C54 */ addiu $v1, %lo(D_80126C54) # addiu $v1, $v1, 0x6c54
|
||||
/* 095664 80094A64 8C620000 */ lw $v0, ($v1)
|
||||
/* 095668 80094A68 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 09566C 80094A6C 04400065 */ bltz $v0, .L80094C04
|
||||
/* 095670 80094A70 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 095674 80094A74 2841000A */ slti $at, $v0, 0xa
|
||||
/* 095678 80094A78 10200004 */ beqz $at, .L80094A8C
|
||||
/* 09567C 80094A7C 00027840 */ sll $t7, $v0, 1
|
||||
/* 095680 80094A80 244E0001 */ addiu $t6, $v0, 1
|
||||
/* 095684 80094A84 1000005F */ b .L80094C04
|
||||
/* 095688 80094A88 AC6E0000 */ sw $t6, ($v1)
|
||||
.L80094A8C:
|
||||
/* 09568C 80094A8C 3C04800E */ lui $a0, %hi(D_800E0A10) # $a0, 0x800e
|
||||
/* 095690 80094A90 008F2021 */ addu $a0, $a0, $t7
|
||||
/* 095694 80094A94 84840A10 */ lh $a0, %lo(D_800E0A10)($a0)
|
||||
/* 095698 80094A98 2401FFFF */ li $at, -1
|
||||
/* 09569C 80094A9C 14810052 */ bne $a0, $at, .L80094BE8
|
||||
/* 0956A0 80094AA0 00000000 */ nop
|
||||
/* 0956A4 80094AA4 3C04800E */ lui $a0, %hi(D_800E0A40) # $a0, 0x800e
|
||||
/* 0956A8 80094AA8 0C027229 */ jal allocate_menu_images
|
||||
/* 0956AC 80094AAC 24840A40 */ addiu $a0, %lo(D_800E0A40) # addiu $a0, $a0, 0xa40
|
||||
/* 0956B0 80094AB0 0C025181 */ jal assign_racer_portrait_textures
|
||||
/* 0956B4 80094AB4 00000000 */ nop
|
||||
/* 0956B8 80094AB8 0C01BAA4 */ jal get_settings
|
||||
/* 0956BC 80094ABC 00000000 */ nop
|
||||
/* 0956C0 80094AC0 80580114 */ lb $t8, 0x114($v0)
|
||||
/* 0956C4 80094AC4 3C05800E */ lui $a1, %hi(D_800E0AF0) # $a1, 0x800e
|
||||
/* 0956C8 80094AC8 0018C880 */ sll $t9, $t8, 2
|
||||
/* 0956CC 80094ACC 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0956D0 80094AD0 0019C8C0 */ sll $t9, $t9, 3
|
||||
/* 0956D4 80094AD4 00595021 */ addu $t2, $v0, $t9
|
||||
/* 0956D8 80094AD8 814B0059 */ lb $t3, 0x59($t2)
|
||||
/* 0956DC 80094ADC 24A50AF0 */ addiu $a1, %lo(D_800E0AF0) # addiu $a1, $a1, 0xaf0
|
||||
/* 0956E0 80094AE0 000B6080 */ sll $t4, $t3, 2
|
||||
/* 0956E4 80094AE4 00AC6821 */ addu $t5, $a1, $t4
|
||||
/* 0956E8 80094AE8 8DAE0000 */ lw $t6, ($t5)
|
||||
/* 0956EC 80094AEC 3C01800E */ lui $at, %hi(D_800E0BEC+20) # $at, 0x800e
|
||||
/* 0956F0 80094AF0 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0956F4 80094AF4 0C003932 */ jal is_time_trial_enabled
|
||||
/* 0956F8 80094AF8 AC2E0C00 */ sw $t6, %lo(D_800E0BEC+20)($at)
|
||||
/* 0956FC 80094AFC 3C05800E */ lui $a1, %hi(D_800E0AF0) # $a1, 0x800e
|
||||
/* 095700 80094B00 8FA9001C */ lw $t1, 0x1c($sp)
|
||||
/* 095704 80094B04 14400034 */ bnez $v0, .L80094BD8
|
||||
/* 095708 80094B08 24A50AF0 */ addiu $a1, %lo(D_800E0AF0) # addiu $a1, $a1, 0xaf0
|
||||
/* 09570C 80094B0C 3C06800E */ lui $a2, %hi(D_800E0CEC+224) # $a2, 0x800e
|
||||
/* 095710 80094B10 24C60DCC */ addiu $a2, %lo(D_800E0CEC+224) # addiu $a2, $a2, 0xdcc
|
||||
/* 095714 80094B14 00002025 */ move $a0, $zero
|
||||
/* 095718 80094B18 240700C0 */ li $a3, 192
|
||||
/* 09571C 80094B1C 00001825 */ move $v1, $zero
|
||||
.L80094B20:
|
||||
/* 095720 80094B20 01201025 */ move $v0, $t1
|
||||
.L80094B24:
|
||||
/* 095724 80094B24 804F005A */ lb $t7, 0x5a($v0)
|
||||
/* 095728 80094B28 24630018 */ addiu $v1, $v1, 0x18
|
||||
/* 09572C 80094B2C 148F0008 */ bne $a0, $t7, .L80094B50
|
||||
/* 095730 80094B30 00046140 */ sll $t4, $a0, 5
|
||||
/* 095734 80094B34 80580059 */ lb $t8, 0x59($v0)
|
||||
/* 095738 80094B38 000C6823 */ negu $t5, $t4
|
||||
/* 09573C 80094B3C 0018C880 */ sll $t9, $t8, 2
|
||||
/* 095740 80094B40 00B95021 */ addu $t2, $a1, $t9
|
||||
/* 095744 80094B44 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 095748 80094B48 00CD7021 */ addu $t6, $a2, $t5
|
||||
/* 09574C 80094B4C ADCB0014 */ sw $t3, 0x14($t6)
|
||||
.L80094B50:
|
||||
/* 095750 80094B50 1467FFF4 */ bne $v1, $a3, .L80094B24
|
||||
/* 095754 80094B54 24420018 */ addiu $v0, $v0, 0x18
|
||||
/* 095758 80094B58 24840001 */ addiu $a0, $a0, 1
|
||||
/* 09575C 80094B5C 28810008 */ slti $at, $a0, 8
|
||||
/* 095760 80094B60 1420FFEF */ bnez $at, .L80094B20
|
||||
/* 095764 80094B64 00001825 */ move $v1, $zero
|
||||
/* 095768 80094B68 0C027B20 */ jal is_in_two_player_adventure
|
||||
/* 09576C 80094B6C 00000000 */ nop
|
||||
/* 095770 80094B70 10400019 */ beqz $v0, .L80094BD8
|
||||
/* 095774 80094B74 3C0F800E */ lui $t7, %hi(D_800E0CEC+84) # $t7, 0x800e
|
||||
/* 095778 80094B78 8DEF0D40 */ lw $t7, %lo(D_800E0CEC+84)($t7)
|
||||
/* 09577C 80094B7C 3C01800E */ lui $at, %hi(D_800E0CEC+52) # $at, 0x800e
|
||||
/* 095780 80094B80 3C18800E */ lui $t8, %hi(D_800E0CEC+116) # $t8, 0x800e
|
||||
/* 095784 80094B84 AC2F0D20 */ sw $t7, %lo(D_800E0CEC+52)($at)
|
||||
/* 095788 80094B88 8F180D60 */ lw $t8, %lo(D_800E0CEC+116)($t8)
|
||||
/* 09578C 80094B8C 24040002 */ li $a0, 2
|
||||
/* 095790 80094B90 3C03800E */ lui $v1, %hi(D_800E0CEC) # $v1, 0x800e
|
||||
/* 095794 80094B94 24630CEC */ addiu $v1, %lo(D_800E0CEC) # addiu $v1, $v1, 0xcec
|
||||
/* 095798 80094B98 3C01800E */ lui $at, %hi(D_800E0CEC+84) # $at, 0x800e
|
||||
/* 09579C 80094B9C 0004C940 */ sll $t9, $a0, 5
|
||||
/* 0957A0 80094BA0 00791021 */ addu $v0, $v1, $t9
|
||||
/* 0957A4 80094BA4 AC380D40 */ sw $t8, %lo(D_800E0CEC+84)($at)
|
||||
/* 0957A8 80094BA8 8C4D0094 */ lw $t5, 0x94($v0)
|
||||
/* 0957AC 80094BAC 8C4B00B4 */ lw $t3, 0xb4($v0)
|
||||
/* 0957B0 80094BB0 8C4C0074 */ lw $t4, 0x74($v0)
|
||||
/* 0957B4 80094BB4 8C4A0054 */ lw $t2, 0x54($v0)
|
||||
/* 0957B8 80094BB8 AC4D0074 */ sw $t5, 0x74($v0)
|
||||
/* 0957BC 80094BBC AC4B0094 */ sw $t3, 0x94($v0)
|
||||
/* 0957C0 80094BC0 AC4C0054 */ sw $t4, 0x54($v0)
|
||||
/* 0957C4 80094BC4 AC4A0034 */ sw $t2, 0x34($v0)
|
||||
/* 0957C8 80094BC8 3C028012 */ lui $v0, %hi(D_80126850) # $v0, 0x8012
|
||||
/* 0957CC 80094BCC 24426850 */ addiu $v0, %lo(D_80126850) # addiu $v0, $v0, 0x6850
|
||||
/* 0957D0 80094BD0 AC6200F4 */ sw $v0, 0xf4($v1)
|
||||
/* 0957D4 80094BD4 AC620014 */ sw $v0, 0x14($v1)
|
||||
.L80094BD8:
|
||||
/* 0957D8 80094BD8 240EFFFF */ li $t6, -1
|
||||
/* 0957DC 80094BDC 3C018012 */ lui $at, %hi(D_80126C54) # $at, 0x8012
|
||||
/* 0957E0 80094BE0 10000008 */ b .L80094C04
|
||||
/* 0957E4 80094BE4 AC2E6C54 */ sw $t6, %lo(D_80126C54)($at)
|
||||
.L80094BE8:
|
||||
/* 0957E8 80094BE8 0C0271B5 */ jal func_8009C6D4
|
||||
/* 0957EC 80094BEC 00000000 */ nop
|
||||
/* 0957F0 80094BF0 3C0F8012 */ lui $t7, %hi(D_80126C54) # $t7, 0x8012
|
||||
/* 0957F4 80094BF4 8DEF6C54 */ lw $t7, %lo(D_80126C54)($t7)
|
||||
/* 0957F8 80094BF8 3C018012 */ lui $at, %hi(D_80126C54) # $at, 0x8012
|
||||
/* 0957FC 80094BFC 25F80001 */ addiu $t8, $t7, 1
|
||||
/* 095800 80094C00 AC386C54 */ sw $t8, %lo(D_80126C54)($at)
|
||||
.L80094C04:
|
||||
/* 095804 80094C04 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 095808 80094C08 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 09580C 80094C0C 03E00008 */ jr $ra
|
||||
/* 095810 80094C10 00000000 */ nop
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,427 +0,0 @@
|
||||
glabel menu_trophy_race_rankings_loop
|
||||
/* 099BD4 80098FD4 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* 099BD8 80098FD8 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 099BDC 80098FDC AFA40050 */ sw $a0, 0x50($sp)
|
||||
/* 099BE0 80098FE0 0C01BAA4 */ jal get_settings
|
||||
/* 099BE4 80098FE4 AFA0003C */ sw $zero, 0x3c($sp)
|
||||
/* 099BE8 80098FE8 3C05800E */ lui $a1, %hi(gMenuDelay) # $a1, 0x800e
|
||||
/* 099BEC 80098FEC 24A5F47C */ addiu $a1, %lo(gMenuDelay) # addiu $a1, $a1, -0xb84
|
||||
/* 099BF0 80098FF0 8CA30000 */ lw $v1, ($a1)
|
||||
/* 099BF4 80098FF4 8FA40050 */ lw $a0, 0x50($sp)
|
||||
/* 099BF8 80098FF8 2861FFED */ slti $at, $v1, -0x13
|
||||
/* 099BFC 80098FFC 14200008 */ bnez $at, .L80099020
|
||||
/* 099C00 80099000 00405825 */ move $t3, $v0
|
||||
/* 099C04 80099004 28610014 */ slti $at, $v1, 0x14
|
||||
/* 099C08 80099008 10200005 */ beqz $at, .L80099020
|
||||
/* 099C0C 8009900C 00000000 */ nop
|
||||
/* 099C10 80099010 0C0263AF */ jal func_80098EBC
|
||||
/* 099C14 80099014 AFA2002C */ sw $v0, 0x2c($sp)
|
||||
/* 099C18 80099018 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 099C1C 8009901C 00000000 */ nop
|
||||
.L80099020:
|
||||
/* 099C20 80099020 0C026FC8 */ jal update_controller_sticks
|
||||
/* 099C24 80099024 AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 099C28 80099028 3C028012 */ lui $v0, %hi(D_801263E0) # $v0, 0x8012
|
||||
/* 099C2C 8009902C 8C4263E0 */ lw $v0, %lo(D_801263E0)($v0)
|
||||
/* 099C30 80099030 8FA40050 */ lw $a0, 0x50($sp)
|
||||
/* 099C34 80099034 3C05800E */ lui $a1, %hi(gMenuDelay) # $a1, 0x800e
|
||||
/* 099C38 80099038 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 099C3C 8009903C 1040000B */ beqz $v0, .L8009906C
|
||||
/* 099C40 80099040 24A5F47C */ addiu $a1, %lo(gMenuDelay) # addiu $a1, $a1, -0xb84
|
||||
/* 099C44 80099044 24010001 */ li $at, 1
|
||||
/* 099C48 80099048 1041001B */ beq $v0, $at, .L800990B8
|
||||
/* 099C4C 8009904C 24010002 */ li $at, 2
|
||||
/* 099C50 80099050 10410026 */ beq $v0, $at, .L800990EC
|
||||
/* 099C54 80099054 3C038012 */ lui $v1, %hi(gOpacityDecayTimer) # $v1, 0x8012
|
||||
/* 099C58 80099058 24010003 */ li $at, 3
|
||||
/* 099C5C 8009905C 104100B1 */ beq $v0, $at, .L80099324
|
||||
/* 099C60 80099060 00000000 */ nop
|
||||
/* 099C64 80099064 10000161 */ b .L800995EC
|
||||
/* 099C68 80099068 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8009906C:
|
||||
/* 099C6C 8009906C 0C0207D3 */ jal func_80081F4C
|
||||
/* 099C70 80099070 00000000 */ nop
|
||||
/* 099C74 80099074 1040015C */ beqz $v0, .L800995E8
|
||||
/* 099C78 80099078 240E0001 */ li $t6, 1
|
||||
/* 099C7C 8009907C 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
|
||||
/* 099C80 80099080 AC2E63E0 */ sw $t6, %lo(D_801263E0)($at)
|
||||
/* 099C84 80099084 0C0261DD */ jal func_80098774
|
||||
/* 099C88 80099088 24040001 */ li $a0, 1
|
||||
/* 099C8C 8009908C 44800000 */ mtc1 $zero, $f0
|
||||
/* 099C90 80099090 3C04800E */ lui $a0, %hi(D_800E1048) # $a0, 0x800e
|
||||
/* 099C94 80099094 44060000 */ mfc1 $a2, $f0
|
||||
/* 099C98 80099098 44070000 */ mfc1 $a3, $f0
|
||||
/* 099C9C 8009909C 24841048 */ addiu $a0, %lo(D_800E1048) # addiu $a0, $a0, 0x1048
|
||||
/* 099CA0 800990A0 3C053F00 */ lui $a1, 0x3f00
|
||||
/* 099CA4 800990A4 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 099CA8 800990A8 0C020795 */ jal func_80081E54
|
||||
/* 099CAC 800990AC AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 099CB0 800990B0 1000014E */ b .L800995EC
|
||||
/* 099CB4 800990B4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L800990B8:
|
||||
/* 099CB8 800990B8 0C0207D3 */ jal func_80081F4C
|
||||
/* 099CBC 800990BC 00000000 */ nop
|
||||
/* 099CC0 800990C0 10400149 */ beqz $v0, .L800995E8
|
||||
/* 099CC4 800990C4 240F0002 */ li $t7, 2
|
||||
/* 099CC8 800990C8 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
|
||||
/* 099CCC 800990CC 3C05800E */ lui $a1, %hi(D_800E1048) # $a1, 0x800e
|
||||
/* 099CD0 800990D0 AC2F63E0 */ sw $t7, %lo(D_801263E0)($at)
|
||||
/* 099CD4 800990D4 24A51048 */ addiu $a1, %lo(D_800E1048) # addiu $a1, $a1, 0x1048
|
||||
/* 099CD8 800990D8 24040001 */ li $a0, 1
|
||||
/* 099CDC 800990DC 0C02087B */ jal draw_menu_elements
|
||||
/* 099CE0 800990E0 3C063F80 */ lui $a2, 0x3f80
|
||||
/* 099CE4 800990E4 10000141 */ b .L800995EC
|
||||
/* 099CE8 800990E8 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L800990EC:
|
||||
/* 099CEC 800990EC 246363D8 */ addiu $v1, %lo(gOpacityDecayTimer) # addiu $v1, $v1, 0x63d8
|
||||
/* 099CF0 800990F0 8C780000 */ lw $t8, ($v1)
|
||||
/* 099CF4 800990F4 3C07800E */ lui $a3, %hi(D_800E0FE4) # $a3, 0x800e
|
||||
/* 099CF8 800990F8 0304C821 */ addu $t9, $t8, $a0
|
||||
/* 099CFC 800990FC 2B21000B */ slti $at, $t9, 0xb
|
||||
/* 099D00 80099100 14200026 */ bnez $at, .L8009919C
|
||||
/* 099D04 80099104 AC790000 */ sw $t9, ($v1)
|
||||
/* 099D08 80099108 272DFFF6 */ addiu $t5, $t9, -0xa
|
||||
/* 099D0C 8009910C AC6D0000 */ sw $t5, ($v1)
|
||||
/* 099D10 80099110 8CE70FE4 */ lw $a3, %lo(D_800E0FE4)($a3)
|
||||
/* 099D14 80099114 00004025 */ move $t0, $zero
|
||||
/* 099D18 80099118 18E00019 */ blez $a3, .L80099180
|
||||
/* 099D1C 8009911C 00002825 */ move $a1, $zero
|
||||
/* 099D20 80099120 3C038012 */ lui $v1, %hi(D_801263F8) # $v1, 0x8012
|
||||
/* 099D24 80099124 246363F8 */ addiu $v1, %lo(D_801263F8) # addiu $v1, $v1, 0x63f8
|
||||
/* 099D28 80099128 24060018 */ li $a2, 24
|
||||
.L8009912C:
|
||||
/* 099D2C 8009912C 8C640000 */ lw $a0, ($v1)
|
||||
/* 099D30 80099130 00000000 */ nop
|
||||
/* 099D34 80099134 1880000E */ blez $a0, .L80099170
|
||||
/* 099D38 80099138 00000000 */ nop
|
||||
/* 099D3C 8009913C 00A60019 */ multu $a1, $a2
|
||||
/* 099D40 80099140 248EFFFF */ addiu $t6, $a0, -1
|
||||
/* 099D44 80099144 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 099D48 80099148 3C07800E */ lui $a3, %hi(D_800E0FE4) # $a3, 0x800e
|
||||
/* 099D4C 8009914C 24080001 */ li $t0, 1
|
||||
/* 099D50 80099150 00007812 */ mflo $t7
|
||||
/* 099D54 80099154 016F1021 */ addu $v0, $t3, $t7
|
||||
/* 099D58 80099158 8C580054 */ lw $t8, 0x54($v0)
|
||||
/* 099D5C 8009915C 00000000 */ nop
|
||||
/* 099D60 80099160 27190001 */ addiu $t9, $t8, 1
|
||||
/* 099D64 80099164 AC590054 */ sw $t9, 0x54($v0)
|
||||
/* 099D68 80099168 8CE70FE4 */ lw $a3, %lo(D_800E0FE4)($a3)
|
||||
/* 099D6C 8009916C 00000000 */ nop
|
||||
.L80099170:
|
||||
/* 099D70 80099170 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 099D74 80099174 00A7082A */ slt $at, $a1, $a3
|
||||
/* 099D78 80099178 1420FFEC */ bnez $at, .L8009912C
|
||||
/* 099D7C 8009917C 24630004 */ addiu $v1, $v1, 4
|
||||
.L80099180:
|
||||
/* 099D80 80099180 11000006 */ beqz $t0, .L8009919C
|
||||
/* 099D84 80099184 2404005E */ li $a0, 94
|
||||
/* 099D88 80099188 00002825 */ move $a1, $zero
|
||||
/* 099D8C 8009918C 0C000741 */ jal play_sound_global
|
||||
/* 099D90 80099190 AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 099D94 80099194 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 099D98 80099198 00000000 */ nop
|
||||
.L8009919C:
|
||||
/* 099D9C 8009919C 3C068012 */ lui $a2, %hi(gMenuOption) # $a2, 0x8012
|
||||
/* 099DA0 800991A0 24C66A68 */ addiu $a2, %lo(gMenuOption) # addiu $a2, $a2, 0x6a68
|
||||
/* 099DA4 800991A4 3C0D800E */ lui $t5, %hi(gNumberOfActivePlayers) # $t5, 0x800e
|
||||
/* 099DA8 800991A8 8CC20000 */ lw $v0, ($a2)
|
||||
/* 099DAC 800991AC 8DADF4BC */ lw $t5, %lo(gNumberOfActivePlayers)($t5)
|
||||
/* 099DB0 800991B0 00004025 */ move $t0, $zero
|
||||
/* 099DB4 800991B4 00002825 */ move $a1, $zero
|
||||
/* 099DB8 800991B8 19A00023 */ blez $t5, .L80099248
|
||||
/* 099DBC 800991BC AFA20040 */ sw $v0, 0x40($sp)
|
||||
/* 099DC0 800991C0 3C078012 */ lui $a3, %hi(gControllersYAxisDirection) # $a3, 0x8012
|
||||
/* 099DC4 800991C4 24E76464 */ addiu $a3, %lo(gControllersYAxisDirection) # addiu $a3, $a3, 0x6464
|
||||
.L800991C8:
|
||||
/* 099DC8 800991C8 00A02025 */ move $a0, $a1
|
||||
/* 099DCC 800991CC AFA5004C */ sw $a1, 0x4c($sp)
|
||||
/* 099DD0 800991D0 AFA70020 */ sw $a3, 0x20($sp)
|
||||
/* 099DD4 800991D4 AFA80044 */ sw $t0, 0x44($sp)
|
||||
/* 099DD8 800991D8 0C01A955 */ jal get_buttons_pressed_from_player
|
||||
/* 099DDC 800991DC AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 099DE0 800991E0 8FA70020 */ lw $a3, 0x20($sp)
|
||||
/* 099DE4 800991E4 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 099DE8 800991E8 80E30000 */ lb $v1, ($a3)
|
||||
/* 099DEC 800991EC 8FA5004C */ lw $a1, 0x4c($sp)
|
||||
/* 099DF0 800991F0 3C068012 */ lui $a2, %hi(gMenuOption) # $a2, 0x8012
|
||||
/* 099DF4 800991F4 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 099DF8 800991F8 24C66A68 */ addiu $a2, %lo(gMenuOption) # addiu $a2, $a2, 0x6a68
|
||||
/* 099DFC 800991FC 04610005 */ bgez $v1, .L80099214
|
||||
/* 099E00 80099200 01024025 */ or $t0, $t0, $v0
|
||||
/* 099E04 80099204 8CCE0000 */ lw $t6, ($a2)
|
||||
/* 099E08 80099208 00000000 */ nop
|
||||
/* 099E0C 8009920C 25CF0001 */ addiu $t7, $t6, 1
|
||||
/* 099E10 80099210 ACCF0000 */ sw $t7, ($a2)
|
||||
.L80099214:
|
||||
/* 099E14 80099214 18600005 */ blez $v1, .L8009922C
|
||||
/* 099E18 80099218 3C0D800E */ lui $t5, %hi(gNumberOfActivePlayers) # $t5, 0x800e
|
||||
/* 099E1C 8009921C 8CD80000 */ lw $t8, ($a2)
|
||||
/* 099E20 80099220 00000000 */ nop
|
||||
/* 099E24 80099224 2719FFFF */ addiu $t9, $t8, -1
|
||||
/* 099E28 80099228 ACD90000 */ sw $t9, ($a2)
|
||||
.L8009922C:
|
||||
/* 099E2C 8009922C 8DADF4BC */ lw $t5, %lo(gNumberOfActivePlayers)($t5)
|
||||
/* 099E30 80099230 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 099E34 80099234 00AD082A */ slt $at, $a1, $t5
|
||||
/* 099E38 80099238 1420FFE3 */ bnez $at, .L800991C8
|
||||
/* 099E3C 8009923C 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 099E40 80099240 8CC20000 */ lw $v0, ($a2)
|
||||
/* 099E44 80099244 00000000 */ nop
|
||||
.L80099248:
|
||||
/* 099E48 80099248 04410003 */ bgez $v0, .L80099258
|
||||
/* 099E4C 8009924C 3C038012 */ lui $v1, %hi(D_80126C14) # $v1, 0x8012
|
||||
/* 099E50 80099250 ACC00000 */ sw $zero, ($a2)
|
||||
/* 099E54 80099254 00001025 */ move $v0, $zero
|
||||
.L80099258:
|
||||
/* 099E58 80099258 8C636C14 */ lw $v1, %lo(D_80126C14)($v1)
|
||||
/* 099E5C 8009925C 240400EB */ li $a0, 235
|
||||
/* 099E60 80099260 0043082A */ slt $at, $v0, $v1
|
||||
/* 099E64 80099264 14200003 */ bnez $at, .L80099274
|
||||
/* 099E68 80099268 00002825 */ move $a1, $zero
|
||||
/* 099E6C 8009926C 2462FFFF */ addiu $v0, $v1, -1
|
||||
/* 099E70 80099270 ACC20000 */ sw $v0, ($a2)
|
||||
.L80099274:
|
||||
/* 099E74 80099274 8FAF0040 */ lw $t7, 0x40($sp)
|
||||
/* 099E78 80099278 00000000 */ nop
|
||||
/* 099E7C 8009927C 11E20008 */ beq $t7, $v0, .L800992A0
|
||||
/* 099E80 80099280 31189000 */ andi $t8, $t0, 0x9000
|
||||
/* 099E84 80099284 AFA80044 */ sw $t0, 0x44($sp)
|
||||
/* 099E88 80099288 0C000741 */ jal play_sound_global
|
||||
/* 099E8C 8009928C AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 099E90 80099290 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 099E94 80099294 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 099E98 80099298 00000000 */ nop
|
||||
/* 099E9C 8009929C 31189000 */ andi $t8, $t0, 0x9000
|
||||
.L800992A0:
|
||||
/* 099EA0 800992A0 130000D1 */ beqz $t8, .L800995E8
|
||||
/* 099EA4 800992A4 2404FF80 */ li $a0, -128
|
||||
/* 099EA8 800992A8 00002825 */ move $a1, $zero
|
||||
/* 099EAC 800992AC AFA0004C */ sw $zero, 0x4c($sp)
|
||||
/* 099EB0 800992B0 0C000326 */ jal set_music_fade_timer
|
||||
/* 099EB4 800992B4 AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 099EB8 800992B8 3C04800E */ lui $a0, %hi(sMenuTransitionFadeIn) # $a0, 0x800e
|
||||
/* 099EBC 800992BC 0C030076 */ jal transition_begin
|
||||
/* 099EC0 800992C0 2484F774 */ addiu $a0, %lo(sMenuTransitionFadeIn) # addiu $a0, $a0, -0x88c
|
||||
/* 099EC4 800992C4 3C0D800E */ lui $t5, %hi(D_800E0FE4) # $t5, 0x800e
|
||||
/* 099EC8 800992C8 8DAD0FE4 */ lw $t5, %lo(D_800E0FE4)($t5)
|
||||
/* 099ECC 800992CC 8FA5004C */ lw $a1, 0x4c($sp)
|
||||
/* 099ED0 800992D0 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 099ED4 800992D4 24190003 */ li $t9, 3
|
||||
/* 099ED8 800992D8 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012
|
||||
/* 099EDC 800992DC 19A000C2 */ blez $t5, .L800995E8
|
||||
/* 099EE0 800992E0 AC3963E0 */ sw $t9, %lo(D_801263E0)($at)
|
||||
/* 099EE4 800992E4 3C038012 */ lui $v1, %hi(D_801263F8) # $v1, 0x8012
|
||||
/* 099EE8 800992E8 246363F8 */ addiu $v1, %lo(D_801263F8) # addiu $v1, $v1, 0x63f8
|
||||
/* 099EEC 800992EC 01601025 */ move $v0, $t3
|
||||
.L800992F0:
|
||||
/* 099EF0 800992F0 8C4E0054 */ lw $t6, 0x54($v0)
|
||||
/* 099EF4 800992F4 8C6F0000 */ lw $t7, ($v1)
|
||||
/* 099EF8 800992F8 3C19800E */ lui $t9, %hi(D_800E0FE4) # $t9, 0x800e
|
||||
/* 099EFC 800992FC 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 099F00 80099300 AC580054 */ sw $t8, 0x54($v0)
|
||||
/* 099F04 80099304 8F390FE4 */ lw $t9, %lo(D_800E0FE4)($t9)
|
||||
/* 099F08 80099308 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 099F0C 8009930C 00B9082A */ slt $at, $a1, $t9
|
||||
/* 099F10 80099310 24630004 */ addiu $v1, $v1, 4
|
||||
/* 099F14 80099314 1420FFF6 */ bnez $at, .L800992F0
|
||||
/* 099F18 80099318 24420018 */ addiu $v0, $v0, 0x18
|
||||
/* 099F1C 8009931C 100000B3 */ b .L800995EC
|
||||
/* 099F20 80099320 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80099324:
|
||||
/* 099F24 80099324 8CAD0000 */ lw $t5, ($a1)
|
||||
/* 099F28 80099328 00000000 */ nop
|
||||
/* 099F2C 8009932C 01A47021 */ addu $t6, $t5, $a0
|
||||
/* 099F30 80099330 29C1001F */ slti $at, $t6, 0x1f
|
||||
/* 099F34 80099334 142000AC */ bnez $at, .L800995E8
|
||||
/* 099F38 80099338 ACAE0000 */ sw $t6, ($a1)
|
||||
/* 099F3C 8009933C 0C026580 */ jal func_80099600
|
||||
/* 099F40 80099340 AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 099F44 80099344 0C031588 */ jal close_dialogue_box
|
||||
/* 099F48 80099348 24040007 */ li $a0, 7
|
||||
/* 099F4C 8009934C 0C031525 */ jal assign_dialogue_box_id
|
||||
/* 099F50 80099350 24040007 */ li $a0, 7
|
||||
/* 099F54 80099354 3C18800E */ lui $t8, %hi(gTrophyRaceRound) # $t8, 0x800e
|
||||
/* 099F58 80099358 8F180FEC */ lw $t8, %lo(gTrophyRaceRound)($t8)
|
||||
/* 099F5C 8009935C 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 099F60 80099360 2B010004 */ slti $at, $t8, 4
|
||||
/* 099F64 80099364 10200005 */ beqz $at, .L8009937C
|
||||
/* 099F68 80099368 3C07800E */ lui $a3, %hi(D_800E0FE4) # $a3, 0x800e
|
||||
/* 099F6C 8009936C 0C0204F4 */ jal menu_init
|
||||
/* 099F70 80099370 24040014 */ li $a0, 20
|
||||
/* 099F74 80099374 1000009D */ b .L800995EC
|
||||
/* 099F78 80099378 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8009937C:
|
||||
/* 099F7C 8009937C 8CE70FE4 */ lw $a3, %lo(D_800E0FE4)($a3)
|
||||
/* 099F80 80099380 00001825 */ move $v1, $zero
|
||||
/* 099F84 80099384 18E0002B */ blez $a3, .L80099434
|
||||
/* 099F88 80099388 00002825 */ move $a1, $zero
|
||||
/* 099F8C 8009938C 3C068012 */ lui $a2, %hi(D_80126420) # $a2, 0x8012
|
||||
/* 099F90 80099390 3C0A8012 */ lui $t2, %hi(D_80126438) # $t2, 0x8012
|
||||
/* 099F94 80099394 3C088012 */ lui $t0, %hi(D_80126430) # $t0, 0x8012
|
||||
/* 099F98 80099398 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* 099F9C 8009939C 25086430 */ addiu $t0, %lo(D_80126430) # addiu $t0, $t0, 0x6430
|
||||
/* 099FA0 800993A0 254A6438 */ addiu $t2, %lo(D_80126438) # addiu $t2, $t2, 0x6438
|
||||
/* 099FA4 800993A4 24C66420 */ addiu $a2, %lo(D_80126420) # addiu $a2, $a2, 0x6420
|
||||
/* 099FA8 800993A8 24090018 */ li $t1, 24
|
||||
.L800993AC:
|
||||
/* 099FAC 800993AC 90D90000 */ lbu $t9, ($a2)
|
||||
/* 099FB0 800993B0 01056821 */ addu $t5, $t0, $a1
|
||||
/* 099FB4 800993B4 1320001A */ beqz $t9, .L80099420
|
||||
/* 099FB8 800993B8 00000000 */ nop
|
||||
/* 099FBC 800993BC 91AE0000 */ lbu $t6, ($t5)
|
||||
/* 099FC0 800993C0 0143C021 */ addu $t8, $t2, $v1
|
||||
/* 099FC4 800993C4 01C90019 */ multu $t6, $t1
|
||||
/* 099FC8 800993C8 010C6821 */ addu $t5, $t0, $t4
|
||||
/* 099FCC 800993CC 00007812 */ mflo $t7
|
||||
/* 099FD0 800993D0 016F2021 */ addu $a0, $t3, $t7
|
||||
/* 099FD4 800993D4 80820059 */ lb $v0, 0x59($a0)
|
||||
/* 099FD8 800993D8 14600005 */ bnez $v1, .L800993F0
|
||||
/* 099FDC 800993DC 00000000 */ nop
|
||||
/* 099FE0 800993E0 00A06025 */ move $t4, $a1
|
||||
/* 099FE4 800993E4 A3020000 */ sb $v0, ($t8)
|
||||
/* 099FE8 800993E8 1000000D */ b .L80099420
|
||||
/* 099FEC 800993EC 24630001 */ addiu $v1, $v1, 1
|
||||
.L800993F0:
|
||||
/* 099FF0 800993F0 91AE0000 */ lbu $t6, ($t5)
|
||||
/* 099FF4 800993F4 8C990054 */ lw $t9, 0x54($a0)
|
||||
/* 099FF8 800993F8 01C90019 */ multu $t6, $t1
|
||||
/* 099FFC 800993FC 01437021 */ addu $t6, $t2, $v1
|
||||
/* 09A000 80099400 00007812 */ mflo $t7
|
||||
/* 09A004 80099404 016FC021 */ addu $t8, $t3, $t7
|
||||
/* 09A008 80099408 8F0D0054 */ lw $t5, 0x54($t8)
|
||||
/* 09A00C 8009940C 00000000 */ nop
|
||||
/* 09A010 80099410 172D0003 */ bne $t9, $t5, .L80099420
|
||||
/* 09A014 80099414 00000000 */ nop
|
||||
/* 09A018 80099418 A1C20000 */ sb $v0, ($t6)
|
||||
/* 09A01C 8009941C 24630001 */ addiu $v1, $v1, 1
|
||||
.L80099420:
|
||||
/* 09A020 80099420 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 09A024 80099424 00A7082A */ slt $at, $a1, $a3
|
||||
/* 09A028 80099428 1420FFE0 */ bnez $at, .L800993AC
|
||||
/* 09A02C 8009942C 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 09A030 80099430 AFAC0034 */ sw $t4, 0x34($sp)
|
||||
.L80099434:
|
||||
/* 09A034 80099434 3C0F800E */ lui $t7, %hi(gNumberOfActivePlayers) # $t7, 0x800e
|
||||
/* 09A038 80099438 8DEFF4BC */ lw $t7, %lo(gNumberOfActivePlayers)($t7)
|
||||
/* 09A03C 8009943C 3C0A8012 */ lui $t2, %hi(D_80126438) # $t2, 0x8012
|
||||
/* 09A040 80099440 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* 09A044 80099444 24010001 */ li $at, 1
|
||||
/* 09A048 80099448 15E1000C */ bne $t7, $at, .L8009947C
|
||||
/* 09A04C 8009944C 254A6438 */ addiu $t2, %lo(D_80126438) # addiu $t2, $t2, 0x6438
|
||||
/* 09A050 80099450 AFA30048 */ sw $v1, 0x48($sp)
|
||||
/* 09A054 80099454 AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 09A058 80099458 0C027B20 */ jal is_in_two_player_adventure
|
||||
/* 09A05C 8009945C AFAC0034 */ sw $t4, 0x34($sp)
|
||||
/* 09A060 80099460 8FA30048 */ lw $v1, 0x48($sp)
|
||||
/* 09A064 80099464 3C0A8012 */ lui $t2, %hi(D_80126438) # $t2, 0x8012
|
||||
/* 09A068 80099468 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 09A06C 8009946C 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* 09A070 80099470 14400002 */ bnez $v0, .L8009947C
|
||||
/* 09A074 80099474 254A6438 */ addiu $t2, %lo(D_80126438) # addiu $t2, $t2, 0x6438
|
||||
/* 09A078 80099478 00001825 */ move $v1, $zero
|
||||
.L8009947C:
|
||||
/* 09A07C 8009947C 2418FFFF */ li $t8, -1
|
||||
/* 09A080 80099480 0143C821 */ addu $t9, $t2, $v1
|
||||
/* 09A084 80099484 A3380000 */ sb $t8, ($t9)
|
||||
/* 09A088 80099488 3C0D800E */ lui $t5, %hi(gIsInTracksMode) # $t5, 0x800e
|
||||
/* 09A08C 8009948C 8DADF4B8 */ lw $t5, %lo(gIsInTracksMode)($t5)
|
||||
/* 09A090 80099490 24010001 */ li $at, 1
|
||||
/* 09A094 80099494 15A1000C */ bne $t5, $at, .L800994C8
|
||||
/* 09A098 80099498 240F0001 */ li $t7, 1
|
||||
/* 09A09C 8009949C 29810003 */ slti $at, $t4, 3
|
||||
/* 09A0A0 800994A0 14200007 */ bnez $at, .L800994C0
|
||||
/* 09A0A4 800994A4 240E0105 */ li $t6, 261
|
||||
/* 09A0A8 800994A8 2404000F */ li $a0, 15
|
||||
/* 09A0AC 800994AC 0C0204F4 */ jal menu_init
|
||||
/* 09A0B0 800994B0 AFAC0034 */ sw $t4, 0x34($sp)
|
||||
/* 09A0B4 800994B4 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* 09A0B8 800994B8 10000033 */ b .L80099588
|
||||
/* 09A0BC 800994BC 29810003 */ slti $at, $t4, 3
|
||||
.L800994C0:
|
||||
/* 09A0C0 800994C0 10000030 */ b .L80099584
|
||||
/* 09A0C4 800994C4 AFAE003C */ sw $t6, 0x3c($sp)
|
||||
.L800994C8:
|
||||
/* 09A0C8 800994C8 AFAF003C */ sw $t7, 0x3c($sp)
|
||||
/* 09A0CC 800994CC 91640048 */ lbu $a0, 0x48($t3)
|
||||
/* 09A0D0 800994D0 AFAC0034 */ sw $t4, 0x34($sp)
|
||||
/* 09A0D4 800994D4 0C01AC75 */ jal get_hub_area_id
|
||||
/* 09A0D8 800994D8 AFAB002C */ sw $t3, 0x2c($sp)
|
||||
/* 09A0DC 800994DC 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 09A0E0 800994E0 3C03800E */ lui $v1, %hi(D_800DF450) # $v1, 0x800e
|
||||
/* 09A0E4 800994E4 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* 09A0E8 800994E8 2463F450 */ addiu $v1, %lo(D_800DF450) # addiu $v1, $v1, -0xbb0
|
||||
/* 09A0EC 800994EC A1620049 */ sb $v0, 0x49($t3)
|
||||
/* 09A0F0 800994F0 80780000 */ lb $t8, ($v1)
|
||||
/* 09A0F4 800994F4 00000000 */ nop
|
||||
/* 09A0F8 800994F8 13000023 */ beqz $t8, .L80099588
|
||||
/* 09A0FC 800994FC 29810003 */ slti $at, $t4, 3
|
||||
/* 09A100 80099500 A0600000 */ sb $zero, ($v1)
|
||||
/* 09A104 80099504 91790049 */ lbu $t9, 0x49($t3)
|
||||
/* 09A108 80099508 29810003 */ slti $at, $t4, 3
|
||||
/* 09A10C 8009950C 372D0200 */ ori $t5, $t9, 0x200
|
||||
/* 09A110 80099510 1020001C */ beqz $at, .L80099584
|
||||
/* 09A114 80099514 AFAD003C */ sw $t5, 0x3c($sp)
|
||||
/* 09A118 80099518 91650048 */ lbu $a1, 0x48($t3)
|
||||
/* 09A11C 8009951C 9564000E */ lhu $a0, 0xe($t3)
|
||||
/* 09A120 80099520 24A5FFFF */ addiu $a1, $a1, -1
|
||||
/* 09A124 80099524 00057040 */ sll $t6, $a1, 1
|
||||
/* 09A128 80099528 24180003 */ li $t8, 3
|
||||
/* 09A12C 8009952C 030C1023 */ subu $v0, $t8, $t4
|
||||
/* 09A130 80099530 01C41807 */ srav $v1, $a0, $t6
|
||||
/* 09A134 80099534 306F0003 */ andi $t7, $v1, 3
|
||||
/* 09A138 80099538 30590003 */ andi $t9, $v0, 3
|
||||
/* 09A13C 8009953C 01F9082A */ slt $at, $t7, $t9
|
||||
/* 09A140 80099540 01C02825 */ move $a1, $t6
|
||||
/* 09A144 80099544 1020000F */ beqz $at, .L80099584
|
||||
/* 09A148 80099548 03201025 */ move $v0, $t9
|
||||
/* 09A14C 8009954C 240D0003 */ li $t5, 3
|
||||
/* 09A150 80099550 01CD7004 */ sllv $t6, $t5, $t6
|
||||
/* 09A154 80099554 01C07827 */ not $t7, $t6
|
||||
/* 09A158 80099558 008FC824 */ and $t9, $a0, $t7
|
||||
/* 09A15C 8009955C 00A26804 */ sllv $t5, $v0, $a1
|
||||
/* 09A160 80099560 A579000E */ sh $t9, 0xe($t3)
|
||||
/* 09A164 80099564 032D7025 */ or $t6, $t9, $t5
|
||||
/* 09A168 80099568 A56E000E */ sh $t6, 0xe($t3)
|
||||
/* 09A16C 8009956C 0C027068 */ jal get_save_file_index
|
||||
/* 09A170 80099570 AFAC0034 */ sw $t4, 0x34($sp)
|
||||
/* 09A174 80099574 0C01BB12 */ jal safe_mark_write_save_file
|
||||
/* 09A178 80099578 00402025 */ move $a0, $v0
|
||||
/* 09A17C 8009957C 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* 09A180 80099580 00000000 */ nop
|
||||
.L80099584:
|
||||
/* 09A184 80099584 29810003 */ slti $at, $t4, 3
|
||||
.L80099588:
|
||||
/* 09A188 80099588 10200015 */ beqz $at, .L800995E0
|
||||
/* 09A18C 8009958C 2404001F */ li $a0, 31
|
||||
/* 09A190 80099590 0C0078A7 */ jal get_misc_asset
|
||||
/* 09A194 80099594 AFAC0034 */ sw $t4, 0x34($sp)
|
||||
/* 09A198 80099598 3C0F800E */ lui $t7, %hi(gTrophyRaceWorldId) # $t7, 0x800e
|
||||
/* 09A19C 8009959C 8DEF0FE8 */ lw $t7, %lo(gTrophyRaceWorldId)($t7)
|
||||
/* 09A1A0 800995A0 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* 09A1A4 800995A4 000FC080 */ sll $t8, $t7, 2
|
||||
/* 09A1A8 800995A8 3C0A8012 */ lui $t2, %hi(D_80126438) # $t2, 0x8012
|
||||
/* 09A1AC 800995AC 030FC023 */ subu $t8, $t8, $t7
|
||||
/* 09A1B0 800995B0 254A6438 */ addiu $t2, %lo(D_80126438) # addiu $t2, $t2, 0x6438
|
||||
/* 09A1B4 800995B4 8FA6003C */ lw $a2, 0x3c($sp)
|
||||
/* 09A1B8 800995B8 030C2821 */ addu $a1, $t8, $t4
|
||||
/* 09A1BC 800995BC 24A5FFFD */ addiu $a1, $a1, -3
|
||||
/* 09A1C0 800995C0 AFA0003C */ sw $zero, 0x3c($sp)
|
||||
/* 09A1C4 800995C4 AFAA0014 */ sw $t2, 0x14($sp)
|
||||
/* 09A1C8 800995C8 00402025 */ move $a0, $v0
|
||||
/* 09A1CC 800995CC 00003825 */ move $a3, $zero
|
||||
/* 09A1D0 800995D0 0C026AF6 */ jal func_8009ABD8
|
||||
/* 09A1D4 800995D4 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 09A1D8 800995D8 0C0204F4 */ jal menu_init
|
||||
/* 09A1DC 800995DC 24040017 */ li $a0, 23
|
||||
.L800995E0:
|
||||
/* 09A1E0 800995E0 3C01800E */ lui $at, %hi(gTrophyRaceWorldId) # $at, 0x800e
|
||||
/* 09A1E4 800995E4 AC200FE8 */ sw $zero, %lo(gTrophyRaceWorldId)($at)
|
||||
.L800995E8:
|
||||
/* 09A1E8 800995E8 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L800995EC:
|
||||
/* 09A1EC 800995EC 3C018012 */ lui $at, %hi(gIgnorePlayerInputTime) # $at, 0x8012
|
||||
/* 09A1F0 800995F0 8FA2003C */ lw $v0, 0x3c($sp)
|
||||
/* 09A1F4 800995F4 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInputTime)($at)
|
||||
/* 09A1F8 800995F8 03E00008 */ jr $ra
|
||||
/* 09A1FC 800995FC 27BD0050 */ addiu $sp, $sp, 0x50
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
glabel free_sprite
|
||||
/* 07D8B0 8007CCB0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 07D8B4 8007CCB4 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 07D8B8 8007CCB8 00809025 */ move $s2, $a0
|
||||
/* 07D8BC 8007CCBC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 07D8C0 8007CCC0 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 07D8C4 8007CCC4 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 07D8C8 8007CCC8 10800036 */ beqz $a0, .L8007CDA4
|
||||
/* 07D8CC 8007CCCC AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 07D8D0 8007CCD0 848E0004 */ lh $t6, 4($a0)
|
||||
/* 07D8D4 8007CCD4 3C038012 */ lui $v1, %hi(D_80126358) # $v1, 0x8012
|
||||
/* 07D8D8 8007CCD8 25CFFFFF */ addiu $t7, $t6, -1
|
||||
/* 07D8DC 8007CCDC A48F0004 */ sh $t7, 4($a0)
|
||||
/* 07D8E0 8007CCE0 84980004 */ lh $t8, 4($a0)
|
||||
/* 07D8E4 8007CCE4 00000000 */ nop
|
||||
/* 07D8E8 8007CCE8 1F00002F */ bgtz $t8, .L8007CDA8
|
||||
/* 07D8EC 8007CCEC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 07D8F0 8007CCF0 8C636358 */ lw $v1, %lo(D_80126358)($v1)
|
||||
/* 07D8F4 8007CCF4 00001025 */ move $v0, $zero
|
||||
/* 07D8F8 8007CCF8 1860002A */ blez $v1, .L8007CDA4
|
||||
/* 07D8FC 8007CCFC 3C048012 */ lui $a0, %hi(gSpriteCache) # $a0, 0x8012
|
||||
/* 07D900 8007CD00 8C84634C */ lw $a0, %lo(gSpriteCache)($a0)
|
||||
/* 07D904 8007CD04 00000000 */ nop
|
||||
/* 07D908 8007CD08 00409825 */ move $s3, $v0
|
||||
.L8007CD0C:
|
||||
/* 07D90C 8007CD0C 0013C8C0 */ sll $t9, $s3, 3
|
||||
/* 07D910 8007CD10 00994021 */ addu $t0, $a0, $t9
|
||||
/* 07D914 8007CD14 8D090004 */ lw $t1, 4($t0)
|
||||
/* 07D918 8007CD18 03209825 */ move $s3, $t9
|
||||
/* 07D91C 8007CD1C 1649001E */ bne $s2, $t1, .L8007CD98
|
||||
/* 07D920 8007CD20 24420001 */ addiu $v0, $v0, 1
|
||||
/* 07D924 8007CD24 864A0002 */ lh $t2, 2($s2)
|
||||
/* 07D928 8007CD28 00008025 */ move $s0, $zero
|
||||
/* 07D92C 8007CD2C 1940000C */ blez $t2, .L8007CD60
|
||||
/* 07D930 8007CD30 00008825 */ move $s1, $zero
|
||||
.L8007CD34:
|
||||
/* 07D934 8007CD34 8E4B0008 */ lw $t3, 8($s2)
|
||||
/* 07D938 8007CD38 00000000 */ nop
|
||||
/* 07D93C 8007CD3C 01716021 */ addu $t4, $t3, $s1
|
||||
/* 07D940 8007CD40 8D840000 */ lw $a0, ($t4)
|
||||
/* 07D944 8007CD44 0C01ECAF */ jal free_texture
|
||||
/* 07D948 8007CD48 00000000 */ nop
|
||||
/* 07D94C 8007CD4C 864D0002 */ lh $t5, 2($s2)
|
||||
/* 07D950 8007CD50 26100001 */ addiu $s0, $s0, 1
|
||||
/* 07D954 8007CD54 020D082A */ slt $at, $s0, $t5
|
||||
/* 07D958 8007CD58 1420FFF6 */ bnez $at, .L8007CD34
|
||||
/* 07D95C 8007CD5C 26310004 */ addiu $s1, $s1, 4
|
||||
.L8007CD60:
|
||||
/* 07D960 8007CD60 0C01C450 */ jal free_from_memory_pool
|
||||
/* 07D964 8007CD64 02402025 */ move $a0, $s2
|
||||
/* 07D968 8007CD68 3C028012 */ lui $v0, %hi(gSpriteCache) # $v0, 0x8012
|
||||
/* 07D96C 8007CD6C 2442634C */ addiu $v0, %lo(gSpriteCache) # addiu $v0, $v0, 0x634c
|
||||
/* 07D970 8007CD70 8C4E0000 */ lw $t6, ($v0)
|
||||
/* 07D974 8007CD74 2403FFFF */ li $v1, -1
|
||||
/* 07D978 8007CD78 01D37821 */ addu $t7, $t6, $s3
|
||||
/* 07D97C 8007CD7C ADE30000 */ sw $v1, ($t7)
|
||||
/* 07D980 8007CD80 8C580000 */ lw $t8, ($v0)
|
||||
/* 07D984 8007CD84 00000000 */ nop
|
||||
/* 07D988 8007CD88 0313C821 */ addu $t9, $t8, $s3
|
||||
/* 07D98C 8007CD8C 10000005 */ b .L8007CDA4
|
||||
/* 07D990 8007CD90 AF230004 */ sw $v1, 4($t9)
|
||||
/* 07D994 8007CD94 24420001 */ addiu $v0, $v0, 1
|
||||
.L8007CD98:
|
||||
/* 07D998 8007CD98 0043082A */ slt $at, $v0, $v1
|
||||
/* 07D99C 8007CD9C 1420FFDB */ bnez $at, .L8007CD0C
|
||||
/* 07D9A0 8007CDA0 00409825 */ move $s3, $v0
|
||||
.L8007CDA4:
|
||||
/* 07D9A4 8007CDA4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8007CDA8:
|
||||
/* 07D9A8 8007CDA8 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 07D9AC 8007CDAC 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 07D9B0 8007CDB0 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 07D9B4 8007CDB4 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 07D9B8 8007CDB8 03E00008 */ jr $ra
|
||||
/* 07D9BC 8007CDBC 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
glabel free_texture
|
||||
/* 07BEBC 8007B2BC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 07BEC0 8007B2C0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 07BEC4 8007B2C4 10800027 */ beqz $a0, .L8007B364
|
||||
/* 07BEC8 8007B2C8 00803025 */ move $a2, $a0
|
||||
/* 07BECC 8007B2CC 908E0005 */ lbu $t6, 5($a0)
|
||||
/* 07BED0 8007B2D0 00000000 */ nop
|
||||
/* 07BED4 8007B2D4 25CFFFFF */ addiu $t7, $t6, -1
|
||||
/* 07BED8 8007B2D8 31F800FF */ andi $t8, $t7, 0xff
|
||||
/* 07BEDC 8007B2DC 1F000021 */ bgtz $t8, .L8007B364
|
||||
/* 07BEE0 8007B2E0 A08F0005 */ sb $t7, 5($a0)
|
||||
/* 07BEE4 8007B2E4 3C048012 */ lui $a0, %hi(gNumberOfLoadedTextures) # $a0, 0x8012
|
||||
/* 07BEE8 8007B2E8 8C846330 */ lw $a0, %lo(gNumberOfLoadedTextures)($a0)
|
||||
/* 07BEEC 8007B2EC 00001025 */ move $v0, $zero
|
||||
/* 07BEF0 8007B2F0 1880001C */ blez $a0, .L8007B364
|
||||
/* 07BEF4 8007B2F4 3C058012 */ lui $a1, %hi(gTextureCache) # $a1, 0x8012
|
||||
/* 07BEF8 8007B2F8 8CA56328 */ lw $a1, %lo(gTextureCache)($a1)
|
||||
/* 07BEFC 8007B2FC 00000000 */ nop
|
||||
/* 07BF00 8007B300 0002C8C0 */ sll $t9, $v0, 3
|
||||
.L8007B304:
|
||||
/* 07BF04 8007B304 00B94021 */ addu $t0, $a1, $t9
|
||||
/* 07BF08 8007B308 8D090004 */ lw $t1, 4($t0)
|
||||
/* 07BF0C 8007B30C 00000000 */ nop
|
||||
/* 07BF10 8007B310 14C90011 */ bne $a2, $t1, .L8007B358
|
||||
/* 07BF14 8007B314 24420001 */ addiu $v0, $v0, 1
|
||||
/* 07BF18 8007B318 00C02025 */ move $a0, $a2
|
||||
/* 07BF1C 8007B31C 0C01C450 */ jal free_from_memory_pool
|
||||
/* 07BF20 8007B320 AFB90018 */ sw $t9, 0x18($sp)
|
||||
/* 07BF24 8007B324 3C028012 */ lui $v0, %hi(gTextureCache) # $v0, 0x8012
|
||||
/* 07BF28 8007B328 24426328 */ addiu $v0, %lo(gTextureCache) # addiu $v0, $v0, 0x6328
|
||||
/* 07BF2C 8007B32C 8FA30018 */ lw $v1, 0x18($sp)
|
||||
/* 07BF30 8007B330 8C4A0000 */ lw $t2, ($v0)
|
||||
/* 07BF34 8007B334 2404FFFF */ li $a0, -1
|
||||
/* 07BF38 8007B338 01435821 */ addu $t3, $t2, $v1
|
||||
/* 07BF3C 8007B33C AD640000 */ sw $a0, ($t3)
|
||||
/* 07BF40 8007B340 8C4C0000 */ lw $t4, ($v0)
|
||||
/* 07BF44 8007B344 00000000 */ nop
|
||||
/* 07BF48 8007B348 01836821 */ addu $t5, $t4, $v1
|
||||
/* 07BF4C 8007B34C 10000005 */ b .L8007B364
|
||||
/* 07BF50 8007B350 ADA40004 */ sw $a0, 4($t5)
|
||||
/* 07BF54 8007B354 24420001 */ addiu $v0, $v0, 1
|
||||
.L8007B358:
|
||||
/* 07BF58 8007B358 0044082A */ slt $at, $v0, $a0
|
||||
/* 07BF5C 8007B35C 1420FFE9 */ bnez $at, .L8007B304
|
||||
/* 07BF60 8007B360 0002C8C0 */ sll $t9, $v0, 3
|
||||
.L8007B364:
|
||||
/* 07BF64 8007B364 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 07BF68 8007B368 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 07BF6C 8007B36C 03E00008 */ jr $ra
|
||||
/* 07BF70 8007B370 00000000 */ nop
|
||||
|
||||
+1
-1
@@ -322,7 +322,7 @@ typedef struct Settings {
|
||||
/* 0x004C */ Settings4C *unk4C;
|
||||
/* 0x0050 */ u32 filename;
|
||||
/* 0x0054 */ Racer racers[8];
|
||||
/* 0x0114 */ u8 timeTrialRacer;
|
||||
/* 0x0114 */ s8 timeTrialRacer;
|
||||
/* 0x0115 */ char unk115[2];
|
||||
/* 0x0117 */ u8 display_times;
|
||||
} Settings;
|
||||
|
||||
+17
-10
@@ -10,6 +10,7 @@
|
||||
#include "lib/src/libc/rmonPrintf.h"
|
||||
#include "math_util.h"
|
||||
#include "weather.h"
|
||||
#include "lib/src/os/piint.h"
|
||||
|
||||
/************ .rodata ************/
|
||||
|
||||
@@ -135,21 +136,25 @@ Matrix D_801210A0;
|
||||
|
||||
/******************************/
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
#ifdef NON_MATCHING
|
||||
extern s32 D_B0000578;
|
||||
/**
|
||||
* Official Name: camInit
|
||||
*/
|
||||
void func_80065EA0(void) {
|
||||
s32 i, j;
|
||||
for (i = 0; i < 5; i++) {
|
||||
D_80120D70[i] = &D_80120DA0[i];
|
||||
};
|
||||
s32 i;
|
||||
s32 j;
|
||||
u32 stat;
|
||||
|
||||
// This loop is not cooperating.
|
||||
for (i = 0; i < 5; i++) { D_80120D70[i] = D_80120DA0 + i + i*0; }
|
||||
|
||||
for (j = 0; j < 8; j++) {
|
||||
gActiveCameraID = j;
|
||||
func_800663DC(200, 200, 200, 0, 0, 180);
|
||||
};
|
||||
gCutsceneCameraActive = FALSE;
|
||||
}
|
||||
|
||||
gCutsceneCameraActive = FALSE;
|
||||
gActiveCameraID = 0;
|
||||
D_80120D1C = 0;
|
||||
D_80120D20 = 0;
|
||||
@@ -158,12 +163,14 @@ void func_80065EA0(void) {
|
||||
D_80120D18 = 0;
|
||||
gAdjustViewportHeight = 0;
|
||||
gAntiPiracyViewport = 0;
|
||||
while (IO_READ(PI_STATUS_REG) & PI_STATUS_ERROR) {
|
||||
}
|
||||
|
||||
WAIT_ON_IOBUSY(stat);
|
||||
|
||||
//0xB0000578 is a direct read from the ROM as opposed to RAM
|
||||
if ((D_B0000578 & 0xFFFF) != 0x8965) {
|
||||
if (((D_B0000578 & 0xFFFF) & 0xFFFF) != 0x8965) {
|
||||
gAntiPiracyViewport = TRUE;
|
||||
}
|
||||
|
||||
guPerspectiveF(gPerspectiveMatrixF, &perspNorm, CAMERA_DEFAULT_FOV, CAMERA_ASPECT, CAMERA_NEAR, CAMERA_FAR, CAMERA_SCALE);
|
||||
f32_matrix_to_s16_matrix(gPerspectiveMatrixF, gPerspectiveMatrixS);
|
||||
gCurCamFOV = CAMERA_DEFAULT_FOV;
|
||||
|
||||
+504
-77
File diff suppressed because it is too large
Load Diff
+5
-4
@@ -656,8 +656,6 @@ extern char gRareCopyrightString[24];
|
||||
|
||||
extern char *D_800E1E10;
|
||||
|
||||
extern s32 D_800E1E14;
|
||||
extern s32 D_800E1E18;
|
||||
extern s32 D_800E1E1C;
|
||||
|
||||
extern s8 D_800E1E20[8];
|
||||
@@ -721,6 +719,8 @@ extern s32 D_801269F0;
|
||||
extern s32 gSelectedTrackX;
|
||||
extern s32 gSelectedTrackY;
|
||||
|
||||
extern u8 *__ROM_END;
|
||||
|
||||
s32 get_random_number_from_range(s32, s32); // No file to pull from yet.
|
||||
|
||||
void func_8007FF88(void);
|
||||
@@ -883,6 +883,8 @@ s32 menu_save_options_loop(s32 updateRate);
|
||||
s32 menu_23_loop(s32 updateRate);
|
||||
s32 menu_magic_codes_list_loop(s32 updateRate);
|
||||
void menu_trophy_race_rankings_init(void);
|
||||
void calculate_and_display_rom_checksum(void);
|
||||
s32 menu_trophy_race_rankings_loop(s32 updateRate);
|
||||
|
||||
// Non Matching functions below here
|
||||
void load_menu_text(s32 language); // Non Matching
|
||||
@@ -891,7 +893,6 @@ s32 menu_audio_options_loop(s32 arg0);
|
||||
s32 menu_options_loop(s32 updateRate);
|
||||
s32 menu_controller_pak_loop(s32 updateRate);
|
||||
void render_magic_codes_list_menu_text(s32 arg0);
|
||||
void calculate_and_display_rom_checksum(void);
|
||||
void randomise_ai_racer_slots(s32 arg0);
|
||||
void menu_game_select_init(void);
|
||||
void render_file_select_menu(s32 arg0);
|
||||
@@ -910,7 +911,6 @@ void func_8009E3D0(void);
|
||||
s32 menu_title_screen_loop(s32 updateRate);
|
||||
s32 menu_magic_codes_loop(s32 updateRate);
|
||||
s32 menu_results_loop(s32 updateRate);
|
||||
s32 menu_trophy_race_rankings_loop(s32 updateRate);
|
||||
s32 menu_credits_loop(s32 updateRate);
|
||||
void func_8009CA60(s32 imageID);
|
||||
void func_8007FFEC(s32 arg0);
|
||||
@@ -943,6 +943,7 @@ s32 func_80086AFC(void);
|
||||
s32 func_80087734(s32, s32);
|
||||
void func_80085B9C(UNUSED s32 updateRate);
|
||||
void func_80098774(s32);
|
||||
void render_magic_codes_ui(s32 updateRate);
|
||||
|
||||
typedef enum MenuTextures {
|
||||
/* 0x00 */ TEXTURE_UNK_00,
|
||||
|
||||
@@ -20,5 +20,6 @@ void func_80061C0C(Object* obj);
|
||||
|
||||
void free_object_model(ObjectModel *model); //Non Matching
|
||||
void func_8005FF40(ObjectModel **modelPtr);
|
||||
void func_80060910(ObjectModel *);
|
||||
|
||||
#endif
|
||||
|
||||
+14
-37
@@ -2960,28 +2960,16 @@ GLOBAL_ASM("asm/non_matchings/objects/func_800159C8.s")
|
||||
GLOBAL_ASM("asm/non_matchings/objects/func_80016500.s")
|
||||
GLOBAL_ASM("asm/non_matchings/objects/func_80016748.s")
|
||||
|
||||
void func_80016BC4(Object *arg0) {
|
||||
s32 var_s0;
|
||||
s32 var_s1;
|
||||
s32 *temp_v0;
|
||||
s8 var_v1;
|
||||
void func_80016BC4(Object *obj) {
|
||||
s32 i;
|
||||
|
||||
arg0->unk5C->unk104 = 0;
|
||||
func_8001709C(arg0);
|
||||
func_8001709C(arg0);
|
||||
var_s1 = 0;
|
||||
var_v1 = arg0->segment.header->numberOfModelIds;
|
||||
var_s0 = 0;
|
||||
if (var_v1 > 0) {
|
||||
do {
|
||||
temp_v0 = (s32 *) *(arg0->unk68 + var_s0);
|
||||
if (temp_v0 != NULL) {
|
||||
func_8006017C(*temp_v0);
|
||||
var_v1 = arg0->segment.header->numberOfModelIds;
|
||||
}
|
||||
var_s1 += 1;
|
||||
var_s0 += 1;
|
||||
} while (var_s1 < var_v1);
|
||||
obj->unk5C->unk104 = 0;
|
||||
func_8001709C(obj);
|
||||
func_8001709C(obj);
|
||||
for (i = 0; i < obj->segment.header->numberOfModelIds; i++) {
|
||||
if (obj->unk68[i] != NULL) {
|
||||
func_8006017C(obj->unk68[i]->objModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3237,7 +3225,7 @@ void func_8001B3C4(s32 arg0, s16 *playerId) {
|
||||
D_800DC718 = 0;
|
||||
free_tt_ghost_data();
|
||||
D_800DC734 = 0;
|
||||
mainTrackIds = get_misc_asset(ASSET_MISC_MAIN_TRACKS_IDS);
|
||||
mainTrackIds = (s8 *) get_misc_asset(ASSET_MISC_MAIN_TRACKS_IDS);
|
||||
trackIdCount = 0;
|
||||
while (mainTrackIds[trackIdCount] != -1 && mainTrackIds[trackIdCount] != arg0) {
|
||||
trackIdCount++;
|
||||
@@ -4132,7 +4120,6 @@ s8 func_800214C4(void) {
|
||||
}
|
||||
|
||||
s8 func_800214E4(Object *obj, s32 updateRate) {
|
||||
s16 temp_v1;
|
||||
s32 i;
|
||||
Object_AnimatedObject *animObj;
|
||||
|
||||
@@ -4151,18 +4138,8 @@ s8 func_800214E4(Object *obj, s32 updateRate) {
|
||||
}
|
||||
if (animObj->unk36 <= 0) {
|
||||
obj->segment.trans.flags |= OBJ_FLAGS_INVISIBLE;
|
||||
i = 0;
|
||||
if (D_8011AE78 > 0) {
|
||||
temp_v1 = animObj->unk28;
|
||||
if (temp_v1 != (s32) (*D_8011AE74)->properties.common.unk4) {
|
||||
loop_11:
|
||||
i++;
|
||||
if (i < D_8011AE78) {
|
||||
if (temp_v1 != (s32) D_8011AE74[i]->properties.common.unk4) {
|
||||
goto loop_11;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (i = 0; (i < D_8011AE78 && animObj->unk28 != D_8011AE74[i]->properties.common.unk4); i++) {
|
||||
if (FALSE) {} //FAKEMATCH
|
||||
}
|
||||
func_8001EFA4(D_8011AE74[i], obj);
|
||||
return 1;
|
||||
@@ -4206,12 +4183,12 @@ f32 cubic_spline_interpolation(f32 *data, s32 index, f32 x, f32 *derivative) {
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/objects/func_8002277C.s")
|
||||
|
||||
f32 lerp(f32 *arg0, u32 arg1, f32 arg2) {
|
||||
UNUSED f32 lerp(f32 *arg0, u32 arg1, f32 arg2) {
|
||||
f32 result = arg0[arg1 + 1] + ((arg0[arg1 + 2] - arg0[arg1 + 1]) * arg2);
|
||||
return result;
|
||||
}
|
||||
|
||||
f32 func_800228B0(f32 *arg0, u32 arg1, f32 arg2, f32 *arg3) {
|
||||
UNUSED f32 func_800228B0(f32 *arg0, u32 arg1, f32 arg2, f32 *arg3) {
|
||||
f32 new_var2;
|
||||
f32 temp_f12;
|
||||
f32 new_var;
|
||||
|
||||
+1
-1
@@ -465,7 +465,7 @@ void func_80018CE0(Object* obj, f32 xPos, f32 yPos, f32 zPos, s32 updateRate);
|
||||
s32 func_800185E4(s8, Object* obj, f32 xPos, f32 yPos, f32 zPos, f32* checkpointDistance, u8*); /* extern */
|
||||
void func_80011134(Object *, s32);
|
||||
Object *func_8002342C(f32 x, f32 z);
|
||||
void func_8006017C(s32);
|
||||
void func_8006017C(ObjectModel *);
|
||||
void func_80012F94(Object *);
|
||||
void render_3d_model(Object *);
|
||||
void func_800101AC(Object *, s32);
|
||||
|
||||
+4
-4
@@ -127,7 +127,7 @@ u8 func_80072250(s32 arg0) {
|
||||
|
||||
void func_80072298(u8 arg0) {
|
||||
D_801241E4 = arg0;
|
||||
if (arg0 != 0) {
|
||||
if (arg0) {
|
||||
gRumbleDetectionTimer = 0x79;
|
||||
D_801241E6 = 0xF;
|
||||
return;
|
||||
@@ -192,10 +192,10 @@ void func_80072578(s16 controllerIndex, s16 arg1, s16 arg2) {
|
||||
s16 index;
|
||||
u8 new_var;
|
||||
|
||||
if (D_801241E4 != 0 && controllerIndex >= 0 && controllerIndex < 4) {
|
||||
if (D_801241E4 && controllerIndex >= 0 && controllerIndex < 4) {
|
||||
new_var = func_80072250(controllerIndex);
|
||||
index = 0xFFFF;
|
||||
index = index & new_var;
|
||||
index &= new_var;
|
||||
new_var = 1 << index;
|
||||
D_801241E6 |= new_var;
|
||||
D_801241E7 &= ~new_var;
|
||||
@@ -1624,7 +1624,7 @@ void init_controller_paks(void) {
|
||||
sControllerMesgQueue = get_si_mesg_queue();
|
||||
sUnkMiscAsset19 = (s16 *)get_misc_asset(ASSET_MISC_19);
|
||||
D_801241E6 = D_801241E7 = 0xF;
|
||||
D_801241E4 = 1;
|
||||
D_801241E4 = TRUE;
|
||||
gRumbleDetectionTimer = 0;
|
||||
D_800DE48C = 1;
|
||||
sControllerPaksPresent = sRumblePaksPresent = 0;
|
||||
|
||||
+27
-42
@@ -265,7 +265,7 @@ const char D_800E7C50[] = "TEXSPR Error: Tryed to deallocate non-existent sprite
|
||||
|
||||
s32 *gTextureAssetTable[2];
|
||||
|
||||
TextureCacheEntry *gTextureCache;
|
||||
s32 *gTextureCache;
|
||||
|
||||
u8 *gCiPalettes;
|
||||
s32 gNumberOfLoadedTextures;
|
||||
@@ -275,7 +275,7 @@ s32 gCiPalettesSize;
|
||||
s32 D_80126344;
|
||||
s32 *gSpriteOffsetTable;
|
||||
|
||||
SpriteCacheEntry *gSpriteCache;
|
||||
s32 *gSpriteCache;
|
||||
|
||||
Sprite *gCurrentSprite;
|
||||
s32 D_80126354;
|
||||
@@ -396,8 +396,8 @@ TextureHeader *load_texture(s32 arg0) {
|
||||
arg0 = 0;
|
||||
}
|
||||
for (i = 0; i < gNumberOfLoadedTextures; i++) {
|
||||
if (arg0 == gTextureCache[i].id) {
|
||||
tex = gTextureCache[i].texture;
|
||||
if (arg0 == gTextureCache[(i << 1)]) {
|
||||
tex = gTextureCache[(i << 1) + 1];
|
||||
tex->numberOfInstances++;
|
||||
return tex;
|
||||
}
|
||||
@@ -429,15 +429,15 @@ TextureHeader *load_texture(s32 arg0) {
|
||||
}
|
||||
texIndex = -1;
|
||||
for (i = 0; i < gNumberOfLoadedTextures; i++) {
|
||||
if (gTextureCache[i].id == -1) {
|
||||
if (gTextureCache[(i << 1)] == -1) {
|
||||
texIndex = i;
|
||||
}
|
||||
}
|
||||
if (texIndex == -1) {
|
||||
texIndex = gNumberOfLoadedTextures++;
|
||||
}
|
||||
gTextureCache[texIndex].id = arg0;
|
||||
gTextureCache[texIndex].texture = tex;
|
||||
gTextureCache[(texIndex << 1)] = arg0;
|
||||
gTextureCache[(texIndex << 1) + 1] = tex;
|
||||
paletteOffset = -1;
|
||||
if ((tex->format & 0xF) == TEX_FORMAT_CI4) {
|
||||
if (D_80126344 == 0) {
|
||||
@@ -479,33 +479,27 @@ TextureHeader *load_texture(s32 arg0) {
|
||||
GLOBAL_ASM("asm/non_matchings/textures_sprites/load_texture.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
/**
|
||||
* The same difference preventing this from matching is the same as free_sprite
|
||||
* This function frees textures
|
||||
* Official Name: texFreeTexture
|
||||
*/
|
||||
void free_texture(TextureHeader *tex) {
|
||||
s32 i;
|
||||
s32 texId;
|
||||
|
||||
if (tex != NULL) {
|
||||
tex->numberOfInstances--;
|
||||
if (tex->numberOfInstances <= 0) {
|
||||
|
||||
if (tex != 0) {
|
||||
if ((--tex->numberOfInstances) <= 0) {
|
||||
for (i = 0; i < gNumberOfLoadedTextures; i++) {
|
||||
if (tex == gTextureCache[i].texture) {
|
||||
texId = -1;
|
||||
if ((s32)tex == gTextureCache[(i << 1) + 1]) {
|
||||
free_from_memory_pool(tex);
|
||||
gTextureCache[i].id = texId;
|
||||
gTextureCache[i].texture = (TextureHeader *) texId;
|
||||
break;
|
||||
|
||||
gTextureCache[(i << 1)] = -1;
|
||||
gTextureCache[(i << 1) + 1] = -1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/textures_sprites/free_texture.s")
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Set the colour tag that determines which memory pool textures will be loaded into.
|
||||
@@ -516,15 +510,14 @@ void set_texture_colour_tag(s32 tagID) {
|
||||
gTexColourTag = tagID;
|
||||
}
|
||||
|
||||
UNUSED TextureHeader *func_8007B380(s32 arg0) {
|
||||
UNUSED s32 func_8007B380(s32 arg0) {
|
||||
if ((arg0 < 0) || (arg0 >= gNumberOfLoadedTextures)) {
|
||||
return 0;
|
||||
}
|
||||
// Regalloc issue here
|
||||
if (gTextureCache[arg0 << 1 >> 1 << 1 >> 1 << 1 >> 1 << 1 >> 1 << 1 >> 1].texture == (TextureHeader *)-1) {
|
||||
if (gTextureCache[(arg0 << 1) + 1] == -1) {
|
||||
return 0;
|
||||
}
|
||||
return gTextureCache[arg0 << 1 >> 1 << 1 >> 1 << 1 >> 1 << 1 >> 1 << 1 >> 1].texture;
|
||||
return gTextureCache[(arg0 << 1) + 1];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -804,16 +797,14 @@ GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007BF34.s")
|
||||
GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007C12C.s")
|
||||
|
||||
Sprite *func_8007C52C(s32 arg0) {
|
||||
Sprite *sprite;
|
||||
if ((arg0 < 0) || (arg0 >= D_80126358)) {
|
||||
return NULL;
|
||||
}
|
||||
// Fakematch! The shifts here is a hack to skip a register.
|
||||
sprite = gSpriteCache[arg0 << 1 >> 1 << 1 >> 1 << 1 >> 1 << 1 >> 1 << 1 >> 1].sprite;
|
||||
if ((s32)sprite == -1) {
|
||||
|
||||
if (gSpriteCache[(arg0 << 1) + 1] == -1) {
|
||||
return NULL;
|
||||
}
|
||||
return sprite;
|
||||
return gSpriteCache[(arg0 << 1) + 1];
|
||||
}
|
||||
|
||||
s32 get_texture_size_from_id(s32 id) {
|
||||
@@ -881,14 +872,14 @@ UNUSED s32 func_8007C860(s32 spriteIndex) {
|
||||
if ((spriteIndex < 0) || (spriteIndex >= gNumberOfLoadedTextures)) {
|
||||
return -1;
|
||||
}
|
||||
return ((TextureCacheEntry *) ((s32*) gTextureCache + spriteIndex * 2))->id;
|
||||
return gTextureCache[spriteIndex << 1];
|
||||
}
|
||||
|
||||
UNUSED s32 func_8007C8A0(s32 spriteIndex) {
|
||||
if ((spriteIndex < 0) || (spriteIndex >= D_80126358)) {
|
||||
return -1;
|
||||
}
|
||||
return ((SpriteCacheEntry*) ((s32*) gSpriteCache + spriteIndex * 2))->id;
|
||||
return gSpriteCache[spriteIndex << 1];
|
||||
}
|
||||
|
||||
s32 load_sprite_info(s32 spriteIndex, s32 *numOfInstancesOut, s32 *unkOut, s32 *numFramesOut, s32 *formatOut, s32 *sizeOut) {
|
||||
@@ -932,34 +923,28 @@ s32 load_sprite_info(s32 spriteIndex, s32 *numOfInstancesOut, s32 *unkOut, s32 *
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007CA68.s")
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
/* Official name: texFreeSprite */
|
||||
void free_sprite(Sprite *sprite) {
|
||||
s32 i;
|
||||
s32 frame;
|
||||
s32 spriteId;
|
||||
|
||||
if (sprite != NULL) {
|
||||
sprite->numberOfInstances--;
|
||||
if (sprite->numberOfInstances <= 0) {
|
||||
for (i = 0; i < D_80126358; i++) {
|
||||
if (sprite == gSpriteCache[i].sprite) {
|
||||
if ((s32)sprite == gSpriteCache[(i << 1) + 1]) {
|
||||
for (frame = 0; frame < sprite->numberOfFrames; frame++) {
|
||||
free_texture(sprite->frames[frame]);
|
||||
}
|
||||
spriteId = -1;
|
||||
free_from_memory_pool(sprite);
|
||||
gSpriteCache[i].id = spriteId;
|
||||
gSpriteCache[i].sprite = (Sprite *)spriteId;
|
||||
gSpriteCache[(i << 1) + 0] = -1;
|
||||
gSpriteCache[(i << 1) + 1] = -1; // ?
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/textures_sprites/free_sprite.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_8007CDC0(Sprite *sprite1, Sprite *sprite2, s32 arg2) {
|
||||
|
||||
@@ -121,6 +121,8 @@ void load_and_set_texture_no_offset(Gfx **dlist, TextureHeader *texhead, u32 fla
|
||||
void func_8007BF1C(s32 arg0);
|
||||
s32 func_8007EF64(s16 arg0);
|
||||
void load_and_set_texture(Gfx **dlist, TextureHeader *texhead, s32 flags, s32 offset);
|
||||
void free_sprite(Sprite *sprite);
|
||||
void free_texture(TextureHeader *tex);
|
||||
|
||||
// There might be a file boundary here.
|
||||
void tex_animate_texture(TextureHeader *texture, u32 *triangleBatchInfoFlags, s32 *arg2, s32 updateRate);
|
||||
@@ -128,14 +130,11 @@ void func_8007F1E8(LevelHeader_70 *arg0);
|
||||
void init_pulsating_light_data(PulsatingLightData *data);
|
||||
void update_pulsating_light_data(PulsatingLightData *data, s32 timeDelta);
|
||||
TextureHeader *func_8007B46C(TextureHeader *arg0, s32 arg1);
|
||||
|
||||
TextureHeader *load_texture(s32 arg0); // Non Matching
|
||||
void free_texture(TextureHeader *tex); // Non Matching
|
||||
s32 get_texture_size_from_id(s32 arg0); // Non Matching
|
||||
s32 func_8007C860(s32 spriteIndex); // Non Matching
|
||||
s32 load_sprite_info(s32 spriteID, s32 *numOfInstancesOut, s32 *unkOut,
|
||||
s32 *numFramesOut, s32 *formatOut, s32 *sizeOut); // Non Matching
|
||||
void free_sprite(Sprite *sprite); // Non Matching
|
||||
void func_8007F594(Gfx **dlist, u32 index, u32 primitiveColor, u32 environmentColor); // Non Matching
|
||||
void func_8007CA68(s32 spriteID, s32 arg1, s32 *arg2, s32 *arg3, s32 *arg4); // Non Matching
|
||||
MemoryPoolSlot *func_8007C12C(s32 spriteID, s32 arg1); // Non Matching
|
||||
|
||||
@@ -8,6 +8,8 @@ compiler_type = "ido"
|
||||
"OS_PHYSICAL_TO_K0" = "void *"
|
||||
"_SHIFTL" = "unsigned int"
|
||||
"G_IM_.*" = "unsigned int"
|
||||
"KEEPLINEBREAK" = "void"
|
||||
"IO_READ" = "volatile unsigned int *"
|
||||
|
||||
[decompme.compilers]
|
||||
"./tools/ido-static-recomp/build/5.3/out/cc" = "ido5.3_irix"
|
||||
|
||||
Reference in New Issue
Block a user