We are collecting silver coins in Treasure Caves. (1/8 silver coins) (#422)

* 3 new matches

* Fix arrays

* Get llcvt compiling finally

* Finsh 2 more libultra files

* Match func_80022E18

* Match func_8001BF20

* func_8001CD28 NON_MATCHING

* Match func_80026C14

* Match func_8005FF40

* Match func_80061A00

* Match func_8005FCD0

* Update score

* Fix NON_EQUIVALENT builds
This commit is contained in:
Ryan Myers
2023-10-16 08:12:02 -04:00
committed by GitHub
parent 658ab3f5f0
commit 38a76249f9
39 changed files with 822 additions and 2301 deletions
+16 -2
View File
@@ -276,8 +276,12 @@ $(BUILD_DIR)/lib/src/os/osCreatePiManager.o: OPT_FLAGS := -O2 -Xfullwarn
$(BUILD_DIR)/lib/src/os/osMotor.o: OPT_FLAGS := -O2 -Xfullwarn
$(BUILD_DIR)/lib/src/libc/xprintf.o : OPT_FLAGS := -O3
$(BUILD_DIR)/lib/src/al/env.o: OPT_FLAGS := -g
#$(BUILD_DIR)/lib/src/libc/llcvt.o: OPT_FLAGS :=
#$(BUILD_DIR)/lib/src/libc/llcvt.o: MIPSISET := -mips3 32
$(BUILD_DIR)/lib/src/libc/llcvt.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/libc/llcvt.o: MIPSISET := -mips3 -32
$(BUILD_DIR)/lib/src/libc/ll.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/libc/ll.o: MIPSISET := -mips3 -32
$(BUILD_DIR)/lib/src/libc/ldiv.o: OPT_FLAGS := -O3
$(BUILD_DIR)/lib/src/libc/ldiv.o: MIPSISET := -mips2
$(BUILD_DIR)/lib/%.o: MIPSISET := -mips2
$(BUILD_DIR)/lib/src/mips1/%.o: MIPSISET := -mips1
@@ -377,6 +381,16 @@ $(BUILD_DIR)/%.o: %.c | $(ALL_ASSETS_BUILT)
$(call print,Compiling:,$<,$@)
@$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(V)$(CC) $(CFLAGS) -o $@ $<
$(BUILD_DIR)/lib/src/libc/llcvt.o: lib/src/libc/llcvt.c | $(ALL_ASSETS_BUILT)
$(call print,Compiling mips3:,$<,$@)
$(V)$(CC) $(CFLAGS) -o $@ $<
$(V)python3 tools/python/patchmips3.py $@ || rm $@
$(BUILD_DIR)/lib/src/libc/ll.o: lib/src/libc/ll.c | $(ALL_ASSETS_BUILT)
$(call print,Compiling mips3:,$<,$@)
$(V)$(CC) $(CFLAGS) -o $@ $<
$(V)python3 tools/python/patchmips3.py $@ || rm $@
$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.c | $(ALL_ASSETS_BUILT)
$(call print,Compiling:,$<,$@)
+23 -23
View File
@@ -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 October 11, 2023, this is our current score:
As of October 15, 2023, this is our current score:
&emsp;&emsp;&emsp;&emsp;Decomp progress: 58.51%
&emsp;&emsp;&emsp;&emsp;Decomp progress: 59.35%
&emsp;&emsp;&emsp;&emsp;Documentation progress: 33.35%
&emsp;&emsp;&emsp;&emsp;Documentation progress: 33.38%
<!-- README_SCORE_SUMMARY_END -->
---
@@ -128,31 +128,31 @@ s32 is_drumstick_unlocked(void) {
```
<!-- README_SCORE_BEGIN -->
As of October 11th, 2023, this is our current score:
As of October 15th, 2023, this is our current score:
```
===================================================================
ADVENTURE ONE (ASM -> C Decompilation)
------------------------- 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. (5/8 silver coins)
===================================================================
====================================================================
ADVENTURE ONE (ASM -> C Decompilation)
------------------------- 59.35% Complete --------------------------
# Decompiled functions: 1630
# GLOBAL_ASM remaining: 212
# NON_MATCHING functions: 10
# NON_EQUIVALENT WIP functions: 57
--------------------------- Game Status ----------------------------
Balloons: 29/47, Keys: 3/4, Trophies: 2/5
T.T. Amulets: 3/4, Wizpig Amulets: 2/4
--------------------------------------------------------------------
We are collecting silver coins in Treasure Caves. (1/8 silver coins)
====================================================================
ADVENTURE TWO (Cleanup & Documentation)
------------------------- 33.35% Complete -------------------------
------------------------- 33.38% Complete --------------------------
# Documented functions: 740
# Undocumented remaining: 830
--------------------------- Game Status ---------------------------
# Undocumented remaining: 827
--------------------------- Game Status ----------------------------
Balloons: 17/47, Keys: 2/4, Trophies: 1/5
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
-------------------------------------------------------------------
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
--------------------------------------------------------------------
We are battling in Icicle Pyramid. (3 opponents remain)
===================================================================
====================================================================
```
<!-- README_SCORE_END -->
-165
View File
@@ -1,165 +0,0 @@
glabel func_80081C04
/* 082804 80081C04 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 082808 80081C08 AFB40028 */ sw $s4, 0x28($sp)
/* 08280C 80081C0C AFB00018 */ sw $s0, 0x18($sp)
/* 082810 80081C10 00A0A025 */ move $s4, $a1
/* 082814 80081C14 AFB30024 */ sw $s3, 0x24($sp)
/* 082818 80081C18 AFB1001C */ sw $s1, 0x1c($sp)
/* 08281C 80081C1C 3C103B9A */ lui $s0, (0x3B9ACA00 >> 16)
/* 082820 80081C20 00808825 */ move $s1, $a0
/* 082824 80081C24 AFBF002C */ sw $ra, 0x2c($sp)
/* 082828 80081C28 AFB20020 */ sw $s2, 0x20($sp)
/* 08282C 80081C2C 00009825 */ move $s3, $zero
/* 082830 80081C30 3610CA00 */ ori $s0, $s0, (0x3B9ACA00 & 0xFFFF)
/* 082834 80081C34 00004025 */ move $t0, $zero
/* 082838 80081C38 2405000A */ li $a1, 10
/* 08283C 80081C3C 27A30038 */ addiu $v1, $sp, 0x38
/* 082840 80081C40 0230082A */ slt $at, $s1, $s0
.L80081C44:
/* 082844 80081C44 14200016 */ bnez $at, .L80081CA0
/* 082848 80081C48 00000000 */ nop
/* 08284C 80081C4C 0230001A */ div $zero, $s1, $s0
/* 082850 80081C50 26730001 */ addiu $s3, $s3, 1
/* 082854 80081C54 16000002 */ bnez $s0, .L80081C60
/* 082858 80081C58 00000000 */ nop
/* 08285C 80081C5C 0007000D */ break 7
.L80081C60:
/* 082860 80081C60 2401FFFF */ li $at, -1
/* 082864 80081C64 16010004 */ bne $s0, $at, .L80081C78
/* 082868 80081C68 3C018000 */ lui $at, 0x8000
/* 08286C 80081C6C 16210002 */ bne $s1, $at, .L80081C78
/* 082870 80081C70 00000000 */ nop
/* 082874 80081C74 0006000D */ break 6
.L80081C78:
/* 082878 80081C78 24630001 */ addiu $v1, $v1, 1
/* 08287C 80081C7C 24080001 */ li $t0, 1
/* 082880 80081C80 00001012 */ mflo $v0
/* 082884 80081C84 00402025 */ move $a0, $v0
/* 082888 80081C88 A062FFFF */ sb $v0, -1($v1)
/* 08288C 80081C8C 00500019 */ multu $v0, $s0
/* 082890 80081C90 00007012 */ mflo $t6
/* 082894 80081C94 022E8823 */ subu $s1, $s1, $t6
/* 082898 80081C98 10000006 */ b .L80081CB4
/* 08289C 80081C9C 00000000 */ nop
.L80081CA0:
/* 0828A0 80081CA0 11000004 */ beqz $t0, .L80081CB4
/* 0828A4 80081CA4 00000000 */ nop
/* 0828A8 80081CA8 A0600000 */ sb $zero, ($v1)
/* 0828AC 80081CAC 26730001 */ addiu $s3, $s3, 1
/* 0828B0 80081CB0 24630001 */ addiu $v1, $v1, 1
.L80081CB4:
/* 0828B4 80081CB4 0205001A */ div $zero, $s0, $a1
/* 0828B8 80081CB8 14A00002 */ bnez $a1, .L80081CC4
/* 0828BC 80081CBC 00000000 */ nop
/* 0828C0 80081CC0 0007000D */ break 7
.L80081CC4:
/* 0828C4 80081CC4 2401FFFF */ li $at, -1
/* 0828C8 80081CC8 14A10004 */ bne $a1, $at, .L80081CDC
/* 0828CC 80081CCC 3C018000 */ lui $at, 0x8000
/* 0828D0 80081CD0 16010002 */ bne $s0, $at, .L80081CDC
/* 0828D4 80081CD4 00000000 */ nop
/* 0828D8 80081CD8 0006000D */ break 6
.L80081CDC:
/* 0828DC 80081CDC 00008012 */ mflo $s0
/* 0828E0 80081CE0 2A01000A */ slti $at, $s0, 0xa
/* 0828E4 80081CE4 1020FFD7 */ beqz $at, .L80081C44
/* 0828E8 80081CE8 0230082A */ slt $at, $s1, $s0
/* 0828EC 80081CEC 8FA20080 */ lw $v0, 0x80($sp)
/* 0828F0 80081CF0 A0710000 */ sb $s1, ($v1)
/* 0828F4 80081CF4 304F0004 */ andi $t7, $v0, 4
/* 0828F8 80081CF8 11E00007 */ beqz $t7, .L80081D18
/* 0828FC 80081CFC 26730001 */ addiu $s3, $s3, 1
/* 082900 80081D00 0013C080 */ sll $t8, $s3, 2
/* 082904 80081D04 0313C023 */ subu $t8, $t8, $s3
/* 082908 80081D08 0018C080 */ sll $t8, $t8, 2
/* 08290C 80081D0C 0298A023 */ subu $s4, $s4, $t8
/* 082910 80081D10 1000000B */ b .L80081D40
/* 082914 80081D14 26940006 */ addiu $s4, $s4, 6
.L80081D18:
/* 082918 80081D18 30590001 */ andi $t9, $v0, 1
/* 08291C 80081D1C 13200007 */ beqz $t9, .L80081D3C
/* 082920 80081D20 00134880 */ sll $t1, $s3, 2
/* 082924 80081D24 01334823 */ subu $t1, $t1, $s3
/* 082928 80081D28 00094880 */ sll $t1, $t1, 2
/* 08292C 80081D2C 01334823 */ subu $t1, $t1, $s3
/* 082930 80081D30 00095043 */ sra $t2, $t1, 1
/* 082934 80081D34 10000002 */ b .L80081D40
/* 082938 80081D38 028AA023 */ subu $s4, $s4, $t2
.L80081D3C:
/* 08293C 80081D3C 26940006 */ addiu $s4, $s4, 6
.L80081D40:
/* 082940 80081D40 304B0008 */ andi $t3, $v0, 8
/* 082944 80081D44 11600003 */ beqz $t3, .L80081D54
/* 082948 80081D48 3C01800E */ lui $at, %hi(sMenuGuiColourR) # $at, 0x800e
/* 08294C 80081D4C 10000005 */ b .L80081D64
/* 082950 80081D50 24C60007 */ addiu $a2, $a2, 7
.L80081D54:
/* 082954 80081D54 304C0010 */ andi $t4, $v0, 0x10
/* 082958 80081D58 11800003 */ beqz $t4, .L80081D68
/* 08295C 80081D5C 8FAD0070 */ lw $t5, 0x70($sp)
/* 082960 80081D60 24C6FFF9 */ addiu $a2, $a2, -7
.L80081D64:
/* 082964 80081D64 8FAD0070 */ lw $t5, 0x70($sp)
.L80081D68:
/* 082968 80081D68 A027F4A4 */ sb $a3, %lo(sMenuGuiColourR)($at)
/* 08296C 80081D6C 3C01800E */ lui $at, %hi(sMenuGuiColourG) # $at, 0x800e
/* 082970 80081D70 8FAE0074 */ lw $t6, 0x74($sp)
/* 082974 80081D74 A02DF4A8 */ sb $t5, %lo(sMenuGuiColourG)($at)
/* 082978 80081D78 3C01800E */ lui $at, %hi(sMenuGuiColourB) # $at, 0x800e
/* 08297C 80081D7C 8FAF0078 */ lw $t7, 0x78($sp)
/* 082980 80081D80 A02EF4AC */ sb $t6, %lo(sMenuGuiColourB)($at)
/* 082984 80081D84 3C01800E */ lui $at, %hi(sMenuGuiOpacity) # $at, 0x800e
/* 082988 80081D88 00002025 */ move $a0, $zero
/* 08298C 80081D8C AFA60068 */ sw $a2, 0x68($sp)
/* 082990 80081D90 0C01EFC7 */ jal sprite_opaque
/* 082994 80081D94 AC2FF764 */ sw $t7, %lo(sMenuGuiOpacity)($at)
/* 082998 80081D98 0C01A142 */ jal func_80068508
/* 08299C 80081D9C 24040001 */ li $a0, 1
/* 0829A0 80081DA0 8FA60068 */ lw $a2, 0x68($sp)
/* 0829A4 80081DA4 3C12800E */ lui $s2, %hi(gMenuImageStack) # $s2, 0x800e
/* 0829A8 80081DA8 44862000 */ mtc1 $a2, $f4
/* 0829AC 80081DAC 2652F75C */ addiu $s2, %lo(gMenuImageStack) # addiu $s2, $s2, -0x8a4
/* 0829B0 80081DB0 468021A0 */ cvt.s.w $f6, $f4
/* 0829B4 80081DB4 8E580000 */ lw $t8, ($s2)
/* 0829B8 80081DB8 00008025 */ move $s0, $zero
/* 0829BC 80081DBC 1A60000F */ blez $s3, .L80081DFC
/* 0829C0 80081DC0 E7060010 */ swc1 $f6, 0x10($t8)
/* 0829C4 80081DC4 27B10038 */ addiu $s1, $sp, 0x38
.L80081DC8:
/* 0829C8 80081DC8 44944000 */ mtc1 $s4, $f8
/* 0829CC 80081DCC 8E590000 */ lw $t9, ($s2)
/* 0829D0 80081DD0 468042A0 */ cvt.s.w $f10, $f8
/* 0829D4 80081DD4 00002025 */ move $a0, $zero
/* 0829D8 80081DD8 E72A000C */ swc1 $f10, 0xc($t9)
/* 0829DC 80081DDC 8E4A0000 */ lw $t2, ($s2)
/* 0829E0 80081DE0 92290000 */ lbu $t1, ($s1)
/* 0829E4 80081DE4 0C027298 */ jal func_8009CA60
/* 0829E8 80081DE8 A5490018 */ sh $t1, 0x18($t2)
/* 0829EC 80081DEC 26100001 */ addiu $s0, $s0, 0x1
/* 0829F0 80081DF0 26310001 */ addiu $s1, $s1, 1
/* 0829F4 80081DF4 1613FFF4 */ bne $s0, $s3, .L80081DC8
/* 0829F8 80081DF8 2694000C */ addiu $s4, $s4, 0xc
.L80081DFC:
/* 0829FC 80081DFC 0C01EFC7 */ jal sprite_opaque
/* 082A00 80081E00 24040001 */ li $a0, 1
/* 082A04 80081E04 0C01A142 */ jal func_80068508
/* 082A08 80081E08 00002025 */ move $a0, $zero
/* 082A0C 80081E0C 240200FF */ li $v0, 255
/* 082A10 80081E10 3C01800E */ lui $at, %hi(sMenuGuiColourR) # $at, 0x800e
/* 082A14 80081E14 A022F4A4 */ sb $v0, %lo(sMenuGuiColourR)($at)
/* 082A18 80081E18 3C01800E */ lui $at, %hi(sMenuGuiColourG) # $at, 0x800e
/* 082A1C 80081E1C A022F4A8 */ sb $v0, %lo(sMenuGuiColourG)($at)
/* 082A20 80081E20 3C01800E */ lui $at, %hi(sMenuGuiColourB) # $at, 0x800e
/* 082A24 80081E24 8FBF002C */ lw $ra, 0x2c($sp)
/* 082A28 80081E28 A022F4AC */ sb $v0, %lo(sMenuGuiColourB)($at)
/* 082A2C 80081E2C 3C01800E */ lui $at, %hi(sMenuGuiOpacity) # $at, 0x800e
/* 082A30 80081E30 240B00FF */ li $t3, 255
/* 082A34 80081E34 8FB00018 */ lw $s0, 0x18($sp)
/* 082A38 80081E38 8FB1001C */ lw $s1, 0x1c($sp)
/* 082A3C 80081E3C 8FB20020 */ lw $s2, 0x20($sp)
/* 082A40 80081E40 8FB30024 */ lw $s3, 0x24($sp)
/* 082A44 80081E44 8FB40028 */ lw $s4, 0x28($sp)
/* 082A48 80081E48 AC2BF764 */ sw $t3, %lo(sMenuGuiOpacity)($at)
/* 082A4C 80081E4C 03E00008 */ jr $ra
/* 082A50 80081E50 27BD0060 */ addiu $sp, $sp, 0x60
-176
View File
@@ -1,176 +0,0 @@
glabel func_8008E4EC
/* 08F0EC 8008E4EC 27BDFF88 */ addiu $sp, $sp, -0x78
/* 08F0F0 8008E4F0 3C0E8012 */ lui $t6, %hi(gIgnorePlayerInputTime) # $t6, 0x8012
/* 08F0F4 8008E4F4 8DCE63C4 */ lw $t6, %lo(gIgnorePlayerInputTime)($t6)
/* 08F0F8 8008E4F8 AFBF003C */ sw $ra, 0x3c($sp)
/* 08F0FC 8008E4FC AFBE0038 */ sw $fp, 0x38($sp)
/* 08F100 8008E500 AFB70034 */ sw $s7, 0x34($sp)
/* 08F104 8008E504 AFB60030 */ sw $s6, 0x30($sp)
/* 08F108 8008E508 AFB5002C */ sw $s5, 0x2c($sp)
/* 08F10C 8008E50C AFB40028 */ sw $s4, 0x28($sp)
/* 08F110 8008E510 AFB30024 */ sw $s3, 0x24($sp)
/* 08F114 8008E514 AFB20020 */ sw $s2, 0x20($sp)
/* 08F118 8008E518 AFB1001C */ sw $s1, 0x1c($sp)
/* 08F11C 8008E51C 15C00067 */ bnez $t6, .L8008E6BC
/* 08F120 8008E520 AFB00018 */ sw $s0, 0x18($sp)
/* 08F124 8008E524 3C128012 */ lui $s2, %hi(D_80126818) # $s2, 0x8012
/* 08F128 8008E528 3C118012 */ lui $s1, %hi(D_80126830) # $s1, 0x8012
/* 08F12C 8008E52C 3C028012 */ lui $v0, %hi(D_8012683A) # $v0, 0x8012
/* 08F130 8008E530 2442683A */ addiu $v0, %lo(D_8012683A) # addiu $v0, $v0, 0x683a
/* 08F134 8008E534 26316830 */ addiu $s1, %lo(D_80126830) # addiu $s1, $s1, 0x6830
/* 08F138 8008E538 26526818 */ addiu $s2, %lo(D_80126818) # addiu $s2, $s2, 0x6818
/* 08F13C 8008E53C 27B00060 */ addiu $s0, $sp, 0x60
.L8008E540:
/* 08F140 8008E540 26310002 */ addiu $s1, $s1, 2
/* 08F144 8008E544 0222082B */ sltu $at, $s1, $v0
/* 08F148 8008E548 26100004 */ addiu $s0, $s0, 4
/* 08F14C 8008E54C 26520002 */ addiu $s2, $s2, 2
/* 08F150 8008E550 AE00FFFC */ sw $zero, -4($s0)
/* 08F154 8008E554 A640FFFE */ sh $zero, -2($s2)
/* 08F158 8008E558 1420FFF9 */ bnez $at, .L8008E540
/* 08F15C 8008E55C A620FFFE */ sh $zero, -2($s1)
/* 08F160 8008E560 3C128012 */ lui $s2, %hi(D_80126818) # $s2, 0x8012
/* 08F164 8008E564 3C118012 */ lui $s1, %hi(D_80126830) # $s1, 0x8012
/* 08F168 8008E568 3C148012 */ lui $s4, %hi(gControllersXAxisDirection) # $s4, 0x8012
/* 08F16C 8008E56C 3C158012 */ lui $s5, %hi(gControllersYAxisDirection) # $s5, 0x8012
/* 08F170 8008E570 3C1E800E */ lui $fp, %hi(gNumberOfActivePlayers) # $fp, 0x800e
/* 08F174 8008E574 3C178012 */ lui $s7, %hi(D_80126830) # $s7, 0x8012
/* 08F178 8008E578 3C168012 */ lui $s6, %hi(D_80126818) # $s6, 0x8012
/* 08F17C 8008E57C 26D66818 */ addiu $s6, %lo(D_80126818) # addiu $s6, $s6, 0x6818
/* 08F180 8008E580 26F76830 */ addiu $s7, %lo(D_80126830) # addiu $s7, $s7, 0x6830
/* 08F184 8008E584 27DEF4BC */ addiu $fp, %lo(gNumberOfActivePlayers) # addiu $fp, $fp, -0xb44
/* 08F188 8008E588 26B56464 */ addiu $s5, %lo(gControllersYAxisDirection) # addiu $s5, $s5, 0x6464
/* 08F18C 8008E58C 2694645C */ addiu $s4, %lo(gControllersXAxisDirection) # addiu $s4, $s4, 0x645c
/* 08F190 8008E590 26316830 */ addiu $s1, %lo(D_80126830) # addiu $s1, $s1, 0x6830
/* 08F194 8008E594 26526818 */ addiu $s2, %lo(D_80126818) # addiu $s2, $s2, 0x6818
/* 08F198 8008E598 00009825 */ move $s3, $zero
/* 08F19C 8008E59C 27B00060 */ addiu $s0, $sp, 0x60
.L8008E5A0:
/* 08F1A0 8008E5A0 0C01A94A */ jal get_buttons_held_from_player
/* 08F1A4 8008E5A4 02602025 */ move $a0, $s3
/* 08F1A8 8008E5A8 8FCF0000 */ lw $t7, ($fp)
/* 08F1AC 8008E5AC 82830000 */ lb $v1, ($s4)
/* 08F1B0 8008E5B0 82A40000 */ lb $a0, ($s5)
/* 08F1B4 8008E5B4 026F082A */ slt $at, $s3, $t7
/* 08F1B8 8008E5B8 AE020000 */ sw $v0, ($s0)
/* 08F1BC 8008E5BC A6430000 */ sh $v1, ($s2)
/* 08F1C0 8008E5C0 1020000A */ beqz $at, .L8008E5EC
/* 08F1C4 8008E5C4 A6240000 */ sh $a0, ($s1)
/* 08F1C8 8008E5C8 8FB80070 */ lw $t8, 0x70($sp)
/* 08F1CC 8008E5CC 86CA0008 */ lh $t2, 8($s6)
/* 08F1D0 8008E5D0 86EC0008 */ lh $t4, 8($s7)
/* 08F1D4 8008E5D4 03024825 */ or $t1, $t8, $v0
/* 08F1D8 8008E5D8 01435821 */ addu $t3, $t2, $v1
/* 08F1DC 8008E5DC 01846821 */ addu $t5, $t4, $a0
/* 08F1E0 8008E5E0 AFA90070 */ sw $t1, 0x70($sp)
/* 08F1E4 8008E5E4 A6CB0008 */ sh $t3, 8($s6)
/* 08F1E8 8008E5E8 A6ED0008 */ sh $t5, 8($s7)
.L8008E5EC:
/* 08F1EC 8008E5EC 26730001 */ addiu $s3, $s3, 1
/* 08F1F0 8008E5F0 2A610004 */ slti $at, $s3, 4
/* 08F1F4 8008E5F4 26100004 */ addiu $s0, $s0, 4
/* 08F1F8 8008E5F8 26520002 */ addiu $s2, $s2, 2
/* 08F1FC 8008E5FC 26310002 */ addiu $s1, $s1, 2
/* 08F200 8008E600 26940001 */ addiu $s4, $s4, 1
/* 08F204 8008E604 1420FFE6 */ bnez $at, .L8008E5A0
/* 08F208 8008E608 26B50001 */ addiu $s5, $s5, 1
/* 08F20C 8008E60C 3C0E8012 */ lui $t6, %hi(D_801267F0) # $t6, 0x8012
/* 08F210 8008E610 8DCE67F0 */ lw $t6, %lo(D_801267F0)($t6)
/* 08F214 8008E614 8FA20060 */ lw $v0, 0x60($sp)
/* 08F218 8008E618 01C07827 */ not $t7, $t6
/* 08F21C 8008E61C 3C018012 */ lui $at, %hi(D_801267D8) # $at, 0x8012
/* 08F220 8008E620 01E2C024 */ and $t8, $t7, $v0
/* 08F224 8008E624 AC3867D8 */ sw $t8, %lo(D_801267D8)($at)
/* 08F228 8008E628 3C018012 */ lui $at, %hi(D_801267F0) # $at, 0x8012
/* 08F22C 8008E62C AC2267F0 */ sw $v0, %lo(D_801267F0)($at)
/* 08F230 8008E630 24130001 */ li $s3, 1
/* 08F234 8008E634 3C098012 */ lui $t1, %hi(D_801267F0) # $t1, 0x8012
/* 08F238 8008E638 252967F0 */ addiu $t1, %lo(D_801267F0) # addiu $t1, $t1, 0x67f0
/* 08F23C 8008E63C 00132080 */ sll $a0, $s3, 2
/* 08F240 8008E640 00891021 */ addu $v0, $a0, $t1
/* 08F244 8008E644 8C4B0000 */ lw $t3, ($v0)
/* 08F248 8008E648 27AA0060 */ addiu $t2, $sp, 0x60
/* 08F24C 8008E64C 008A8021 */ addu $s0, $a0, $t2
/* 08F250 8008E650 3C198012 */ lui $t9, %hi(D_801267D8) # $t9, 0x8012
/* 08F254 8008E654 8E050000 */ lw $a1, ($s0)
/* 08F258 8008E658 273967D8 */ addiu $t9, %lo(D_801267D8) # addiu $t9, $t9, 0x67d8
/* 08F25C 8008E65C 01606027 */ not $t4, $t3
/* 08F260 8008E660 00991821 */ addu $v1, $a0, $t9
/* 08F264 8008E664 8C590008 */ lw $t9, 8($v0)
/* 08F268 8008E668 8C4B000C */ lw $t3, 0xc($v0)
/* 08F26C 8008E66C 8C4E0004 */ lw $t6, 4($v0)
/* 08F270 8008E670 01856824 */ and $t5, $t4, $a1
/* 08F274 8008E674 8E060004 */ lw $a2, 4($s0)
/* 08F278 8008E678 8E070008 */ lw $a3, 8($s0)
/* 08F27C 8008E67C 8E08000C */ lw $t0, 0xc($s0)
/* 08F280 8008E680 AC6D0000 */ sw $t5, ($v1)
/* 08F284 8008E684 03204827 */ not $t1, $t9
/* 08F288 8008E688 01606027 */ not $t4, $t3
/* 08F28C 8008E68C 01C07827 */ not $t7, $t6
/* 08F290 8008E690 01E6C024 */ and $t8, $t7, $a2
/* 08F294 8008E694 01275024 */ and $t2, $t1, $a3
/* 08F298 8008E698 01886824 */ and $t5, $t4, $t0
/* 08F29C 8008E69C AC6D000C */ sw $t5, 0xc($v1)
/* 08F2A0 8008E6A0 AC6A0008 */ sw $t2, 8($v1)
/* 08F2A4 8008E6A4 AC780004 */ sw $t8, 4($v1)
/* 08F2A8 8008E6A8 AC450000 */ sw $a1, ($v0)
/* 08F2AC 8008E6AC AC460004 */ sw $a2, 4($v0)
/* 08F2B0 8008E6B0 AC470008 */ sw $a3, 8($v0)
/* 08F2B4 8008E6B4 1000002A */ b .L8008E760
/* 08F2B8 8008E6B8 AC48000C */ sw $t0, 0xc($v0)
.L8008E6BC:
/* 08F2BC 8008E6BC 340ED000 */ li $t6, 53248
/* 08F2C0 8008E6C0 3C018012 */ lui $at, %hi(D_801267F0) # $at, 0x8012
/* 08F2C4 8008E6C4 AC2E67F0 */ sw $t6, %lo(D_801267F0)($at)
/* 08F2C8 8008E6C8 3C018012 */ lui $at, %hi(D_801267D8) # $at, 0x8012
/* 08F2CC 8008E6CC AC2067D8 */ sw $zero, %lo(D_801267D8)($at)
/* 08F2D0 8008E6D0 3C018012 */ lui $at, %hi(D_80126818) # $at, 0x8012
/* 08F2D4 8008E6D4 A4206818 */ sh $zero, %lo(D_80126818)($at)
/* 08F2D8 8008E6D8 3C018012 */ lui $at, %hi(D_80126830) # $at, 0x8012
/* 08F2DC 8008E6DC A4206830 */ sh $zero, %lo(D_80126830)($at)
/* 08F2E0 8008E6E0 24130001 */ li $s3, 1
/* 08F2E4 8008E6E4 3C168012 */ lui $s6, %hi(D_80126818) # $s6, 0x8012
/* 08F2E8 8008E6E8 3C178012 */ lui $s7, %hi(D_80126830) # $s7, 0x8012
/* 08F2EC 8008E6EC 00132080 */ sll $a0, $s3, 2
/* 08F2F0 8008E6F0 3C0F8012 */ lui $t7, %hi(D_801267F0) # $t7, 0x8012
/* 08F2F4 8008E6F4 3C188012 */ lui $t8, %hi(D_801267D8) # $t8, 0x8012
/* 08F2F8 8008E6F8 00132840 */ sll $a1, $s3, 1
/* 08F2FC 8008E6FC 26F76830 */ addiu $s7, %lo(D_80126830) # addiu $s7, $s7, 0x6830
/* 08F300 8008E700 26D66818 */ addiu $s6, %lo(D_80126818) # addiu $s6, $s6, 0x6818
/* 08F304 8008E704 25EF67F0 */ addiu $t7, %lo(D_801267F0) # addiu $t7, $t7, 0x67f0
/* 08F308 8008E708 271867D8 */ addiu $t8, %lo(D_801267D8) # addiu $t8, $t8, 0x67d8
/* 08F30C 8008E70C 3406D000 */ li $a2, 53248
/* 08F310 8008E710 008F1021 */ addu $v0, $a0, $t7
/* 08F314 8008E714 00981821 */ addu $v1, $a0, $t8
/* 08F318 8008E718 02C59021 */ addu $s2, $s6, $a1
/* 08F31C 8008E71C 02E58821 */ addu $s1, $s7, $a1
/* 08F320 8008E720 A6200002 */ sh $zero, 2($s1)
/* 08F324 8008E724 A6200004 */ sh $zero, 4($s1)
/* 08F328 8008E728 A6200006 */ sh $zero, 6($s1)
/* 08F32C 8008E72C A6400002 */ sh $zero, 2($s2)
/* 08F330 8008E730 A6400004 */ sh $zero, 4($s2)
/* 08F334 8008E734 A6400006 */ sh $zero, 6($s2)
/* 08F338 8008E738 AC600004 */ sw $zero, 4($v1)
/* 08F33C 8008E73C AC600008 */ sw $zero, 8($v1)
/* 08F340 8008E740 AC60000C */ sw $zero, 0xc($v1)
/* 08F344 8008E744 AC460004 */ sw $a2, 4($v0)
/* 08F348 8008E748 AC460008 */ sw $a2, 8($v0)
/* 08F34C 8008E74C AC46000C */ sw $a2, 0xc($v0)
/* 08F350 8008E750 AC460000 */ sw $a2, ($v0)
/* 08F354 8008E754 AC600000 */ sw $zero, ($v1)
/* 08F358 8008E758 A6400000 */ sh $zero, ($s2)
/* 08F35C 8008E75C A6200000 */ sh $zero, ($s1)
.L8008E760:
/* 08F360 8008E760 8FBF003C */ lw $ra, 0x3c($sp)
/* 08F364 8008E764 8FB00018 */ lw $s0, 0x18($sp)
/* 08F368 8008E768 8FB1001C */ lw $s1, 0x1c($sp)
/* 08F36C 8008E76C 8FB20020 */ lw $s2, 0x20($sp)
/* 08F370 8008E770 8FB30024 */ lw $s3, 0x24($sp)
/* 08F374 8008E774 8FB40028 */ lw $s4, 0x28($sp)
/* 08F378 8008E778 8FB5002C */ lw $s5, 0x2c($sp)
/* 08F37C 8008E77C 8FB60030 */ lw $s6, 0x30($sp)
/* 08F380 8008E780 8FB70034 */ lw $s7, 0x34($sp)
/* 08F384 8008E784 8FBE0038 */ lw $fp, 0x38($sp)
/* 08F388 8008E788 03E00008 */ jr $ra
/* 08F38C 8008E78C 27BD0078 */ addiu $sp, $sp, 0x78
+4 -4
View File
@@ -222,14 +222,14 @@ glabel L8009246C
.L800924AC:
/* 0930AC 800924AC 30784000 */ andi $t8, $v1, 0x4000
/* 0930B0 800924B0 13000006 */ beqz $t8, .L800924CC
/* 0930B4 800924B4 3C028012 */ lui $v0, %hi(D_80126838) # $v0, 0x8012
/* 0930B4 800924B4 3C028012 */ lui $v0, %hi(D_80126830 + 8) # $v0, 0x8012
/* 0930B8 800924B8 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e
/* 0930BC 800924BC 240E0001 */ li $t6, 1
/* 0930C0 800924C0 AC2DF47C */ sw $t5, %lo(gMenuDelay)($at)
/* 0930C4 800924C4 10000194 */ b .L80092B18
/* 0930C8 800924C8 AFAE003C */ sw $t6, 0x3c($sp)
.L800924CC:
/* 0930CC 800924CC 84426838 */ lh $v0, %lo(D_80126838)($v0)
/* 0930CC 800924CC 84426838 */ lh $v0, %lo(D_80126830 + 8)($v0)
/* 0930D0 800924D0 3C19800E */ lui $t9, %hi(D_800E0418) # $t9, 0x800e
/* 0930D4 800924D4 18400008 */ blez $v0, .L800924F8
/* 0930D8 800924D8 00000000 */ nop
@@ -516,7 +516,7 @@ glabel L8009287C
/* 0934CC 800928CC AFB90038 */ sw $t9, 0x38($sp)
.L800928D0:
/* 0934D0 800928D0 13000014 */ beqz $t8, .L80092924
/* 0934D4 800928D4 3C038012 */ lui $v1, %hi(D_80126820) # $v1, 0x8012
/* 0934D4 800928D4 3C038012 */ lui $v1, %hi(D_80126818 + 8) # $v1, 0x8012
/* 0934D8 800928D8 3C09800E */ lui $t1, %hi(gNumberOfReadyPlayers) # $t1, 0x800e
/* 0934DC 800928DC 2529F480 */ addiu $t1, %lo(gNumberOfReadyPlayers) # addiu $t1, $t1, -0xb80
/* 0934E0 800928E0 8D2E0000 */ lw $t6, ($t1)
@@ -539,7 +539,7 @@ glabel L8009287C
/* 09351C 8009291C 1000007E */ b .L80092B18
/* 093520 80092920 AFAE003C */ sw $t6, 0x3c($sp)
.L80092924:
/* 093524 80092924 84636820 */ lh $v1, %lo(D_80126820)($v1)
/* 093524 80092924 84636820 */ lh $v1, %lo(D_80126818 + 8)($v1)
/* 093528 80092928 3C04800E */ lui $a0, %hi(gMultiplayerSelectedNumberOfRacers) # $a0, 0x800e
/* 09352C 8009292C 04610008 */ bgez $v1, .L80092950
/* 093530 80092930 24840410 */ addiu $a0, %lo(gMultiplayerSelectedNumberOfRacers) # addiu $a0, $a0, 0x410
-208
View File
@@ -1,208 +0,0 @@
glabel func_8009CA60
/* 09D660 8009CA60 3C0B800E */ lui $t3, %hi(gMenuImageStack) # $t3, 0x800e
/* 09D664 8009CA64 256BF75C */ addiu $t3, %lo(gMenuImageStack) # addiu $t3, $t3, -0x8a4
/* 09D668 8009CA68 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 09D66C 8009CA6C 8D630000 */ lw $v1, ($t3)
/* 09D670 8009CA70 00044140 */ sll $t0, $a0, 5
/* 09D674 8009CA74 AFBF0024 */ sw $ra, 0x24($sp)
/* 09D678 8009CA78 AFB00020 */ sw $s0, 0x20($sp)
/* 09D67C 8009CA7C AFA40060 */ sw $a0, 0x60($sp)
/* 09D680 8009CA80 00687821 */ addu $t7, $v1, $t0
/* 09D684 8009CA84 85E50006 */ lh $a1, 6($t7)
/* 09D688 8009CA88 3C0A8012 */ lui $t2, %hi(gMenuTextures) # $t2, 0x8012
/* 09D68C 8009CA8C 0005C080 */ sll $t8, $a1, 2
/* 09D690 8009CA90 01585021 */ addu $t2, $t2, $t8
/* 09D694 8009CA94 8D4A6550 */ lw $t2, %lo(gMenuTextures)($t2)
/* 09D698 8009CA98 3C19800E */ lui $t9, %hi(gAssetsMenuElementIds) # $t9, 0x800e
/* 09D69C 8009CA9C 114000B4 */ beqz $t2, .L8009CD70
/* 09D6A0 8009CAA0 8FBF0024 */ lw $ra, 0x24($sp)
/* 09D6A4 8009CAA4 8F39F750 */ lw $t9, %lo(gAssetsMenuElementIds)($t9)
/* 09D6A8 8009CAA8 00056040 */ sll $t4, $a1, 1
/* 09D6AC 8009CAAC 032C6821 */ addu $t5, $t9, $t4
/* 09D6B0 8009CAB0 85A20000 */ lh $v0, ($t5)
/* 09D6B4 8009CAB4 3401C000 */ li $at, 49152
/* 09D6B8 8009CAB8 304EC000 */ andi $t6, $v0, 0xc000
/* 09D6BC 8009CABC 11C100AB */ beq $t6, $at, .L8009CD6C
/* 09D6C0 8009CAC0 304F4000 */ andi $t7, $v0, 0x4000
/* 09D6C4 8009CAC4 11E00027 */ beqz $t7, .L8009CB64
/* 09D6C8 8009CAC8 304D8000 */ andi $t5, $v0, 0x8000
/* 09D6CC 8009CACC 0004C940 */ sll $t9, $a0, 5
/* 09D6D0 8009CAD0 03231021 */ addu $v0, $t9, $v1
/* 09D6D4 8009CAD4 844C0000 */ lh $t4, ($v0)
/* 09D6D8 8009CAD8 3C0F800E */ lui $t7, %hi(D_800DF468) # $t7, 0x800e
/* 09D6DC 8009CADC A54C0000 */ sh $t4, ($t2)
/* 09D6E0 8009CAE0 844D0002 */ lh $t5, 2($v0)
/* 09D6E4 8009CAE4 3C108012 */ lui $s0, %hi(sMenuCurrDisplayList) # $s0, 0x8012
/* 09D6E8 8009CAE8 A54D0002 */ sh $t5, 2($t2)
/* 09D6EC 8009CAEC 844E0004 */ lh $t6, 4($v0)
/* 09D6F0 8009CAF0 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012
/* 09D6F4 8009CAF4 A54E0004 */ sh $t6, 4($t2)
/* 09D6F8 8009CAF8 C444000C */ lwc1 $f4, 0xc($v0)
/* 09D6FC 8009CAFC 3C068012 */ lui $a2, %hi(sMenuCurrHudVerts) # $a2, 0x8012
/* 09D700 8009CB00 E544000C */ swc1 $f4, 0xc($t2)
/* 09D704 8009CB04 C4460010 */ lwc1 $f6, 0x10($v0)
/* 09D708 8009CB08 01403825 */ move $a3, $t2
/* 09D70C 8009CB0C E5460010 */ swc1 $f6, 0x10($t2)
/* 09D710 8009CB10 C4480014 */ lwc1 $f8, 0x14($v0)
/* 09D714 8009CB14 260463A0 */ addiu $a0, $s0, %lo(sMenuCurrDisplayList)
/* 09D718 8009CB18 E5480014 */ swc1 $f8, 0x14($t2)
/* 09D71C 8009CB1C C44A0008 */ lwc1 $f10, 8($v0)
/* 09D720 8009CB20 3C0C800E */ lui $t4, %hi(sMenuGuiOpacity) # $t4, 0x800e
/* 09D724 8009CB24 E54A0008 */ swc1 $f10, 8($t2)
/* 09D728 8009CB28 8DEFF468 */ lw $t7, %lo(D_800DF468)($t7)
/* 09D72C 8009CB2C 24C663AC */ addiu $a2, %lo(sMenuCurrHudVerts) # addiu $a2, $a2, 0x63ac
/* 09D730 8009CB30 15E00007 */ bnez $t7, .L8009CB50
/* 09D734 8009CB34 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8
/* 09D738 8009CB38 8058001D */ lb $t8, 0x1d($v0)
/* 09D73C 8009CB3C 00000000 */ nop
/* 09D740 8009CB40 A5580018 */ sh $t8, 0x18($t2)
/* 09D744 8009CB44 84590018 */ lh $t9, 0x18($v0)
/* 09D748 8009CB48 00000000 */ nop
/* 09D74C 8009CB4C A159003A */ sb $t9, 0x3a($t2)
.L8009CB50:
/* 09D750 8009CB50 8D8CF764 */ lw $t4, %lo(sMenuGuiOpacity)($t4)
/* 09D754 8009CB54 0C004B57 */ jal render_object
/* 09D758 8009CB58 A0EC0039 */ sb $t4, 0x39($a3)
/* 09D75C 8009CB5C 10000084 */ b .L8009CD70
/* 09D760 8009CB60 8FBF0024 */ lw $ra, 0x24($sp)
.L8009CB64:
/* 09D764 8009CB64 11A00034 */ beqz $t5, .L8009CC38
/* 09D768 8009CB68 3C108012 */ lui $s0, %hi(sMenuCurrDisplayList) # $s0, 0x8012
/* 09D76C 8009CB6C 261063A0 */ addiu $s0, %lo(sMenuCurrDisplayList) # addiu $s0, $s0, 0x63a0
/* 09D770 8009CB70 8E020000 */ lw $v0, ($s0)
/* 09D774 8009CB74 3C0FFA00 */ lui $t7, 0xfa00
/* 09D778 8009CB78 244E0008 */ addiu $t6, $v0, 8
/* 09D77C 8009CB7C AE0E0000 */ sw $t6, ($s0)
/* 09D780 8009CB80 3C18800E */ lui $t8, %hi(sMenuGuiColourR) # $t8, 0x800e
/* 09D784 8009CB84 AC4F0000 */ sw $t7, ($v0)
/* 09D788 8009CB88 9319F4A4 */ lbu $t9, %lo(sMenuGuiColourR)($t8)
/* 09D78C 8009CB8C 3C0D800E */ lui $t5, %hi(sMenuGuiColourG) # $t5, 0x800e
/* 09D790 8009CB90 91AEF4A8 */ lbu $t6, %lo(sMenuGuiColourG)($t5)
/* 09D794 8009CB94 00196600 */ sll $t4, $t9, 0x18
/* 09D798 8009CB98 000E7C00 */ sll $t7, $t6, 0x10
/* 09D79C 8009CB9C 018FC025 */ or $t8, $t4, $t7
/* 09D7A0 8009CBA0 3C19800E */ lui $t9, %hi(sMenuGuiColourB) # $t9, 0x800e
/* 09D7A4 8009CBA4 932DF4AC */ lbu $t5, %lo(sMenuGuiColourB)($t9)
/* 09D7A8 8009CBA8 3C0F800E */ lui $t7, %hi(sMenuGuiOpacity) # $t7, 0x800e
/* 09D7AC 8009CBAC 8DEFF764 */ lw $t7, %lo(sMenuGuiOpacity)($t7)
/* 09D7B0 8009CBB0 000D7200 */ sll $t6, $t5, 8
/* 09D7B4 8009CBB4 030E6025 */ or $t4, $t8, $t6
/* 09D7B8 8009CBB8 31F900FF */ andi $t9, $t7, 0xff
/* 09D7BC 8009CBBC 01996825 */ or $t5, $t4, $t9
/* 09D7C0 8009CBC0 AC4D0004 */ sw $t5, 4($v0)
/* 09D7C4 8009CBC4 8E020000 */ lw $v0, ($s0)
/* 09D7C8 8009CBC8 240FFF00 */ li $t7, -256
/* 09D7CC 8009CBCC 24580008 */ addiu $t8, $v0, 8
/* 09D7D0 8009CBD0 AE180000 */ sw $t8, ($s0)
/* 09D7D4 8009CBD4 3C0EFB00 */ lui $t6, 0xfb00
/* 09D7D8 8009CBD8 AC4E0000 */ sw $t6, ($v0)
/* 09D7DC 8009CBDC AC4F0004 */ sw $t7, 4($v0)
/* 09D7E0 8009CBE0 8FAC0060 */ lw $t4, 0x60($sp)
/* 09D7E4 8009CBE4 3C18800E */ lui $t8, %hi(D_800DF4B4) # $t8, 0x800e
/* 09D7E8 8009CBE8 8F18F4B4 */ lw $t8, %lo(D_800DF4B4)($t8)
/* 09D7EC 8009CBEC 8D6D0000 */ lw $t5, ($t3)
/* 09D7F0 8009CBF0 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012
/* 09D7F4 8009CBF4 3C068012 */ lui $a2, %hi(sMenuCurrHudVerts) # $a2, 0x8012
/* 09D7F8 8009CBF8 000CC940 */ sll $t9, $t4, 5
/* 09D7FC 8009CBFC 24C663AC */ addiu $a2, %lo(sMenuCurrHudVerts) # addiu $a2, $a2, 0x63ac
/* 09D800 8009CC00 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8
/* 09D804 8009CC04 AFAA0010 */ sw $t2, 0x10($sp)
/* 09D808 8009CC08 02002025 */ move $a0, $s0
/* 09D80C 8009CC0C AFB80014 */ sw $t8, 0x14($sp)
/* 09D810 8009CC10 0C01A2FD */ jal render_ortho_triangle_image
/* 09D814 8009CC14 032D3821 */ addu $a3, $t9, $t5
/* 09D818 8009CC18 8E020000 */ lw $v0, ($s0)
/* 09D81C 8009CC1C 3C0FFA00 */ lui $t7, 0xfa00
/* 09D820 8009CC20 244E0008 */ addiu $t6, $v0, 8
/* 09D824 8009CC24 AE0E0000 */ sw $t6, ($s0)
/* 09D828 8009CC28 240CFFFF */ li $t4, -1
/* 09D82C 8009CC2C AC4C0004 */ sw $t4, 4($v0)
/* 09D830 8009CC30 1000004E */ b .L8009CD6C
/* 09D834 8009CC34 AC4F0000 */ sw $t7, ($v0)
.L8009CC38:
/* 09D838 8009CC38 3C09800E */ lui $t1, %hi(sMenuGuiOpacity) # $t1, 0x800e
/* 09D83C 8009CC3C 2529F764 */ addiu $t1, %lo(sMenuGuiOpacity) # addiu $t1, $t1, -0x89c
/* 09D840 8009CC40 8D390000 */ lw $t9, ($t1)
/* 09D844 8009CC44 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012
/* 09D848 8009CC48 2B2100FF */ slti $at, $t9, 0xff
/* 09D84C 8009CC4C 1020000E */ beqz $at, .L8009CC88
/* 09D850 8009CC50 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8
/* 09D854 8009CC54 3C108012 */ lui $s0, %hi(sMenuCurrDisplayList) # $s0, 0x8012
/* 09D858 8009CC58 261063A0 */ addiu $s0, %lo(sMenuCurrDisplayList) # addiu $s0, $s0, 0x63a0
/* 09D85C 8009CC5C 8E020000 */ lw $v0, ($s0)
/* 09D860 8009CC60 3C18FA00 */ lui $t8, 0xfa00
/* 09D864 8009CC64 244D0008 */ addiu $t5, $v0, 8
/* 09D868 8009CC68 AE0D0000 */ sw $t5, ($s0)
/* 09D86C 8009CC6C AC580000 */ sw $t8, ($v0)
/* 09D870 8009CC70 8D2E0000 */ lw $t6, ($t1)
/* 09D874 8009CC74 2401FF00 */ li $at, -256
/* 09D878 8009CC78 31CF00FF */ andi $t7, $t6, 0xff
/* 09D87C 8009CC7C 01E16025 */ or $t4, $t7, $at
/* 09D880 8009CC80 1000000A */ b .L8009CCAC
/* 09D884 8009CC84 AC4C0004 */ sw $t4, 4($v0)
.L8009CC88:
/* 09D888 8009CC88 3C108012 */ lui $s0, %hi(sMenuCurrDisplayList) # $s0, 0x8012
/* 09D88C 8009CC8C 261063A0 */ addiu $s0, %lo(sMenuCurrDisplayList) # addiu $s0, $s0, 0x63a0
/* 09D890 8009CC90 8E020000 */ lw $v0, ($s0)
/* 09D894 8009CC94 3C0DFA00 */ lui $t5, 0xfa00
/* 09D898 8009CC98 24590008 */ addiu $t9, $v0, 8
/* 09D89C 8009CC9C AE190000 */ sw $t9, ($s0)
/* 09D8A0 8009CCA0 2418FFFF */ li $t8, -1
/* 09D8A4 8009CCA4 AC580004 */ sw $t8, 4($v0)
/* 09D8A8 8009CCA8 AC4D0000 */ sw $t5, ($v0)
.L8009CCAC:
/* 09D8AC 8009CCAC 8E020000 */ lw $v0, ($s0)
/* 09D8B0 8009CCB0 3C0FFB00 */ lui $t7, 0xfb00
/* 09D8B4 8009CCB4 244E0008 */ addiu $t6, $v0, 8
/* 09D8B8 8009CCB8 AE0E0000 */ sw $t6, ($s0)
/* 09D8BC 8009CCBC 240CFF00 */ li $t4, -256
/* 09D8C0 8009CCC0 AC4C0004 */ sw $t4, 4($v0)
/* 09D8C4 8009CCC4 AC4F0000 */ sw $t7, ($v0)
/* 09D8C8 8009CCC8 8FB90060 */ lw $t9, 0x60($sp)
/* 09D8CC 8009CCCC 8D780000 */ lw $t8, ($t3)
/* 09D8D0 8009CCD0 44808000 */ mtc1 $zero, $f16
/* 09D8D4 8009CCD4 3C07800E */ lui $a3, %hi(D_800DF454) # $a3, 0x800e
/* 09D8D8 8009CCD8 8CE7F454 */ lw $a3, %lo(D_800DF454)($a3)
/* 09D8DC 8009CCDC 00196940 */ sll $t5, $t9, 5
/* 09D8E0 8009CCE0 AFA8002C */ sw $t0, 0x2c($sp)
/* 09D8E4 8009CCE4 02002025 */ move $a0, $s0
/* 09D8E8 8009CCE8 01B83021 */ addu $a2, $t5, $t8
/* 09D8EC 8009CCEC 0C01A521 */ jal camera_push_model_mtx
/* 09D8F0 8009CCF0 E7B00010 */ swc1 $f16, 0x10($sp)
/* 09D8F4 8009CCF4 3C0B800E */ lui $t3, %hi(gMenuImageStack) # $t3, 0x800e
/* 09D8F8 8009CCF8 256BF75C */ addiu $t3, %lo(gMenuImageStack) # addiu $t3, $t3, -0x8a4
/* 09D8FC 8009CCFC 8FA8002C */ lw $t0, 0x2c($sp)
/* 09D900 8009CD00 8D6E0000 */ lw $t6, ($t3)
/* 09D904 8009CD04 3C028012 */ lui $v0, %hi(gMenuTextures) # $v0, 0x8012
/* 09D908 8009CD08 01C87821 */ addu $t7, $t6, $t0
/* 09D90C 8009CD0C 85EC0006 */ lh $t4, 6($t7)
/* 09D910 8009CD10 00000000 */ nop
/* 09D914 8009CD14 000CC880 */ sll $t9, $t4, 2
/* 09D918 8009CD18 00591021 */ addu $v0, $v0, $t9
/* 09D91C 8009CD1C 8C426550 */ lw $v0, %lo(gMenuTextures)($v0)
/* 09D920 8009CD20 00000000 */ nop
/* 09D924 8009CD24 8C440000 */ lw $a0, ($v0)
/* 09D928 8009CD28 0C02735F */ jal render_track_selection_viewport_border
/* 09D92C 8009CD2C 00000000 */ nop
/* 09D930 8009CD30 0C01A690 */ jal apply_matrix_from_stack
/* 09D934 8009CD34 02002025 */ move $a0, $s0
/* 09D938 8009CD38 3C0D800E */ lui $t5, %hi(sMenuGuiOpacity) # $t5, 0x800e
/* 09D93C 8009CD3C 8DADF764 */ lw $t5, %lo(sMenuGuiOpacity)($t5)
/* 09D940 8009CD40 00000000 */ nop
/* 09D944 8009CD44 29A100FF */ slti $at, $t5, 0xff
/* 09D948 8009CD48 10200009 */ beqz $at, .L8009CD70
/* 09D94C 8009CD4C 8FBF0024 */ lw $ra, 0x24($sp)
/* 09D950 8009CD50 8E020000 */ lw $v0, ($s0)
/* 09D954 8009CD54 3C0EFA00 */ lui $t6, 0xfa00
/* 09D958 8009CD58 24580008 */ addiu $t8, $v0, 8
/* 09D95C 8009CD5C AE180000 */ sw $t8, ($s0)
/* 09D960 8009CD60 240FFFFF */ li $t7, -1
/* 09D964 8009CD64 AC4F0004 */ sw $t7, 4($v0)
/* 09D968 8009CD68 AC4E0000 */ sw $t6, ($v0)
.L8009CD6C:
/* 09D96C 8009CD6C 8FBF0024 */ lw $ra, 0x24($sp)
.L8009CD70:
/* 09D970 8009CD70 8FB00020 */ lw $s0, 0x20($sp)
/* 09D974 8009CD74 03E00008 */ jr $ra
/* 09D978 8009CD78 27BD0060 */ addiu $sp, $sp, 0x60
@@ -1,168 +0,0 @@
glabel func_8005FCD0
/* 0608D0 8005FCD0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0608D4 8005FCD4 AFBF0014 */ sw $ra, 0x14($sp)
/* 0608D8 8005FCD8 848E0048 */ lh $t6, 0x48($a0)
/* 0608DC 8005FCDC 00803825 */ move $a3, $a0
/* 0608E0 8005FCE0 11C00026 */ beqz $t6, .L8005FD7C
/* 0608E4 8005FCE4 30AF0008 */ andi $t7, $a1, 8
/* 0608E8 8005FCE8 11E00024 */ beqz $t7, .L8005FD7C
/* 0608EC 8005FCEC 00000000 */ nop
/* 0608F0 8005FCF0 84860024 */ lh $a2, 0x24($a0)
/* 0608F4 8005FCF4 8488004A */ lh $t0, 0x4a($a0)
/* 0608F8 8005FCF8 0006C040 */ sll $t8, $a2, 1
/* 0608FC 8005FCFC 0018C880 */ sll $t9, $t8, 2
/* 060900 8005FD00 0338C821 */ addu $t9, $t9, $t8
/* 060904 8005FD04 00084880 */ sll $t1, $t0, 2
/* 060908 8005FD08 0019C840 */ sll $t9, $t9, 1
/* 06090C 8005FD0C 01284823 */ subu $t1, $t1, $t0
/* 060910 8005FD10 27260024 */ addiu $a2, $t9, 0x24
/* 060914 8005FD14 00094840 */ sll $t1, $t1, 1
/* 060918 8005FD18 01262021 */ addu $a0, $t1, $a2
/* 06091C 8005FD1C AFA6001C */ sw $a2, 0x1c($sp)
/* 060920 8005FD20 AFA70020 */ sw $a3, 0x20($sp)
/* 060924 8005FD24 0C01C344 */ jal allocate_from_main_pool
/* 060928 8005FD28 3405FFFF */ li $a1, 65535
/* 06092C 8005FD2C 8FA6001C */ lw $a2, 0x1c($sp)
/* 060930 8005FD30 8FA70020 */ lw $a3, 0x20($sp)
/* 060934 8005FD34 14400003 */ bnez $v0, .L8005FD44
/* 060938 8005FD38 00402825 */ move $a1, $v0
/* 06093C 8005FD3C 1000007C */ b .L8005FF30
/* 060940 8005FD40 00001025 */ move $v0, $zero
.L8005FD44:
/* 060944 8005FD44 244A0024 */ addiu $t2, $v0, 0x24
/* 060948 8005FD48 AC4A0004 */ sw $t2, 4($v0)
/* 06094C 8005FD4C 84EB0024 */ lh $t3, 0x24($a3)
/* 060950 8005FD50 00467821 */ addu $t7, $v0, $a2
/* 060954 8005FD54 000B6080 */ sll $t4, $t3, 2
/* 060958 8005FD58 018B6021 */ addu $t4, $t4, $t3
/* 06095C 8005FD5C 000C6040 */ sll $t4, $t4, 1
/* 060960 8005FD60 004C6821 */ addu $t5, $v0, $t4
/* 060964 8005FD64 25AE0024 */ addiu $t6, $t5, 0x24
/* 060968 8005FD68 24180002 */ li $t8, 2
/* 06096C 8005FD6C AC4E0008 */ sw $t6, 8($v0)
/* 060970 8005FD70 AC4F000C */ sw $t7, 0xc($v0)
/* 060974 8005FD74 10000029 */ b .L8005FE1C
/* 060978 8005FD78 A058001E */ sb $t8, 0x1e($v0)
.L8005FD7C:
/* 06097C 8005FD7C 8CF90040 */ lw $t9, 0x40($a3)
/* 060980 8005FD80 30A80001 */ andi $t0, $a1, 1
/* 060984 8005FD84 13200016 */ beqz $t9, .L8005FDE0
/* 060988 8005FD88 24040024 */ li $a0, 36
/* 06098C 8005FD8C 11000014 */ beqz $t0, .L8005FDE0
/* 060990 8005FD90 3405FFFF */ li $a1, 65535
/* 060994 8005FD94 84E60024 */ lh $a2, 0x24($a3)
/* 060998 8005FD98 AFA70020 */ sw $a3, 0x20($sp)
/* 06099C 8005FD9C 00064880 */ sll $t1, $a2, 2
/* 0609A0 8005FDA0 01264821 */ addu $t1, $t1, $a2
/* 0609A4 8005FDA4 00094840 */ sll $t1, $t1, 1
/* 0609A8 8005FDA8 0C01C344 */ jal allocate_from_main_pool
/* 0609AC 8005FDAC 25240024 */ addiu $a0, $t1, 0x24
/* 0609B0 8005FDB0 8FA70020 */ lw $a3, 0x20($sp)
/* 0609B4 8005FDB4 14400003 */ bnez $v0, .L8005FDC4
/* 0609B8 8005FDB8 00402825 */ move $a1, $v0
/* 0609BC 8005FDBC 1000005C */ b .L8005FF30
/* 0609C0 8005FDC0 00001025 */ move $v0, $zero
.L8005FDC4:
/* 0609C4 8005FDC4 24430024 */ addiu $v1, $v0, 0x24
/* 0609C8 8005FDC8 240A0001 */ li $t2, 1
/* 0609CC 8005FDCC AC430004 */ sw $v1, 4($v0)
/* 0609D0 8005FDD0 AC430008 */ sw $v1, 8($v0)
/* 0609D4 8005FDD4 AC40000C */ sw $zero, 0xc($v0)
/* 0609D8 8005FDD8 10000010 */ b .L8005FE1C
/* 0609DC 8005FDDC A04A001E */ sb $t2, 0x1e($v0)
.L8005FDE0:
/* 0609E0 8005FDE0 3405FFFF */ li $a1, 65535
/* 0609E4 8005FDE4 0C01C344 */ jal allocate_from_main_pool
/* 0609E8 8005FDE8 AFA70020 */ sw $a3, 0x20($sp)
/* 0609EC 8005FDEC 8FA70020 */ lw $a3, 0x20($sp)
/* 0609F0 8005FDF0 14400003 */ bnez $v0, .L8005FE00
/* 0609F4 8005FDF4 00402825 */ move $a1, $v0
/* 0609F8 8005FDF8 1000004D */ b .L8005FF30
/* 0609FC 8005FDFC 00001025 */ move $v0, $zero
.L8005FE00:
/* 060A00 8005FE00 8CEB0004 */ lw $t3, 4($a3)
/* 060A04 8005FE04 00000000 */ nop
/* 060A08 8005FE08 AC4B0004 */ sw $t3, 4($v0)
/* 060A0C 8005FE0C 8CEC0004 */ lw $t4, 4($a3)
/* 060A10 8005FE10 AC40000C */ sw $zero, 0xc($v0)
/* 060A14 8005FE14 A040001E */ sb $zero, 0x1e($v0)
/* 060A18 8005FE18 AC4C0008 */ sw $t4, 8($v0)
.L8005FE1C:
/* 060A1C 8005FE1C 804D001E */ lb $t5, 0x1e($v0)
/* 060A20 8005FE20 2403FFFF */ li $v1, -1
/* 060A24 8005FE24 A4400016 */ sh $zero, 0x16($v0)
/* 060A28 8005FE28 A4400018 */ sh $zero, 0x18($v0)
/* 060A2C 8005FE2C A440001A */ sh $zero, 0x1a($v0)
/* 060A30 8005FE30 AC470000 */ sw $a3, ($v0)
/* 060A34 8005FE34 A4430010 */ sh $v1, 0x10($v0)
/* 060A38 8005FE38 A4430012 */ sh $v1, 0x12($v0)
/* 060A3C 8005FE3C 11A0003B */ beqz $t5, .L8005FF2C
/* 060A40 8005FE40 A040001F */ sb $zero, 0x1f($v0)
/* 060A44 8005FE44 8C430004 */ lw $v1, 4($v0)
/* 060A48 8005FE48 8CE40004 */ lw $a0, 4($a3)
/* 060A4C 8005FE4C 00003025 */ move $a2, $zero
.L8005FE50:
/* 060A50 8005FE50 848E0000 */ lh $t6, ($a0)
/* 060A54 8005FE54 24C60001 */ addiu $a2, $a2, 1
/* 060A58 8005FE58 A46E0000 */ sh $t6, ($v1)
/* 060A5C 8005FE5C 848F0002 */ lh $t7, 2($a0)
/* 060A60 8005FE60 2463000A */ addiu $v1, $v1, 0xa
/* 060A64 8005FE64 A46FFFF8 */ sh $t7, -8($v1)
/* 060A68 8005FE68 84980004 */ lh $t8, 4($a0)
/* 060A6C 8005FE6C 2484000A */ addiu $a0, $a0, 0xa
/* 060A70 8005FE70 A478FFFA */ sh $t8, -6($v1)
/* 060A74 8005FE74 9099FFFC */ lbu $t9, -4($a0)
/* 060A78 8005FE78 00000000 */ nop
/* 060A7C 8005FE7C A079FFFC */ sb $t9, -4($v1)
/* 060A80 8005FE80 9088FFFD */ lbu $t0, -3($a0)
/* 060A84 8005FE84 00000000 */ nop
/* 060A88 8005FE88 A068FFFD */ sb $t0, -3($v1)
/* 060A8C 8005FE8C 9089FFFE */ lbu $t1, -2($a0)
/* 060A90 8005FE90 00000000 */ nop
/* 060A94 8005FE94 A069FFFE */ sb $t1, -2($v1)
/* 060A98 8005FE98 908AFFFF */ lbu $t2, -1($a0)
/* 060A9C 8005FE9C 00000000 */ nop
/* 060AA0 8005FEA0 A06AFFFF */ sb $t2, -1($v1)
/* 060AA4 8005FEA4 84EB0024 */ lh $t3, 0x24($a3)
/* 060AA8 8005FEA8 00000000 */ nop
/* 060AAC 8005FEAC 00CB082A */ slt $at, $a2, $t3
/* 060AB0 8005FEB0 1420FFE7 */ bnez $at, .L8005FE50
/* 060AB4 8005FEB4 00000000 */ nop
/* 060AB8 8005FEB8 8C430008 */ lw $v1, 8($v0)
/* 060ABC 8005FEBC 8CE40004 */ lw $a0, 4($a3)
/* 060AC0 8005FEC0 00003025 */ move $a2, $zero
.L8005FEC4:
/* 060AC4 8005FEC4 848C0000 */ lh $t4, ($a0)
/* 060AC8 8005FEC8 24C60001 */ addiu $a2, $a2, 1
/* 060ACC 8005FECC A46C0000 */ sh $t4, ($v1)
/* 060AD0 8005FED0 848D0002 */ lh $t5, 2($a0)
/* 060AD4 8005FED4 2463000A */ addiu $v1, $v1, 0xa
/* 060AD8 8005FED8 A46DFFF8 */ sh $t5, -8($v1)
/* 060ADC 8005FEDC 848E0004 */ lh $t6, 4($a0)
/* 060AE0 8005FEE0 2484000A */ addiu $a0, $a0, 0xa
/* 060AE4 8005FEE4 A46EFFFA */ sh $t6, -6($v1)
/* 060AE8 8005FEE8 908FFFFC */ lbu $t7, -4($a0)
/* 060AEC 8005FEEC 00000000 */ nop
/* 060AF0 8005FEF0 A06FFFFC */ sb $t7, -4($v1)
/* 060AF4 8005FEF4 9098FFFD */ lbu $t8, -3($a0)
/* 060AF8 8005FEF8 00000000 */ nop
/* 060AFC 8005FEFC A078FFFD */ sb $t8, -3($v1)
/* 060B00 8005FF00 9099FFFE */ lbu $t9, -2($a0)
/* 060B04 8005FF04 00000000 */ nop
/* 060B08 8005FF08 A079FFFE */ sb $t9, -2($v1)
/* 060B0C 8005FF0C 9088FFFF */ lbu $t0, -1($a0)
/* 060B10 8005FF10 00000000 */ nop
/* 060B14 8005FF14 A068FFFF */ sb $t0, -1($v1)
/* 060B18 8005FF18 84E90024 */ lh $t1, 0x24($a3)
/* 060B1C 8005FF1C 00000000 */ nop
/* 060B20 8005FF20 00C9082A */ slt $at, $a2, $t1
/* 060B24 8005FF24 1420FFE7 */ bnez $at, .L8005FEC4
/* 060B28 8005FF28 00000000 */ nop
.L8005FF2C:
/* 060B2C 8005FF2C 00A01025 */ move $v0, $a1
.L8005FF30:
/* 060B30 8005FF30 8FBF0014 */ lw $ra, 0x14($sp)
/* 060B34 8005FF34 27BD0020 */ addiu $sp, $sp, 0x20
/* 060B38 8005FF38 03E00008 */ jr $ra
/* 060B3C 8005FF3C 00000000 */ nop
@@ -1,78 +0,0 @@
glabel func_8005FF40
/* 060B40 8005FF40 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 060B44 8005FF44 AFBF0014 */ sw $ra, 0x14($sp)
/* 060B48 8005FF48 1080003F */ beqz $a0, .L80060048
/* 060B4C 8005FF4C 00803825 */ move $a3, $a0
/* 060B50 8005FF50 8C850000 */ lw $a1, ($a0)
/* 060B54 8005FF54 3C038012 */ lui $v1, %hi(D_8011D62C) # $v1, 0x8012
/* 060B58 8005FF58 84AE0030 */ lh $t6, 0x30($a1)
/* 060B5C 8005FF5C 2408FFFF */ li $t0, -1
/* 060B60 8005FF60 25CFFFFF */ addiu $t7, $t6, -1
/* 060B64 8005FF64 A4AF0030 */ sh $t7, 0x30($a1)
/* 060B68 8005FF68 84B80030 */ lh $t8, 0x30($a1)
/* 060B6C 8005FF6C 00000000 */ nop
/* 060B70 8005FF70 1B000005 */ blez $t8, .L8005FF88
/* 060B74 8005FF74 00000000 */ nop
/* 060B78 8005FF78 0C01C450 */ jal free_from_memory_pool
/* 060B7C 8005FF7C 00000000 */ nop
/* 060B80 8005FF80 10000032 */ b .L8006004C
/* 060B84 8005FF84 8FBF0014 */ lw $ra, 0x14($sp)
.L8005FF88:
/* 060B88 8005FF88 8C63D62C */ lw $v1, %lo(D_8011D62C)($v1)
/* 060B8C 8005FF8C 2406FFFF */ li $a2, -1
/* 060B90 8005FF90 1860000F */ blez $v1, .L8005FFD0
/* 060B94 8005FF94 00001025 */ move $v0, $zero
/* 060B98 8005FF98 3C048012 */ lui $a0, %hi(D_8011D624) # $a0, 0x8012
/* 060B9C 8005FF9C 8C84D624 */ lw $a0, %lo(D_8011D624)($a0)
/* 060BA0 8005FFA0 00000000 */ nop
/* 060BA4 8005FFA4 000248C0 */ sll $t1, $v0, 3
.L8005FFA8:
/* 060BA8 8005FFA8 00895021 */ addu $t2, $a0, $t1
/* 060BAC 8005FFAC 8D4B0004 */ lw $t3, 4($t2)
/* 060BB0 8005FFB0 00000000 */ nop
/* 060BB4 8005FFB4 14AB0002 */ bne $a1, $t3, .L8005FFC0
/* 060BB8 8005FFB8 00000000 */ nop
/* 060BBC 8005FFBC 00403025 */ move $a2, $v0
.L8005FFC0:
/* 060BC0 8005FFC0 24420001 */ addiu $v0, $v0, 1
/* 060BC4 8005FFC4 0043082A */ slt $at, $v0, $v1
/* 060BC8 8005FFC8 1420FFF7 */ bnez $at, .L8005FFA8
/* 060BCC 8005FFCC 000248C0 */ sll $t1, $v0, 3
.L8005FFD0:
/* 060BD0 8005FFD0 10C8001D */ beq $a2, $t0, .L80060048
/* 060BD4 8005FFD4 00A02025 */ move $a0, $a1
/* 060BD8 8005FFD8 AFA60018 */ sw $a2, 0x18($sp)
/* 060BDC 8005FFDC 0C018016 */ jal free_object_model
/* 060BE0 8005FFE0 AFA70020 */ sw $a3, 0x20($sp)
/* 060BE4 8005FFE4 3C038012 */ lui $v1, %hi(D_8011D634) # $v1, 0x8012
/* 060BE8 8005FFE8 2463D634 */ addiu $v1, %lo(D_8011D634) # addiu $v1, $v1, -0x29cc
/* 060BEC 8005FFEC 8C6D0000 */ lw $t5, ($v1)
/* 060BF0 8005FFF0 3C0C8012 */ lui $t4, %hi(D_8011D628) # $t4, 0x8012
/* 060BF4 8005FFF4 8D8CD628 */ lw $t4, %lo(D_8011D628)($t4)
/* 060BF8 8005FFF8 8FA20018 */ lw $v0, 0x18($sp)
/* 060BFC 8005FFFC 000D7080 */ sll $t6, $t5, 2
/* 060C00 80060000 8FA40020 */ lw $a0, 0x20($sp)
/* 060C04 80060004 018E7821 */ addu $t7, $t4, $t6
/* 060C08 80060008 3C058012 */ lui $a1, %hi(D_8011D624) # $a1, 0x8012
/* 060C0C 8006000C ADE20000 */ sw $v0, ($t7)
/* 060C10 80060010 8C780000 */ lw $t8, ($v1)
/* 060C14 80060014 24A5D624 */ addiu $a1, %lo(D_8011D624) # addiu $a1, $a1, -0x29dc
/* 060C18 80060018 8CAA0000 */ lw $t2, ($a1)
/* 060C1C 8006001C 000248C0 */ sll $t1, $v0, 3
/* 060C20 80060020 27190001 */ addiu $t9, $t8, 1
/* 060C24 80060024 2408FFFF */ li $t0, -1
/* 060C28 80060028 AC790000 */ sw $t9, ($v1)
/* 060C2C 8006002C 01495821 */ addu $t3, $t2, $t1
/* 060C30 80060030 AD680000 */ sw $t0, ($t3)
/* 060C34 80060034 8CAD0000 */ lw $t5, ($a1)
/* 060C38 80060038 00000000 */ nop
/* 060C3C 8006003C 01A96021 */ addu $t4, $t5, $t1
/* 060C40 80060040 0C01C450 */ jal free_from_memory_pool
/* 060C44 80060044 AD880004 */ sw $t0, 4($t4)
.L80060048:
/* 060C48 80060048 8FBF0014 */ lw $ra, 0x14($sp)
.L8006004C:
/* 060C4C 8006004C 27BD0020 */ addiu $sp, $sp, 0x20
/* 060C50 80060050 03E00008 */ jr $ra
/* 060C54 80060054 00000000 */ nop
@@ -1,142 +0,0 @@
glabel func_80061A00
/* 062600 80061A00 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 062604 80061A04 3C0E8012 */ lui $t6, %hi(gAnimationTable) # $t6, 0x8012
/* 062608 80061A08 8DCED638 */ lw $t6, %lo(gAnimationTable)($t6)
/* 06260C 80061A0C 00057840 */ sll $t7, $a1, 1
/* 062610 80061A10 AFBF003C */ sw $ra, 0x3c($sp)
/* 062614 80061A14 AFBE0038 */ sw $fp, 0x38($sp)
/* 062618 80061A18 AFB70034 */ sw $s7, 0x34($sp)
/* 06261C 80061A1C AFB60030 */ sw $s6, 0x30($sp)
/* 062620 80061A20 AFB5002C */ sw $s5, 0x2c($sp)
/* 062624 80061A24 AFB40028 */ sw $s4, 0x28($sp)
/* 062628 80061A28 AFB30024 */ sw $s3, 0x24($sp)
/* 06262C 80061A2C AFB20020 */ sw $s2, 0x20($sp)
/* 062630 80061A30 AFB1001C */ sw $s1, 0x1c($sp)
/* 062634 80061A34 AFB00018 */ sw $s0, 0x18($sp)
/* 062638 80061A38 01CF1021 */ addu $v0, $t6, $t7
/* 06263C 80061A3C 84500000 */ lh $s0, ($v0)
/* 062640 80061A40 84430002 */ lh $v1, 2($v0)
/* 062644 80061A44 0080A825 */ move $s5, $a0
/* 062648 80061A48 16030004 */ bne $s0, $v1, .L80061A5C
/* 06264C 80061A4C 3C028012 */ lui $v0, %hi(D_8011D640) # $v0, 0x8012
/* 062650 80061A50 A4800048 */ sh $zero, 0x48($a0)
/* 062654 80061A54 10000061 */ b .L80061BDC
/* 062658 80061A58 00001025 */ move $v0, $zero
.L80061A5C:
/* 06265C 80061A5C 8C42D640 */ lw $v0, %lo(D_8011D640)($v0)
/* 062660 80061A60 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00
/* 062664 80061A64 10400006 */ beqz $v0, .L80061A80
/* 062668 80061A68 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff
/* 06266C 80061A6C 02022021 */ addu $a0, $s0, $v0
/* 062670 80061A70 0083082A */ slt $at, $a0, $v1
/* 062674 80061A74 10200003 */ beqz $at, .L80061A84
/* 062678 80061A78 0070C023 */ subu $t8, $v1, $s0
/* 06267C 80061A7C 00801825 */ move $v1, $a0
.L80061A80:
/* 062680 80061A80 0070C023 */ subu $t8, $v1, $s0
.L80061A84:
/* 062684 80061A84 A6B80048 */ sh $t8, 0x48($s5)
/* 062688 80061A88 86A40048 */ lh $a0, 0x48($s5)
/* 06268C 80061A8C AFA30040 */ sw $v1, 0x40($sp)
/* 062690 80061A90 0004C8C0 */ sll $t9, $a0, 3
/* 062694 80061A94 0C01C344 */ jal allocate_from_main_pool
/* 062698 80061A98 03202025 */ move $a0, $t9
/* 06269C 80061A9C 14400003 */ bnez $v0, .L80061AAC
/* 0626A0 80061AA0 AEA20044 */ sw $v0, 0x44($s5)
/* 0626A4 80061AA4 1000004D */ b .L80061BDC
/* 0626A8 80061AA8 24020001 */ li $v0, 1
.L80061AAC:
/* 0626AC 80061AAC 0000F025 */ move $fp, $zero
/* 0626B0 80061AB0 0010A080 */ sll $s4, $s0, 2
/* 0626B4 80061AB4 00008825 */ move $s1, $zero
.L80061AB8:
/* 0626B8 80061AB8 3C088012 */ lui $t0, %hi(gObjectAnimationTable) # $t0, 0x8012
/* 0626BC 80061ABC 8D08D63C */ lw $t0, %lo(gObjectAnimationTable)($t0)
/* 0626C0 80061AC0 24040020 */ li $a0, 32
/* 0626C4 80061AC4 01141021 */ addu $v0, $t0, $s4
/* 0626C8 80061AC8 8C520000 */ lw $s2, ($v0)
/* 0626CC 80061ACC 8C490004 */ lw $t1, 4($v0)
/* 0626D0 80061AD0 02402825 */ move $a1, $s2
/* 0626D4 80061AD4 0C031877 */ jal get_asset_uncompressed_size
/* 0626D8 80061AD8 01329823 */ subu $s3, $t1, $s2
/* 0626DC 80061ADC 24440080 */ addiu $a0, $v0, 0x80
/* 0626E0 80061AE0 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00
/* 0626E4 80061AE4 0080B025 */ move $s6, $a0
/* 0626E8 80061AE8 0C01C344 */ jal allocate_from_main_pool
/* 0626EC 80061AEC 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff
/* 0626F0 80061AF0 8EAA0044 */ lw $t2, 0x44($s5)
/* 0626F4 80061AF4 02403025 */ move $a2, $s2
/* 0626F8 80061AF8 01515821 */ addu $t3, $t2, $s1
/* 0626FC 80061AFC AD620000 */ sw $v0, ($t3)
/* 062700 80061B00 8EA40044 */ lw $a0, 0x44($s5)
/* 062704 80061B04 8FB70040 */ lw $s7, 0x40($sp)
/* 062708 80061B08 00916021 */ addu $t4, $a0, $s1
/* 06270C 80061B0C 8D830000 */ lw $v1, ($t4)
/* 062710 80061B10 02603825 */ move $a3, $s3
/* 062714 80061B14 14600014 */ bnez $v1, .L80061B68
/* 062718 80061B18 00767821 */ addu $t7, $v1, $s6
/* 06271C 80061B1C 1BC0000D */ blez $fp, .L80061B54
/* 062720 80061B20 00008025 */ move $s0, $zero
/* 062724 80061B24 00008825 */ move $s1, $zero
.L80061B28:
/* 062728 80061B28 8EAD0044 */ lw $t5, 0x44($s5)
/* 06272C 80061B2C 00000000 */ nop
/* 062730 80061B30 01B17021 */ addu $t6, $t5, $s1
/* 062734 80061B34 8DC40000 */ lw $a0, ($t6)
/* 062738 80061B38 0C01C450 */ jal free_from_memory_pool
/* 06273C 80061B3C 00000000 */ nop
/* 062740 80061B40 26100001 */ addiu $s0, $s0, 1
/* 062744 80061B44 161EFFF8 */ bne $s0, $fp, .L80061B28
/* 062748 80061B48 26310008 */ addiu $s1, $s1, 8
/* 06274C 80061B4C 8EA40044 */ lw $a0, 0x44($s5)
/* 062750 80061B50 00000000 */ nop
.L80061B54:
/* 062754 80061B54 0C01C450 */ jal free_from_memory_pool
/* 062758 80061B58 00000000 */ nop
/* 06275C 80061B5C AEA00044 */ sw $zero, 0x44($s5)
/* 062760 80061B60 1000001E */ b .L80061BDC
/* 062764 80061B64 24020001 */ li $v0, 1
.L80061B68:
/* 062768 80061B68 01F38023 */ subu $s0, $t7, $s3
/* 06276C 80061B6C 0017C080 */ sll $t8, $s7, 2
/* 062770 80061B70 0300B825 */ move $s7, $t8
/* 062774 80061B74 02002825 */ move $a1, $s0
/* 062778 80061B78 0C01DB9A */ jal load_asset_to_address
/* 06277C 80061B7C 24040020 */ li $a0, 32
/* 062780 80061B80 8EB90044 */ lw $t9, 0x44($s5)
/* 062784 80061B84 02002025 */ move $a0, $s0
/* 062788 80061B88 03314021 */ addu $t0, $t9, $s1
/* 06278C 80061B8C 8D050000 */ lw $a1, ($t0)
/* 062790 80061B90 0C031886 */ jal gzip_inflate
/* 062794 80061B94 00000000 */ nop
/* 062798 80061B98 8EA90044 */ lw $t1, 0x44($s5)
/* 06279C 80061B9C 26940004 */ addiu $s4, $s4, 4
/* 0627A0 80061BA0 01311821 */ addu $v1, $t1, $s1
/* 0627A4 80061BA4 8C640000 */ lw $a0, ($v1)
/* 0627A8 80061BA8 0297082A */ slt $at, $s4, $s7
/* 0627AC 80061BAC 8C8A0000 */ lw $t2, ($a0)
/* 0627B0 80061BB0 27DE0001 */ addiu $fp, $fp, 1
/* 0627B4 80061BB4 AC6A0004 */ sw $t2, 4($v1)
/* 0627B8 80061BB8 8EAB0044 */ lw $t3, 0x44($s5)
/* 0627BC 80061BBC 00000000 */ nop
/* 0627C0 80061BC0 01711821 */ addu $v1, $t3, $s1
/* 0627C4 80061BC4 8C6C0000 */ lw $t4, ($v1)
/* 0627C8 80061BC8 26310008 */ addiu $s1, $s1, 8
/* 0627CC 80061BCC 258D0004 */ addiu $t5, $t4, 4
/* 0627D0 80061BD0 1420FFB9 */ bnez $at, .L80061AB8
/* 0627D4 80061BD4 AC6D0000 */ sw $t5, ($v1)
/* 0627D8 80061BD8 00001025 */ move $v0, $zero
.L80061BDC:
/* 0627DC 80061BDC 8FBF003C */ lw $ra, 0x3c($sp)
/* 0627E0 80061BE0 8FB00018 */ lw $s0, 0x18($sp)
/* 0627E4 80061BE4 8FB1001C */ lw $s1, 0x1c($sp)
/* 0627E8 80061BE8 8FB20020 */ lw $s2, 0x20($sp)
/* 0627EC 80061BEC 8FB30024 */ lw $s3, 0x24($sp)
/* 0627F0 80061BF0 8FB40028 */ lw $s4, 0x28($sp)
/* 0627F4 80061BF4 8FB5002C */ lw $s5, 0x2c($sp)
/* 0627F8 80061BF8 8FB60030 */ lw $s6, 0x30($sp)
/* 0627FC 80061BFC 8FB70034 */ lw $s7, 0x34($sp)
/* 062800 80061C00 8FBE0038 */ lw $fp, 0x38($sp)
/* 062804 80061C04 03E00008 */ jr $ra
/* 062808 80061C08 27BD0048 */ addiu $sp, $sp, 0x48
-353
View File
@@ -1,353 +0,0 @@
.late_rodata
glabel D_800E5638
.float -20000.0
glabel D_800E563C
.float -10000.0
.text
glabel func_8001BF20
/* 01CB20 8001BF20 27BDFE70 */ addiu $sp, $sp, -0x190
/* 01CB24 8001BF24 3C028012 */ lui $v0, %hi(D_8011AF10) # $v0, 0x8012
/* 01CB28 8001BF28 2442AF10 */ addiu $v0, %lo(D_8011AF10) # addiu $v0, $v0, -0x50f0
/* 01CB2C 8001BF2C 8C4E0000 */ lw $t6, ($v0)
/* 01CB30 8001BF30 AFBF003C */ sw $ra, 0x3c($sp)
/* 01CB34 8001BF34 AFBE0038 */ sw $fp, 0x38($sp)
/* 01CB38 8001BF38 AFB70034 */ sw $s7, 0x34($sp)
/* 01CB3C 8001BF3C AFB60030 */ sw $s6, 0x30($sp)
/* 01CB40 8001BF40 AFB5002C */ sw $s5, 0x2c($sp)
/* 01CB44 8001BF44 AFB40028 */ sw $s4, 0x28($sp)
/* 01CB48 8001BF48 AFB30024 */ sw $s3, 0x24($sp)
/* 01CB4C 8001BF4C AFB20020 */ sw $s2, 0x20($sp)
/* 01CB50 8001BF50 AFB1001C */ sw $s1, 0x1c($sp)
/* 01CB54 8001BF54 11C00124 */ beqz $t6, .L8001C3E8
/* 01CB58 8001BF58 AFB00018 */ sw $s0, 0x18($sp)
/* 01CB5C 8001BF5C 3C0A8012 */ lui $t2, %hi(D_8011AF04) # $t2, 0x8012
/* 01CB60 8001BF60 AC400000 */ sw $zero, ($v0)
/* 01CB64 8001BF64 254AAF04 */ addiu $t2, %lo(D_8011AF04) # addiu $t2, $t2, -0x50fc
/* 01CB68 8001BF68 0000F025 */ move $fp, $zero
.L8001BF6C:
/* 01CB6C 8001BF6C 8D4F0000 */ lw $t7, ($t2)
/* 01CB70 8001BF70 00000000 */ nop
/* 01CB74 8001BF74 01FEC021 */ addu $t8, $t7, $fp
/* 01CB78 8001BF78 27DE0004 */ addiu $fp, $fp, 4
/* 01CB7C 8001BF7C 2BC10200 */ slti $at, $fp, 0x200
/* 01CB80 8001BF80 1420FFFA */ bnez $at, .L8001BF6C
/* 01CB84 8001BF84 AF000000 */ sw $zero, ($t8)
/* 01CB88 8001BF88 3C048012 */ lui $a0, %hi(gObjectCount) # $a0, 0x8012
/* 01CB8C 8001BF8C 8C84AE5C */ lw $a0, %lo(gObjectCount)($a0)
/* 01CB90 8001BF90 A7A00186 */ sh $zero, 0x186($sp)
/* 01CB94 8001BF94 1880002D */ blez $a0, .L8001C04C
/* 01CB98 8001BF98 00003825 */ move $a3, $zero
/* 01CB9C 8001BF9C 3C058012 */ lui $a1, %hi(gObjPtrList) # $a1, 0x8012
/* 01CBA0 8001BFA0 24A5AE58 */ addiu $a1, %lo(gObjPtrList) # addiu $a1, $a1, -0x51a8
/* 01CBA4 8001BFA4 0000F025 */ move $fp, $zero
/* 01CBA8 8001BFA8 27B70064 */ addiu $s7, $sp, 0x64
/* 01CBAC 8001BFAC 24060010 */ li $a2, 16
.L8001BFB0:
/* 01CBB0 8001BFB0 8CB90000 */ lw $t9, ($a1)
/* 01CBB4 8001BFB4 24E70001 */ addiu $a3, $a3, 1
/* 01CBB8 8001BFB8 033E5821 */ addu $t3, $t9, $fp
/* 01CBBC 8001BFBC 8D730000 */ lw $s3, ($t3)
/* 01CBC0 8001BFC0 00000000 */ nop
/* 01CBC4 8001BFC4 866C0006 */ lh $t4, 6($s3)
/* 01CBC8 8001BFC8 00000000 */ nop
/* 01CBCC 8001BFCC 318D8000 */ andi $t5, $t4, 0x8000
/* 01CBD0 8001BFD0 15A0001C */ bnez $t5, .L8001C044
/* 01CBD4 8001BFD4 00E4082A */ slt $at, $a3, $a0
/* 01CBD8 8001BFD8 866E0048 */ lh $t6, 0x48($s3)
/* 01CBDC 8001BFDC 00000000 */ nop
/* 01CBE0 8001BFE0 14CE0018 */ bne $a2, $t6, .L8001C044
/* 01CBE4 8001BFE4 00E4082A */ slt $at, $a3, $a0
/* 01CBE8 8001BFE8 8E62003C */ lw $v0, 0x3c($s3)
/* 01CBEC 8001BFEC 00000000 */ nop
/* 01CBF0 8001BFF0 90430009 */ lbu $v1, 9($v0)
/* 01CBF4 8001BFF4 00000000 */ nop
/* 01CBF8 8001BFF8 306F0080 */ andi $t7, $v1, 0x80
/* 01CBFC 8001BFFC 15E00010 */ bnez $t7, .L8001C040
/* 01CC00 8001C000 0003C880 */ sll $t9, $v1, 2
/* 01CC04 8001C004 8D580000 */ lw $t8, ($t2)
/* 01CC08 8001C008 3C048012 */ lui $a0, %hi(gObjectCount) # $a0, 0x8012
/* 01CC0C 8001C00C 03195821 */ addu $t3, $t8, $t9
/* 01CC10 8001C010 AD730000 */ sw $s3, ($t3)
/* 01CC14 8001C014 87AD0186 */ lh $t5, 0x186($sp)
/* 01CC18 8001C018 904C0009 */ lbu $t4, 9($v0)
/* 01CC1C 8001C01C 03AD7021 */ addu $t6, $sp, $t5
/* 01CC20 8001C020 A1CC00E4 */ sb $t4, 0xe4($t6)
/* 01CC24 8001C024 804F000E */ lb $t7, 0xe($v0)
/* 01CC28 8001C028 02EDC821 */ addu $t9, $s7, $t5
/* 01CC2C 8001C02C 31F80003 */ andi $t8, $t7, 3
/* 01CC30 8001C030 A3380000 */ sb $t8, ($t9)
/* 01CC34 8001C034 25AB0001 */ addiu $t3, $t5, 1
/* 01CC38 8001C038 8C84AE5C */ lw $a0, %lo(gObjectCount)($a0)
/* 01CC3C 8001C03C A7AB0186 */ sh $t3, 0x186($sp)
.L8001C040:
/* 01CC40 8001C040 00E4082A */ slt $at, $a3, $a0
.L8001C044:
/* 01CC44 8001C044 1420FFDA */ bnez $at, .L8001BFB0
/* 01CC48 8001C048 27DE0004 */ addiu $fp, $fp, 4
.L8001C04C:
/* 01CC4C 8001C04C 87AC0186 */ lh $t4, 0x186($sp)
/* 01CC50 8001C050 27B70064 */ addiu $s7, $sp, 0x64
/* 01CC54 8001C054 118000E4 */ beqz $t4, .L8001C3E8
/* 01CC58 8001C058 0000F025 */ move $fp, $zero
/* 01CC5C 8001C05C 24160004 */ li $s6, 4
/* 01CC60 8001C060 241500FF */ li $s5, 255
.L8001C064:
/* 01CC64 8001C064 8D4E0000 */ lw $t6, ($t2)
/* 01CC68 8001C068 00000000 */ nop
/* 01CC6C 8001C06C 01DE7821 */ addu $t7, $t6, $fp
/* 01CC70 8001C070 8DF30000 */ lw $s3, ($t7)
/* 01CC74 8001C074 00000000 */ nop
/* 01CC78 8001C078 12600031 */ beqz $s3, .L8001C140
/* 01CC7C 8001C07C 00000000 */ nop
/* 01CC80 8001C080 8E740064 */ lw $s4, 0x64($s3)
/* 01CC84 8001C084 8E70003C */ lw $s0, 0x3c($s3)
/* 01CC88 8001C088 00008825 */ move $s1, $zero
.L8001C08C:
/* 01CC8C 8001C08C 9203000A */ lbu $v1, 0xa($s0)
/* 01CC90 8001C090 00000000 */ nop
/* 01CC94 8001C094 30780080 */ andi $t8, $v1, 0x80
/* 01CC98 8001C098 17000026 */ bnez $t8, .L8001C134
/* 01CC9C 8001C09C 00036880 */ sll $t5, $v1, 2
/* 01CCA0 8001C0A0 8D590000 */ lw $t9, ($t2)
/* 01CCA4 8001C0A4 00116080 */ sll $t4, $s1, 2
/* 01CCA8 8001C0A8 032D5821 */ addu $t3, $t9, $t5
/* 01CCAC 8001C0AC 8D620000 */ lw $v0, ($t3)
/* 01CCB0 8001C0B0 028C7021 */ addu $t6, $s4, $t4
/* 01CCB4 8001C0B4 14400003 */ bnez $v0, .L8001C0C4
/* 01CCB8 8001C0B8 ADC20000 */ sw $v0, ($t6)
/* 01CCBC 8001C0BC 1000001D */ b .L8001C134
/* 01CCC0 8001C0C0 A215000A */ sb $s5, 0xa($s0)
.L8001C0C4:
/* 01CCC4 8001C0C4 C664000C */ lwc1 $f4, 0xc($s3)
/* 01CCC8 8001C0C8 C446000C */ lwc1 $f6, 0xc($v0)
/* 01CCCC 8001C0CC C6680010 */ lwc1 $f8, 0x10($s3)
/* 01CCD0 8001C0D0 46062001 */ sub.s $f0, $f4, $f6
/* 01CCD4 8001C0D4 C44A0010 */ lwc1 $f10, 0x10($v0)
/* 01CCD8 8001C0D8 46000102 */ mul.s $f4, $f0, $f0
/* 01CCDC 8001C0DC 460A4081 */ sub.s $f2, $f8, $f10
/* 01CCE0 8001C0E0 C6700014 */ lwc1 $f16, 0x14($s3)
/* 01CCE4 8001C0E4 C4520014 */ lwc1 $f18, 0x14($v0)
/* 01CCE8 8001C0E8 46021182 */ mul.s $f6, $f2, $f2
/* 01CCEC 8001C0EC 46128381 */ sub.s $f14, $f16, $f18
/* 01CCF0 8001C0F0 00117840 */ sll $t7, $s1, 1
/* 01CCF4 8001C0F4 028F9021 */ addu $s2, $s4, $t7
/* 01CCF8 8001C0F8 460E7282 */ mul.s $f10, $f14, $f14
/* 01CCFC 8001C0FC 46062200 */ add.s $f8, $f4, $f6
/* 01CD00 8001C100 0C0326B4 */ jal sqrtf
/* 01CD04 8001C104 460A4300 */ add.s $f12, $f8, $f10
/* 01CD08 8001C108 4458F800 */ cfc1 $t8, $31
/* 01CD0C 8001C10C 3C0A8012 */ lui $t2, %hi(D_8011AF04) # $t2, 0x8012
/* 01CD10 8001C110 37010003 */ ori $at, $t8, 3
/* 01CD14 8001C114 38210002 */ xori $at, $at, 2
/* 01CD18 8001C118 44C1F800 */ ctc1 $at, $31
/* 01CD1C 8001C11C 254AAF04 */ addiu $t2, %lo(D_8011AF04) # addiu $t2, $t2, -0x50fc
/* 01CD20 8001C120 46000424 */ cvt.w.s $f16, $f0
/* 01CD24 8001C124 44198000 */ mfc1 $t9, $f16
/* 01CD28 8001C128 44D8F800 */ ctc1 $t8, $31
/* 01CD2C 8001C12C A6590010 */ sh $t9, 0x10($s2)
/* 01CD30 8001C130 00000000 */ nop
.L8001C134:
/* 01CD34 8001C134 26310001 */ addiu $s1, $s1, 1
/* 01CD38 8001C138 1636FFD4 */ bne $s1, $s6, .L8001C08C
/* 01CD3C 8001C13C 26100001 */ addiu $s0, $s0, 1
.L8001C140:
/* 01CD40 8001C140 27DE0004 */ addiu $fp, $fp, 4
/* 01CD44 8001C144 24010200 */ li $at, 512
/* 01CD48 8001C148 17C1FFC6 */ bne $fp, $at, .L8001C064
/* 01CD4C 8001C14C 00000000 */ nop
/* 01CD50 8001C150 87A90186 */ lh $t1, 0x186($sp)
/* 01CD54 8001C154 00003825 */ move $a3, $zero
/* 01CD58 8001C158 2529FFFF */ addiu $t1, $t1, -1
.L8001C15C:
/* 01CD5C 8001C15C 19200053 */ blez $t1, .L8001C2AC
/* 01CD60 8001C160 24110001 */ li $s1, 1
/* 01CD64 8001C164 87A20186 */ lh $v0, 0x186($sp)
/* 01CD68 8001C168 8D480000 */ lw $t0, ($t2)
/* 01CD6C 8001C16C 2442FFFF */ addiu $v0, $v0, -1
/* 01CD70 8001C170 304D0001 */ andi $t5, $v0, 1
/* 01CD74 8001C174 11A00019 */ beqz $t5, .L8001C1DC
/* 01CD78 8001C178 27AF00E4 */ addiu $t7, $sp, 0xe4
/* 01CD7C 8001C17C 83AB00E5 */ lb $t3, 0xe5($sp)
/* 01CD80 8001C180 83B800E4 */ lb $t8, 0xe4($sp)
/* 01CD84 8001C184 000B6080 */ sll $t4, $t3, 2
/* 01CD88 8001C188 010C7021 */ addu $t6, $t0, $t4
/* 01CD8C 8001C18C 0018C880 */ sll $t9, $t8, 2
/* 01CD90 8001C190 01196821 */ addu $t5, $t0, $t9
/* 01CD94 8001C194 8DAC0000 */ lw $t4, ($t5)
/* 01CD98 8001C198 8DCF0000 */ lw $t7, ($t6)
/* 01CD9C 8001C19C C5820010 */ lwc1 $f2, 0x10($t4)
/* 01CDA0 8001C1A0 C5E00010 */ lwc1 $f0, 0x10($t7)
/* 01CDA4 8001C1A4 24070001 */ li $a3, 1
/* 01CDA8 8001C1A8 4602003C */ c.lt.s $f0, $f2
/* 01CDAC 8001C1AC 00000000 */ nop
/* 01CDB0 8001C1B0 45000008 */ bc1f .L8001C1D4
/* 01CDB4 8001C1B4 00000000 */ nop
/* 01CDB8 8001C1B8 83A20064 */ lb $v0, 0x64($sp)
/* 01CDBC 8001C1BC 83AE0065 */ lb $t6, 0x65($sp)
/* 01CDC0 8001C1C0 A3AB00E4 */ sb $t3, 0xe4($sp)
/* 01CDC4 8001C1C4 A3B800E5 */ sb $t8, 0xe5($sp)
/* 01CDC8 8001C1C8 00008825 */ move $s1, $zero
/* 01CDCC 8001C1CC A3A20065 */ sb $v0, 0x65($sp)
/* 01CDD0 8001C1D0 A3AE0064 */ sb $t6, 0x64($sp)
.L8001C1D4:
/* 01CDD4 8001C1D4 10E90034 */ beq $a3, $t1, .L8001C2A8
/* 01CDD8 8001C1D8 27AF00E4 */ addiu $t7, $sp, 0xe4
.L8001C1DC:
/* 01CDDC 8001C1DC 00EF2021 */ addu $a0, $a3, $t7
.L8001C1E0:
/* 01CDE0 8001C1E0 80850001 */ lb $a1, 1($a0)
/* 01CDE4 8001C1E4 80860000 */ lb $a2, ($a0)
/* 01CDE8 8001C1E8 0005C880 */ sll $t9, $a1, 2
/* 01CDEC 8001C1EC 0006C080 */ sll $t8, $a2, 2
/* 01CDF0 8001C1F0 01185821 */ addu $t3, $t0, $t8
/* 01CDF4 8001C1F4 01196821 */ addu $t5, $t0, $t9
/* 01CDF8 8001C1F8 8DAC0000 */ lw $t4, ($t5)
/* 01CDFC 8001C1FC 8D6E0000 */ lw $t6, ($t3)
/* 01CE00 8001C200 C5800010 */ lwc1 $f0, 0x10($t4)
/* 01CE04 8001C204 C5D20010 */ lwc1 $f18, 0x10($t6)
/* 01CE08 8001C208 02E71821 */ addu $v1, $s7, $a3
/* 01CE0C 8001C20C 4612003C */ c.lt.s $f0, $f18
/* 01CE10 8001C210 00000000 */ nop
/* 01CE14 8001C214 4500000E */ bc1f .L8001C250
/* 01CE18 8001C218 00000000 */ nop
/* 01CE1C 8001C21C A0850000 */ sb $a1, ($a0)
/* 01CE20 8001C220 A0860001 */ sb $a2, 1($a0)
/* 01CE24 8001C224 80850001 */ lb $a1, 1($a0)
/* 01CE28 8001C228 80620000 */ lb $v0, ($v1)
/* 01CE2C 8001C22C 80790001 */ lb $t9, 1($v1)
/* 01CE30 8001C230 00056880 */ sll $t5, $a1, 2
/* 01CE34 8001C234 010D6021 */ addu $t4, $t0, $t5
/* 01CE38 8001C238 A0620001 */ sb $v0, 1($v1)
/* 01CE3C 8001C23C A0790000 */ sb $t9, ($v1)
/* 01CE40 8001C240 8D980000 */ lw $t8, ($t4)
/* 01CE44 8001C244 00008825 */ move $s1, $zero
/* 01CE48 8001C248 C7000010 */ lwc1 $f0, 0x10($t8)
/* 01CE4C 8001C24C 00000000 */ nop
.L8001C250:
/* 01CE50 8001C250 80860002 */ lb $a2, 2($a0)
/* 01CE54 8001C254 02E71821 */ addu $v1, $s7, $a3
/* 01CE58 8001C258 00065880 */ sll $t3, $a2, 2
/* 01CE5C 8001C25C 010B7021 */ addu $t6, $t0, $t3
/* 01CE60 8001C260 8DCF0000 */ lw $t7, ($t6)
/* 01CE64 8001C264 00000000 */ nop
/* 01CE68 8001C268 C5E40010 */ lwc1 $f4, 0x10($t7)
/* 01CE6C 8001C26C 00000000 */ nop
/* 01CE70 8001C270 4600203C */ c.lt.s $f4, $f0
/* 01CE74 8001C274 00000000 */ nop
/* 01CE78 8001C278 45000008 */ bc1f .L8001C29C
/* 01CE7C 8001C27C 00000000 */ nop
/* 01CE80 8001C280 80620001 */ lb $v0, 1($v1)
/* 01CE84 8001C284 806D0002 */ lb $t5, 2($v1)
/* 01CE88 8001C288 A0860001 */ sb $a2, 1($a0)
/* 01CE8C 8001C28C A0850002 */ sb $a1, 2($a0)
/* 01CE90 8001C290 00008825 */ move $s1, $zero
/* 01CE94 8001C294 A0620002 */ sb $v0, 2($v1)
/* 01CE98 8001C298 A06D0001 */ sb $t5, 1($v1)
.L8001C29C:
/* 01CE9C 8001C29C 24E70002 */ addiu $a3, $a3, 2
/* 01CEA0 8001C2A0 14E9FFCF */ bne $a3, $t1, .L8001C1E0
/* 01CEA4 8001C2A4 24840002 */ addiu $a0, $a0, 2
.L8001C2A8:
/* 01CEA8 8001C2A8 00003825 */ move $a3, $zero
.L8001C2AC:
/* 01CEAC 8001C2AC 1220FFAB */ beqz $s1, .L8001C15C
/* 01CEB0 8001C2B0 00000000 */ nop
/* 01CEB4 8001C2B4 3C01800E */ lui $at, %hi(D_800E5638) # $at, 0x800e
/* 01CEB8 8001C2B8 3C028012 */ lui $v0, %hi(D_8011AF18) # $v0, 0x8012
/* 01CEBC 8001C2BC 3C038012 */ lui $v1, %hi(D_8011AF2C) # $v1, 0x8012
/* 01CEC0 8001C2C0 C4205638 */ lwc1 $f0, %lo(D_800E5638)($at)
/* 01CEC4 8001C2C4 2463AF2C */ addiu $v1, %lo(D_8011AF2C) # addiu $v1, $v1, -0x50d4
/* 01CEC8 8001C2C8 2442AF18 */ addiu $v0, %lo(D_8011AF18) # addiu $v0, $v0, -0x50e8
.L8001C2CC:
/* 01CECC 8001C2CC 24420004 */ addiu $v0, $v0, 4
/* 01CED0 8001C2D0 0043082B */ sltu $at, $v0, $v1
/* 01CED4 8001C2D4 1420FFFD */ bnez $at, .L8001C2CC
/* 01CED8 8001C2D8 E440FFFC */ swc1 $f0, -4($v0)
/* 01CEDC 8001C2DC 83A20064 */ lb $v0, 0x64($sp)
/* 01CEE0 8001C2E0 19200038 */ blez $t1, .L8001C3C4
/* 01CEE4 8001C2E4 00003825 */ move $a3, $zero
/* 01CEE8 8001C2E8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 01CEEC 8001C2EC 3C068012 */ lui $a2, %hi(D_8011AF18) # $a2, 0x8012
/* 01CEF0 8001C2F0 44810800 */ mtc1 $at, $f1
/* 01CEF4 8001C2F4 44800000 */ mtc1 $zero, $f0
/* 01CEF8 8001C2F8 24C6AF18 */ addiu $a2, %lo(D_8011AF18) # addiu $a2, $a2, -0x50e8
/* 01CEFC 8001C2FC 27AC0064 */ addiu $t4, $sp, 0x64
.L8001C300:
/* 01CF00 8001C300 00E9082A */ slt $at, $a3, $t1
/* 01CF04 8001C304 1020000F */ beqz $at, .L8001C344
/* 01CF08 8001C308 00EC1821 */ addu $v1, $a3, $t4
/* 01CF0C 8001C30C 80780000 */ lb $t8, ($v1)
/* 01CF10 8001C310 00000000 */ nop
/* 01CF14 8001C314 0058082A */ slt $at, $v0, $t8
/* 01CF18 8001C318 1420000A */ bnez $at, .L8001C344
/* 01CF1C 8001C31C 00000000 */ nop
.L8001C320:
/* 01CF20 8001C320 24E70001 */ addiu $a3, $a3, 1
/* 01CF24 8001C324 00E9082A */ slt $at, $a3, $t1
/* 01CF28 8001C328 10200006 */ beqz $at, .L8001C344
/* 01CF2C 8001C32C 24630001 */ addiu $v1, $v1, 1
/* 01CF30 8001C330 806B0000 */ lb $t3, ($v1)
/* 01CF34 8001C334 00000000 */ nop
/* 01CF38 8001C338 004B082A */ slt $at, $v0, $t3
/* 01CF3C 8001C33C 1020FFF8 */ beqz $at, .L8001C320
/* 01CF40 8001C340 00000000 */ nop
.L8001C344:
/* 01CF44 8001C344 80650000 */ lb $a1, ($v1)
/* 01CF48 8001C348 27AF00E4 */ addiu $t7, $sp, 0xe4
/* 01CF4C 8001C34C 0045082A */ slt $at, $v0, $a1
/* 01CF50 8001C350 10200017 */ beqz $at, .L8001C3B0
/* 01CF54 8001C354 00EF2021 */ addu $a0, $a3, $t7
/* 01CF58 8001C358 00051600 */ sll $v0, $a1, 0x18
/* 01CF5C 8001C35C 8D480000 */ lw $t0, ($t2)
/* 01CF60 8001C360 8099FFFF */ lb $t9, -1($a0)
/* 01CF64 8001C364 808B0000 */ lb $t3, ($a0)
/* 01CF68 8001C368 00027603 */ sra $t6, $v0, 0x18
/* 01CF6C 8001C36C 01C01025 */ move $v0, $t6
/* 01CF70 8001C370 00196880 */ sll $t5, $t9, 2
/* 01CF74 8001C374 000B7080 */ sll $t6, $t3, 2
/* 01CF78 8001C378 010E7821 */ addu $t7, $t0, $t6
/* 01CF7C 8001C37C 010D6021 */ addu $t4, $t0, $t5
/* 01CF80 8001C380 8D980000 */ lw $t8, ($t4)
/* 01CF84 8001C384 8DF90000 */ lw $t9, ($t7)
/* 01CF88 8001C388 C7060010 */ lwc1 $f6, 0x10($t8)
/* 01CF8C 8001C38C C7280010 */ lwc1 $f8, 0x10($t9)
/* 01CF90 8001C390 00026880 */ sll $t5, $v0, 2
/* 01CF94 8001C394 46083280 */ add.s $f10, $f6, $f8
/* 01CF98 8001C398 00CD6021 */ addu $t4, $a2, $t5
/* 01CF9C 8001C39C 46005421 */ cvt.d.s $f16, $f10
/* 01CFA0 8001C3A0 46208482 */ mul.d $f18, $f16, $f0
/* 01CFA4 8001C3A4 46209120 */ cvt.s.d $f4, $f18
/* 01CFA8 8001C3A8 10000003 */ b .L8001C3B8
/* 01CFAC 8001C3AC E5840000 */ swc1 $f4, ($t4)
.L8001C3B0:
/* 01CFB0 8001C3B0 87A70186 */ lh $a3, 0x186($sp)
/* 01CFB4 8001C3B4 00000000 */ nop
.L8001C3B8:
/* 01CFB8 8001C3B8 00E9082A */ slt $at, $a3, $t1
/* 01CFBC 8001C3BC 1420FFD0 */ bnez $at, .L8001C300
/* 01CFC0 8001C3C0 27AC0064 */ addiu $t4, $sp, 0x64
.L8001C3C4:
/* 01CFC4 8001C3C4 3C01800E */ lui $at, %hi(D_800E563C) # $at, 0x800e
/* 01CFC8 8001C3C8 C426563C */ lwc1 $f6, %lo(D_800E563C)($at)
/* 01CFCC 8001C3CC 3C068012 */ lui $a2, %hi(D_8011AF18) # $a2, 0x8012
/* 01CFD0 8001C3D0 24C6AF18 */ addiu $a2, %lo(D_8011AF18) # addiu $a2, $a2, -0x50e8
/* 01CFD4 8001C3D4 E4C60000 */ swc1 $f6, ($a2)
/* 01CFD8 8001C3D8 C4C80000 */ lwc1 $f8, ($a2)
/* 01CFDC 8001C3DC 00000000 */ nop
/* 01CFE0 8001C3E0 46004287 */ neg.s $f10, $f8
/* 01CFE4 8001C3E4 E4CA0010 */ swc1 $f10, 0x10($a2)
.L8001C3E8:
/* 01CFE8 8001C3E8 8FBF003C */ lw $ra, 0x3c($sp)
/* 01CFEC 8001C3EC 8FB00018 */ lw $s0, 0x18($sp)
/* 01CFF0 8001C3F0 8FB1001C */ lw $s1, 0x1c($sp)
/* 01CFF4 8001C3F4 8FB20020 */ lw $s2, 0x20($sp)
/* 01CFF8 8001C3F8 8FB30024 */ lw $s3, 0x24($sp)
/* 01CFFC 8001C3FC 8FB40028 */ lw $s4, 0x28($sp)
/* 01D000 8001C400 8FB5002C */ lw $s5, 0x2c($sp)
/* 01D004 8001C404 8FB60030 */ lw $s6, 0x30($sp)
/* 01D008 8001C408 8FB70034 */ lw $s7, 0x34($sp)
/* 01D00C 8001C40C 8FBE0038 */ lw $fp, 0x38($sp)
/* 01D010 8001C410 03E00008 */ jr $ra
/* 01D014 8001C414 27BD0190 */ addiu $sp, $sp, 0x190
-187
View File
@@ -1,187 +0,0 @@
glabel func_80022E18
/* 023A18 80022E18 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 023A1C 80022E1C AFBF0014 */ sw $ra, 0x14($sp)
/* 023A20 80022E20 0C01AF6C */ jal get_current_level_header
/* 023A24 80022E24 AFA40030 */ sw $a0, 0x30($sp)
/* 023A28 80022E28 240E0005 */ li $t6, 5
/* 023A2C 80022E2C A04E004C */ sb $t6, 0x4c($v0)
/* 023A30 80022E30 3C0F8012 */ lui $t7, %hi(D_8011AEF8) # $t7, 0x8012
/* 023A34 80022E34 81EFAEF8 */ lb $t7, %lo(D_8011AEF8)($t7)
/* 023A38 80022E38 3C188012 */ lui $t8, %hi(D_8011AEFC) # $t8, 0x8012
/* 023A3C 80022E3C A04F0052 */ sb $t7, 0x52($v0)
/* 023A40 80022E40 8F18AEFC */ lw $t8, %lo(D_8011AEFC)($t8)
/* 023A44 80022E44 24040001 */ li $a0, 1
/* 023A48 80022E48 0C02AC6B */ jal func_800AB1AC
/* 023A4C 80022E4C A4580054 */ sh $t8, 0x54($v0)
/* 023A50 80022E50 3C078012 */ lui $a3, %hi(gRacers) # $a3, 0x8012
/* 023A54 80022E54 3C068012 */ lui $a2, %hi(gNumRacers) # $a2, 0x8012
/* 023A58 80022E58 00002825 */ move $a1, $zero
/* 023A5C 80022E5C 24C6AEF0 */ addiu $a2, %lo(gNumRacers) # addiu $a2, $a2, -0x5110
/* 023A60 80022E60 24E7AEE4 */ addiu $a3, %lo(gRacers) # addiu $a3, $a3, -0x511c
/* 023A64 80022E64 00001025 */ move $v0, $zero
.L80022E68:
/* 023A68 80022E68 8CF90000 */ lw $t9, ($a3)
/* 023A6C 80022E6C 24A50001 */ addiu $a1, $a1, 1
/* 023A70 80022E70 03224021 */ addu $t0, $t9, $v0
/* 023A74 80022E74 8D090000 */ lw $t1, ($t0)
/* 023A78 80022E78 24420004 */ addiu $v0, $v0, 4
/* 023A7C 80022E7C 8D230064 */ lw $v1, 0x64($t1)
/* 023A80 80022E80 00000000 */ nop
/* 023A84 80022E84 A06001D8 */ sb $zero, 0x1d8($v1)
/* 023A88 80022E88 A0600193 */ sb $zero, 0x193($v1)
/* 023A8C 80022E8C A0600192 */ sb $zero, 0x192($v1)
/* 023A90 80022E90 A4600190 */ sh $zero, 0x190($v1)
/* 023A94 80022E94 8CCA0000 */ lw $t2, ($a2)
/* 023A98 80022E98 00000000 */ nop
/* 023A9C 80022E9C 00AA082A */ slt $at, $a1, $t2
/* 023AA0 80022EA0 1420FFF1 */ bnez $at, .L80022E68
/* 023AA4 80022EA4 00000000 */ nop
/* 023AA8 80022EA8 8CEB0000 */ lw $t3, ($a3)
/* 023AAC 80022EAC 00000000 */ nop
/* 023AB0 80022EB0 8D640004 */ lw $a0, 4($t3)
/* 023AB4 80022EB4 0C003FEE */ jal free_object
/* 023AB8 80022EB8 00000000 */ nop
/* 023ABC 80022EBC 3C078012 */ lui $a3, %hi(gRacers) # $a3, 0x8012
/* 023AC0 80022EC0 24E7AEE4 */ addiu $a3, %lo(gRacers) # addiu $a3, $a3, -0x511c
/* 023AC4 80022EC4 8CEC0000 */ lw $t4, ($a3)
/* 023AC8 80022EC8 3C0E8012 */ lui $t6, %hi(gRacersByPosition) # $t6, 0x8012
/* 023ACC 80022ECC 8DCEAEE8 */ lw $t6, %lo(gRacersByPosition)($t6)
/* 023AD0 80022ED0 8D8D0000 */ lw $t5, ($t4)
/* 023AD4 80022ED4 3C068012 */ lui $a2, %hi(gNumRacers) # $a2, 0x8012
/* 023AD8 80022ED8 24C6AEF0 */ addiu $a2, %lo(gNumRacers) # addiu $a2, $a2, -0x5110
/* 023ADC 80022EDC 240F0001 */ li $t7, 1
/* 023AE0 80022EE0 ADCD0000 */ sw $t5, ($t6)
/* 023AE4 80022EE4 ACCF0000 */ sw $t7, ($a2)
/* 023AE8 80022EE8 3C058012 */ lui $a1, %hi(gObjectListStart) # $a1, 0x8012
/* 023AEC 80022EEC 3C038012 */ lui $v1, %hi(gObjectCount) # $v1, 0x8012
/* 023AF0 80022EF0 8C63AE5C */ lw $v1, %lo(gObjectCount)($v1)
/* 023AF4 80022EF4 8CA5AE60 */ lw $a1, %lo(gObjectListStart)($a1)
/* 023AF8 80022EF8 3C188012 */ lui $t8, %hi(gObjPtrList) # $t8, 0x8012
/* 023AFC 80022EFC 00A3082A */ slt $at, $a1, $v1
/* 023B00 80022F00 10200013 */ beqz $at, .L80022F50
/* 023B04 80022F04 00051080 */ sll $v0, $a1, 2
/* 023B08 80022F08 8F18AE58 */ lw $t8, %lo(gObjPtrList)($t8)
/* 023B0C 80022F0C 00033080 */ sll $a2, $v1, 2
/* 023B10 80022F10 2405003E */ li $a1, 62
/* 023B14 80022F14 03022021 */ addu $a0, $t8, $v0
.L80022F18:
/* 023B18 80022F18 8C830000 */ lw $v1, ($a0)
/* 023B1C 80022F1C 24420004 */ addiu $v0, $v0, 4
/* 023B20 80022F20 84790006 */ lh $t9, 6($v1)
/* 023B24 80022F24 0046082A */ slt $at, $v0, $a2
/* 023B28 80022F28 33288000 */ andi $t0, $t9, 0x8000
/* 023B2C 80022F2C 15000006 */ bnez $t0, .L80022F48
/* 023B30 80022F30 00000000 */ nop
/* 023B34 80022F34 84690048 */ lh $t1, 0x48($v1)
/* 023B38 80022F38 00000000 */ nop
/* 023B3C 80022F3C 14A90002 */ bne $a1, $t1, .L80022F48
/* 023B40 80022F40 00000000 */ nop
/* 023B44 80022F44 AFA3001C */ sw $v1, 0x1c($sp)
.L80022F48:
/* 023B48 80022F48 1420FFF3 */ bnez $at, .L80022F18
/* 023B4C 80022F4C 24840004 */ addiu $a0, $a0, 4
.L80022F50:
/* 023B50 80022F50 8CEA0000 */ lw $t2, ($a3)
/* 023B54 80022F54 00000000 */ nop
/* 023B58 80022F58 8D4B0000 */ lw $t3, ($t2)
/* 023B5C 80022F5C 00000000 */ nop
/* 023B60 80022F60 8D630064 */ lw $v1, 0x64($t3)
/* 023B64 80022F64 00000000 */ nop
/* 023B68 80022F68 8C64015C */ lw $a0, 0x15c($v1)
/* 023B6C 80022F6C 00000000 */ nop
/* 023B70 80022F70 10800007 */ beqz $a0, .L80022F90
/* 023B74 80022F74 8FAC0030 */ lw $t4, 0x30($sp)
/* 023B78 80022F78 0C003FEE */ jal free_object
/* 023B7C 80022F7C AFA30024 */ sw $v1, 0x24($sp)
/* 023B80 80022F80 8FA30024 */ lw $v1, 0x24($sp)
/* 023B84 80022F84 00000000 */ nop
/* 023B88 80022F88 AC60015C */ sw $zero, 0x15c($v1)
/* 023B8C 80022F8C 8FAC0030 */ lw $t4, 0x30($sp)
.L80022F90:
/* 023B90 80022F90 00000000 */ nop
/* 023B94 80022F94 1580002C */ bnez $t4, .L80023048
/* 023B98 80022F98 00000000 */ nop
/* 023B9C 80022F9C 846D01AC */ lh $t5, 0x1ac($v1)
/* 023BA0 80022FA0 24010001 */ li $at, 1
/* 023BA4 80022FA4 15A1001F */ bne $t5, $at, .L80023024
/* 023BA8 80022FA8 00000000 */ nop
/* 023BAC 80022FAC 0C01BAA4 */ jal get_settings
/* 023BB0 80022FB0 AFA30024 */ sw $v1, 0x24($sp)
/* 023BB4 80022FB4 8FA30024 */ lw $v1, 0x24($sp)
/* 023BB8 80022FB8 94580014 */ lhu $t8, 0x14($v0)
/* 023BBC 80022FBC 806701D6 */ lb $a3, 0x1d6($v1)
/* 023BC0 80022FC0 240F0001 */ li $t7, 1
/* 023BC4 80022FC4 24EE0003 */ addiu $t6, $a3, 3
/* 023BC8 80022FC8 01CF2804 */ sllv $a1, $t7, $t6
/* 023BCC 80022FCC 0305C824 */ and $t9, $t8, $a1
/* 023BD0 80022FD0 13200005 */ beqz $t9, .L80022FE8
/* 023BD4 80022FD4 00403025 */ move $a2, $v0
/* 023BD8 80022FD8 0C0274CC */ jal set_next_taj_challenge_menu
/* 023BDC 80022FDC 24040005 */ li $a0, 5
/* 023BE0 80022FE0 10000013 */ b .L80023030
/* 023BE4 80022FE4 8FAB001C */ lw $t3, 0x1c($sp)
.L80022FE8:
/* 023BE8 80022FE8 24E40006 */ addiu $a0, $a3, 6
/* 023BEC 80022FEC AFA5002C */ sw $a1, 0x2c($sp)
/* 023BF0 80022FF0 0C0274CC */ jal set_next_taj_challenge_menu
/* 023BF4 80022FF4 AFA60020 */ sw $a2, 0x20($sp)
/* 023BF8 80022FF8 8FA60020 */ lw $a2, 0x20($sp)
/* 023BFC 80022FFC 8FA5002C */ lw $a1, 0x2c($sp)
/* 023C00 80023000 94C80014 */ lhu $t0, 0x14($a2)
/* 023C04 80023004 00000000 */ nop
/* 023C08 80023008 01054825 */ or $t1, $t0, $a1
/* 023C0C 8002300C 0C027068 */ jal get_save_file_index
/* 023C10 80023010 A4C90014 */ sh $t1, 0x14($a2)
/* 023C14 80023014 0C01BB12 */ jal safe_mark_write_save_file
/* 023C18 80023018 00402025 */ move $a0, $v0
/* 023C1C 8002301C 10000004 */ b .L80023030
/* 023C20 80023020 8FAB001C */ lw $t3, 0x1c($sp)
.L80023024:
/* 023C24 80023024 0C0274CC */ jal set_next_taj_challenge_menu
/* 023C28 80023028 24040004 */ li $a0, 4
/* 023C2C 8002302C 8FAB001C */ lw $t3, 0x1c($sp)
.L80023030:
/* 023C30 80023030 240A001F */ li $t2, 31
/* 023C34 80023034 24040002 */ li $a0, 2
/* 023C38 80023038 0C01486E */ jal set_taj_status
/* 023C3C 8002303C AD6A0078 */ sw $t2, 0x78($t3)
/* 023C40 80023040 10000016 */ b .L8002309C
/* 023C44 80023044 00000000 */ nop
.L80023048:
/* 023C48 80023048 0C0002CA */ jal func_80000B28
/* 023C4C 8002304C 00000000 */ nop
/* 023C50 80023050 0C000611 */ jal func_80001844
/* 023C54 80023054 00000000 */ nop
/* 023C58 80023058 0C0274CC */ jal set_next_taj_challenge_menu
/* 023C5C 8002305C 00002025 */ move $a0, $zero
/* 023C60 80023060 0C00205A */ jal func_80008168
/* 023C64 80023064 00000000 */ nop
/* 023C68 80023068 8FAC0030 */ lw $t4, 0x30($sp)
/* 023C6C 8002306C 24010002 */ li $at, 2
/* 023C70 80023070 15810003 */ bne $t4, $at, .L80023080
/* 023C74 80023074 00000000 */ nop
/* 023C78 80023078 0C030C7B */ jal set_current_text
/* 023C7C 8002307C 00002025 */ move $a0, $zero
.L80023080:
/* 023C80 80023080 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012
/* 023C84 80023084 AC20ADB0 */ sw $zero, %lo(D_8011ADB0)($at)
/* 023C88 80023088 8FAF001C */ lw $t7, 0x1c($sp)
/* 023C8C 8002308C 3C018012 */ lui $at, %hi(gRaceStartCountdown) # $at, 0x8012
/* 023C90 80023090 AC20ADB8 */ sw $zero, %lo(gRaceStartCountdown)($at)
/* 023C94 80023094 240D0014 */ li $t5, 20
/* 023C98 80023098 ADED0078 */ sw $t5, 0x78($t7)
.L8002309C:
/* 023C9C 8002309C 0C0002CA */ jal func_80000B28
/* 023CA0 800230A0 00000000 */ nop
/* 023CA4 800230A4 0C0282DD */ jal func_800A0B74
/* 023CA8 800230A8 00000000 */ nop
/* 023CAC 800230AC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 023CB0 800230B0 44816000 */ mtc1 $at, $f12
/* 023CB4 800230B4 0C01AF44 */ jal start_level_music
/* 023CB8 800230B8 00000000 */ nop
/* 023CBC 800230BC 8FBF0014 */ lw $ra, 0x14($sp)
/* 023CC0 800230C0 3C018012 */ lui $at, %hi(gIsTajChallenge) # $at, 0x8012
/* 023CC4 800230C4 A020AEF6 */ sb $zero, %lo(gIsTajChallenge)($at)
/* 023CC8 800230C8 03E00008 */ jr $ra
/* 023CCC 800230CC 27BD0030 */ addiu $sp, $sp, 0x30
-155
View File
@@ -1,155 +0,0 @@
glabel func_80026C14
/* 027814 80026C14 3C088012 */ lui $t0, %hi(D_8011D49E) # $t0, 0x8012
/* 027818 80026C18 2508D49E */ addiu $t0, %lo(D_8011D49E) # addiu $t0, $t0, -0x2b62
/* 02781C 80026C1C 27BDFFF8 */ addiu $sp, $sp, -8
/* 027820 80026C20 3C188012 */ lui $t8, %hi(D_8011D4BA) # $t8, 0x8012
/* 027824 80026C24 8718D4BA */ lh $t8, %lo(D_8011D4BA)($t8)
/* 027828 80026C28 85020000 */ lh $v0, ($t0)
/* 02782C 80026C2C AFB00004 */ sw $s0, 4($sp)
/* 027830 80026C30 00058400 */ sll $s0, $a1, 0x10
/* 027834 80026C34 00043C00 */ sll $a3, $a0, 0x10
/* 027838 80026C38 00077403 */ sra $t6, $a3, 0x10
/* 02783C 80026C3C 00107C03 */ sra $t7, $s0, 0x10
/* 027840 80026C40 0058082A */ slt $at, $v0, $t8
/* 027844 80026C44 01E08025 */ move $s0, $t7
/* 027848 80026C48 01C03825 */ move $a3, $t6
/* 02784C 80026C4C AFA40008 */ sw $a0, 8($sp)
/* 027850 80026C50 AFA5000C */ sw $a1, 0xc($sp)
/* 027854 80026C54 1020007C */ beqz $at, .L80026E48
/* 027858 80026C58 AFA60010 */ sw $a2, 0x10($sp)
/* 02785C 80026C5C 18400017 */ blez $v0, .L80026CBC
/* 027860 80026C60 00001825 */ move $v1, $zero
/* 027864 80026C64 3C098012 */ lui $t1, %hi(D_8011D478) # $t1, 0x8012
/* 027868 80026C68 2529D478 */ addiu $t1, %lo(D_8011D478) # addiu $t1, $t1, -0x2b88
/* 02786C 80026C6C 8D240000 */ lw $a0, ($t1)
/* 027870 80026C70 00000000 */ nop
/* 027874 80026C74 84990000 */ lh $t9, ($a0)
/* 027878 80026C78 00000000 */ nop
/* 02787C 80026C7C 032E082A */ slt $at, $t9, $t6
/* 027880 80026C80 1020000E */ beqz $at, .L80026CBC
/* 027884 80026C84 00000000 */ nop
.L80026C88:
/* 027888 80026C88 24630001 */ addiu $v1, $v1, 1
/* 02788C 80026C8C 00035400 */ sll $t2, $v1, 0x10
/* 027890 80026C90 000A5C03 */ sra $t3, $t2, 0x10
/* 027894 80026C94 0162082A */ slt $at, $t3, $v0
/* 027898 80026C98 10200008 */ beqz $at, .L80026CBC
/* 02789C 80026C9C 01601825 */ move $v1, $t3
/* 0278A0 80026CA0 000B60C0 */ sll $t4, $t3, 3
/* 0278A4 80026CA4 008C6821 */ addu $t5, $a0, $t4
/* 0278A8 80026CA8 85AE0000 */ lh $t6, ($t5)
/* 0278AC 80026CAC 00000000 */ nop
/* 0278B0 80026CB0 01C7082A */ slt $at, $t6, $a3
/* 0278B4 80026CB4 1420FFF4 */ bnez $at, .L80026C88
/* 0278B8 80026CB8 00000000 */ nop
.L80026CBC:
/* 0278BC 80026CBC 3C098012 */ lui $t1, %hi(D_8011D478) # $t1, 0x8012
/* 0278C0 80026CC0 0062082A */ slt $at, $v1, $v0
/* 0278C4 80026CC4 1020001E */ beqz $at, .L80026D40
/* 0278C8 80026CC8 2529D478 */ addiu $t1, %lo(D_8011D478) # addiu $t1, $t1, -0x2b88
/* 0278CC 80026CCC 8D240000 */ lw $a0, ($t1)
/* 0278D0 80026CD0 000378C0 */ sll $t7, $v1, 3
/* 0278D4 80026CD4 008F2821 */ addu $a1, $a0, $t7
/* 0278D8 80026CD8 84B80000 */ lh $t8, ($a1)
/* 0278DC 80026CDC 00000000 */ nop
/* 0278E0 80026CE0 14F80017 */ bne $a3, $t8, .L80026D40
/* 0278E4 80026CE4 00000000 */ nop
/* 0278E8 80026CE8 84B90002 */ lh $t9, 2($a1)
/* 0278EC 80026CEC 00000000 */ nop
/* 0278F0 80026CF0 0330082A */ slt $at, $t9, $s0
/* 0278F4 80026CF4 10200013 */ beqz $at, .L80026D44
/* 0278F8 80026CF8 00022C00 */ sll $a1, $v0, 0x10
.L80026CFC:
/* 0278FC 80026CFC 24630001 */ addiu $v1, $v1, 1
/* 027900 80026D00 00035400 */ sll $t2, $v1, 0x10
/* 027904 80026D04 000A5C03 */ sra $t3, $t2, 0x10
/* 027908 80026D08 0162082A */ slt $at, $t3, $v0
/* 02790C 80026D0C 1020000C */ beqz $at, .L80026D40
/* 027910 80026D10 01601825 */ move $v1, $t3
/* 027914 80026D14 000B60C0 */ sll $t4, $t3, 3
/* 027918 80026D18 008C2821 */ addu $a1, $a0, $t4
/* 02791C 80026D1C 84AD0000 */ lh $t5, ($a1)
/* 027920 80026D20 00000000 */ nop
/* 027924 80026D24 14ED0006 */ bne $a3, $t5, .L80026D40
/* 027928 80026D28 00000000 */ nop
/* 02792C 80026D2C 84AE0002 */ lh $t6, 2($a1)
/* 027930 80026D30 00000000 */ nop
/* 027934 80026D34 01D0082A */ slt $at, $t6, $s0
/* 027938 80026D38 1420FFF0 */ bnez $at, .L80026CFC
/* 02793C 80026D3C 00000000 */ nop
.L80026D40:
/* 027940 80026D40 00022C00 */ sll $a1, $v0, 0x10
.L80026D44:
/* 027944 80026D44 00057C03 */ sra $t7, $a1, 0x10
/* 027948 80026D48 006F082A */ slt $at, $v1, $t7
/* 02794C 80026D4C 01E02825 */ move $a1, $t7
/* 027950 80026D50 10200019 */ beqz $at, .L80026DB8
/* 027954 80026D54 000320C0 */ sll $a0, $v1, 3
.L80026D58:
/* 027958 80026D58 8D380000 */ lw $t8, ($t1)
/* 02795C 80026D5C 000510C0 */ sll $v0, $a1, 3
/* 027960 80026D60 03023021 */ addu $a2, $t8, $v0
/* 027964 80026D64 84D9FFF8 */ lh $t9, -8($a2)
/* 027968 80026D68 24A5FFFF */ addiu $a1, $a1, -1
/* 02796C 80026D6C A4D90000 */ sh $t9, ($a2)
/* 027970 80026D70 8D2A0000 */ lw $t2, ($t1)
/* 027974 80026D74 0005C400 */ sll $t8, $a1, 0x10
/* 027978 80026D78 01423021 */ addu $a2, $t2, $v0
/* 02797C 80026D7C 84CBFFFA */ lh $t3, -6($a2)
/* 027980 80026D80 00182C03 */ sra $a1, $t8, 0x10
/* 027984 80026D84 A4CB0002 */ sh $t3, 2($a2)
/* 027988 80026D88 8D2C0000 */ lw $t4, ($t1)
/* 02798C 80026D8C 0065082A */ slt $at, $v1, $a1
/* 027990 80026D90 01823021 */ addu $a2, $t4, $v0
/* 027994 80026D94 80CDFFFF */ lb $t5, -1($a2)
/* 027998 80026D98 00000000 */ nop
/* 02799C 80026D9C A0CD0007 */ sb $t5, 7($a2)
/* 0279A0 80026DA0 8D2E0000 */ lw $t6, ($t1)
/* 0279A4 80026DA4 00000000 */ nop
/* 0279A8 80026DA8 01C23021 */ addu $a2, $t6, $v0
/* 0279AC 80026DAC 80CFFFFE */ lb $t7, -2($a2)
/* 0279B0 80026DB0 1420FFE9 */ bnez $at, .L80026D58
/* 0279B4 80026DB4 A0CF0006 */ sb $t7, 6($a2)
.L80026DB8:
/* 0279B8 80026DB8 8D2A0000 */ lw $t2, ($t1)
/* 0279BC 80026DBC 3C038012 */ lui $v1, %hi(D_8011D49C) # $v1, 0x8012
/* 0279C0 80026DC0 01445821 */ addu $t3, $t2, $a0
/* 0279C4 80026DC4 A5670000 */ sh $a3, ($t3)
/* 0279C8 80026DC8 8D2C0000 */ lw $t4, ($t1)
/* 0279CC 80026DCC 2463D49C */ addiu $v1, %lo(D_8011D49C) # addiu $v1, $v1, -0x2b64
/* 0279D0 80026DD0 01846821 */ addu $t5, $t4, $a0
/* 0279D4 80026DD4 A5B00002 */ sh $s0, 2($t5)
/* 0279D8 80026DD8 8D2E0000 */ lw $t6, ($t1)
/* 0279DC 80026DDC 00000000 */ nop
/* 0279E0 80026DE0 01C47821 */ addu $t7, $t6, $a0
/* 0279E4 80026DE4 A5E00004 */ sh $zero, 4($t7)
/* 0279E8 80026DE8 8D390000 */ lw $t9, ($t1)
/* 0279EC 80026DEC 84780000 */ lh $t8, ($v1)
/* 0279F0 80026DF0 03245021 */ addu $t2, $t9, $a0
/* 0279F4 80026DF4 A1580007 */ sb $t8, 7($t2)
/* 0279F8 80026DF8 8D2C0000 */ lw $t4, ($t1)
/* 0279FC 80026DFC 8FAB0010 */ lw $t3, 0x10($sp)
/* 027A00 80026E00 01846821 */ addu $t5, $t4, $a0
/* 027A04 80026E04 A1AB0006 */ sb $t3, 6($t5)
/* 027A08 80026E08 3C0F8012 */ lui $t7, %hi(D_8011D47C) # $t7, 0x8012
/* 027A0C 80026E0C 8DEFD47C */ lw $t7, %lo(D_8011D47C)($t7)
/* 027A10 80026E10 85190000 */ lh $t9, ($t0)
/* 027A14 80026E14 240EFFFF */ li $t6, -1
/* 027A18 80026E18 01F9C021 */ addu $t8, $t7, $t9
/* 027A1C 80026E1C A30E0000 */ sb $t6, ($t8)
/* 027A20 80026E20 85020000 */ lh $v0, ($t0)
/* 027A24 80026E24 00000000 */ nop
/* 027A28 80026E28 304A0001 */ andi $t2, $v0, 1
/* 027A2C 80026E2C 11400005 */ beqz $t2, .L80026E44
/* 027A30 80026E30 244D0001 */ addiu $t5, $v0, 1
/* 027A34 80026E34 846C0000 */ lh $t4, ($v1)
/* 027A38 80026E38 00000000 */ nop
/* 027A3C 80026E3C 258B0001 */ addiu $t3, $t4, 1
/* 027A40 80026E40 A46B0000 */ sh $t3, ($v1)
.L80026E44:
/* 027A44 80026E44 A50D0000 */ sh $t5, ($t0)
.L80026E48:
/* 027A48 80026E48 8FB00004 */ lw $s0, 4($sp)
/* 027A4C 80026E4C 03E00008 */ jr $ra
/* 027A50 80026E50 27BD0008 */ addiu $sp, $sp, 8
+2
View File
@@ -174,6 +174,8 @@ typedef struct LevelObjectEntry_AiNode {
/* 0x00 */ LevelObjectEntryCommon common;
/* 0x08 */ u8 unk8;
/* 0x09 */ u8 unk9;
/* 0x0A */ u8 unkA[4];
/* 0x0E */ s8 unkE;
} LevelObjectEntry_AiNode;
#define BALLOON_TYPE_BOOST 0
+13 -1
View File
@@ -562,7 +562,10 @@ typedef struct TriangleBatchInfo {
/* Size: 8 bytes */
typedef struct ObjectModel_44 {
union {
/* 0x00 */ s32 *anim;
/* 0x00 */ u8 *animData;
};
/* 0x04 */ s32 unk4; // Number of frames in animation?
} ObjectModel_44;
@@ -594,7 +597,8 @@ typedef struct ObjectModel {
/* 0x40 */ s32* unk40;
/* 0x44 */ ObjectModel_44* animations;
/* 0x48 */ s16 numberOfAnimations;
/* 0x4A */ u8 pad4A[6];
/* 0x4A */ s16 unk4A;
/* 0x4C */ u8 pad4C[4];
/* 0x50 */ s16 unk50;
/* 0x52 */ s16 unk52;
} ObjectModel;
@@ -1151,6 +1155,13 @@ typedef struct Object_Exit {
/* 0x10 */ s32 radius; // Activation radius.
/* 0x14 */ s8 bossFlag; // Dictates boss level version. 0 is first encounter, 1 is rematch. -1 means no boss.
} Object_Exit;
typedef struct Object_AiNode {
/* 0x00 */ struct Object *nodeObj[4];
/* 0x10 */ s16 distToNode[4];
/* 0x18 */ u8 unk18[4];
} Object_AiNode;
/* Size: 0x224 - 548 bytes */
typedef struct Object_Racer {
/* 0x000 */ s16 playerIndex; // -1 = AI Controlled, 0 to 3 = Object controlled
@@ -1627,6 +1638,7 @@ typedef struct Object_64 {
Object_WizpigRocket wizpigRocket;
Object_8001E89C_64 obj8001E89C_64;
Object_CharacterSelect characterSelect;
Object_AiNode ai_node;
};
} Object_64;
+27
View File
@@ -0,0 +1,27 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x800C9AF0 */
.include "macros.inc"
.set noat # allow manual use of $at
.set noreorder # dont insert nops after branches
.set gp=64 # 64-bit instructions are used
/* Hacky workaround. This is required because after alSynSetPriority, the linker seems to have added a bunch of nops. */
glabel __NOPS_NEEDED
/* 0CA6F0 800C9AF0 00000000 */ nop
/* 0CA6F4 800C9AF4 00000000 */ nop
/* 0CA6F8 800C9AF8 00000000 */ nop
/* 0CA6FC 800C9AFC 00000000 */ nop
/* 0CA700 800C9B00 00000000 */ nop
/* 0CA704 800C9B04 00000000 */ nop
/* 0CA708 800C9B08 00000000 */ nop
/* 0CA70C 800C9B0C 00000000 */ nop
/* 0CA710 800C9B10 00000000 */ nop
/* 0CA714 800C9B14 00000000 */ nop
/* 0CA718 800C9B18 00000000 */ nop
/* 0CA71C 800C9B1C 00000000 */ nop
/* 0CA720 800C9B20 00000000 */ nop
/* 0CA724 800C9B24 00000000 */ nop
/* 0CA728 800C9B28 00000000 */ nop
/* 0CA72C 800C9B2C 00000000 */ nop
@@ -1,27 +0,0 @@
/* Hacky workaround. This is required because after alSynSetPriority, the linker seems to have added a bunch of nops. */
glabel __NOPS_NEEDED
/* 0CA6F0 800C9AF0 00000000 */ nop
/* 0CA6F4 800C9AF4 00000000 */ nop
/* 0CA6F8 800C9AF8 00000000 */ nop
/* 0CA6FC 800C9AFC 00000000 */ nop
/* 0CA700 800C9B00 00000000 */ nop
/* 0CA704 800C9B04 00000000 */ nop
/* 0CA708 800C9B08 00000000 */ nop
/* 0CA70C 800C9B0C 00000000 */ nop
/* 0CA710 800C9B10 00000000 */ nop
/* 0CA714 800C9B14 00000000 */ nop
/* 0CA718 800C9B18 00000000 */ nop
/* 0CA71C 800C9B1C 00000000 */ nop
/* 0CA720 800C9B20 00000000 */ nop
/* 0CA724 800C9B24 00000000 */ nop
/* 0CA728 800C9B28 00000000 */ nop
/* 0CA72C 800C9B2C 00000000 */ nop
glabel __d_to_ll
/* 0CA730 800C9B30 46206109 */ trunc.l.d $f4, $f12
/* 0CA734 800C9B34 44222000 */ dmfc1 $v0, $f4
/* 0CA738 800C9B38 00000000 */ nop
/* 0CA73C 800C9B3C 0002183C */ dsll32 $v1, $v0, 0
/* 0CA740 800C9B40 0003183F */ dsra32 $v1, $v1, 0
/* 0CA744 800C9B44 03E00008 */ jr $ra
/* 0CA748 800C9B48 0002103F */ dsra32 $v0, $v0, 0
@@ -1,113 +0,0 @@
.late_rodata
glabel D_800E9550
.double -0.0
glabel D_800E9558
.double -0.0
.text
glabel __f_to_ll
/* 0CA74C 800C9B4C 46006109 */ trunc.l.s $f4, $f12
/* 0CA750 800C9B50 44222000 */ dmfc1 $v0, $f4
/* 0CA754 800C9B54 00000000 */ nop
/* 0CA758 800C9B58 0002183C */ dsll32 $v1, $v0, 0
/* 0CA75C 800C9B5C 0003183F */ dsra32 $v1, $v1, 0
/* 0CA760 800C9B60 03E00008 */ jr $ra
/* 0CA764 800C9B64 0002103F */ dsra32 $v0, $v0, 0
glabel __d_to_ull
/* 0CA768 800C9B68 444EF800 */ cfc1 $t6, $31
/* 0CA76C 800C9B6C 24020001 */ li $v0, 1
/* 0CA770 800C9B70 44C2F800 */ ctc1 $v0, $31
/* 0CA774 800C9B74 00000000 */ nop
/* 0CA778 800C9B78 46206125 */ cvt.l.d $f4, $f12
/* 0CA77C 800C9B7C 4442F800 */ cfc1 $v0, $31
/* 0CA780 800C9B80 00000000 */ nop
/* 0CA784 800C9B84 30410004 */ andi $at, $v0, 4
/* 0CA788 800C9B88 30420078 */ andi $v0, $v0, 0x78
/* 0CA78C 800C9B8C 10400015 */ beqz $v0, .L800C9BE4
/* 0CA790 800C9B90 3C0143E0 */ li $at, 0x43E00000 # 448.000000
/* 0CA794 800C9B94 44812800 */ mtc1 $at, $f5
/* 0CA798 800C9B98 44802000 */ mtc1 $zero, $f4
/* 0CA79C 800C9B9C 24020001 */ li $v0, 1
/* 0CA7A0 800C9BA0 46246101 */ sub.d $f4, $f12, $f4
/* 0CA7A4 800C9BA4 44C2F800 */ ctc1 $v0, $31
/* 0CA7A8 800C9BA8 00000000 */ nop
/* 0CA7AC 800C9BAC 46202125 */ cvt.l.d $f4, $f4
/* 0CA7B0 800C9BB0 4442F800 */ cfc1 $v0, $31
/* 0CA7B4 800C9BB4 00000000 */ nop
/* 0CA7B8 800C9BB8 30410004 */ andi $at, $v0, 4
/* 0CA7BC 800C9BBC 30420078 */ andi $v0, $v0, 0x78
/* 0CA7C0 800C9BC0 14400006 */ bnez $v0, .L800C9BDC
/* 0CA7C4 800C9BC4 00000000 */ nop
/* 0CA7C8 800C9BC8 3C0F800F */ lui $t7, %hi(D_800E9550) # $t7, 0x800f
/* 0CA7CC 800C9BCC DDEF9550 */ ld $t7, %lo(D_800E9550)($t7)
/* 0CA7D0 800C9BD0 44222000 */ dmfc1 $v0, $f4
/* 0CA7D4 800C9BD4 10000007 */ b .L800C9BF4
/* 0CA7D8 800C9BD8 004F1025 */ or $v0, $v0, $t7
.L800C9BDC:
/* 0CA7DC 800C9BDC 10000005 */ b .L800C9BF4
/* 0CA7E0 800C9BE0 2402FFFF */ li $v0, -1
.L800C9BE4:
/* 0CA7E4 800C9BE4 44222000 */ dmfc1 $v0, $f4
/* 0CA7E8 800C9BE8 00000000 */ nop
/* 0CA7EC 800C9BEC 0440FFFB */ bltz $v0, .L800C9BDC
/* 0CA7F0 800C9BF0 00000000 */ nop
.L800C9BF4:
/* 0CA7F4 800C9BF4 44CEF800 */ ctc1 $t6, $31
/* 0CA7F8 800C9BF8 0002183C */ dsll32 $v1, $v0, 0
/* 0CA7FC 800C9BFC 0003183F */ dsra32 $v1, $v1, 0
/* 0CA800 800C9C00 03E00008 */ jr $ra
/* 0CA804 800C9C04 0002103F */ dsra32 $v0, $v0, 0
glabel __f_to_ull
/* 0CA808 800C9C08 444EF800 */ cfc1 $t6, $31
/* 0CA80C 800C9C0C 24020001 */ li $v0, 1
/* 0CA810 800C9C10 44C2F800 */ ctc1 $v0, $31
/* 0CA814 800C9C14 00000000 */ nop
/* 0CA818 800C9C18 46006125 */ cvt.l.s $f4, $f12
/* 0CA81C 800C9C1C 4442F800 */ cfc1 $v0, $31
/* 0CA820 800C9C20 00000000 */ nop
/* 0CA824 800C9C24 30410004 */ andi $at, $v0, 4
/* 0CA828 800C9C28 30420078 */ andi $v0, $v0, 0x78
/* 0CA82C 800C9C2C 10400014 */ beqz $v0, .L800C9C80
/* 0CA830 800C9C30 3C015F00 */ li $at, 0x5F000000 # 9223372036854775808.000000
/* 0CA834 800C9C34 44812000 */ mtc1 $at, $f4
/* 0CA838 800C9C38 24020001 */ li $v0, 1
/* 0CA83C 800C9C3C 46046101 */ sub.s $f4, $f12, $f4
/* 0CA840 800C9C40 44C2F800 */ ctc1 $v0, $31
/* 0CA844 800C9C44 00000000 */ nop
/* 0CA848 800C9C48 46002125 */ cvt.l.s $f4, $f4
/* 0CA84C 800C9C4C 4442F800 */ cfc1 $v0, $31
/* 0CA850 800C9C50 00000000 */ nop
/* 0CA854 800C9C54 30410004 */ andi $at, $v0, 4
/* 0CA858 800C9C58 30420078 */ andi $v0, $v0, 0x78
/* 0CA85C 800C9C5C 14400006 */ bnez $v0, .L800C9C78
/* 0CA860 800C9C60 00000000 */ nop
/* 0CA864 800C9C64 3C0F800F */ lui $t7, %hi(D_800E9558) # $t7, 0x800f
/* 0CA868 800C9C68 DDEF9558 */ ld $t7, %lo(D_800E9558)($t7)
/* 0CA86C 800C9C6C 44222000 */ dmfc1 $v0, $f4
/* 0CA870 800C9C70 10000007 */ b .L800C9C90
/* 0CA874 800C9C74 004F1025 */ or $v0, $v0, $t7
.L800C9C78:
/* 0CA878 800C9C78 10000005 */ b .L800C9C90
/* 0CA87C 800C9C7C 2402FFFF */ li $v0, -1
.L800C9C80:
/* 0CA880 800C9C80 44222000 */ dmfc1 $v0, $f4
/* 0CA884 800C9C84 00000000 */ nop
/* 0CA888 800C9C88 0440FFFB */ bltz $v0, .L800C9C78
/* 0CA88C 800C9C8C 00000000 */ nop
.L800C9C90:
/* 0CA890 800C9C90 44CEF800 */ ctc1 $t6, $31
/* 0CA894 800C9C94 0002183C */ dsll32 $v1, $v0, 0
/* 0CA898 800C9C98 0003183F */ dsra32 $v1, $v1, 0
/* 0CA89C 800C9C9C 03E00008 */ jr $ra
/* 0CA8A0 800C9CA0 0002103F */ dsra32 $v0, $v0, 0
glabel __ll_to_d
/* 0CA8A4 800C9CA4 AFA40000 */ sw $a0, ($sp)
/* 0CA8A8 800C9CA8 AFA50004 */ sw $a1, 4($sp)
/* 0CA8AC 800C9CAC DFAE0000 */ ld $t6, ($sp)
/* 0CA8B0 800C9CB0 44AE2000 */ dmtc1 $t6, $f4
/* 0CA8B4 800C9CB4 03E00008 */ jr $ra
/* 0CA8B8 800C9CB8 46A02021 */ cvt.d.l $f0, $f4
@@ -1,42 +0,0 @@
glabel __ll_to_f
/* 0CA8BC 800C9CBC AFA40000 */ sw $a0, ($sp)
/* 0CA8C0 800C9CC0 AFA50004 */ sw $a1, 4($sp)
/* 0CA8C4 800C9CC4 DFAE0000 */ ld $t6, ($sp)
/* 0CA8C8 800C9CC8 44AE2000 */ dmtc1 $t6, $f4
/* 0CA8CC 800C9CCC 03E00008 */ jr $ra
/* 0CA8D0 800C9CD0 46A02020 */ cvt.s.l $f0, $f4
glabel __ull_to_d
/* 0CA8D4 800C9CD4 AFA40000 */ sw $a0, ($sp)
/* 0CA8D8 800C9CD8 AFA50004 */ sw $a1, 4($sp)
/* 0CA8DC 800C9CDC DFAE0000 */ ld $t6, ($sp)
/* 0CA8E0 800C9CE0 44AE2000 */ dmtc1 $t6, $f4
/* 0CA8E4 800C9CE4 05C10006 */ bgez $t6, .L800C9D00
/* 0CA8E8 800C9CE8 46A02021 */ cvt.d.l $f0, $f4
/* 0CA8EC 800C9CEC 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 0CA8F0 800C9CF0 44813800 */ mtc1 $at, $f7
/* 0CA8F4 800C9CF4 44803000 */ mtc1 $zero, $f6
/* 0CA8F8 800C9CF8 00000000 */ nop
/* 0CA8FC 800C9CFC 46260000 */ add.d $f0, $f0, $f6
.L800C9D00:
/* 0CA900 800C9D00 03E00008 */ jr $ra
/* 0CA904 800C9D04 00000000 */ nop
glabel __ull_to_f
/* 0CA908 800C9D08 AFA40000 */ sw $a0, ($sp)
/* 0CA90C 800C9D0C AFA50004 */ sw $a1, 4($sp)
/* 0CA910 800C9D10 DFAE0000 */ ld $t6, ($sp)
/* 0CA914 800C9D14 44AE2000 */ dmtc1 $t6, $f4
/* 0CA918 800C9D18 05C10005 */ bgez $t6, .L800C9D30
/* 0CA91C 800C9D1C 46A02020 */ cvt.s.l $f0, $f4
/* 0CA920 800C9D20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0CA924 800C9D24 44813000 */ mtc1 $at, $f6
/* 0CA928 800C9D28 00000000 */ nop
/* 0CA92C 800C9D2C 46060000 */ add.s $f0, $f0, $f6
.L800C9D30:
/* 0CA930 800C9D30 03E00008 */ jr $ra
/* 0CA934 800C9D34 00000000 */ nop
/* 0CA938 800C9D38 00000000 */ nop
/* 0CA93C 800C9D3C 00000000 */ nop
@@ -1,27 +0,0 @@
glabel __ll_div
/* 0CF76C 800CEB6C AFA40000 */ sw $a0, ($sp)
/* 0CF770 800CEB70 AFA50004 */ sw $a1, 4($sp)
/* 0CF774 800CEB74 AFA60008 */ sw $a2, 8($sp)
/* 0CF778 800CEB78 AFA7000C */ sw $a3, 0xc($sp)
/* 0CF77C 800CEB7C DFAF0008 */ ld $t7, 8($sp)
/* 0CF780 800CEB80 DFAE0000 */ ld $t6, ($sp)
/* 0CF784 800CEB84 01CF001E */ ddiv $zero, $t6, $t7
/* 0CF788 800CEB88 00000000 */ nop
/* 0CF78C 800CEB8C 15E00002 */ bnez $t7, .L800CEB98
/* 0CF790 800CEB90 00000000 */ nop
/* 0CF794 800CEB94 0007000D */ break 7
.L800CEB98:
/* 0CF798 800CEB98 6401FFFF */ daddiu $at, $zero, -1
/* 0CF79C 800CEB9C 15E10005 */ bne $t7, $at, .L800CEBB4
/* 0CF7A0 800CEBA0 64010001 */ daddiu $at, $zero, 1
/* 0CF7A4 800CEBA4 00010FFC */ dsll32 $at, $at, 0x1f
/* 0CF7A8 800CEBA8 15C10002 */ bne $t6, $at, .L800CEBB4
/* 0CF7AC 800CEBAC 00000000 */ nop
/* 0CF7B0 800CEBB0 0006000D */ break 6
.L800CEBB4:
/* 0CF7B4 800CEBB4 00001012 */ mflo $v0
/* 0CF7B8 800CEBB8 0002183C */ dsll32 $v1, $v0, 0
/* 0CF7BC 800CEBBC 0003183F */ dsra32 $v1, $v1, 0
/* 0CF7C0 800CEBC0 03E00008 */ jr $ra
/* 0CF7C4 800CEBC4 0002103F */ dsra32 $v0, $v0, 0
@@ -1,31 +0,0 @@
glabel __ll_lshift
/* 0CF704 800CEB04 AFA40000 */ sw $a0, ($sp)
/* 0CF708 800CEB08 AFA50004 */ sw $a1, 4($sp)
/* 0CF70C 800CEB0C AFA60008 */ sw $a2, 8($sp)
/* 0CF710 800CEB10 AFA7000C */ sw $a3, 0xc($sp)
/* 0CF714 800CEB14 DFAF0008 */ ld $t7, 8($sp)
/* 0CF718 800CEB18 DFAE0000 */ ld $t6, ($sp)
/* 0CF71C 800CEB1C 01EE1014 */ dsllv $v0, $t6, $t7
/* 0CF720 800CEB20 0002183C */ dsll32 $v1, $v0, 0
/* 0CF724 800CEB24 0003183F */ dsra32 $v1, $v1, 0
/* 0CF728 800CEB28 03E00008 */ jr $ra
/* 0CF72C 800CEB2C 0002103F */ dsra32 $v0, $v0, 0
glabel func_800CEB30
/* 0CF730 800CEB30 AFA40000 */ sw $a0, ($sp)
/* 0CF734 800CEB34 AFA50004 */ sw $a1, 4($sp)
/* 0CF738 800CEB38 AFA60008 */ sw $a2, 8($sp)
/* 0CF73C 800CEB3C AFA7000C */ sw $a3, 0xc($sp)
/* 0CF740 800CEB40 DFAF0008 */ ld $t7, 8($sp)
/* 0CF744 800CEB44 DFAE0000 */ ld $t6, ($sp)
/* 0CF748 800CEB48 01CF001F */ ddivu $zero, $t6, $t7
/* 0CF74C 800CEB4C 15E00002 */ bnez $t7, .L800CEB58
/* 0CF750 800CEB50 00000000 */ nop
/* 0CF754 800CEB54 0007000D */ break 7
.L800CEB58:
/* 0CF758 800CEB58 00001010 */ mfhi $v0
/* 0CF75C 800CEB5C 0002183C */ dsll32 $v1, $v0, 0
/* 0CF760 800CEB60 0003183F */ dsra32 $v1, $v1, 0
/* 0CF764 800CEB64 03E00008 */ jr $ra
/* 0CF768 800CEB68 0002103F */ dsra32 $v0, $v0, 0

Some files were not shown because too many files have changed in this diff Show More