mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Update makefile, and include many new matches (#421)
* Fix the sins of the past * Fix makefile extra messages, and add a patching option * Match func_8001955C * Match func_80016500 * Match func_8000C8F8 * WIP func_8000CC7C * Removed old competing misc asset enums, and migrated to the better standard. * Fix last commit * Minor documenting of an unused asset. * Match func_8001B4FC * Match func_8009963C * Match render_enter_filename_ui * Match randomise_ai_racer_slots * Fix NON_EQUIVALENT builds * Update README * A little text documenting * Update src/menu.c Co-authored-by: David Benepe <benepe96@gmail.com> * Remove already matched asm file --------- Co-authored-by: David Benepe <benepe96@gmail.com>
This commit is contained in:
co-authored by
David Benepe
parent
147e43c50e
commit
658ab3f5f0
@@ -4,3 +4,6 @@
|
||||
[submodule "tools/asm_processor"]
|
||||
path = tools/asm_processor
|
||||
url = https://github.com/simonlindholm/asm-processor.git
|
||||
[submodule "tools/Flips"]
|
||||
path = tools/Flips
|
||||
url = https://github.com/Alcaro/Flips.git
|
||||
|
||||
@@ -96,21 +96,6 @@ $(error Missing submodule ido-static-recomp. Please run 'git submodule update --
|
||||
endif
|
||||
endif
|
||||
|
||||
# List of IDO tools required for the repo.
|
||||
# NOTE: If you are adding a tool here, make sure to update the Makefile in `/tools/ido-static-recomp/`!
|
||||
RECOMP_TOOLS := cc cfe uopt ugen as1 ujoin uld usplit umerge
|
||||
|
||||
RECOMP_DIR := $(RECOMP_PROJECT)build/5.3/out/
|
||||
RECOMP_TOOLS_PATHS = $(addprefix $(RECOMP_DIR),$(RECOMP_TOOLS))
|
||||
|
||||
# Checks if all the recomp tools exist.
|
||||
$(foreach p,$(RECOMP_TOOLS_PATHS),$(if $(wildcard $(p)),,$(info $(p) does not exist!) $(eval runRecomp:=yes)))
|
||||
|
||||
# If any of the tools do not exist, then recomp needs to run to build them.
|
||||
ifeq ($(runRecomp),yes)
|
||||
DUMMY != cd $(RECOMP_PROJECT) && make setup && make VERSION=5.3 && cp build/5.3/out/usr/bin/cc build/5.3/out/cc && cp build/5.3/out/usr/lib/* build/5.3/out/ && cd ../../ >&2 || echo FAIL
|
||||
endif
|
||||
|
||||
######## Extract Assets & Microcode ########
|
||||
|
||||
DUMMY != python3 ./tools/python/check_if_need_to_extract.py $(VERSION) >&2 || echo FAIL
|
||||
@@ -146,7 +131,7 @@ endif
|
||||
endif
|
||||
|
||||
AS = $(CROSS)as
|
||||
CC := $(RECOMP_DIR)cc
|
||||
CC := tools/ido-static-recomp/build/5.3/out/cc
|
||||
CPP := cpp -P -Wno-trigraphs -I include
|
||||
LD = $(CROSS)ld
|
||||
OBJDUMP = $(CROSS)objdump
|
||||
@@ -177,6 +162,7 @@ LDFLAGS = undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -Map $(BUILD_DIR)/dkr.
|
||||
|
||||
# N64 tools
|
||||
TOOLS_DIR = ./tools
|
||||
FLIPS = $(TOOLS_DIR)/Flips/flips
|
||||
EMULATOR = mupen64plus
|
||||
EMU_FLAGS = --noosd
|
||||
LOADER = loader64
|
||||
@@ -337,7 +323,6 @@ distclean:
|
||||
rm -rf assets
|
||||
rm -rf ucode
|
||||
rm -rf dkr.ld
|
||||
rm -rf tools/ido-static-recomp/{,.[!.],..?}* # Deletes all files, including hidden ones.
|
||||
$(MAKE) -C tools distclean
|
||||
|
||||
clean_lib:
|
||||
@@ -438,6 +423,10 @@ test: $(BUILD_DIR)/$(TARGET).z64
|
||||
load: $(BUILD_DIR)/$(TARGET).z64
|
||||
$(LOADER) $(LOADER_FLAGS) $<
|
||||
|
||||
ROM := $(BUILD_DIR)/$(TARGET).z64
|
||||
patch: $(ROM)
|
||||
$(FLIPS) --create --bps ./baseroms/dkr.z64 $(ROM) $(BUILD_DIR)/$(TARGET).bps
|
||||
|
||||
.PHONY: all clean distclean default diff test
|
||||
|
||||
# Remove built-in rules, to improve performance
|
||||
|
||||
@@ -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 10, 2023, this is our current score:
|
||||
As of October 11, 2023, this is our current score:
|
||||
|
||||
    Decomp progress: 58.00%
|
||||
    Decomp progress: 58.51%
|
||||
|
||||
    Documentation progress: 33.35%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
@@ -128,20 +128,20 @@ s32 is_drumstick_unlocked(void) {
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of October 10th, 2023, this is our current score:
|
||||
As of October 11th, 2023, this is our current score:
|
||||
```
|
||||
===================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
------------------------- 58.00% Complete -------------------------
|
||||
# Decompiled functions: 1606
|
||||
# GLOBAL_ASM remaining: 232
|
||||
# NON_MATCHING functions: 11
|
||||
# NON_EQUIVALENT WIP functions: 59
|
||||
------------------------- 58.51% Complete -------------------------
|
||||
# Decompiled functions: 1613
|
||||
# GLOBAL_ASM remaining: 225
|
||||
# NON_MATCHING functions: 10
|
||||
# NON_EQUIVALENT WIP functions: 58
|
||||
--------------------------- Game Status ---------------------------
|
||||
Balloons: 28/47, Keys: 3/4, Trophies: 2/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 2/4
|
||||
-------------------------------------------------------------------
|
||||
We are collecting silver coins in Pirate Lagoon. (2/8 silver coins)
|
||||
We are collecting silver coins in Pirate Lagoon. (5/8 silver coins)
|
||||
===================================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
------------------------- 33.35% Complete -------------------------
|
||||
|
||||
+27
-27
@@ -8481,20 +8481,20 @@ glabel ASSET_MISC_3
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_3.bin"
|
||||
glabel ASSET_MISC_4
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_4.bin"
|
||||
glabel ASSET_MISC_5
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_5.bin"
|
||||
glabel ASSET_MISC_6
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_6.bin"
|
||||
glabel ASSET_MISC_7
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_7.bin"
|
||||
glabel ASSET_MISC_TRICKY_BOSS_DATA
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/tricky_boss_data.bin"
|
||||
glabel ASSET_MISC_BLUEY_BOSS_DATA
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/bluey_boss_data.bin"
|
||||
glabel ASSET_MISC_SMOKEY_BOSS_DATA
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/smokey_boss_data.bin"
|
||||
glabel ASSET_MISC_8
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_8.bin"
|
||||
glabel ASSET_MISC_9
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_9.bin"
|
||||
glabel ASSET_MISC_10
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_10.bin"
|
||||
glabel ASSET_MISC_11
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_11.bin"
|
||||
glabel ASSET_MISC_RACER_WEIGHT
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/racer_weight_data.bin"
|
||||
glabel ASSET_MISC_RACER_HANDLING
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/racer_handling_data.bin"
|
||||
glabel ASSET_MISC_RACER_UNUSED_11
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/racer_unused_11_data.bin"
|
||||
glabel ASSET_MISC_12
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_12.bin"
|
||||
glabel ASSET_MISC_13
|
||||
@@ -8513,10 +8513,10 @@ glabel ASSET_MISC_19
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_19.bin"
|
||||
glabel ASSET_MISC_20
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_20.bin"
|
||||
glabel ASSET_MISC_21
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_21.bin"
|
||||
glabel ASSET_MISC_22
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_22.bin"
|
||||
glabel ASSET_MISC_SHIELD_DATA
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/shield_data.bin"
|
||||
glabel ASSET_MISC_MAGNET_DATA
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/magnet_data.bin"
|
||||
glabel ASSET_MISC_23
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_23.bin"
|
||||
glabel ASSET_MISC_24
|
||||
@@ -8583,8 +8583,8 @@ glabel ASSET_MISC_54
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_54.bin"
|
||||
glabel ASSET_MISC_55
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_55.bin"
|
||||
glabel ASSET_MISC_56
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_56.bin"
|
||||
glabel ASSET_MISC_RACER_HITBOX_SIZE
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/racer_hitbox_size.bin"
|
||||
glabel ASSET_MISC_57
|
||||
.incbin "./build/us_1.0/assets/misc/unlabeled/unknown_15_57.bin"
|
||||
glabel ASSET_MISC_58
|
||||
@@ -8622,13 +8622,13 @@ glabel ASSET_MISC_TABLE
|
||||
.word (ASSET_MISC_2 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_3 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_4 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_5 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_6 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_7 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_TRICKY_BOSS_DATA - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_BLUEY_BOSS_DATA - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_SMOKEY_BOSS_DATA - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_8 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_9 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_10 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_11 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_RACER_WEIGHT - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_RACER_HANDLING - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_RACER_UNUSED_11 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_12 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_13 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_14 - ASSET_MISC) / 4
|
||||
@@ -8638,8 +8638,8 @@ glabel ASSET_MISC_TABLE
|
||||
.word (ASSET_MISC_18 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_19 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_20 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_21 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_22 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_SHIELD_DATA - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_MAGNET_DATA - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_23 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_24 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_25 - ASSET_MISC) / 4
|
||||
@@ -8673,7 +8673,7 @@ glabel ASSET_MISC_TABLE
|
||||
.word (ASSET_MISC_53 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_54 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_55 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_56 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_RACER_HITBOX_SIZE - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_57 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_58 - ASSET_MISC) / 4
|
||||
.word (ASSET_MISC_59 - ASSET_MISC) / 4
|
||||
|
||||
@@ -1,186 +0,0 @@
|
||||
glabel func_8009963C
|
||||
/* 09A23C 8009963C 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* 09A240 80099640 3C098012 */ lui $t1, %hi(D_801264D4) # $t1, 0x8012
|
||||
/* 09A244 80099644 252964D4 */ addiu $t1, %lo(D_801264D4) # addiu $t1, $t1, 0x64d4
|
||||
/* 09A248 80099648 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 09A24C 8009964C AD200000 */ sw $zero, ($t1)
|
||||
/* 09A250 80099650 0C0078A7 */ jal get_misc_asset
|
||||
/* 09A254 80099654 2404001C */ li $a0, 28
|
||||
/* 09A258 80099658 3C098012 */ lui $t1, %hi(D_801264D4) # $t1, 0x8012
|
||||
/* 09A25C 8009965C 3C078012 */ lui $a3, %hi(D_801264DC) # $a3, 0x8012
|
||||
/* 09A260 80099660 3C1F8012 */ lui $ra, %hi(D_801264EC) # $ra, 0x8012
|
||||
/* 09A264 80099664 3C0B8012 */ lui $t3, %hi(D_80126540) # $t3, 0x8012
|
||||
/* 09A268 80099668 252964D4 */ addiu $t1, %lo(D_801264D4) # addiu $t1, $t1, 0x64d4
|
||||
/* 09A26C 8009966C 00403025 */ move $a2, $v0
|
||||
/* 09A270 80099670 256B6540 */ addiu $t3, %lo(D_80126540) # addiu $t3, $t3, 0x6540
|
||||
/* 09A274 80099674 27FF64EC */ addiu $ra, %lo(D_801264EC) # addiu $ra, $ra, 0x64ec
|
||||
/* 09A278 80099678 24E764DC */ addiu $a3, %lo(D_801264DC) # addiu $a3, $a3, 0x64dc
|
||||
/* 09A27C 8009967C 00005025 */ move $t2, $zero
|
||||
/* 09A280 80099680 27AD0044 */ addiu $t5, $sp, 0x44
|
||||
/* 09A284 80099684 240500FF */ li $a1, 255
|
||||
.L80099688:
|
||||
/* 09A288 80099688 90E40000 */ lbu $a0, ($a3)
|
||||
/* 09A28C 8009968C 00000000 */ nop
|
||||
/* 09A290 80099690 10A40022 */ beq $a1, $a0, .L8009971C
|
||||
/* 09A294 80099694 00000000 */ nop
|
||||
/* 09A298 80099698 904E0000 */ lbu $t6, ($v0)
|
||||
/* 09A29C 8009969C 00004025 */ move $t0, $zero
|
||||
/* 09A2A0 800996A0 10AE000F */ beq $a1, $t6, .L800996E0
|
||||
/* 09A2A4 800996A4 00487821 */ addu $t7, $v0, $t0
|
||||
/* 09A2A8 800996A8 904F0000 */ lbu $t7, ($v0)
|
||||
/* 09A2AC 800996AC 00401821 */ addu $v1, $v0, $zero
|
||||
/* 09A2B0 800996B0 11E4000B */ beq $t7, $a0, .L800996E0
|
||||
/* 09A2B4 800996B4 00487821 */ addu $t7, $v0, $t0
|
||||
.L800996B8:
|
||||
/* 09A2B8 800996B8 90780001 */ lbu $t8, 1($v1)
|
||||
/* 09A2BC 800996BC 25080001 */ addiu $t0, $t0, 1
|
||||
/* 09A2C0 800996C0 10B80006 */ beq $a1, $t8, .L800996DC
|
||||
/* 09A2C4 800996C4 24630001 */ addiu $v1, $v1, 1
|
||||
/* 09A2C8 800996C8 00C8C821 */ addu $t9, $a2, $t0
|
||||
/* 09A2CC 800996CC 932E0000 */ lbu $t6, ($t9)
|
||||
/* 09A2D0 800996D0 00000000 */ nop
|
||||
/* 09A2D4 800996D4 15C4FFF8 */ bne $t6, $a0, .L800996B8
|
||||
/* 09A2D8 800996D8 00000000 */ nop
|
||||
.L800996DC:
|
||||
/* 09A2DC 800996DC 00487821 */ addu $t7, $v0, $t0
|
||||
.L800996E0:
|
||||
/* 09A2E0 800996E0 91F80000 */ lbu $t8, ($t7)
|
||||
/* 09A2E4 800996E4 03EA7021 */ addu $t6, $ra, $t2
|
||||
/* 09A2E8 800996E8 10B8000C */ beq $a1, $t8, .L8009971C
|
||||
/* 09A2EC 800996EC 00000000 */ nop
|
||||
/* 09A2F0 800996F0 8D2C0000 */ lw $t4, ($t1)
|
||||
/* 09A2F4 800996F4 0008C0C0 */ sll $t8, $t0, 3
|
||||
/* 09A2F8 800996F8 016CC821 */ addu $t9, $t3, $t4
|
||||
/* 09A2FC 800996FC A32A0000 */ sb $t2, ($t9)
|
||||
/* 09A300 80099700 91CF0000 */ lbu $t7, ($t6)
|
||||
/* 09A304 80099704 000C7040 */ sll $t6, $t4, 1
|
||||
/* 09A308 80099708 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 09A30C 8009970C 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 09A310 80099710 A5F90000 */ sh $t9, ($t7)
|
||||
/* 09A314 80099714 25980001 */ addiu $t8, $t4, 1
|
||||
/* 09A318 80099718 AD380000 */ sw $t8, ($t1)
|
||||
.L8009971C:
|
||||
/* 09A31C 8009971C 254A0001 */ addiu $t2, $t2, 1
|
||||
/* 09A320 80099720 29410006 */ slti $at, $t2, 6
|
||||
/* 09A324 80099724 1420FFD8 */ bnez $at, .L80099688
|
||||
/* 09A328 80099728 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 09A32C 8009972C 8D2C0000 */ lw $t4, ($t1)
|
||||
/* 09A330 80099730 97A70046 */ lhu $a3, 0x46($sp)
|
||||
/* 09A334 80099734 258AFFFF */ addiu $t2, $t4, -1
|
||||
/* 09A338 80099738 1940003D */ blez $t2, .L80099830
|
||||
/* 09A33C 8009973C 00000000 */ nop
|
||||
/* 09A340 80099740 97A40044 */ lhu $a0, 0x44($sp)
|
||||
/* 09A344 80099744 00000000 */ nop
|
||||
.L80099748:
|
||||
/* 09A348 80099748 19400034 */ blez $t2, .L8009981C
|
||||
/* 09A34C 8009974C 00004025 */ move $t0, $zero
|
||||
/* 09A350 80099750 31420001 */ andi $v0, $t2, 1
|
||||
/* 09A354 80099754 1040000E */ beqz $v0, .L80099790
|
||||
/* 09A358 80099758 00E4082A */ slt $at, $a3, $a0
|
||||
/* 09A35C 8009975C 1020000B */ beqz $at, .L8009978C
|
||||
/* 09A360 80099760 24080001 */ li $t0, 1
|
||||
/* 09A364 80099764 3C068012 */ lui $a2, %hi(D_80126540) # $a2, 0x8012
|
||||
/* 09A368 80099768 3C0E8012 */ lui $t6, %hi(D_80126541) # $t6, 0x8012
|
||||
/* 09A36C 8009976C 91CE6541 */ lbu $t6, %lo(D_80126541)($t6)
|
||||
/* 09A370 80099770 90C66540 */ lbu $a2, %lo(D_80126540)($a2)
|
||||
/* 09A374 80099774 00802825 */ move $a1, $a0
|
||||
/* 09A378 80099778 3C018012 */ lui $at, %hi(D_80126541) # $at, 0x8012
|
||||
/* 09A37C 8009977C 30E4FFFF */ andi $a0, $a3, 0xffff
|
||||
/* 09A380 80099780 30A7FFFF */ andi $a3, $a1, 0xffff
|
||||
/* 09A384 80099784 A02E6540 */ sb $t6, %lo(D_80126540)($at)
|
||||
/* 09A388 80099788 A0266541 */ sb $a2, %lo(D_80126541)($at)
|
||||
.L8009978C:
|
||||
/* 09A38C 8009978C 110A0023 */ beq $t0, $t2, .L8009981C
|
||||
.L80099790:
|
||||
/* 09A390 80099790 0008C840 */ sll $t9, $t0, 1
|
||||
/* 09A394 80099794 27AF0044 */ addiu $t7, $sp, 0x44
|
||||
/* 09A398 80099798 032F1821 */ addu $v1, $t9, $t7
|
||||
/* 09A39C 8009979C A7A40044 */ sh $a0, 0x44($sp)
|
||||
/* 09A3A0 800997A0 A7A70046 */ sh $a3, 0x46($sp)
|
||||
.L800997A4:
|
||||
/* 09A3A4 800997A4 94640002 */ lhu $a0, 2($v1)
|
||||
/* 09A3A8 800997A8 94690000 */ lhu $t1, ($v1)
|
||||
/* 09A3AC 800997AC 01681021 */ addu $v0, $t3, $t0
|
||||
/* 09A3B0 800997B0 0089082A */ slt $at, $a0, $t1
|
||||
/* 09A3B4 800997B4 10200009 */ beqz $at, .L800997DC
|
||||
/* 09A3B8 800997B8 00803825 */ move $a3, $a0
|
||||
/* 09A3BC 800997BC 90460000 */ lbu $a2, ($v0)
|
||||
/* 09A3C0 800997C0 90580001 */ lbu $t8, 1($v0)
|
||||
/* 09A3C4 800997C4 A4640000 */ sh $a0, ($v1)
|
||||
/* 09A3C8 800997C8 3124FFFF */ andi $a0, $t1, 0xffff
|
||||
/* 09A3CC 800997CC A4690002 */ sh $t1, 2($v1)
|
||||
/* 09A3D0 800997D0 00803825 */ move $a3, $a0
|
||||
/* 09A3D4 800997D4 A0460001 */ sb $a2, 1($v0)
|
||||
/* 09A3D8 800997D8 A0580000 */ sb $t8, ($v0)
|
||||
.L800997DC:
|
||||
/* 09A3DC 800997DC 94690004 */ lhu $t1, 4($v1)
|
||||
/* 09A3E0 800997E0 01681021 */ addu $v0, $t3, $t0
|
||||
/* 09A3E4 800997E4 0127082A */ slt $at, $t1, $a3
|
||||
/* 09A3E8 800997E8 10200007 */ beqz $at, .L80099808
|
||||
/* 09A3EC 800997EC 00000000 */ nop
|
||||
/* 09A3F0 800997F0 90460001 */ lbu $a2, 1($v0)
|
||||
/* 09A3F4 800997F4 904E0002 */ lbu $t6, 2($v0)
|
||||
/* 09A3F8 800997F8 A4690002 */ sh $t1, 2($v1)
|
||||
/* 09A3FC 800997FC A4640004 */ sh $a0, 4($v1)
|
||||
/* 09A400 80099800 A0460002 */ sb $a2, 2($v0)
|
||||
/* 09A404 80099804 A04E0001 */ sb $t6, 1($v0)
|
||||
.L80099808:
|
||||
/* 09A408 80099808 97A40044 */ lhu $a0, 0x44($sp)
|
||||
/* 09A40C 8009980C 97A70046 */ lhu $a3, 0x46($sp)
|
||||
/* 09A410 80099810 25080002 */ addiu $t0, $t0, 2
|
||||
/* 09A414 80099814 150AFFE3 */ bne $t0, $t2, .L800997A4
|
||||
/* 09A418 80099818 24630004 */ addiu $v1, $v1, 4
|
||||
.L8009981C:
|
||||
/* 09A41C 8009981C 254AFFFF */ addiu $t2, $t2, -1
|
||||
/* 09A420 80099820 1D40FFC9 */ bgtz $t2, .L80099748
|
||||
/* 09A424 80099824 00000000 */ nop
|
||||
/* 09A428 80099828 A7A70046 */ sh $a3, 0x46($sp)
|
||||
/* 09A42C 8009982C A7A40044 */ sh $a0, 0x44($sp)
|
||||
.L80099830:
|
||||
/* 09A430 80099830 19800027 */ blez $t4, .L800998D0
|
||||
/* 09A434 80099834 3C048012 */ lui $a0, %hi(D_80126508) # $a0, 0x8012
|
||||
/* 09A438 80099838 3C198012 */ lui $t9, %hi(D_80126520) # $t9, 0x8012
|
||||
/* 09A43C 8009983C 27236520 */ addiu $v1, $t9, %lo(D_80126520)
|
||||
/* 09A440 80099840 3C058012 */ lui $a1, %hi(D_80126540) # $a1, 0x8012
|
||||
/* 09A444 80099844 3C068012 */ lui $a2, %hi(D_80126510) # $a2, 0x8012
|
||||
/* 09A448 80099848 3C078012 */ lui $a3, %hi(D_80126518) # $a3, 0x8012
|
||||
/* 09A44C 8009984C 000C7840 */ sll $t7, $t4, 1
|
||||
/* 09A450 80099850 3C0A8012 */ lui $t2, %hi(D_801264F8) # $t2, 0x8012
|
||||
/* 09A454 80099854 3C098012 */ lui $t1, %hi(D_801264E4) # $t1, 0x8012
|
||||
/* 09A458 80099858 3C088012 */ lui $t0, %hi(D_801264DC) # $t0, 0x8012
|
||||
/* 09A45C 8009985C 250864DC */ addiu $t0, %lo(D_801264DC) # addiu $t0, $t0, 0x64dc
|
||||
/* 09A460 80099860 252964E4 */ addiu $t1, %lo(D_801264E4) # addiu $t1, $t1, 0x64e4
|
||||
/* 09A464 80099864 254A64F8 */ addiu $t2, %lo(D_801264F8) # addiu $t2, $t2, 0x64f8
|
||||
/* 09A468 80099868 01E35821 */ addu $t3, $t7, $v1
|
||||
/* 09A46C 8009986C 24E76518 */ addiu $a3, %lo(D_80126518) # addiu $a3, $a3, 0x6518
|
||||
/* 09A470 80099870 24C66510 */ addiu $a2, %lo(D_80126510) # addiu $a2, $a2, 0x6510
|
||||
/* 09A474 80099874 24A56540 */ addiu $a1, %lo(D_80126540) # addiu $a1, $a1, 0x6540
|
||||
/* 09A478 80099878 24846508 */ addiu $a0, %lo(D_80126508) # addiu $a0, $a0, 0x6508
|
||||
.L8009987C:
|
||||
/* 09A47C 8009987C 90A20000 */ lbu $v0, ($a1)
|
||||
/* 09A480 80099880 24630002 */ addiu $v1, $v1, 2
|
||||
/* 09A484 80099884 0102C021 */ addu $t8, $t0, $v0
|
||||
/* 09A488 80099888 930E0000 */ lbu $t6, ($t8)
|
||||
/* 09A48C 8009988C 01227821 */ addu $t7, $t1, $v0
|
||||
/* 09A490 80099890 91F90000 */ lbu $t9, ($t7)
|
||||
/* 09A494 80099894 03E2C021 */ addu $t8, $ra, $v0
|
||||
/* 09A498 80099898 00027840 */ sll $t7, $v0, 1
|
||||
/* 09A49C 8009989C A08E0000 */ sb $t6, ($a0)
|
||||
/* 09A4A0 800998A0 A0D90000 */ sb $t9, ($a2)
|
||||
/* 09A4A4 800998A4 930E0000 */ lbu $t6, ($t8)
|
||||
/* 09A4A8 800998A8 014FC821 */ addu $t9, $t2, $t7
|
||||
/* 09A4AC 800998AC 97380000 */ lhu $t8, ($t9)
|
||||
/* 09A4B0 800998B0 006B082B */ sltu $at, $v1, $t3
|
||||
/* 09A4B4 800998B4 24840001 */ addiu $a0, $a0, 1
|
||||
/* 09A4B8 800998B8 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 09A4BC 800998BC 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 09A4C0 800998C0 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 09A4C4 800998C4 A0EEFFFF */ sb $t6, -1($a3)
|
||||
/* 09A4C8 800998C8 1420FFEC */ bnez $at, .L8009987C
|
||||
/* 09A4CC 800998CC A478FFFE */ sh $t8, -2($v1)
|
||||
.L800998D0:
|
||||
/* 09A4D0 800998D0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 09A4D4 800998D4 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
/* 09A4D8 800998D8 03E00008 */ jr $ra
|
||||
/* 09A4DC 800998DC 00000000 */ nop
|
||||
|
||||
@@ -1,142 +0,0 @@
|
||||
glabel randomise_ai_racer_slots
|
||||
/* 08C73C 8008BB3C 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 08C740 8008BB40 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 08C744 8008BB44 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 08C748 8008BB48 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 08C74C 8008BB4C 00808025 */ move $s0, $a0
|
||||
/* 08C750 8008BB50 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 08C754 8008BB54 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 08C758 8008BB58 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 08C75C 8008BB5C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 08C760 8008BB60 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 08C764 8008BB64 0C027B34 */ jal is_drumstick_unlocked
|
||||
/* 08C768 8008BB68 24160007 */ li $s6, 7
|
||||
/* 08C76C 8008BB6C 10400002 */ beqz $v0, .L8008BB78
|
||||
/* 08C770 8008BB70 00000000 */ nop
|
||||
/* 08C774 8008BB74 24160008 */ li $s6, 8
|
||||
.L8008BB78:
|
||||
/* 08C778 8008BB78 0C027B2E */ jal is_tt_unlocked
|
||||
/* 08C77C 8008BB7C 00000000 */ nop
|
||||
/* 08C780 8008BB80 10400002 */ beqz $v0, .L8008BB8C
|
||||
/* 08C784 8008BB84 2A010008 */ slti $at, $s0, 8
|
||||
/* 08C788 8008BB88 26D60001 */ addiu $s6, $s6, 1
|
||||
.L8008BB8C:
|
||||
/* 08C78C 8008BB8C 10200017 */ beqz $at, .L8008BBEC
|
||||
/* 08C790 8008BB90 3C188012 */ lui $t8, %hi(gCharacterIdSlots) # $t8, 0x8012
|
||||
/* 08C794 8008BB94 1A00000F */ blez $s0, .L8008BBD4
|
||||
/* 08C798 8008BB98 00008825 */ move $s1, $zero
|
||||
/* 08C79C 8008BB9C 3C0E8012 */ lui $t6, %hi(gCharacterIdSlots) # $t6, 0x8012
|
||||
/* 08C7A0 8008BBA0 25CE63F0 */ addiu $t6, %lo(gCharacterIdSlots) # addiu $t6, $t6, 0x63f0
|
||||
/* 08C7A4 8008BBA4 000E9821 */ addu $s3, $zero, $t6
|
||||
/* 08C7A8 8008BBA8 020E1021 */ addu $v0, $s0, $t6
|
||||
/* 08C7AC 8008BBAC 24030009 */ li $v1, 9
|
||||
.L8008BBB0:
|
||||
/* 08C7B0 8008BBB0 826F0000 */ lb $t7, ($s3)
|
||||
/* 08C7B4 8008BBB4 26730001 */ addiu $s3, $s3, 1
|
||||
/* 08C7B8 8008BBB8 146F0002 */ bne $v1, $t7, .L8008BBC4
|
||||
/* 08C7BC 8008BBBC 0262082B */ sltu $at, $s3, $v0
|
||||
/* 08C7C0 8008BBC0 24110001 */ li $s1, 1
|
||||
.L8008BBC4:
|
||||
/* 08C7C4 8008BBC4 10200003 */ beqz $at, .L8008BBD4
|
||||
/* 08C7C8 8008BBC8 00000000 */ nop
|
||||
/* 08C7CC 8008BBCC 1220FFF8 */ beqz $s1, .L8008BBB0
|
||||
/* 08C7D0 8008BBD0 00000000 */ nop
|
||||
.L8008BBD4:
|
||||
/* 08C7D4 8008BBD4 16200005 */ bnez $s1, .L8008BBEC
|
||||
/* 08C7D8 8008BBD8 24030009 */ li $v1, 9
|
||||
/* 08C7DC 8008BBDC 3C018012 */ lui $at, %hi(gCharacterIdSlots) # $at, 0x8012
|
||||
/* 08C7E0 8008BBE0 00300821 */ addu $at, $at, $s0
|
||||
/* 08C7E4 8008BBE4 A02363F0 */ sb $v1, %lo(gCharacterIdSlots)($at)
|
||||
/* 08C7E8 8008BBE8 26100001 */ addiu $s0, $s0, 1
|
||||
.L8008BBEC:
|
||||
/* 08C7EC 8008BBEC 2A010008 */ slti $at, $s0, 8
|
||||
/* 08C7F0 8008BBF0 10200042 */ beqz $at, .L8008BCFC
|
||||
/* 08C7F4 8008BBF4 02009025 */ move $s2, $s0
|
||||
/* 08C7F8 8008BBF8 271863F0 */ addiu $t8, %lo(gCharacterIdSlots) # addiu $t8, $t8, 0x63f0
|
||||
/* 08C7FC 8008BBFC 3C148012 */ lui $s4, %hi(gCurrCharacterSelectData) # $s4, 0x8012
|
||||
/* 08C800 8008BC00 269463CC */ addiu $s4, %lo(gCurrCharacterSelectData) # addiu $s4, $s4, 0x63cc
|
||||
/* 08C804 8008BC04 02189821 */ addu $s3, $s0, $t8
|
||||
/* 08C808 8008BC08 2415000E */ li $s5, 14
|
||||
.L8008BC0C:
|
||||
/* 08C80C 8008BC0C 00002025 */ move $a0, $zero
|
||||
.L8008BC10:
|
||||
/* 08C810 8008BC10 02C02825 */ move $a1, $s6
|
||||
/* 08C814 8008BC14 00008825 */ move $s1, $zero
|
||||
/* 08C818 8008BC18 0C01BE53 */ jal get_random_number_from_range
|
||||
/* 08C81C 8008BC1C 00008025 */ move $s0, $zero
|
||||
/* 08C820 8008BC20 00550019 */ multu $v0, $s5
|
||||
/* 08C824 8008BC24 8E990000 */ lw $t9, ($s4)
|
||||
/* 08C828 8008BC28 32450003 */ andi $a1, $s2, 3
|
||||
/* 08C82C 8008BC2C 00004012 */ mflo $t0
|
||||
/* 08C830 8008BC30 03284821 */ addu $t1, $t9, $t0
|
||||
/* 08C834 8008BC34 852A000C */ lh $t2, 0xc($t1)
|
||||
/* 08C838 8008BC38 1A40002A */ blez $s2, .L8008BCE4
|
||||
/* 08C83C 8008BC3C A26A0000 */ sb $t2, ($s3)
|
||||
/* 08C840 8008BC40 10A0000D */ beqz $a1, .L8008BC78
|
||||
/* 08C844 8008BC44 00A02025 */ move $a0, $a1
|
||||
/* 08C848 8008BC48 3C0B8012 */ lui $t3, %hi(gCharacterIdSlots) # $t3, 0x8012
|
||||
/* 08C84C 8008BC4C 256B63F0 */ addiu $t3, %lo(gCharacterIdSlots) # addiu $t3, $t3, 0x63f0
|
||||
/* 08C850 8008BC50 82630000 */ lb $v1, ($s3)
|
||||
/* 08C854 8008BC54 020B1021 */ addu $v0, $s0, $t3
|
||||
.L8008BC58:
|
||||
/* 08C858 8008BC58 804C0000 */ lb $t4, ($v0)
|
||||
/* 08C85C 8008BC5C 26100001 */ addiu $s0, $s0, 1
|
||||
/* 08C860 8008BC60 15830002 */ bne $t4, $v1, .L8008BC6C
|
||||
/* 08C864 8008BC64 00000000 */ nop
|
||||
/* 08C868 8008BC68 24110001 */ li $s1, 1
|
||||
.L8008BC6C:
|
||||
/* 08C86C 8008BC6C 1490FFFA */ bne $a0, $s0, .L8008BC58
|
||||
/* 08C870 8008BC70 24420001 */ addiu $v0, $v0, 1
|
||||
/* 08C874 8008BC74 1212001B */ beq $s0, $s2, .L8008BCE4
|
||||
.L8008BC78:
|
||||
/* 08C878 8008BC78 3C0D8012 */ lui $t5, %hi(gCharacterIdSlots) # $t5, 0x8012
|
||||
/* 08C87C 8008BC7C 25AD63F0 */ addiu $t5, %lo(gCharacterIdSlots) # addiu $t5, $t5, 0x63f0
|
||||
/* 08C880 8008BC80 82630000 */ lb $v1, ($s3)
|
||||
/* 08C884 8008BC84 020D1021 */ addu $v0, $s0, $t5
|
||||
/* 08C888 8008BC88 024D2021 */ addu $a0, $s2, $t5
|
||||
.L8008BC8C:
|
||||
/* 08C88C 8008BC8C 804E0000 */ lb $t6, ($v0)
|
||||
/* 08C890 8008BC90 00000000 */ nop
|
||||
/* 08C894 8008BC94 15C30002 */ bne $t6, $v1, .L8008BCA0
|
||||
/* 08C898 8008BC98 00000000 */ nop
|
||||
/* 08C89C 8008BC9C 24110001 */ li $s1, 1
|
||||
.L8008BCA0:
|
||||
/* 08C8A0 8008BCA0 804F0001 */ lb $t7, 1($v0)
|
||||
/* 08C8A4 8008BCA4 00000000 */ nop
|
||||
/* 08C8A8 8008BCA8 15E30002 */ bne $t7, $v1, .L8008BCB4
|
||||
/* 08C8AC 8008BCAC 00000000 */ nop
|
||||
/* 08C8B0 8008BCB0 24110001 */ li $s1, 1
|
||||
.L8008BCB4:
|
||||
/* 08C8B4 8008BCB4 80580002 */ lb $t8, 2($v0)
|
||||
/* 08C8B8 8008BCB8 00000000 */ nop
|
||||
/* 08C8BC 8008BCBC 17030002 */ bne $t8, $v1, .L8008BCC8
|
||||
/* 08C8C0 8008BCC0 00000000 */ nop
|
||||
/* 08C8C4 8008BCC4 24110001 */ li $s1, 1
|
||||
.L8008BCC8:
|
||||
/* 08C8C8 8008BCC8 80590003 */ lb $t9, 3($v0)
|
||||
/* 08C8CC 8008BCCC 24420004 */ addiu $v0, $v0, 4
|
||||
/* 08C8D0 8008BCD0 17230002 */ bne $t9, $v1, .L8008BCDC
|
||||
/* 08C8D4 8008BCD4 00000000 */ nop
|
||||
/* 08C8D8 8008BCD8 24110001 */ li $s1, 1
|
||||
.L8008BCDC:
|
||||
/* 08C8DC 8008BCDC 1444FFEB */ bne $v0, $a0, .L8008BC8C
|
||||
/* 08C8E0 8008BCE0 00000000 */ nop
|
||||
.L8008BCE4:
|
||||
/* 08C8E4 8008BCE4 1620FFCA */ bnez $s1, .L8008BC10
|
||||
/* 08C8E8 8008BCE8 00002025 */ move $a0, $zero
|
||||
/* 08C8EC 8008BCEC 26520001 */ addiu $s2, $s2, 1
|
||||
/* 08C8F0 8008BCF0 24010008 */ li $at, 8
|
||||
/* 08C8F4 8008BCF4 1641FFC5 */ bne $s2, $at, .L8008BC0C
|
||||
/* 08C8F8 8008BCF8 26730001 */ addiu $s3, $s3, 1
|
||||
.L8008BCFC:
|
||||
/* 08C8FC 8008BCFC 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 08C900 8008BD00 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 08C904 8008BD04 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 08C908 8008BD08 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 08C90C 8008BD0C 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 08C910 8008BD10 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 08C914 8008BD14 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 08C918 8008BD18 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 08C91C 8008BD1C 03E00008 */ jr $ra
|
||||
/* 08C920 8008BD20 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
|
||||
@@ -1,271 +0,0 @@
|
||||
glabel render_enter_filename_ui
|
||||
/* 098518 80097918 444EF800 */ cfc1 $t6, $31
|
||||
/* 09851C 8009791C 3C018012 */ lui $at, %hi(D_80126C50) # $at, 0x8012
|
||||
/* 098520 80097920 C4206C50 */ lwc1 $f0, %lo(D_80126C50)($at)
|
||||
/* 098524 80097924 35C10003 */ ori $at, $t6, 3
|
||||
/* 098528 80097928 38210002 */ xori $at, $at, 2
|
||||
/* 09852C 8009792C 44C1F800 */ ctc1 $at, $31
|
||||
/* 098530 80097930 3C014220 */ li $at, 0x42200000 # 40.000000
|
||||
/* 098534 80097934 46000124 */ cvt.w.s $f4, $f0
|
||||
/* 098538 80097938 44818000 */ mtc1 $at, $f16
|
||||
/* 09853C 8009793C 44022000 */ mfc1 $v0, $f4
|
||||
/* 098540 80097940 44CEF800 */ ctc1 $t6, $31
|
||||
/* 098544 80097944 44823000 */ mtc1 $v0, $f6
|
||||
/* 098548 80097948 27BDFF88 */ addiu $sp, $sp, -0x78
|
||||
/* 09854C 8009794C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 098550 80097950 241900A0 */ li $t9, 160
|
||||
/* 098554 80097954 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 098558 80097958 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 09855C 8009795C AFA40078 */ sw $a0, 0x78($sp)
|
||||
/* 098560 80097960 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 098564 80097964 AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* 098568 80097968 AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* 09856C 8009796C AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* 098570 80097970 444FF800 */ cfc1 $t7, $31
|
||||
/* 098574 80097974 AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* 098578 80097978 35E10003 */ ori $at, $t7, 3
|
||||
/* 09857C 8009797C 38210002 */ xori $at, $at, 2
|
||||
/* 098580 80097980 44C1F800 */ ctc1 $at, $31
|
||||
/* 098584 80097984 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* 098588 80097988 46009124 */ cvt.w.s $f4, $f18
|
||||
/* 09858C 8009798C AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 098590 80097990 44182000 */ mfc1 $t8, $f4
|
||||
/* 098594 80097994 44CFF800 */ ctc1 $t7, $31
|
||||
/* 098598 80097998 03384023 */ subu $t0, $t9, $t8
|
||||
/* 09859C 8009799C AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* 0985A0 800979A0 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* 0985A4 800979A4 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* 0985A8 800979A8 AFA8006C */ sw $t0, 0x6c($sp)
|
||||
/* 0985AC 800979AC 00002025 */ move $a0, $zero
|
||||
/* 0985B0 800979B0 00002825 */ move $a1, $zero
|
||||
/* 0985B4 800979B4 00003025 */ move $a2, $zero
|
||||
/* 0985B8 800979B8 00003825 */ move $a3, $zero
|
||||
/* 0985BC 800979BC 0C0310F3 */ jal set_text_background_colour
|
||||
/* 0985C0 800979C0 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 0985C4 800979C4 0C0310BB */ jal set_text_font
|
||||
/* 0985C8 800979C8 00002025 */ move $a0, $zero
|
||||
/* 0985CC 800979CC 24090080 */ li $t1, 128
|
||||
/* 0985D0 800979D0 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 0985D4 800979D4 00002025 */ move $a0, $zero
|
||||
/* 0985D8 800979D8 00002825 */ move $a1, $zero
|
||||
/* 0985DC 800979DC 00003025 */ move $a2, $zero
|
||||
/* 0985E0 800979E0 0C0310E1 */ jal set_text_colour
|
||||
/* 0985E4 800979E4 240700FF */ li $a3, 255
|
||||
/* 0985E8 800979E8 3C11800E */ lui $s1, %hi(gMenuText) # $s1, 0x800e
|
||||
/* 0985EC 800979EC 2631F4A0 */ addiu $s1, %lo(gMenuText) # addiu $s1, $s1, -0xb60
|
||||
/* 0985F0 800979F0 3C10800E */ lui $s0, %hi(D_800E0F90) # $s0, 0x800e
|
||||
/* 0985F4 800979F4 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 0985F8 800979F8 26100F90 */ addiu $s0, %lo(D_800E0F90) # addiu $s0, $s0, 0xf90
|
||||
/* 0985FC 800979FC 8E060000 */ lw $a2, ($s0)
|
||||
/* 098600 80097A00 3C138012 */ lui $s3, %hi(sMenuCurrDisplayList) # $s3, 0x8012
|
||||
/* 098604 80097A04 267363A0 */ addiu $s3, %lo(sMenuCurrDisplayList) # addiu $s3, $s3, 0x63a0
|
||||
/* 098608 80097A08 240B000C */ li $t3, 12
|
||||
/* 09860C 80097A0C 8D470020 */ lw $a3, 0x20($t2)
|
||||
/* 098610 80097A10 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 098614 80097A14 02602025 */ move $a0, $s3
|
||||
/* 098618 80097A18 240500A2 */ li $a1, 162
|
||||
/* 09861C 80097A1C 0C031110 */ jal draw_text
|
||||
/* 098620 80097A20 24C6FFEA */ addiu $a2, $a2, -0x16
|
||||
/* 098624 80097A24 240C00FF */ li $t4, 255
|
||||
/* 098628 80097A28 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 09862C 80097A2C 240400FF */ li $a0, 255
|
||||
/* 098630 80097A30 24050080 */ li $a1, 128
|
||||
/* 098634 80097A34 240600FF */ li $a2, 255
|
||||
/* 098638 80097A38 0C0310E1 */ jal set_text_colour
|
||||
/* 09863C 80097A3C 24070060 */ li $a3, 96
|
||||
/* 098640 80097A40 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 098644 80097A44 8E060000 */ lw $a2, ($s0)
|
||||
/* 098648 80097A48 240E000C */ li $t6, 12
|
||||
/* 09864C 80097A4C 8DA70020 */ lw $a3, 0x20($t5)
|
||||
/* 098650 80097A50 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 098654 80097A54 02602025 */ move $a0, $s3
|
||||
/* 098658 80097A58 240500A0 */ li $a1, 160
|
||||
/* 09865C 80097A5C 0C031110 */ jal draw_text
|
||||
/* 098660 80097A60 24C6FFE8 */ addiu $a2, $a2, -0x18
|
||||
/* 098664 80097A64 3C1E800E */ lui $fp, %hi(gFileNameValidChars) # $fp, 0x800e
|
||||
/* 098668 80097A68 3C178012 */ lui $s7, %hi(D_80126C6C) # $s7, 0x8012
|
||||
/* 09866C 80097A6C 3C14800E */ lui $s4, %hi(D_800E0F8C) # $s4, 0x800e
|
||||
/* 098670 80097A70 8E120000 */ lw $s2, ($s0)
|
||||
/* 098674 80097A74 8FA3006C */ lw $v1, 0x6c($sp)
|
||||
/* 098678 80097A78 8FA2005C */ lw $v0, 0x5c($sp)
|
||||
/* 09867C 80097A7C AFA00060 */ sw $zero, 0x60($sp)
|
||||
/* 098680 80097A80 26940F8C */ addiu $s4, %lo(D_800E0F8C) # addiu $s4, $s4, 0xf8c
|
||||
/* 098684 80097A84 26F76C6C */ addiu $s7, %lo(D_80126C6C) # addiu $s7, $s7, 0x6c6c
|
||||
/* 098688 80097A88 27DE0F6C */ addiu $fp, %lo(gFileNameValidChars) # addiu $fp, $fp, 0xf6c
|
||||
.L80097A8C:
|
||||
/* 09868C 80097A8C 8FAF0060 */ lw $t7, 0x60($sp)
|
||||
/* 098690 80097A90 00608825 */ move $s1, $v1
|
||||
/* 098694 80097A94 11E00006 */ beqz $t7, .L80097AB0
|
||||
/* 098698 80097A98 00408025 */ move $s0, $v0
|
||||
/* 09869C 80097A9C 2471FFD8 */ addiu $s1, $v1, -0x28
|
||||
/* 0986A0 80097AA0 2450FFFF */ addiu $s0, $v0, -1
|
||||
/* 0986A4 80097AA4 2415FFD8 */ li $s5, -40
|
||||
/* 0986A8 80097AA8 10000003 */ b .L80097AB8
|
||||
/* 0986AC 80097AAC 2416FFFF */ li $s6, -1
|
||||
.L80097AB0:
|
||||
/* 0986B0 80097AB0 24150028 */ li $s5, 40
|
||||
/* 0986B4 80097AB4 24160001 */ li $s6, 1
|
||||
.L80097AB8:
|
||||
/* 0986B8 80097AB8 2A21FFF1 */ slti $at, $s1, -0xf
|
||||
/* 0986BC 80097ABC 14200055 */ bnez $at, .L80097C14
|
||||
/* 0986C0 80097AC0 2A210150 */ slti $at, $s1, 0x150
|
||||
/* 0986C4 80097AC4 10200054 */ beqz $at, .L80097C18
|
||||
/* 0986C8 80097AC8 8FB90060 */ lw $t9, 0x60($sp)
|
||||
.L80097ACC:
|
||||
/* 0986CC 80097ACC 06010002 */ bgez $s0, .L80097AD8
|
||||
/* 0986D0 80097AD0 00002025 */ move $a0, $zero
|
||||
/* 0986D4 80097AD4 2410001E */ li $s0, 30
|
||||
.L80097AD8:
|
||||
/* 0986D8 80097AD8 2A01001F */ slti $at, $s0, 0x1f
|
||||
/* 0986DC 80097ADC 14200002 */ bnez $at, .L80097AE8
|
||||
/* 0986E0 80097AE0 00002825 */ move $a1, $zero
|
||||
/* 0986E4 80097AE4 00008025 */ move $s0, $zero
|
||||
.L80097AE8:
|
||||
/* 0986E8 80097AE8 8EF90000 */ lw $t9, ($s7)
|
||||
/* 0986EC 80097AEC 00003025 */ move $a2, $zero
|
||||
/* 0986F0 80097AF0 8F380000 */ lw $t8, ($t9)
|
||||
/* 0986F4 80097AF4 24070080 */ li $a3, 128
|
||||
/* 0986F8 80097AF8 1618000A */ bne $s0, $t8, .L80097B24
|
||||
/* 0986FC 80097AFC 240900FF */ li $t1, 255
|
||||
/* 098700 80097B00 240800FF */ li $t0, 255
|
||||
/* 098704 80097B04 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* 098708 80097B08 240400FF */ li $a0, 255
|
||||
/* 09870C 80097B0C 240500FF */ li $a1, 255
|
||||
/* 098710 80097B10 240600FF */ li $a2, 255
|
||||
/* 098714 80097B14 0C0310E1 */ jal set_text_colour
|
||||
/* 098718 80097B18 00003825 */ move $a3, $zero
|
||||
/* 09871C 80097B1C 10000004 */ b .L80097B30
|
||||
/* 098720 80097B20 2A01001C */ slti $at, $s0, 0x1c
|
||||
.L80097B24:
|
||||
/* 098724 80097B24 0C0310E1 */ jal set_text_colour
|
||||
/* 098728 80097B28 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 09872C 80097B2C 2A01001C */ slti $at, $s0, 0x1c
|
||||
.L80097B30:
|
||||
/* 098730 80097B30 1020000F */ beqz $at, .L80097B70
|
||||
/* 098734 80097B34 00000000 */ nop
|
||||
/* 098738 80097B38 0C0310BB */ jal set_text_font
|
||||
/* 09873C 80097B3C 24040002 */ li $a0, 2
|
||||
/* 098740 80097B40 03D05021 */ addu $t2, $fp, $s0
|
||||
/* 098744 80097B44 914B0000 */ lbu $t3, ($t2)
|
||||
/* 098748 80097B48 240C000C */ li $t4, 12
|
||||
/* 09874C 80097B4C AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 098750 80097B50 02602025 */ move $a0, $s3
|
||||
/* 098754 80097B54 02202825 */ move $a1, $s1
|
||||
/* 098758 80097B58 02403025 */ move $a2, $s2
|
||||
/* 09875C 80097B5C 02803825 */ move $a3, $s4
|
||||
/* 098760 80097B60 0C031110 */ jal draw_text
|
||||
/* 098764 80097B64 A28B0000 */ sb $t3, ($s4)
|
||||
/* 098768 80097B68 10000024 */ b .L80097BFC
|
||||
/* 09876C 80097B6C 02358821 */ addu $s1, $s1, $s5
|
||||
.L80097B70:
|
||||
/* 098770 80097B70 0C0310BB */ jal set_text_font
|
||||
/* 098774 80097B74 00002025 */ move $a0, $zero
|
||||
/* 098778 80097B78 2401001C */ li $at, 28
|
||||
/* 09877C 80097B7C 1601000A */ bne $s0, $at, .L80097BA8
|
||||
/* 098780 80097B80 02602025 */ move $a0, $s3
|
||||
/* 098784 80097B84 3C07800F */ lui $a3, %hi(D_800E8244) # $a3, 0x800f
|
||||
/* 098788 80097B88 240D000C */ li $t5, 12
|
||||
/* 09878C 80097B8C AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* 098790 80097B90 24E78244 */ addiu $a3, %lo(D_800E8244) # addiu $a3, $a3, -0x7dbc
|
||||
/* 098794 80097B94 02202825 */ move $a1, $s1
|
||||
/* 098798 80097B98 0C031110 */ jal draw_text
|
||||
/* 09879C 80097B9C 02403025 */ move $a2, $s2
|
||||
/* 0987A0 80097BA0 10000016 */ b .L80097BFC
|
||||
/* 0987A4 80097BA4 02358821 */ addu $s1, $s1, $s5
|
||||
.L80097BA8:
|
||||
/* 0987A8 80097BA8 2401001D */ li $at, 29
|
||||
/* 0987AC 80097BAC 1601000B */ bne $s0, $at, .L80097BDC
|
||||
/* 0987B0 80097BB0 02602025 */ move $a0, $s3
|
||||
/* 0987B4 80097BB4 3C07800F */ lui $a3, %hi(D_800E8248) # $a3, 0x800f
|
||||
/* 0987B8 80097BB8 240E000C */ li $t6, 12
|
||||
/* 0987BC 80097BBC AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0987C0 80097BC0 24E78248 */ addiu $a3, %lo(D_800E8248) # addiu $a3, $a3, -0x7db8
|
||||
/* 0987C4 80097BC4 02602025 */ move $a0, $s3
|
||||
/* 0987C8 80097BC8 02202825 */ move $a1, $s1
|
||||
/* 0987CC 80097BCC 0C031110 */ jal draw_text
|
||||
/* 0987D0 80097BD0 02403025 */ move $a2, $s2
|
||||
/* 0987D4 80097BD4 10000009 */ b .L80097BFC
|
||||
/* 0987D8 80097BD8 02358821 */ addu $s1, $s1, $s5
|
||||
.L80097BDC:
|
||||
/* 0987DC 80097BDC 3C07800F */ lui $a3, %hi(D_800E824C) # $a3, 0x800f
|
||||
/* 0987E0 80097BE0 240F000C */ li $t7, 12
|
||||
/* 0987E4 80097BE4 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* 0987E8 80097BE8 24E7824C */ addiu $a3, %lo(D_800E824C) # addiu $a3, $a3, -0x7db4
|
||||
/* 0987EC 80097BEC 02202825 */ move $a1, $s1
|
||||
/* 0987F0 80097BF0 0C031110 */ jal draw_text
|
||||
/* 0987F4 80097BF4 02403025 */ move $a2, $s2
|
||||
/* 0987F8 80097BF8 02358821 */ addu $s1, $s1, $s5
|
||||
.L80097BFC:
|
||||
/* 0987FC 80097BFC 2A21FFF1 */ slti $at, $s1, -0xf
|
||||
/* 098800 80097C00 14200004 */ bnez $at, .L80097C14
|
||||
/* 098804 80097C04 02168021 */ addu $s0, $s0, $s6
|
||||
/* 098808 80097C08 2A210150 */ slti $at, $s1, 0x150
|
||||
/* 09880C 80097C0C 1420FFAF */ bnez $at, .L80097ACC
|
||||
/* 098810 80097C10 00000000 */ nop
|
||||
.L80097C14:
|
||||
/* 098814 80097C14 8FB90060 */ lw $t9, 0x60($sp)
|
||||
.L80097C18:
|
||||
/* 098818 80097C18 8FA2005C */ lw $v0, 0x5c($sp)
|
||||
/* 09881C 80097C1C 8FA3006C */ lw $v1, 0x6c($sp)
|
||||
/* 098820 80097C20 24010002 */ li $at, 2
|
||||
/* 098824 80097C24 27380001 */ addiu $t8, $t9, 1
|
||||
/* 098828 80097C28 1701FF98 */ bne $t8, $at, .L80097A8C
|
||||
/* 09882C 80097C2C AFB80060 */ sw $t8, 0x60($sp)
|
||||
/* 098830 80097C30 3C048012 */ lui $a0, %hi(D_80126C74) # $a0, 0x8012
|
||||
/* 098834 80097C34 27B00050 */ addiu $s0, $sp, 0x50
|
||||
/* 098838 80097C38 8C846C74 */ lw $a0, %lo(D_80126C74)($a0)
|
||||
/* 09883C 80097C3C 0C025DF4 */ jal trim_filename_string
|
||||
/* 098840 80097C40 02002825 */ move $a1, $s0
|
||||
/* 098844 80097C44 12000026 */ beqz $s0, .L80097CE0
|
||||
/* 098848 80097C48 3C04800E */ lui $a0, %hi(D_800E0F9C) # $a0, 0x800e
|
||||
/* 09884C 80097C4C 8C840F9C */ lw $a0, %lo(D_800E0F9C)($a0)
|
||||
/* 098850 80097C50 0C0310BB */ jal set_text_font
|
||||
/* 098854 80097C54 00000000 */ nop
|
||||
/* 098858 80097C58 24080080 */ li $t0, 128
|
||||
/* 09885C 80097C5C AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* 098860 80097C60 00002025 */ move $a0, $zero
|
||||
/* 098864 80097C64 00002825 */ move $a1, $zero
|
||||
/* 098868 80097C68 00003025 */ move $a2, $zero
|
||||
/* 09886C 80097C6C 0C0310E1 */ jal set_text_colour
|
||||
/* 098870 80097C70 240700FF */ li $a3, 255
|
||||
/* 098874 80097C74 3C11800E */ lui $s1, %hi(D_800E0F94) # $s1, 0x800e
|
||||
/* 098878 80097C78 3C12800E */ lui $s2, %hi(D_800E0F98) # $s2, 0x800e
|
||||
/* 09887C 80097C7C 26520F98 */ addiu $s2, %lo(D_800E0F98) # addiu $s2, $s2, 0xf98
|
||||
/* 098880 80097C80 26310F94 */ addiu $s1, %lo(D_800E0F94) # addiu $s1, $s1, 0xf94
|
||||
/* 098884 80097C84 8E250000 */ lw $a1, ($s1)
|
||||
/* 098888 80097C88 8E460000 */ lw $a2, ($s2)
|
||||
/* 09888C 80097C8C 2409000C */ li $t1, 12
|
||||
/* 098890 80097C90 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 098894 80097C94 02602025 */ move $a0, $s3
|
||||
/* 098898 80097C98 02003825 */ move $a3, $s0
|
||||
/* 09889C 80097C9C 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0988A0 80097CA0 0C031110 */ jal draw_text
|
||||
/* 0988A4 80097CA4 24C60003 */ addiu $a2, $a2, 3
|
||||
/* 0988A8 80097CA8 240A00FF */ li $t2, 255
|
||||
/* 0988AC 80097CAC AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 0988B0 80097CB0 240400FF */ li $a0, 255
|
||||
/* 0988B4 80097CB4 240500FF */ li $a1, 255
|
||||
/* 0988B8 80097CB8 240600FF */ li $a2, 255
|
||||
/* 0988BC 80097CBC 0C0310E1 */ jal set_text_colour
|
||||
/* 0988C0 80097CC0 00003825 */ move $a3, $zero
|
||||
/* 0988C4 80097CC4 8E250000 */ lw $a1, ($s1)
|
||||
/* 0988C8 80097CC8 8E460000 */ lw $a2, ($s2)
|
||||
/* 0988CC 80097CCC 240B000C */ li $t3, 12
|
||||
/* 0988D0 80097CD0 AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 0988D4 80097CD4 02602025 */ move $a0, $s3
|
||||
/* 0988D8 80097CD8 0C031110 */ jal draw_text
|
||||
/* 0988DC 80097CDC 02003825 */ move $a3, $s0
|
||||
.L80097CE0:
|
||||
/* 0988E0 80097CE0 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 0988E4 80097CE4 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* 0988E8 80097CE8 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* 0988EC 80097CEC 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* 0988F0 80097CF0 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* 0988F4 80097CF4 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* 0988F8 80097CF8 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* 0988FC 80097CFC 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* 098900 80097D00 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* 098904 80097D04 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* 098908 80097D08 03E00008 */ jr $ra
|
||||
/* 09890C 80097D0C 27BD0078 */ addiu $sp, $sp, 0x78
|
||||
|
||||
@@ -1,191 +0,0 @@
|
||||
glabel func_8000C8F8
|
||||
/* 00D4F8 8000C8F8 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* 00D4FC 8000C8FC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 00D500 8000C900 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 00D504 8000C904 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 00D508 8000C908 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 00D50C 8000C90C AFA40058 */ sw $a0, 0x58($sp)
|
||||
/* 00D510 8000C910 0C01BAA4 */ jal get_settings
|
||||
/* 00D514 8000C914 AFA5005C */ sw $a1, 0x5c($sp)
|
||||
/* 00D518 8000C918 90580049 */ lbu $t8, 0x49($v0)
|
||||
/* 00D51C 8000C91C 8C4F0004 */ lw $t7, 4($v0)
|
||||
/* 00D520 8000C920 0018C880 */ sll $t9, $t8, 2
|
||||
/* 00D524 8000C924 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 00D528 8000C928 8D030000 */ lw $v1, ($t0)
|
||||
/* 00D52C 8000C92C 9450000C */ lhu $s0, 0xc($v0)
|
||||
/* 00D530 8000C930 30690004 */ andi $t1, $v1, 4
|
||||
/* 00D534 8000C934 2D230001 */ sltiu $v1, $t1, 1
|
||||
/* 00D538 8000C938 10600007 */ beqz $v1, .L8000C958
|
||||
/* 00D53C 8000C93C 360E0820 */ ori $t6, $s0, 0x820
|
||||
/* 00D540 8000C940 904B0048 */ lbu $t3, 0x48($v0)
|
||||
/* 00D544 8000C944 240C0001 */ li $t4, 1
|
||||
/* 00D548 8000C948 016C6804 */ sllv $t5, $t4, $t3
|
||||
/* 00D54C 8000C94C 01AE1824 */ and $v1, $t5, $t6
|
||||
/* 00D550 8000C950 0003702B */ sltu $t6, $zero, $v1
|
||||
/* 00D554 8000C954 01C01825 */ move $v1, $t6
|
||||
.L8000C958:
|
||||
/* 00D558 8000C958 3C108012 */ lui $s0, %hi(gIsSilverCoinRace) # $s0, 0x8012
|
||||
/* 00D55C 8000C95C 2610AE03 */ addiu $s0, %lo(gIsSilverCoinRace) # addiu $s0, $s0, -0x51fd
|
||||
/* 00D560 8000C960 A2030000 */ sb $v1, ($s0)
|
||||
/* 00D564 8000C964 904F0049 */ lbu $t7, 0x49($v0)
|
||||
/* 00D568 8000C968 8C580004 */ lw $t8, 4($v0)
|
||||
/* 00D56C 8000C96C 000FC880 */ sll $t9, $t7, 2
|
||||
/* 00D570 8000C970 03194021 */ addu $t0, $t8, $t9
|
||||
/* 00D574 8000C974 8D090000 */ lw $t1, ($t0)
|
||||
/* 00D578 8000C978 00000000 */ nop
|
||||
/* 00D57C 8000C97C 312A0002 */ andi $t2, $t1, 2
|
||||
/* 00D580 8000C980 15400002 */ bnez $t2, .L8000C98C
|
||||
/* 00D584 8000C984 00000000 */ nop
|
||||
/* 00D588 8000C988 A2000000 */ sb $zero, ($s0)
|
||||
.L8000C98C:
|
||||
/* 00D58C 8000C98C 0C0270B4 */ jal is_in_tracks_mode
|
||||
/* 00D590 8000C990 00000000 */ nop
|
||||
/* 00D594 8000C994 10400002 */ beqz $v0, .L8000C9A0
|
||||
/* 00D598 8000C998 00000000 */ nop
|
||||
/* 00D59C 8000C99C A2000000 */ sb $zero, ($s0)
|
||||
.L8000C9A0:
|
||||
/* 00D5A0 8000C9A0 0C01AF66 */ jal get_current_level_race_type
|
||||
/* 00D5A4 8000C9A4 00000000 */ nop
|
||||
/* 00D5A8 8000C9A8 10400002 */ beqz $v0, .L8000C9B4
|
||||
/* 00D5AC 8000C9AC 3C018012 */ lui $at, %hi(D_8011AD3E) # $at, 0x8012
|
||||
/* 00D5B0 8000C9B0 A2000000 */ sb $zero, ($s0)
|
||||
.L8000C9B4:
|
||||
/* 00D5B4 8000C9B4 A020AD3E */ sb $zero, %lo(D_8011AD3E)($at)
|
||||
/* 00D5B8 8000C9B8 24043000 */ li $a0, 12288
|
||||
/* 00D5BC 8000C9BC 0C01C327 */ jal allocate_from_main_pool_safe
|
||||
/* 00D5C0 8000C9C0 3405FFFF */ li $a1, 65535
|
||||
/* 00D5C4 8000C9C4 8FA3005C */ lw $v1, 0x5c($sp)
|
||||
/* 00D5C8 8000C9C8 3C0B8012 */ lui $t3, %hi(D_8011AEB0) # $t3, 0x8012
|
||||
/* 00D5CC 8000C9CC 00036080 */ sll $t4, $v1, 2
|
||||
/* 00D5D0 8000C9D0 3C0D8012 */ lui $t5, %hi(D_8011AE98) # $t5, 0x8012
|
||||
/* 00D5D4 8000C9D4 3C0F8012 */ lui $t7, %hi(D_8011AEA0) # $t7, 0x8012
|
||||
/* 00D5D8 8000C9D8 256BAEB0 */ addiu $t3, %lo(D_8011AEB0) # addiu $t3, $t3, -0x5150
|
||||
/* 00D5DC 8000C9DC 25ADAE98 */ addiu $t5, %lo(D_8011AE98) # addiu $t5, $t5, -0x5168
|
||||
/* 00D5E0 8000C9E0 25EFAEA0 */ addiu $t7, %lo(D_8011AEA0) # addiu $t7, $t7, -0x5160
|
||||
/* 00D5E4 8000C9E4 8FB80058 */ lw $t8, 0x58($sp)
|
||||
/* 00D5E8 8000C9E8 018B2821 */ addu $a1, $t4, $t3
|
||||
/* 00D5EC 8000C9EC 018D8821 */ addu $s1, $t4, $t5
|
||||
/* 00D5F0 8000C9F0 244E0010 */ addiu $t6, $v0, 0x10
|
||||
/* 00D5F4 8000C9F4 018F9021 */ addu $s2, $t4, $t7
|
||||
/* 00D5F8 8000C9F8 3C018012 */ lui $at, %hi(D_8011AEA8) # $at, 0x8012
|
||||
/* 00D5FC 8000C9FC ACA20000 */ sw $v0, ($a1)
|
||||
/* 00D600 8000CA00 AE2E0000 */ sw $t6, ($s1)
|
||||
/* 00D604 8000CA04 AE400000 */ sw $zero, ($s2)
|
||||
/* 00D608 8000CA08 002C0821 */ addu $at, $at, $t4
|
||||
/* 00D60C 8000CA0C AFA20048 */ sw $v0, 0x48($sp)
|
||||
/* 00D610 8000CA10 AFA50028 */ sw $a1, 0x28($sp)
|
||||
/* 00D614 8000CA14 24040014 */ li $a0, 20
|
||||
/* 00D618 8000CA18 0C01DB16 */ jal load_asset_section_from_rom
|
||||
/* 00D61C 8000CA1C AC38AEA8 */ sw $t8, %lo(D_8011AEA8)($at)
|
||||
/* 00D620 8000CA20 8C590000 */ lw $t9, ($v0)
|
||||
/* 00D624 8000CA24 2405FFFF */ li $a1, -1
|
||||
/* 00D628 8000CA28 00403025 */ move $a2, $v0
|
||||
/* 00D62C 8000CA2C 10B90006 */ beq $a1, $t9, .L8000CA48
|
||||
/* 00D630 8000CA30 00002025 */ move $a0, $zero
|
||||
/* 00D634 8000CA34 00C01825 */ move $v1, $a2
|
||||
.L8000CA38:
|
||||
/* 00D638 8000CA38 8C680004 */ lw $t0, 4($v1)
|
||||
/* 00D63C 8000CA3C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 00D640 8000CA40 14A8FFFD */ bne $a1, $t0, .L8000CA38
|
||||
/* 00D644 8000CA44 24630004 */ addiu $v1, $v1, 4
|
||||
.L8000CA48:
|
||||
/* 00D648 8000CA48 8FA90058 */ lw $t1, 0x58($sp)
|
||||
/* 00D64C 8000CA4C 2484FFFF */ addiu $a0, $a0, -1
|
||||
/* 00D650 8000CA50 0124082A */ slt $at, $t1, $a0
|
||||
/* 00D654 8000CA54 14200002 */ bnez $at, .L8000CA60
|
||||
/* 00D658 8000CA58 24040015 */ li $a0, 21
|
||||
/* 00D65C 8000CA5C AFA00058 */ sw $zero, 0x58($sp)
|
||||
.L8000CA60:
|
||||
/* 00D660 8000CA60 8FAA0058 */ lw $t2, 0x58($sp)
|
||||
/* 00D664 8000CA64 00000000 */ nop
|
||||
/* 00D668 8000CA68 000A6080 */ sll $t4, $t2, 2
|
||||
/* 00D66C 8000CA6C 004C1821 */ addu $v1, $v0, $t4
|
||||
/* 00D670 8000CA70 8C700000 */ lw $s0, ($v1)
|
||||
/* 00D674 8000CA74 8C6B0004 */ lw $t3, 4($v1)
|
||||
/* 00D678 8000CA78 02002825 */ move $a1, $s0
|
||||
/* 00D67C 8000CA7C 01703823 */ subu $a3, $t3, $s0
|
||||
/* 00D680 8000CA80 10E0004A */ beqz $a3, .L8000CBAC
|
||||
/* 00D684 8000CA84 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 00D688 8000CA88 AFA6003C */ sw $a2, 0x3c($sp)
|
||||
/* 00D68C 8000CA8C 0C031877 */ jal get_asset_uncompressed_size
|
||||
/* 00D690 8000CA90 AFA70054 */ sw $a3, 0x54($sp)
|
||||
/* 00D694 8000CA94 8FAD0048 */ lw $t5, 0x48($sp)
|
||||
/* 00D698 8000CA98 8FA70054 */ lw $a3, 0x54($sp)
|
||||
/* 00D69C 8000CA9C 01A27021 */ addu $t6, $t5, $v0
|
||||
/* 00D6A0 8000CAA0 01C72823 */ subu $a1, $t6, $a3
|
||||
/* 00D6A4 8000CAA4 24A50020 */ addiu $a1, $a1, 0x20
|
||||
/* 00D6A8 8000CAA8 AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* 00D6AC 8000CAAC 24040015 */ li $a0, 21
|
||||
/* 00D6B0 8000CAB0 0C01DB9A */ jal load_asset_to_address
|
||||
/* 00D6B4 8000CAB4 02003025 */ move $a2, $s0
|
||||
/* 00D6B8 8000CAB8 8FA40034 */ lw $a0, 0x34($sp)
|
||||
/* 00D6BC 8000CABC 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* 00D6C0 8000CAC0 0C031886 */ jal gzip_inflate
|
||||
/* 00D6C4 8000CAC4 00000000 */ nop
|
||||
/* 00D6C8 8000CAC8 8FA4003C */ lw $a0, 0x3c($sp)
|
||||
/* 00D6CC 8000CACC 0C01C450 */ jal free_from_memory_pool
|
||||
/* 00D6D0 8000CAD0 00000000 */ nop
|
||||
/* 00D6D4 8000CAD4 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 00D6D8 8000CAD8 8FA80048 */ lw $t0, 0x48($sp)
|
||||
/* 00D6DC 8000CADC 8DF80000 */ lw $t8, ($t7)
|
||||
/* 00D6E0 8000CAE0 8FAA005C */ lw $t2, 0x5c($sp)
|
||||
/* 00D6E4 8000CAE4 27190010 */ addiu $t9, $t8, 0x10
|
||||
/* 00D6E8 8000CAE8 AE390000 */ sw $t9, ($s1)
|
||||
/* 00D6EC 8000CAEC 8D090000 */ lw $t1, ($t0)
|
||||
/* 00D6F0 8000CAF0 3C018012 */ lui $at, %hi(D_8011AEC0) # $at, 0x8012
|
||||
/* 00D6F4 8000CAF4 AE490000 */ sw $t1, ($s2)
|
||||
/* 00D6F8 8000CAF8 AC2AAEC0 */ sw $t2, %lo(D_8011AEC0)($at)
|
||||
/* 00D6FC 8000CAFC 8E4C0000 */ lw $t4, ($s2)
|
||||
/* 00D700 8000CB00 00008025 */ move $s0, $zero
|
||||
/* 00D704 8000CB04 19800014 */ blez $t4, .L8000CB58
|
||||
/* 00D708 8000CB08 00000000 */ nop
|
||||
.L8000CB0C:
|
||||
/* 00D70C 8000CB0C 8E240000 */ lw $a0, ($s1)
|
||||
/* 00D710 8000CB10 0C003A95 */ jal spawn_object
|
||||
/* 00D714 8000CB14 24050001 */ li $a1, 1
|
||||
/* 00D718 8000CB18 8E230000 */ lw $v1, ($s1)
|
||||
/* 00D71C 8000CB1C 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 00D720 8000CB20 90640001 */ lbu $a0, 1($v1)
|
||||
/* 00D724 8000CB24 00000000 */ nop
|
||||
/* 00D728 8000CB28 308B003F */ andi $t3, $a0, 0x3f
|
||||
/* 00D72C 8000CB2C 020B8021 */ addu $s0, $s0, $t3
|
||||
/* 00D730 8000CB30 01636821 */ addu $t5, $t3, $v1
|
||||
/* 00D734 8000CB34 020E082A */ slt $at, $s0, $t6
|
||||
/* 00D738 8000CB38 1420FFF4 */ bnez $at, .L8000CB0C
|
||||
/* 00D73C 8000CB3C AE2D0000 */ sw $t5, ($s1)
|
||||
/* 00D740 8000CB40 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 00D744 8000CB44 00000000 */ nop
|
||||
/* 00D748 8000CB48 8DF80000 */ lw $t8, ($t7)
|
||||
/* 00D74C 8000CB4C 00000000 */ nop
|
||||
/* 00D750 8000CB50 27190010 */ addiu $t9, $t8, 0x10
|
||||
/* 00D754 8000CB54 AE390000 */ sw $t9, ($s1)
|
||||
.L8000CB58:
|
||||
/* 00D758 8000CB58 3C018012 */ lui $at, %hi(D_8011AE70) # $at, 0x8012
|
||||
/* 00D75C 8000CB5C AC20AE70 */ sw $zero, %lo(D_8011AE70)($at)
|
||||
/* 00D760 8000CB60 24100001 */ li $s0, 1
|
||||
/* 00D764 8000CB64 3C118012 */ lui $s1, %hi(D_8011ADAC) # $s1, 0x8012
|
||||
/* 00D768 8000CB68 3C018012 */ lui $at, %hi(D_8011ADC0) # $at, 0x8012
|
||||
/* 00D76C 8000CB6C 2631ADAC */ addiu $s1, %lo(D_8011ADAC) # addiu $s1, $s1, -0x5254
|
||||
/* 00D770 8000CB70 AC30ADC0 */ sw $s0, %lo(D_8011ADC0)($at)
|
||||
/* 00D774 8000CB74 8E280000 */ lw $t0, ($s1)
|
||||
/* 00D778 8000CB78 00000000 */ nop
|
||||
/* 00D77C 8000CB7C 15000009 */ bnez $t0, .L8000CBA4
|
||||
/* 00D780 8000CB80 00000000 */ nop
|
||||
/* 00D784 8000CB84 0C004013 */ jal gParticlePtrList_flush
|
||||
/* 00D788 8000CB88 00000000 */ nop
|
||||
/* 00D78C 8000CB8C 0C005FA6 */ jal func_80017E98
|
||||
/* 00D790 8000CB90 00000000 */ nop
|
||||
/* 00D794 8000CB94 0C006F15 */ jal func_8001BC54
|
||||
/* 00D798 8000CB98 00000000 */ nop
|
||||
/* 00D79C 8000CB9C 0C007A4F */ jal func_8001E93C
|
||||
/* 00D7A0 8000CBA0 00000000 */ nop
|
||||
.L8000CBA4:
|
||||
/* 00D7A4 8000CBA4 AE300000 */ sw $s0, ($s1)
|
||||
/* 00D7A8 8000CBA8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8000CBAC:
|
||||
/* 00D7AC 8000CBAC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 00D7B0 8000CBB0 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 00D7B4 8000CBB4 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 00D7B8 8000CBB8 03E00008 */ jr $ra
|
||||
/* 00D7BC 8000CBBC 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
|
||||
@@ -1,159 +0,0 @@
|
||||
glabel func_80016500
|
||||
/* 017100 80016500 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 017104 80016504 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 017108 80016508 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 01710C 8001650C AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 017110 80016510 C4A4002C */ lwc1 $f4, 0x2c($a1)
|
||||
/* 017114 80016514 00A08025 */ move $s0, $a1
|
||||
/* 017118 80016518 E7A40030 */ swc1 $f4, 0x30($sp)
|
||||
/* 01711C 8001651C 80AE01D6 */ lb $t6, 0x1d6($a1)
|
||||
/* 017120 80016520 84A201A0 */ lh $v0, 0x1a0($a1)
|
||||
/* 017124 80016524 15C0000B */ bnez $t6, .L80016554
|
||||
/* 017128 80016528 00022023 */ negu $a0, $v0
|
||||
/* 01712C 8001652C 80AF01E6 */ lb $t7, 0x1e6($a1)
|
||||
/* 017130 80016530 00000000 */ nop
|
||||
/* 017134 80016534 11E00007 */ beqz $t7, .L80016554
|
||||
/* 017138 80016538 00022023 */ negu $a0, $v0
|
||||
/* 01713C 8001653C 8CB8010C */ lw $t8, 0x10c($a1)
|
||||
/* 017140 80016540 00000000 */ nop
|
||||
/* 017144 80016544 00581021 */ addu $v0, $v0, $t8
|
||||
/* 017148 80016548 0002CC00 */ sll $t9, $v0, 0x10
|
||||
/* 01714C 8001654C 00191403 */ sra $v0, $t9, 0x10
|
||||
/* 017150 80016550 00022023 */ negu $a0, $v0
|
||||
.L80016554:
|
||||
/* 017154 80016554 00044C00 */ sll $t1, $a0, 0x10
|
||||
/* 017158 80016558 00092403 */ sra $a0, $t1, 0x10
|
||||
/* 01715C 8001655C 0C01C1FE */ jal coss_f
|
||||
/* 017160 80016560 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 017164 80016564 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* 017168 80016568 0C01C1F1 */ jal sins_f
|
||||
/* 01716C 8001656C E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
/* 017170 80016570 8FAB0040 */ lw $t3, 0x40($sp)
|
||||
/* 017174 80016574 C7A2002C */ lwc1 $f2, 0x2c($sp)
|
||||
/* 017178 80016578 C566001C */ lwc1 $f6, 0x1c($t3)
|
||||
/* 01717C 8001657C C56A0024 */ lwc1 $f10, 0x24($t3)
|
||||
/* 017180 80016580 46023202 */ mul.s $f8, $f6, $f2
|
||||
/* 017184 80016584 860D0000 */ lh $t5, ($s0)
|
||||
/* 017188 80016588 2401FFFF */ li $at, -1
|
||||
/* 01718C 8001658C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 017190 80016590 46104480 */ add.s $f18, $f8, $f16
|
||||
/* 017194 80016594 E6120030 */ swc1 $f18, 0x30($s0)
|
||||
/* 017198 80016598 8FAC0040 */ lw $t4, 0x40($sp)
|
||||
/* 01719C 8001659C 00000000 */ nop
|
||||
/* 0171A0 800165A0 C584001C */ lwc1 $f4, 0x1c($t4)
|
||||
/* 0171A4 800165A4 C5880024 */ lwc1 $f8, 0x24($t4)
|
||||
/* 0171A8 800165A8 46002187 */ neg.s $f6, $f4
|
||||
/* 0171AC 800165AC 46003282 */ mul.s $f10, $f6, $f0
|
||||
/* 0171B0 800165B0 00000000 */ nop
|
||||
/* 0171B4 800165B4 46024402 */ mul.s $f16, $f8, $f2
|
||||
/* 0171B8 800165B8 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 0171BC 800165BC 11A1005E */ beq $t5, $at, .L80016738
|
||||
/* 0171C0 800165C0 E612002C */ swc1 $f18, 0x2c($s0)
|
||||
/* 0171C4 800165C4 C7A40030 */ lwc1 $f4, 0x30($sp)
|
||||
/* 0171C8 800165C8 C606002C */ lwc1 $f6, 0x2c($s0)
|
||||
/* 0171CC 800165CC 3C014160 */ li $at, 0x41600000 # 14.000000
|
||||
/* 0171D0 800165D0 44815000 */ mtc1 $at, $f10
|
||||
/* 0171D4 800165D4 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 0171D8 800165D8 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 0171DC 800165DC 444EF800 */ cfc1 $t6, $31
|
||||
/* 0171E0 800165E0 00000000 */ nop
|
||||
/* 0171E4 800165E4 35C10003 */ ori $at, $t6, 3
|
||||
/* 0171E8 800165E8 38210002 */ xori $at, $at, 2
|
||||
/* 0171EC 800165EC 44C1F800 */ ctc1 $at, $31
|
||||
/* 0171F0 800165F0 00000000 */ nop
|
||||
/* 0171F4 800165F4 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 0171F8 800165F8 44029000 */ mfc1 $v0, $f18
|
||||
/* 0171FC 800165FC 44CEF800 */ ctc1 $t6, $31
|
||||
/* 017200 80016600 04410002 */ bgez $v0, .L8001660C
|
||||
/* 017204 80016604 00000000 */ nop
|
||||
/* 017208 80016608 00021023 */ negu $v0, $v0
|
||||
.L8001660C:
|
||||
/* 01720C 8001660C 24420023 */ addiu $v0, $v0, 0x23
|
||||
/* 017210 80016610 28410080 */ slti $at, $v0, 0x80
|
||||
/* 017214 80016614 14200002 */ bnez $at, .L80016620
|
||||
/* 017218 80016618 2404000D */ li $a0, 13
|
||||
/* 01721C 8001661C 2402007F */ li $v0, 127
|
||||
.L80016620:
|
||||
/* 017220 80016620 820301F6 */ lb $v1, 0x1f6($s0)
|
||||
/* 017224 80016624 26050220 */ addiu $a1, $s0, 0x220
|
||||
/* 017228 80016628 1460000B */ bnez $v1, .L80016658
|
||||
/* 01722C 8001662C 00000000 */ nop
|
||||
/* 017230 80016630 0C000741 */ jal play_sound_global
|
||||
/* 017234 80016634 AFA20038 */ sw $v0, 0x38($sp)
|
||||
/* 017238 80016638 8FA20038 */ lw $v0, 0x38($sp)
|
||||
/* 01723C 8001663C 8E050220 */ lw $a1, 0x220($s0)
|
||||
/* 017240 80016640 2404000D */ li $a0, 13
|
||||
/* 017244 80016644 0C0007EE */ jal func_80001FB8
|
||||
/* 017248 80016648 304600FF */ andi $a2, $v0, 0xff
|
||||
/* 01724C 8001664C 8FA20038 */ lw $v0, 0x38($sp)
|
||||
/* 017250 80016650 820301F6 */ lb $v1, 0x1f6($s0)
|
||||
/* 017254 80016654 00000000 */ nop
|
||||
.L80016658:
|
||||
/* 017258 80016658 14600010 */ bnez $v1, .L8001669C
|
||||
/* 01725C 8001665C 28410038 */ slti $at, $v0, 0x38
|
||||
/* 017260 80016660 1420000F */ bnez $at, .L800166A0
|
||||
/* 017264 80016664 28410038 */ slti $at, $v0, 0x38
|
||||
/* 017268 80016668 820F01D8 */ lb $t7, 0x1d8($s0)
|
||||
/* 01726C 8001666C 24050012 */ li $a1, 18
|
||||
/* 017270 80016670 15E00006 */ bnez $t7, .L8001668C
|
||||
/* 017274 80016674 00000000 */ nop
|
||||
/* 017278 80016678 86040000 */ lh $a0, ($s0)
|
||||
/* 01727C 8001667C 0C01C8D2 */ jal func_80072348
|
||||
/* 017280 80016680 AFA20038 */ sw $v0, 0x38($sp)
|
||||
/* 017284 80016684 8FA20038 */ lw $v0, 0x38($sp)
|
||||
/* 017288 80016688 00000000 */ nop
|
||||
.L8001668C:
|
||||
/* 01728C 8001668C 921801F3 */ lbu $t8, 0x1f3($s0)
|
||||
/* 017290 80016690 00000000 */ nop
|
||||
/* 017294 80016694 37190008 */ ori $t9, $t8, 8
|
||||
/* 017298 80016698 A21901F3 */ sb $t9, 0x1f3($s0)
|
||||
.L8001669C:
|
||||
/* 01729C 8001669C 28410038 */ slti $at, $v0, 0x38
|
||||
.L800166A0:
|
||||
/* 0172A0 800166A0 14200005 */ bnez $at, .L800166B8
|
||||
/* 0172A4 800166A4 240501C2 */ li $a1, 450
|
||||
/* 0172A8 800166A8 8FA40040 */ lw $a0, 0x40($sp)
|
||||
/* 0172AC 800166AC 24060008 */ li $a2, 8
|
||||
/* 0172B0 800166B0 0C015C2E */ jal play_random_character_voice
|
||||
/* 0172B4 800166B4 24070001 */ li $a3, 1
|
||||
.L800166B8:
|
||||
/* 0172B8 800166B8 C7A40030 */ lwc1 $f4, 0x30($sp)
|
||||
/* 0172BC 800166BC C606002C */ lwc1 $f6, 0x2c($s0)
|
||||
/* 0172C0 800166C0 86040000 */ lh $a0, ($s0)
|
||||
/* 0172C4 800166C4 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 0172C8 800166C8 2409001E */ li $t1, 30
|
||||
/* 0172CC 800166CC 4448F800 */ cfc1 $t0, $31
|
||||
/* 0172D0 800166D0 00000000 */ nop
|
||||
/* 0172D4 800166D4 35010003 */ ori $at, $t0, 3
|
||||
/* 0172D8 800166D8 38210002 */ xori $at, $at, 2
|
||||
/* 0172DC 800166DC 44C1F800 */ ctc1 $at, $31
|
||||
/* 0172E0 800166E0 00000000 */ nop
|
||||
/* 0172E4 800166E4 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 0172E8 800166E8 44035000 */ mfc1 $v1, $f10
|
||||
/* 0172EC 800166EC 44C8F800 */ ctc1 $t0, $31
|
||||
/* 0172F0 800166F0 04610003 */ bgez $v1, .L80016700
|
||||
/* 0172F4 800166F4 28610004 */ slti $at, $v1, 4
|
||||
/* 0172F8 800166F8 00031823 */ negu $v1, $v1
|
||||
/* 0172FC 800166FC 28610004 */ slti $at, $v1, 4
|
||||
.L80016700:
|
||||
/* 017300 80016700 14200002 */ bnez $at, .L8001670C
|
||||
/* 017304 80016704 00000000 */ nop
|
||||
/* 017308 80016708 24030003 */ li $v1, 3
|
||||
.L8001670C:
|
||||
/* 01730C 8001670C A20901F6 */ sb $t1, 0x1f6($s0)
|
||||
/* 017310 80016710 0C01997A */ jal set_active_camera
|
||||
/* 017314 80016714 AFA3003C */ sw $v1, 0x3c($sp)
|
||||
/* 017318 80016718 0C01A748 */ jal get_active_camera_segment
|
||||
/* 01731C 8001671C 00000000 */ nop
|
||||
/* 017320 80016720 8FA3003C */ lw $v1, 0x3c($sp)
|
||||
/* 017324 80016724 00000000 */ nop
|
||||
/* 017328 80016728 44838000 */ mtc1 $v1, $f16
|
||||
/* 01732C 8001672C 00000000 */ nop
|
||||
/* 017330 80016730 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 017334 80016734 E4520030 */ swc1 $f18, 0x30($v0)
|
||||
.L80016738:
|
||||
/* 017338 80016738 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 01733C 8001673C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 017340 80016740 03E00008 */ jr $ra
|
||||
/* 017344 80016744 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
||||
@@ -1,186 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E5630
|
||||
.double 500.0
|
||||
|
||||
.text
|
||||
glabel func_8001955C
|
||||
/* 01A15C 8001955C 27BDFF40 */ addiu $sp, $sp, -0xc0
|
||||
/* 01A160 80019560 AFB60040 */ sw $s6, 0x40($sp)
|
||||
/* 01A164 80019564 3C168012 */ lui $s6, %hi(gNumberOfCheckpoints) # $s6, 0x8012
|
||||
/* 01A168 80019568 8ED6AED0 */ lw $s6, %lo(gNumberOfCheckpoints)($s6)
|
||||
/* 01A16C 8001956C AFA600C8 */ sw $a2, 0xc8($sp)
|
||||
/* 01A170 80019570 30CE00FF */ andi $t6, $a2, 0xff
|
||||
/* 01A174 80019574 01C03025 */ move $a2, $t6
|
||||
/* 01A178 80019578 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 01A17C 8001957C AFB5003C */ sw $s5, 0x3c($sp)
|
||||
/* 01A180 80019580 AFB40038 */ sw $s4, 0x38($sp)
|
||||
/* 01A184 80019584 AFB30034 */ sw $s3, 0x34($sp)
|
||||
/* 01A188 80019588 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 01A18C 8001958C AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 01A190 80019590 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 01A194 80019594 E7B70020 */ swc1 $f23, 0x20($sp)
|
||||
/* 01A198 80019598 E7B60024 */ swc1 $f22, 0x24($sp)
|
||||
/* 01A19C 8001959C E7B50018 */ swc1 $f21, 0x18($sp)
|
||||
/* 01A1A0 800195A0 E7B4001C */ swc1 $f20, 0x1c($sp)
|
||||
/* 01A1A4 800195A4 16C00003 */ bnez $s6, .L800195B4
|
||||
/* 01A1A8 800195A8 AFA400C0 */ sw $a0, 0xc0($sp)
|
||||
/* 01A1AC 800195AC 10000088 */ b .L800197D0
|
||||
/* 01A1B0 800195B0 00001025 */ move $v0, $zero
|
||||
.L800195B4:
|
||||
/* 01A1B4 800195B4 24A2FFFE */ addiu $v0, $a1, -2
|
||||
/* 01A1B8 800195B8 04410002 */ bgez $v0, .L800195C4
|
||||
/* 01A1BC 800195BC 00408825 */ move $s1, $v0
|
||||
/* 01A1C0 800195C0 00568821 */ addu $s1, $v0, $s6
|
||||
.L800195C4:
|
||||
/* 01A1C4 800195C4 44879000 */ mtc1 $a3, $f18
|
||||
/* 01A1C8 800195C8 8FAF00D0 */ lw $t7, 0xd0($sp)
|
||||
/* 01A1CC 800195CC 46809520 */ cvt.s.w $f20, $f18
|
||||
/* 01A1D0 800195D0 448F9000 */ mtc1 $t7, $f18
|
||||
/* 01A1D4 800195D4 00C0A025 */ move $s4, $a2
|
||||
/* 01A1D8 800195D8 468095A0 */ cvt.s.w $f22, $f18
|
||||
/* 01A1DC 800195DC 27B200A4 */ addiu $s2, $sp, 0xa4
|
||||
/* 01A1E0 800195E0 27B30094 */ addiu $s3, $sp, 0x94
|
||||
/* 01A1E4 800195E4 27B00084 */ addiu $s0, $sp, 0x84
|
||||
/* 01A1E8 800195E8 27B50094 */ addiu $s5, $sp, 0x94
|
||||
.L800195EC:
|
||||
/* 01A1EC 800195EC 02202025 */ move $a0, $s1
|
||||
/* 01A1F0 800195F0 0C006E87 */ jal find_next_checkpoint_node
|
||||
/* 01A1F4 800195F4 02802825 */ move $a1, $s4
|
||||
/* 01A1F8 800195F8 C448001C */ lwc1 $f8, 0x1c($v0)
|
||||
/* 01A1FC 800195FC C44A0008 */ lwc1 $f10, 8($v0)
|
||||
/* 01A200 80019600 C4460010 */ lwc1 $f6, 0x10($v0)
|
||||
/* 01A204 80019604 460A4482 */ mul.s $f18, $f8, $f10
|
||||
/* 01A208 80019608 26310001 */ addiu $s1, $s1, 1
|
||||
/* 01A20C 8001960C 26520004 */ addiu $s2, $s2, 4
|
||||
/* 01A210 80019610 26100004 */ addiu $s0, $s0, 4
|
||||
/* 01A214 80019614 46149102 */ mul.s $f4, $f18, $f20
|
||||
/* 01A218 80019618 46043200 */ add.s $f8, $f6, $f4
|
||||
/* 01A21C 8001961C E648FFFC */ swc1 $f8, -4($s2)
|
||||
/* 01A220 80019620 C452001C */ lwc1 $f18, 0x1c($v0)
|
||||
/* 01A224 80019624 C44A0014 */ lwc1 $f10, 0x14($v0)
|
||||
/* 01A228 80019628 46169182 */ mul.s $f6, $f18, $f22
|
||||
/* 01A22C 8001962C 46065100 */ add.s $f4, $f10, $f6
|
||||
/* 01A230 80019630 E6640000 */ swc1 $f4, ($s3)
|
||||
/* 01A234 80019634 C4520000 */ lwc1 $f18, ($v0)
|
||||
/* 01A238 80019638 C448001C */ lwc1 $f8, 0x1c($v0)
|
||||
/* 01A23C 8001963C 46009287 */ neg.s $f10, $f18
|
||||
/* 01A240 80019640 460A4182 */ mul.s $f6, $f8, $f10
|
||||
/* 01A244 80019644 C4520018 */ lwc1 $f18, 0x18($v0)
|
||||
/* 01A248 80019648 46143102 */ mul.s $f4, $f6, $f20
|
||||
/* 01A24C 8001964C 46049200 */ add.s $f8, $f18, $f4
|
||||
/* 01A250 80019650 16360002 */ bne $s1, $s6, .L8001965C
|
||||
/* 01A254 80019654 E608FFFC */ swc1 $f8, -4($s0)
|
||||
/* 01A258 80019658 00008825 */ move $s1, $zero
|
||||
.L8001965C:
|
||||
/* 01A25C 8001965C 1615FFE3 */ bne $s0, $s5, .L800195EC
|
||||
/* 01A260 80019660 26730004 */ addiu $s3, $s3, 4
|
||||
/* 01A264 80019664 C7AA00D4 */ lwc1 $f10, 0xd4($sp)
|
||||
/* 01A268 80019668 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
||||
/* 01A26C 8001966C 44811800 */ mtc1 $at, $f3
|
||||
/* 01A270 80019670 44801000 */ mtc1 $zero, $f2
|
||||
/* 01A274 80019674 460051A1 */ cvt.d.s $f6, $f10
|
||||
/* 01A278 80019678 46261481 */ sub.d $f18, $f2, $f6
|
||||
/* 01A27C 8001967C 44806000 */ mtc1 $zero, $f12
|
||||
/* 01A280 80019680 46209520 */ cvt.s.d $f20, $f18
|
||||
/* 01A284 80019684 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 01A288 80019688 460CA03C */ c.lt.s $f20, $f12
|
||||
/* 01A28C 8001968C 27A400A4 */ addiu $a0, $sp, 0xa4
|
||||
/* 01A290 80019690 45000002 */ bc1f .L8001969C
|
||||
/* 01A294 80019694 00002825 */ move $a1, $zero
|
||||
/* 01A298 80019698 46006506 */ mov.s $f20, $f12
|
||||
.L8001969C:
|
||||
/* 01A29C 8001969C 4600A121 */ cvt.d.s $f4, $f20
|
||||
/* 01A2A0 800196A0 4624103C */ c.lt.d $f2, $f4
|
||||
/* 01A2A4 800196A4 00000000 */ nop
|
||||
/* 01A2A8 800196A8 45000003 */ bc1f .L800196B8
|
||||
/* 01A2AC 800196AC 00000000 */ nop
|
||||
/* 01A2B0 800196B0 4481A000 */ mtc1 $at, $f20
|
||||
/* 01A2B4 800196B4 00000000 */ nop
|
||||
.L800196B8:
|
||||
/* 01A2B8 800196B8 4406A000 */ mfc1 $a2, $f20
|
||||
/* 01A2BC 800196BC 0C00898F */ jal cubic_spline_interpolation
|
||||
/* 01A2C0 800196C0 27A70070 */ addiu $a3, $sp, 0x70
|
||||
/* 01A2C4 800196C4 4406A000 */ mfc1 $a2, $f20
|
||||
/* 01A2C8 800196C8 E7A00080 */ swc1 $f0, 0x80($sp)
|
||||
/* 01A2CC 800196CC 27A40094 */ addiu $a0, $sp, 0x94
|
||||
/* 01A2D0 800196D0 00002825 */ move $a1, $zero
|
||||
/* 01A2D4 800196D4 0C00898F */ jal cubic_spline_interpolation
|
||||
/* 01A2D8 800196D8 27A7006C */ addiu $a3, $sp, 0x6c
|
||||
/* 01A2DC 800196DC 4406A000 */ mfc1 $a2, $f20
|
||||
/* 01A2E0 800196E0 46000586 */ mov.s $f22, $f0
|
||||
/* 01A2E4 800196E4 27A40084 */ addiu $a0, $sp, 0x84
|
||||
/* 01A2E8 800196E8 00002825 */ move $a1, $zero
|
||||
/* 01A2EC 800196EC 0C00898F */ jal cubic_spline_interpolation
|
||||
/* 01A2F0 800196F0 27A70068 */ addiu $a3, $sp, 0x68
|
||||
/* 01A2F4 800196F4 C7A20070 */ lwc1 $f2, 0x70($sp)
|
||||
/* 01A2F8 800196F8 C7AE006C */ lwc1 $f14, 0x6c($sp)
|
||||
/* 01A2FC 800196FC 46021202 */ mul.s $f8, $f2, $f2
|
||||
/* 01A300 80019700 C7B00068 */ lwc1 $f16, 0x68($sp)
|
||||
/* 01A304 80019704 E7A00078 */ swc1 $f0, 0x78($sp)
|
||||
/* 01A308 80019708 460E7282 */ mul.s $f10, $f14, $f14
|
||||
/* 01A30C 8001970C 00000000 */ nop
|
||||
/* 01A310 80019710 46108482 */ mul.s $f18, $f16, $f16
|
||||
/* 01A314 80019714 460A4180 */ add.s $f6, $f8, $f10
|
||||
/* 01A318 80019718 0C0326B4 */ jal sqrtf
|
||||
/* 01A31C 8001971C 46123300 */ add.s $f12, $f6, $f18
|
||||
/* 01A320 80019720 44802000 */ mtc1 $zero, $f4
|
||||
/* 01A324 80019724 3C01800E */ lui $at, %hi(D_800E5630 + 4) # $at, 0x800e
|
||||
/* 01A328 80019728 46040032 */ c.eq.s $f0, $f4
|
||||
/* 01A32C 8001972C 00000000 */ nop
|
||||
/* 01A330 80019730 45010011 */ bc1t .L80019778
|
||||
/* 01A334 80019734 00000000 */ nop
|
||||
/* 01A338 80019738 C4295630 */ lwc1 $f9, %lo(D_800E5630)($at)
|
||||
/* 01A33C 8001973C C4285634 */ lwc1 $f8, %lo(D_800E5630 + 4)($at)
|
||||
/* 01A340 80019740 460002A1 */ cvt.d.s $f10, $f0
|
||||
/* 01A344 80019744 00000000 */ nop
|
||||
/* 01A348 80019748 462A4183 */ div.d $f6, $f8, $f10
|
||||
/* 01A34C 8001974C C7A20070 */ lwc1 $f2, 0x70($sp)
|
||||
/* 01A350 80019750 C7AE006C */ lwc1 $f14, 0x6c($sp)
|
||||
/* 01A354 80019754 C7B00068 */ lwc1 $f16, 0x68($sp)
|
||||
/* 01A358 80019758 46203520 */ cvt.s.d $f20, $f6
|
||||
/* 01A35C 8001975C 46141082 */ mul.s $f2, $f2, $f20
|
||||
/* 01A360 80019760 00000000 */ nop
|
||||
/* 01A364 80019764 46147382 */ mul.s $f14, $f14, $f20
|
||||
/* 01A368 80019768 E7A20070 */ swc1 $f2, 0x70($sp)
|
||||
/* 01A36C 8001976C 46148402 */ mul.s $f16, $f16, $f20
|
||||
/* 01A370 80019770 E7AE006C */ swc1 $f14, 0x6c($sp)
|
||||
/* 01A374 80019774 E7B00068 */ swc1 $f16, 0x68($sp)
|
||||
.L80019778:
|
||||
/* 01A378 80019778 C7B20080 */ lwc1 $f18, 0x80($sp)
|
||||
/* 01A37C 8001977C C7A40070 */ lwc1 $f4, 0x70($sp)
|
||||
/* 01A380 80019780 8FB800C0 */ lw $t8, 0xc0($sp)
|
||||
/* 01A384 80019784 46049200 */ add.s $f8, $f18, $f4
|
||||
/* 01A388 80019788 C70A000C */ lwc1 $f10, 0xc($t8)
|
||||
/* 01A38C 8001978C 8FB900D8 */ lw $t9, 0xd8($sp)
|
||||
/* 01A390 80019790 460A4181 */ sub.s $f6, $f8, $f10
|
||||
/* 01A394 80019794 24020001 */ li $v0, 1
|
||||
/* 01A398 80019798 E7260000 */ swc1 $f6, ($t9)
|
||||
/* 01A39C 8001979C C7B2006C */ lwc1 $f18, 0x6c($sp)
|
||||
/* 01A3A0 800197A0 C7080010 */ lwc1 $f8, 0x10($t8)
|
||||
/* 01A3A4 800197A4 4612B100 */ add.s $f4, $f22, $f18
|
||||
/* 01A3A8 800197A8 8FA800DC */ lw $t0, 0xdc($sp)
|
||||
/* 01A3AC 800197AC 46082281 */ sub.s $f10, $f4, $f8
|
||||
/* 01A3B0 800197B0 E50A0000 */ swc1 $f10, ($t0)
|
||||
/* 01A3B4 800197B4 C7B20068 */ lwc1 $f18, 0x68($sp)
|
||||
/* 01A3B8 800197B8 C7A60078 */ lwc1 $f6, 0x78($sp)
|
||||
/* 01A3BC 800197BC C7080014 */ lwc1 $f8, 0x14($t8)
|
||||
/* 01A3C0 800197C0 46123100 */ add.s $f4, $f6, $f18
|
||||
/* 01A3C4 800197C4 8FA900E0 */ lw $t1, 0xe0($sp)
|
||||
/* 01A3C8 800197C8 46082281 */ sub.s $f10, $f4, $f8
|
||||
/* 01A3CC 800197CC E52A0000 */ swc1 $f10, ($t1)
|
||||
.L800197D0:
|
||||
/* 01A3D0 800197D0 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 01A3D4 800197D4 C7B50018 */ lwc1 $f21, 0x18($sp)
|
||||
/* 01A3D8 800197D8 C7B4001C */ lwc1 $f20, 0x1c($sp)
|
||||
/* 01A3DC 800197DC C7B70020 */ lwc1 $f23, 0x20($sp)
|
||||
/* 01A3E0 800197E0 C7B60024 */ lwc1 $f22, 0x24($sp)
|
||||
/* 01A3E4 800197E4 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 01A3E8 800197E8 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* 01A3EC 800197EC 8FB20030 */ lw $s2, 0x30($sp)
|
||||
/* 01A3F0 800197F0 8FB30034 */ lw $s3, 0x34($sp)
|
||||
/* 01A3F4 800197F4 8FB40038 */ lw $s4, 0x38($sp)
|
||||
/* 01A3F8 800197F8 8FB5003C */ lw $s5, 0x3c($sp)
|
||||
/* 01A3FC 800197FC 8FB60040 */ lw $s6, 0x40($sp)
|
||||
/* 01A400 80019800 03E00008 */ jr $ra
|
||||
/* 01A404 80019804 27BD00C0 */ addiu $sp, $sp, 0xc0
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
glabel func_8001B4FC
|
||||
/* 01C0FC 8001B4FC 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 01C100 8001B500 3C01800E */ lui $at, %hi(gBeatStaffGhost) # $at, 0x800e
|
||||
/* 01C104 8001B504 A020C738 */ sb $zero, %lo(gBeatStaffGhost)($at)
|
||||
/* 01C108 8001B508 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 01C10C 8001B50C AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 01C110 8001B510 3C01800E */ lui $at, %hi(gTimeTrialStaffGhost) # $at, 0x800e
|
||||
/* 01C114 8001B514 00808025 */ move $s0, $a0
|
||||
/* 01C118 8001B518 0C01BAA4 */ jal get_settings
|
||||
/* 01C11C 8001B51C A020C734 */ sb $zero, %lo(gTimeTrialStaffGhost)($at)
|
||||
/* 01C120 8001B520 AFA20020 */ sw $v0, 0x20($sp)
|
||||
/* 01C124 8001B524 0C01AC2B */ jal get_map_default_vehicle
|
||||
/* 01C128 8001B528 02002025 */ move $a0, $s0
|
||||
/* 01C12C 8001B52C 3C0E8012 */ lui $t6, %hi(D_8011AE82) # $t6, 0x8012
|
||||
/* 01C130 8001B530 85CEAE82 */ lh $t6, %lo(D_8011AE82)($t6)
|
||||
/* 01C134 8001B534 00000000 */ nop
|
||||
/* 01C138 8001B538 144E003C */ bne $v0, $t6, .L8001B62C
|
||||
/* 01C13C 8001B53C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 01C140 8001B540 0C0078A7 */ jal get_misc_asset
|
||||
/* 01C144 8001B544 2404001C */ li $a0, 28
|
||||
/* 01C148 8001B548 24040018 */ li $a0, 24
|
||||
/* 01C14C 8001B54C 0C0078A7 */ jal get_misc_asset
|
||||
/* 01C150 8001B550 AFA20028 */ sw $v0, 0x28($sp)
|
||||
/* 01C154 8001B554 8FA80028 */ lw $t0, 0x28($sp)
|
||||
/* 01C158 8001B558 2407FFFF */ li $a3, -1
|
||||
/* 01C15C 8001B55C 810F0000 */ lb $t7, ($t0)
|
||||
/* 01C160 8001B560 8FAD0020 */ lw $t5, 0x20($sp)
|
||||
/* 01C164 8001B564 10EF000B */ beq $a3, $t7, .L8001B594
|
||||
/* 01C168 8001B568 00003025 */ move $a2, $zero
|
||||
/* 01C16C 8001B56C 81180000 */ lb $t8, ($t0)
|
||||
/* 01C170 8001B570 01002021 */ addu $a0, $t0, $zero
|
||||
/* 01C174 8001B574 12180008 */ beq $s0, $t8, .L8001B598
|
||||
/* 01C178 8001B578 0106C821 */ addu $t9, $t0, $a2
|
||||
.L8001B57C:
|
||||
/* 01C17C 8001B57C 80850001 */ lb $a1, 1($a0)
|
||||
/* 01C180 8001B580 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 01C184 8001B584 10E50003 */ beq $a3, $a1, .L8001B594
|
||||
/* 01C188 8001B588 24840001 */ addiu $a0, $a0, 1
|
||||
/* 01C18C 8001B58C 1605FFFB */ bne $s0, $a1, .L8001B57C
|
||||
/* 01C190 8001B590 00000000 */ nop
|
||||
.L8001B594:
|
||||
/* 01C194 8001B594 0106C821 */ addu $t9, $t0, $a2
|
||||
.L8001B598:
|
||||
/* 01C198 8001B598 83290000 */ lb $t1, ($t9)
|
||||
/* 01C19C 8001B59C 00065040 */ sll $t2, $a2, 1
|
||||
/* 01C1A0 8001B5A0 10E90021 */ beq $a3, $t1, .L8001B628
|
||||
/* 01C1A4 8001B5A4 004A5821 */ addu $t3, $v0, $t2
|
||||
/* 01C1A8 8001B5A8 3C0E8012 */ lui $t6, %hi(D_8011AE82) # $t6, 0x8012
|
||||
/* 01C1AC 8001B5AC 85CEAE82 */ lh $t6, %lo(D_8011AE82)($t6)
|
||||
/* 01C1B0 8001B5B0 00104840 */ sll $t1, $s0, 1
|
||||
/* 01C1B4 8001B5B4 000E7880 */ sll $t7, $t6, 2
|
||||
/* 01C1B8 8001B5B8 01AFC021 */ addu $t8, $t5, $t7
|
||||
/* 01C1BC 8001B5BC 8F19003C */ lw $t9, 0x3c($t8)
|
||||
/* 01C1C0 8001B5C0 956C0000 */ lhu $t4, ($t3)
|
||||
/* 01C1C4 8001B5C4 03295021 */ addu $t2, $t9, $t1
|
||||
/* 01C1C8 8001B5C8 954B0000 */ lhu $t3, ($t2)
|
||||
/* 01C1CC 8001B5CC 00000000 */ nop
|
||||
/* 01C1D0 8001B5D0 018B082A */ slt $at, $t4, $t3
|
||||
/* 01C1D4 8001B5D4 14200015 */ bnez $at, .L8001B62C
|
||||
/* 01C1D8 8001B5D8 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 01C1DC 8001B5DC 0C027AC2 */ jal get_eeprom_settings
|
||||
/* 01C1E0 8001B5E0 AFA6002C */ sw $a2, 0x2c($sp)
|
||||
/* 01C1E4 8001B5E4 8FA6002C */ lw $a2, 0x2c($sp)
|
||||
/* 01C1E8 8001B5E8 240E0010 */ li $t6, 16
|
||||
/* 01C1EC 8001B5EC 00CE6804 */ sllv $t5, $t6, $a2
|
||||
/* 01C1F0 8001B5F0 000DC7C3 */ sra $t8, $t5, 0x1f
|
||||
/* 01C1F4 8001B5F4 00585024 */ and $t2, $v0, $t8
|
||||
/* 01C1F8 8001B5F8 15400005 */ bnez $t2, .L8001B610
|
||||
/* 01C1FC 8001B5FC 006D5824 */ and $t3, $v1, $t5
|
||||
/* 01C200 8001B600 15600003 */ bnez $t3, .L8001B610
|
||||
/* 01C204 8001B604 240F0001 */ li $t7, 1
|
||||
/* 01C208 8001B608 3C01800E */ lui $at, %hi(gBeatStaffGhost) # $at, 0x800e
|
||||
/* 01C20C 8001B60C A02FC738 */ sb $t7, %lo(gBeatStaffGhost)($at)
|
||||
.L8001B610:
|
||||
/* 01C210 8001B610 0C006CBC */ jal func_8001B2F0
|
||||
/* 01C214 8001B614 02002025 */ move $a0, $s0
|
||||
/* 01C218 8001B618 14400003 */ bnez $v0, .L8001B628
|
||||
/* 01C21C 8001B61C 24090001 */ li $t1, 1
|
||||
/* 01C220 8001B620 3C01800E */ lui $at, %hi(gTimeTrialStaffGhost) # $at, 0x800e
|
||||
/* 01C224 8001B624 A029C734 */ sb $t1, %lo(gTimeTrialStaffGhost)($at)
|
||||
.L8001B628:
|
||||
/* 01C228 8001B628 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8001B62C:
|
||||
/* 01C22C 8001B62C 3C02800E */ lui $v0, %hi(gTimeTrialStaffGhost) # $v0, 0x800e
|
||||
/* 01C230 8001B630 9042C734 */ lbu $v0, %lo(gTimeTrialStaffGhost)($v0)
|
||||
/* 01C234 8001B634 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 01C238 8001B638 03E00008 */ jr $ra
|
||||
/* 01C23C 8001B63C 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
glabel thread0_Main
|
||||
/* 0B7BC4 800B6FC4 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 0B7BC8 800B6FC8 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0B7BCC 800B6FCC 3C148013 */ lui $s4, %hi(D_80129790) # $s4, 0x8013
|
||||
/* 0B7BD0 800B6FD0 26949790 */ addiu $s4, %lo(D_80129790) # addiu $s4, $s4, -0x6870
|
||||
/* 0B7BD4 800B6FD4 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0B7BD8 800B6FD8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0B7BDC 800B6FDC AFA40038 */ sw $a0, 0x38($sp)
|
||||
/* 0B7BE0 800B6FE0 3C058013 */ lui $a1, %hi(D_801297A8) # $a1, 0x8013
|
||||
/* 0B7BE4 800B6FE4 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0B7BE8 800B6FE8 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0B7BEC 800B6FEC AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0B7BF0 800B6FF0 00008025 */ move $s0, $zero
|
||||
/* 0B7BF4 800B6FF4 24A597A8 */ addiu $a1, %lo(D_801297A8) # addiu $a1, $a1, -0x6858
|
||||
/* 0B7BF8 800B6FF8 02802025 */ move $a0, $s4
|
||||
/* 0B7BFC 800B6FFC 0C032208 */ jal osCreateMesgQueue
|
||||
/* 0B7C00 800B7000 24060008 */ li $a2, 8
|
||||
/* 0B7C04 800B7004 2404000C */ li $a0, 12
|
||||
/* 0B7C08 800B7008 02802825 */ move $a1, $s4
|
||||
/* 0B7C0C 800B700C 0C0332EC */ jal osSetEventMesg
|
||||
/* 0B7C10 800B7010 24060008 */ li $a2, 8
|
||||
/* 0B7C14 800B7014 2404000A */ li $a0, 10
|
||||
/* 0B7C18 800B7018 02802825 */ move $a1, $s4
|
||||
/* 0B7C1C 800B701C 0C0332EC */ jal osSetEventMesg
|
||||
/* 0B7C20 800B7020 24060002 */ li $a2, 2
|
||||
/* 0B7C24 800B7024 3C058013 */ lui $a1, %hi(D_801297E8) # $a1, 0x8013
|
||||
/* 0B7C28 800B7028 3C068013 */ lui $a2, %hi(D_801297C8) # $a2, 0x8013
|
||||
/* 0B7C2C 800B702C 24C697C8 */ addiu $a2, %lo(D_801297C8) # addiu $a2, $a2, -0x6838
|
||||
/* 0B7C30 800B7030 24A597E8 */ addiu $a1, %lo(D_801297E8) # addiu $a1, $a1, -0x6818
|
||||
/* 0B7C34 800B7034 24040096 */ li $a0, 150
|
||||
/* 0B7C38 800B7038 0C031800 */ jal osCreatePiManager
|
||||
/* 0B7C3C 800B703C 24070008 */ li $a3, 8
|
||||
/* 0B7C40 800B7040 2413FFF7 */ li $s3, -9
|
||||
/* 0B7C44 800B7044 3C120800 */ lui $s2, 0x800
|
||||
/* 0B7C48 800B7048 27B10034 */ addiu $s1, $sp, 0x34
|
||||
/* 0B7C4C 800B704C 02802025 */ move $a0, $s4
|
||||
.L800B7050:
|
||||
/* 0B7C50 800B7050 02202825 */ move $a1, $s1
|
||||
/* 0B7C54 800B7054 0C0322EC */ jal osRecvMesg
|
||||
/* 0B7C58 800B7058 24060001 */ li $a2, 1
|
||||
/* 0B7C5C 800B705C 0C0270C3 */ jal get_filtered_cheats
|
||||
/* 0B7C60 800B7060 00000000 */ nop
|
||||
/* 0B7C64 800B7064 00527024 */ and $t6, $v0, $s2
|
||||
/* 0B7C68 800B7068 11C0FFF9 */ beqz $t6, .L800B7050
|
||||
/* 0B7C6C 800B706C 02802025 */ move $a0, $s4
|
||||
/* 0B7C70 800B7070 8FAF0034 */ lw $t7, 0x34($sp)
|
||||
/* 0B7C74 800B7074 00000000 */ nop
|
||||
/* 0B7C78 800B7078 020F8025 */ or $s0, $s0, $t7
|
||||
/* 0B7C7C 800B707C 32180008 */ andi $t8, $s0, 8
|
||||
/* 0B7C80 800B7080 17000003 */ bnez $t8, .L800B7090
|
||||
/* 0B7C84 800B7084 32190002 */ andi $t9, $s0, 2
|
||||
/* 0B7C88 800B7088 1320FFF1 */ beqz $t9, .L800B7050
|
||||
/* 0B7C8C 800B708C 02802025 */ move $a0, $s4
|
||||
.L800B7090:
|
||||
/* 0B7C90 800B7090 0C02DC34 */ jal func_800B70D0
|
||||
/* 0B7C94 800B7094 02138024 */ and $s0, $s0, $s3
|
||||
/* 0B7C98 800B7098 0C02DC51 */ jal func_800B7144
|
||||
/* 0B7C9C 800B709C 00000000 */ nop
|
||||
/* 0B7CA0 800B70A0 0C02DC6C */ jal func_800B71B0
|
||||
/* 0B7CA4 800B70A4 00000000 */ nop
|
||||
/* 0B7CA8 800B70A8 1000FFE9 */ b .L800B7050
|
||||
/* 0B7CAC 800B70AC 02802025 */ move $a0, $s4
|
||||
/* 0B7CB0 800B70B0 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 0B7CB4 800B70B4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0B7CB8 800B70B8 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0B7CBC 800B70BC 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0B7CC0 800B70C0 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0B7CC4 800B70C4 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0B7CC8 800B70C8 03E00008 */ jr $ra
|
||||
/* 0B7CCC 800B70CC 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
|
||||
@@ -15381,6 +15381,46 @@
|
||||
"files-default-folder": "unlabeled",
|
||||
"default-build-id-prefix": "ASSET_MISC_",
|
||||
"files": [
|
||||
{
|
||||
"index": 5,
|
||||
"filename": "tricky_boss_data",
|
||||
"build-id": "ASSET_MISC_TRICKY_BOSS_DATA"
|
||||
},
|
||||
{
|
||||
"index": 6,
|
||||
"filename": "bluey_boss_data",
|
||||
"build-id": "ASSET_MISC_BLUEY_BOSS_DATA"
|
||||
},
|
||||
{
|
||||
"index": 7,
|
||||
"filename": "smokey_boss_data",
|
||||
"build-id": "ASSET_MISC_SMOKEY_BOSS_DATA"
|
||||
},
|
||||
{
|
||||
"index": 9,
|
||||
"filename": "racer_weight_data",
|
||||
"build-id": "ASSET_MISC_RACER_WEIGHT"
|
||||
},
|
||||
{
|
||||
"index": 10,
|
||||
"filename": "racer_handling_data",
|
||||
"build-id": "ASSET_MISC_RACER_HANDLING"
|
||||
},
|
||||
{
|
||||
"index": 11,
|
||||
"filename": "racer_unused_11_data",
|
||||
"build-id": "ASSET_MISC_RACER_UNUSED_11"
|
||||
},
|
||||
{
|
||||
"index": 21,
|
||||
"filename": "shield_data",
|
||||
"build-id": "ASSET_MISC_SHIELD_DATA"
|
||||
},
|
||||
{
|
||||
"index": 22,
|
||||
"filename": "magnet_data",
|
||||
"build-id": "ASSET_MISC_MAGNET_DATA"
|
||||
},
|
||||
{
|
||||
"index": 26,
|
||||
"filename": "tracks_menu_ids",
|
||||
@@ -15471,6 +15511,11 @@
|
||||
"filename": "RacerStats_Unknown2",
|
||||
"build-id": "ASSET_MISC_RACERSTATS_UNKNOWN2"
|
||||
},
|
||||
{
|
||||
"index": 56,
|
||||
"filename": "racer_hitbox_size",
|
||||
"build-id": "ASSET_MISC_RACER_HITBOX_SIZE"
|
||||
},
|
||||
{
|
||||
"index": 65,
|
||||
"filename": "magic_codes",
|
||||
|
||||
@@ -3054,13 +3054,13 @@ typedef enum {
|
||||
ASSET_MISC_2,
|
||||
ASSET_MISC_3,
|
||||
ASSET_MISC_4,
|
||||
ASSET_MISC_5,
|
||||
ASSET_MISC_6,
|
||||
ASSET_MISC_7,
|
||||
ASSET_MISC_TRICKY_BOSS_DATA,
|
||||
ASSET_MISC_BLUEY_BOSS_DATA,
|
||||
ASSET_MISC_SMOKEY_BOSS_DATA,
|
||||
ASSET_MISC_8,
|
||||
ASSET_MISC_9,
|
||||
ASSET_MISC_10,
|
||||
ASSET_MISC_11,
|
||||
ASSET_MISC_RACER_WEIGHT,
|
||||
ASSET_MISC_RACER_HANDLING,
|
||||
ASSET_MISC_RACER_UNUSED_11,
|
||||
ASSET_MISC_12,
|
||||
ASSET_MISC_13,
|
||||
ASSET_MISC_14,
|
||||
@@ -3070,8 +3070,8 @@ typedef enum {
|
||||
ASSET_MISC_18,
|
||||
ASSET_MISC_19,
|
||||
ASSET_MISC_20,
|
||||
ASSET_MISC_21,
|
||||
ASSET_MISC_22,
|
||||
ASSET_MISC_SHIELD_DATA,
|
||||
ASSET_MISC_MAGNET_DATA,
|
||||
ASSET_MISC_23,
|
||||
ASSET_MISC_24,
|
||||
ASSET_MISC_25,
|
||||
@@ -3105,7 +3105,7 @@ typedef enum {
|
||||
ASSET_MISC_53,
|
||||
ASSET_MISC_54,
|
||||
ASSET_MISC_55,
|
||||
ASSET_MISC_56,
|
||||
ASSET_MISC_RACER_HITBOX_SIZE,
|
||||
ASSET_MISC_57,
|
||||
ASSET_MISC_58,
|
||||
ASSET_MISC_59,
|
||||
|
||||
@@ -102,86 +102,6 @@ typedef enum AlignmentFlags {
|
||||
ALIGN_BOTTOM_RIGHT = VERT_ALIGN_BOTTOM | HORZ_ALIGN_RIGHT
|
||||
} AlignmentFlags;
|
||||
|
||||
typedef enum MiscAsset {
|
||||
MISC_ASSET_UNK00,
|
||||
MISC_ASSET_UNK01,
|
||||
MISC_ASSET_UNK02,
|
||||
MISC_ASSET_UNK03,
|
||||
MISC_ASSET_UNK04,
|
||||
MISC_ASSET_UNK05, //Tricky boss
|
||||
MISC_ASSET_UNK06, //Bluey boss
|
||||
MISC_ASSET_UNK07, //Smokey boss
|
||||
MISC_ASSET_UNK08,
|
||||
MISC_RACER_WEIGHT,
|
||||
MISC_RACER_HANDLING,
|
||||
MISC_ASSET_UNK0B,
|
||||
MISC_ASSET_UNK0C,
|
||||
MISC_ASSET_UNK0D,
|
||||
MISC_ASSET_UNK0E,
|
||||
MISC_ASSET_UNK0F,
|
||||
MISC_ASSET_UNK10,
|
||||
MISC_ASSET_UNK11,
|
||||
MISC_ASSET_UNK12,
|
||||
MISC_ASSET_UNK13,
|
||||
MISC_ASSET_UNK14,
|
||||
MISC_ASSET_SHIELD_DATA,
|
||||
MISC_ASSET_MAGNET_DATA,
|
||||
MISC_ASSET_UNK17,
|
||||
MISC_ASSET_UNK18,
|
||||
MISC_ASSET_UNK19,
|
||||
MISC_ASSET_UNK1A,
|
||||
MISC_ASSET_UNK1B,
|
||||
MISC_ASSET_UNK1C,
|
||||
MISC_ASSET_UNK1D,
|
||||
MISC_ASSET_UNK1E,
|
||||
MISC_ASSET_UNK1F,
|
||||
MISC_ASSET_UNK20,
|
||||
MISC_ASSET_UNK21,
|
||||
MISC_ASSET_UNK22,
|
||||
MISC_ASSET_UNK23,
|
||||
MISC_ASSET_UNK24,
|
||||
MISC_ASSET_UNK25,
|
||||
MISC_ASSET_UNK26,
|
||||
MISC_ASSET_UNK27,
|
||||
MISC_ASSET_UNK28,
|
||||
MISC_ASSET_UNK29,
|
||||
MISC_ASSET_UNK2A,
|
||||
MISC_ASSET_UNK2B,
|
||||
MISC_ASSET_UNK2C,
|
||||
MISC_ASSET_UNK2D,
|
||||
MISC_ASSET_UNK2E,
|
||||
MISC_ASSET_UNK2F,
|
||||
MISC_ASSET_UNK30,
|
||||
MISC_ASSET_UNK31,
|
||||
MISC_ASSET_UNK32,
|
||||
MISC_ASSET_UNK33,
|
||||
MISC_ASSET_UNK34,
|
||||
MISC_ASSET_UNK35,
|
||||
MISC_ASSET_UNK36,
|
||||
MISC_ASSET_UNK37,
|
||||
MISC_ASSET_RACER_HITBOX_SIZE,
|
||||
MISC_ASSET_UNK39,
|
||||
MISC_ASSET_UNK3A,
|
||||
MISC_ASSET_UNK3B,
|
||||
MISC_ASSET_UNK3C,
|
||||
MISC_ASSET_UNK3D,
|
||||
MISC_ASSET_UNK3E,
|
||||
MISC_ASSET_UNK3F,
|
||||
MISC_ASSET_UNK40,
|
||||
MISC_ASSET_UNK41,
|
||||
MISC_ASSET_TITLE_DEMOS,
|
||||
MISC_ASSET_UNK43,
|
||||
MISC_ASSET_UNK44,
|
||||
MISC_ASSET_UNK45,
|
||||
MISC_ASSET_UNK46,
|
||||
MISC_ASSET_UNK47,
|
||||
MISC_ASSET_UNK48,
|
||||
MISC_ASSET_UNK49,
|
||||
MISC_ASSET_UNK4A,
|
||||
MISC_ASSET_UNK4B,
|
||||
MISC_ASSET_UNK4C
|
||||
} MiscAsset;
|
||||
|
||||
typedef enum SurfaceType {
|
||||
SURFACE_DEFAULT,
|
||||
SURFACE_GRASS,
|
||||
|
||||
@@ -702,6 +702,15 @@ typedef struct LevelObjectEntry_CharacterSelect {
|
||||
s8 unk30;
|
||||
} LevelObjectEntry_CharacterSelect;
|
||||
|
||||
// Size: 0x10 bytes
|
||||
typedef struct LevelObjectEntry_Unk8000CC7C {
|
||||
LevelObjectEntryCommon common;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
} LevelObjectEntry_Unk8000CC7C;
|
||||
|
||||
typedef struct LevelObjectEntry {
|
||||
union {
|
||||
LevelObjectEntry_Racer racer;
|
||||
|
||||
@@ -150,8 +150,8 @@ typedef struct ObjPropertyRacer {
|
||||
} ObjPropertyRacer;
|
||||
|
||||
typedef struct ObjPropertySetupPoint {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
} ObjPropertySetupPoint;
|
||||
|
||||
typedef struct ObjProperties {
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ enum SoundID {
|
||||
/* 0x000A */ SOUND_UNK_0A,
|
||||
/* 0x000B */ SOUND_UNK_0B,
|
||||
/* 0x000C */ SOUND_CRASH,
|
||||
/* 0x000D */ SOUND_CRASH2, // Not the same as the last, sounds like a cymbal or something.
|
||||
/* 0x000D */ SOUND_CRASH_CHARACTER,
|
||||
/* 0x000E */ SOUND_BALLOON_POP,
|
||||
/* 0x000F */ SOUND_PLOP, // Dropping a landmine
|
||||
/* 0x0010 */ SOUND_UNK_10,
|
||||
|
||||
+2
-2
@@ -720,7 +720,7 @@ typedef struct ObjectHeader {
|
||||
/* 0x0C */ f32 scale;
|
||||
/* 0x10 */ s32 *modelIds;
|
||||
/* 0x14 */ s32 *vehiclePartIds;
|
||||
/* 0x18 */ s8 *vehiclePartIndices;
|
||||
/* 0x18 */ s8 *vehiclePartIndices;
|
||||
/* 0x1C */ ObjHeaderParticleEntry *objectParticles;
|
||||
s32 pad20;
|
||||
/* 0x24 */ ObjectHeader24 *unk24;
|
||||
@@ -761,7 +761,7 @@ typedef struct ObjectHeader {
|
||||
/* 0x60 */ char internalName[16];
|
||||
/* 0x70 */ u8 unk70;
|
||||
/* 0x71 */ u8 unk71;
|
||||
/* 0x71 */ u8 unk72;
|
||||
/* 0x72 */ u8 unk72;
|
||||
u8 pad73[0x5];
|
||||
} ObjectHeader;
|
||||
|
||||
|
||||
+4
-4
@@ -332,7 +332,7 @@ s32 get_hub_area_id(s32 worldId) {
|
||||
if (worldId < 0 || worldId >= gNumberOfWorlds) {
|
||||
worldId = 0;
|
||||
}
|
||||
hubAreaIds = (s8 *)get_misc_asset(MISC_ASSET_UNK1B); //hub_area_ids
|
||||
hubAreaIds = (s8 *)get_misc_asset(ASSET_MISC_HUB_AREA_IDS);
|
||||
|
||||
return hubAreaIds[worldId];
|
||||
}
|
||||
@@ -426,7 +426,7 @@ void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehicl
|
||||
D_800DD330 = 2;
|
||||
}
|
||||
}
|
||||
someAsset = (s8 *) get_misc_asset(MISC_ASSET_UNK43);
|
||||
someAsset = (s8 *) get_misc_asset(ASSET_MISC_67);
|
||||
for (var_s0 = 0; levelId != someAsset[var_s0]; var_s0 += 2) { }
|
||||
levelId = someAsset[var_s0 + 1];
|
||||
entranceId = cutsceneId;
|
||||
@@ -442,7 +442,7 @@ void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehicl
|
||||
// Trigger World Key unlocking Challenge Door cutscene.
|
||||
push_level_property_stack(levelId, entranceId, vehicleId, cutsceneId);
|
||||
settings->cutsceneFlags |= CUTSCENE_DINO_DOMAIN_KEY << (var_s0 + 31);
|
||||
someAsset = (s8 *) get_misc_asset(MISC_ASSET_UNK44);
|
||||
someAsset = (s8 *) get_misc_asset(ASSET_MISC_68);
|
||||
levelId = someAsset[var_s0 - 1];
|
||||
entranceId = 0;
|
||||
cutsceneId = CUTSCENE_ID_UNK_5;
|
||||
@@ -456,7 +456,7 @@ void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, Vehicle vehicl
|
||||
entranceId = 0;
|
||||
cutsceneId = CUTSCENE_NONE;
|
||||
settings->cutsceneFlags |= CUTSCENE_WIZPIG_FACE;
|
||||
levelId = ((s8 *) get_misc_asset(MISC_ASSET_UNK44))[4];
|
||||
levelId = ((s8 *) get_misc_asset(ASSET_MISC_68))[4];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user