mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Many new matches (#407)
* Match func_8002DE30 * func_80046524 code cleanup and score improvement. * Match func_800B45C4 * Match func_800B461C * Match func_800B4668 and func_800B46BC * Match func_800B3140 * Match strcpy and split other funcs into their own files. * unused_string.c * Match func_800B3240 * Match func_800A1C04 * Match func_800A22F4 * Better func_800A22F4 * Match all of unused_string.c now. * Split two new funcs out of func_80011264 and match them. * Do some documenting of the new funcs so they count for adventure two. * Get func_80011264 to a really close match * Workaround for the update_spatial_audio_position issue * Come up with a cleaner fix for update_spatial_audio_position * Soundmask updates * Rename SoundMask struct * Match func_800B34B0 and func_800B3358 * Apply suggestions from code review Co-authored-by: Fazana <52551480+FazanaJ@users.noreply.github.com> * Update READEME score * Fix 31 to 21 --------- Co-authored-by: Fazana <52551480+FazanaJ@users.noreply.github.com>
This commit is contained in:
@@ -5,11 +5,11 @@ This repo contains a work-in-progress decompilation of Diddy Kong Racing for the
|
||||
Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time.
|
||||
|
||||
<!-- README_SCORE_SUMMARY_BEGIN -->
|
||||
As of September 18, 2023, this is our current score:
|
||||
As of September 21, 2023, this is our current score:
|
||||
|
||||
    Decomp progress: 53.37%
|
||||
    Decomp progress: 53.85%
|
||||
|
||||
    Documentation progress: 27.64%
|
||||
    Documentation progress: 27.65%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
|
||||
---
|
||||
@@ -128,25 +128,25 @@ s32 is_drumstick_unlocked(void) {
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of September 18th, 2023, this is our current score:
|
||||
As of September 21st, 2023, this is our current score:
|
||||
```
|
||||
========================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
------------------- 53.37% Complete --------------------
|
||||
# Decompiled functions: 1532
|
||||
# GLOBAL_ASM remaining: 300
|
||||
------------------- 53.85% Complete --------------------
|
||||
# Decompiled functions: 1550
|
||||
# GLOBAL_ASM remaining: 288
|
||||
# NON_MATCHING functions: 14
|
||||
# NON_EQUIVALENT WIP functions: 70
|
||||
# NON_EQUIVALENT WIP functions: 69
|
||||
--------------------- Game Status ----------------------
|
||||
Balloons: 26/47, Keys: 3/4, Trophies: 2/5
|
||||
T.T. Amulets: 2/4, Wizpig Amulets: 2/4
|
||||
--------------------------------------------------------
|
||||
We are battling in Darkwater Beach. (3 opponents remain)
|
||||
We are battling in Darkwater Beach. (2 opponents remain)
|
||||
========================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
------------------- 27.64% Complete --------------------
|
||||
# Documented functions: 604
|
||||
# Undocumented remaining: 960
|
||||
------------------- 27.65% Complete --------------------
|
||||
# Documented functions: 606
|
||||
# Undocumented remaining: 964
|
||||
--------------------- Game Status ----------------------
|
||||
Balloons: 14/47, Keys: 1/4, Trophies: 1/5
|
||||
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
|
||||
|
||||
@@ -1,162 +0,0 @@
|
||||
glabel func_800A1C04
|
||||
/* 0A2804 800A1C04 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0A2808 800A1C08 3C0F8012 */ lui $t7, %hi(gNumActivePlayers) # $t7, 0x8012
|
||||
/* 0A280C 800A1C0C 91EF6D37 */ lbu $t7, %lo(gNumActivePlayers)($t7)
|
||||
/* 0A2810 800A1C10 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0A2814 800A1C14 AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 0A2818 800A1C18 AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* 0A281C 800A1C1C AFA60048 */ sw $a2, 0x48($sp)
|
||||
/* 0A2820 800A1C20 8CA70064 */ lw $a3, 0x64($a1)
|
||||
/* 0A2824 800A1C24 24010001 */ li $at, 1
|
||||
/* 0A2828 800A1C28 15E10005 */ bne $t7, $at, .L800A1C40
|
||||
/* 0A282C 800A1C2C 24040001 */ li $a0, 1
|
||||
/* 0A2830 800A1C30 80F801D8 */ lb $t8, 0x1d8($a3)
|
||||
/* 0A2834 800A1C34 00000000 */ nop
|
||||
/* 0A2838 800A1C38 17000080 */ bnez $t8, .L800A1E3C
|
||||
/* 0A283C 800A1C3C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800A1C40:
|
||||
/* 0A2840 800A1C40 0C01A142 */ jal func_80068508
|
||||
/* 0A2844 800A1C44 AFA70038 */ sw $a3, 0x38($sp)
|
||||
/* 0A2848 800A1C48 8FA40040 */ lw $a0, 0x40($sp)
|
||||
/* 0A284C 800A1C4C 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* 0A2850 800A1C50 0C028F39 */ jal render_race_start
|
||||
/* 0A2854 800A1C54 00000000 */ nop
|
||||
/* 0A2858 800A1C58 8FA40044 */ lw $a0, 0x44($sp)
|
||||
/* 0A285C 800A1C5C 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* 0A2860 800A1C60 0C029D48 */ jal render_weapon_hud
|
||||
/* 0A2864 800A1C64 00000000 */ nop
|
||||
/* 0A2868 800A1C68 0C006E9D */ jal get_racer_objects
|
||||
/* 0A286C 800A1C6C 27A40034 */ addiu $a0, $sp, 0x34
|
||||
/* 0A2870 800A1C70 3C038012 */ lui $v1, %hi(gNumActivePlayers) # $v1, 0x8012
|
||||
/* 0A2874 800A1C74 90636D37 */ lbu $v1, %lo(gNumActivePlayers)($v1)
|
||||
/* 0A2878 800A1C78 8FA70038 */ lw $a3, 0x38($sp)
|
||||
/* 0A287C 800A1C7C 24010001 */ li $at, 1
|
||||
/* 0A2880 800A1C80 10610005 */ beq $v1, $at, .L800A1C98
|
||||
/* 0A2884 800A1C84 240A0002 */ li $t2, 2
|
||||
/* 0A2888 800A1C88 106A000A */ beq $v1, $t2, .L800A1CB4
|
||||
/* 0A288C 800A1C8C 8FB90034 */ lw $t9, 0x34($sp)
|
||||
/* 0A2890 800A1C90 10000065 */ b .L800A1E28
|
||||
/* 0A2894 800A1C94 8FA50048 */ lw $a1, 0x48($sp)
|
||||
.L800A1C98:
|
||||
/* 0A2898 800A1C98 8FA40044 */ lw $a0, 0x44($sp)
|
||||
/* 0A289C 800A1C9C 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* 0A28A0 800A1CA0 0C028792 */ jal func_800A1E48
|
||||
/* 0A28A4 800A1CA4 00000000 */ nop
|
||||
/* 0A28A8 800A1CA8 10000061 */ b .L800A1E30
|
||||
/* 0A28AC 800A1CAC 00000000 */ nop
|
||||
/* 0A28B0 800A1CB0 8FB90034 */ lw $t9, 0x34($sp)
|
||||
.L800A1CB4:
|
||||
/* 0A28B4 800A1CB4 00002825 */ move $a1, $zero
|
||||
/* 0A28B8 800A1CB8 1B200056 */ blez $t9, .L800A1E14
|
||||
/* 0A28BC 800A1CBC 00003025 */ move $a2, $zero
|
||||
/* 0A28C0 800A1CC0 33230003 */ andi $v1, $t9, 3
|
||||
/* 0A28C4 800A1CC4 10600017 */ beqz $v1, .L800A1D24
|
||||
/* 0A28C8 800A1CC8 00604825 */ move $t1, $v1
|
||||
/* 0A28CC 800A1CCC 00005880 */ sll $t3, $zero, 2
|
||||
/* 0A28D0 800A1CD0 004B2021 */ addu $a0, $v0, $t3
|
||||
/* 0A28D4 800A1CD4 2408FFFF */ li $t0, -1
|
||||
.L800A1CD8:
|
||||
/* 0A28D8 800A1CD8 8C8C0000 */ lw $t4, ($a0)
|
||||
/* 0A28DC 800A1CDC 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 0A28E0 800A1CE0 8D830064 */ lw $v1, 0x64($t4)
|
||||
/* 0A28E4 800A1CE4 00000000 */ nop
|
||||
/* 0A28E8 800A1CE8 846D0000 */ lh $t5, ($v1)
|
||||
/* 0A28EC 800A1CEC 00000000 */ nop
|
||||
/* 0A28F0 800A1CF0 110D0006 */ beq $t0, $t5, .L800A1D0C
|
||||
/* 0A28F4 800A1CF4 00000000 */ nop
|
||||
/* 0A28F8 800A1CF8 806E01D8 */ lb $t6, 0x1d8($v1)
|
||||
/* 0A28FC 800A1CFC 00000000 */ nop
|
||||
/* 0A2900 800A1D00 11C00002 */ beqz $t6, .L800A1D0C
|
||||
/* 0A2904 800A1D04 00000000 */ nop
|
||||
/* 0A2908 800A1D08 24A50001 */ addiu $a1, $a1, 1
|
||||
.L800A1D0C:
|
||||
/* 0A290C 800A1D0C 1526FFF2 */ bne $t1, $a2, .L800A1CD8
|
||||
/* 0A2910 800A1D10 24840004 */ addiu $a0, $a0, 4
|
||||
/* 0A2914 800A1D14 8FAF0034 */ lw $t7, 0x34($sp)
|
||||
/* 0A2918 800A1D18 00000000 */ nop
|
||||
/* 0A291C 800A1D1C 10CF003D */ beq $a2, $t7, .L800A1E14
|
||||
/* 0A2920 800A1D20 00000000 */ nop
|
||||
.L800A1D24:
|
||||
/* 0A2924 800A1D24 8FB80034 */ lw $t8, 0x34($sp)
|
||||
/* 0A2928 800A1D28 00065880 */ sll $t3, $a2, 2
|
||||
/* 0A292C 800A1D2C 0018C880 */ sll $t9, $t8, 2
|
||||
/* 0A2930 800A1D30 03224821 */ addu $t1, $t9, $v0
|
||||
/* 0A2934 800A1D34 004B2021 */ addu $a0, $v0, $t3
|
||||
/* 0A2938 800A1D38 2408FFFF */ li $t0, -1
|
||||
.L800A1D3C:
|
||||
/* 0A293C 800A1D3C 8C8C0000 */ lw $t4, ($a0)
|
||||
/* 0A2940 800A1D40 00000000 */ nop
|
||||
/* 0A2944 800A1D44 8D830064 */ lw $v1, 0x64($t4)
|
||||
/* 0A2948 800A1D48 00000000 */ nop
|
||||
/* 0A294C 800A1D4C 846D0000 */ lh $t5, ($v1)
|
||||
/* 0A2950 800A1D50 00000000 */ nop
|
||||
/* 0A2954 800A1D54 110D0006 */ beq $t0, $t5, .L800A1D70
|
||||
/* 0A2958 800A1D58 00000000 */ nop
|
||||
/* 0A295C 800A1D5C 806E01D8 */ lb $t6, 0x1d8($v1)
|
||||
/* 0A2960 800A1D60 00000000 */ nop
|
||||
/* 0A2964 800A1D64 11C00002 */ beqz $t6, .L800A1D70
|
||||
/* 0A2968 800A1D68 00000000 */ nop
|
||||
/* 0A296C 800A1D6C 24A50001 */ addiu $a1, $a1, 1
|
||||
.L800A1D70:
|
||||
/* 0A2970 800A1D70 8C8F0004 */ lw $t7, 4($a0)
|
||||
/* 0A2974 800A1D74 00000000 */ nop
|
||||
/* 0A2978 800A1D78 8DE70064 */ lw $a3, 0x64($t7)
|
||||
/* 0A297C 800A1D7C 00000000 */ nop
|
||||
/* 0A2980 800A1D80 84F80000 */ lh $t8, ($a3)
|
||||
/* 0A2984 800A1D84 00000000 */ nop
|
||||
/* 0A2988 800A1D88 11180006 */ beq $t0, $t8, .L800A1DA4
|
||||
/* 0A298C 800A1D8C 00000000 */ nop
|
||||
/* 0A2990 800A1D90 80F901D8 */ lb $t9, 0x1d8($a3)
|
||||
/* 0A2994 800A1D94 00000000 */ nop
|
||||
/* 0A2998 800A1D98 13200002 */ beqz $t9, .L800A1DA4
|
||||
/* 0A299C 800A1D9C 00000000 */ nop
|
||||
/* 0A29A0 800A1DA0 24A50001 */ addiu $a1, $a1, 1
|
||||
.L800A1DA4:
|
||||
/* 0A29A4 800A1DA4 8C8B0008 */ lw $t3, 8($a0)
|
||||
/* 0A29A8 800A1DA8 00000000 */ nop
|
||||
/* 0A29AC 800A1DAC 8D670064 */ lw $a3, 0x64($t3)
|
||||
/* 0A29B0 800A1DB0 00000000 */ nop
|
||||
/* 0A29B4 800A1DB4 84EC0000 */ lh $t4, ($a3)
|
||||
/* 0A29B8 800A1DB8 00000000 */ nop
|
||||
/* 0A29BC 800A1DBC 110C0006 */ beq $t0, $t4, .L800A1DD8
|
||||
/* 0A29C0 800A1DC0 00000000 */ nop
|
||||
/* 0A29C4 800A1DC4 80ED01D8 */ lb $t5, 0x1d8($a3)
|
||||
/* 0A29C8 800A1DC8 00000000 */ nop
|
||||
/* 0A29CC 800A1DCC 11A00002 */ beqz $t5, .L800A1DD8
|
||||
/* 0A29D0 800A1DD0 00000000 */ nop
|
||||
/* 0A29D4 800A1DD4 24A50001 */ addiu $a1, $a1, 1
|
||||
.L800A1DD8:
|
||||
/* 0A29D8 800A1DD8 8C8E000C */ lw $t6, 0xc($a0)
|
||||
/* 0A29DC 800A1DDC 24840010 */ addiu $a0, $a0, 0x10
|
||||
/* 0A29E0 800A1DE0 8DC70064 */ lw $a3, 0x64($t6)
|
||||
/* 0A29E4 800A1DE4 00000000 */ nop
|
||||
/* 0A29E8 800A1DE8 84EF0000 */ lh $t7, ($a3)
|
||||
/* 0A29EC 800A1DEC 00000000 */ nop
|
||||
/* 0A29F0 800A1DF0 110F0006 */ beq $t0, $t7, .L800A1E0C
|
||||
/* 0A29F4 800A1DF4 00000000 */ nop
|
||||
/* 0A29F8 800A1DF8 80F801D8 */ lb $t8, 0x1d8($a3)
|
||||
/* 0A29FC 800A1DFC 00000000 */ nop
|
||||
/* 0A2A00 800A1E00 13000002 */ beqz $t8, .L800A1E0C
|
||||
/* 0A2A04 800A1E04 00000000 */ nop
|
||||
/* 0A2A08 800A1E08 24A50001 */ addiu $a1, $a1, 1
|
||||
.L800A1E0C:
|
||||
/* 0A2A0C 800A1E0C 1489FFCB */ bne $a0, $t1, .L800A1D3C
|
||||
/* 0A2A10 800A1E10 00000000 */ nop
|
||||
.L800A1E14:
|
||||
/* 0A2A14 800A1E14 14AA0006 */ bne $a1, $t2, .L800A1E30
|
||||
/* 0A2A18 800A1E18 00000000 */ nop
|
||||
/* 0A2A1C 800A1E1C 10000007 */ b .L800A1E3C
|
||||
/* 0A2A20 800A1E20 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0A2A24 800A1E24 8FA50048 */ lw $a1, 0x48($sp)
|
||||
.L800A1E28:
|
||||
/* 0A2A28 800A1E28 0C029055 */ jal render_racer_bananas
|
||||
/* 0A2A2C 800A1E2C 00E02025 */ move $a0, $a3
|
||||
.L800A1E30:
|
||||
/* 0A2A30 800A1E30 0C01A142 */ jal func_80068508
|
||||
/* 0A2A34 800A1E34 00002025 */ move $a0, $zero
|
||||
/* 0A2A38 800A1E38 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800A1E3C:
|
||||
/* 0A2A3C 800A1E3C 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
/* 0A2A40 800A1E40 03E00008 */ jr $ra
|
||||
/* 0A2A44 800A1E44 00000000 */ nop
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
glabel func_800A22F4
|
||||
/* 0A2EF4 800A22F4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0A2EF8 800A22F8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0A2EFC 800A22FC 3C108012 */ lui $s0, %hi(gCurrentHud) # $s0, 0x8012
|
||||
/* 0A2F00 800A2300 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0A2F04 800A2304 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 0A2F08 800A2308 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 0A2F0C 800A230C 808F0003 */ lb $t7, 3($a0)
|
||||
/* 0A2F10 800A2310 26106CDC */ addiu $s0, %lo(gCurrentHud) # addiu $s0, $s0, 0x6cdc
|
||||
/* 0A2F14 800A2314 8E190000 */ lw $t9, ($s0)
|
||||
/* 0A2F18 800A2318 25F80038 */ addiu $t8, $t7, 0x38
|
||||
/* 0A2F1C 800A231C 3C038012 */ lui $v1, %hi(gNumActivePlayers) # $v1, 0x8012
|
||||
/* 0A2F20 800A2320 A7380646 */ sh $t8, 0x646($t9)
|
||||
/* 0A2F24 800A2324 90636D37 */ lbu $v1, %lo(gNumActivePlayers)($v1)
|
||||
/* 0A2F28 800A2328 00807025 */ move $t6, $a0
|
||||
/* 0A2F2C 800A232C 28610003 */ slti $at, $v1, 3
|
||||
/* 0A2F30 800A2330 14200009 */ bnez $at, .L800A2358
|
||||
/* 0A2F34 800A2334 24010003 */ li $at, 3
|
||||
/* 0A2F38 800A2338 1461001C */ bne $v1, $at, .L800A23AC
|
||||
/* 0A2F3C 800A233C 8FAB0020 */ lw $t3, 0x20($sp)
|
||||
/* 0A2F40 800A2340 8FA80020 */ lw $t0, 0x20($sp)
|
||||
/* 0A2F44 800A2344 2401FFFF */ li $at, -1
|
||||
/* 0A2F48 800A2348 85090000 */ lh $t1, ($t0)
|
||||
/* 0A2F4C 800A234C 00000000 */ nop
|
||||
/* 0A2F50 800A2350 15210016 */ bne $t1, $at, .L800A23AC
|
||||
/* 0A2F54 800A2354 8FAB0020 */ lw $t3, 0x20($sp)
|
||||
.L800A2358:
|
||||
/* 0A2F58 800A2358 240A0001 */ li $t2, 1
|
||||
/* 0A2F5C 800A235C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012
|
||||
/* 0A2F60 800A2360 A02A6CD5 */ sb $t2, %lo(D_80126CD5)($at)
|
||||
/* 0A2F64 800A2364 8E070000 */ lw $a3, ($s0)
|
||||
/* 0A2F68 800A2368 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012
|
||||
/* 0A2F6C 800A236C 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012
|
||||
/* 0A2F70 800A2370 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012
|
||||
/* 0A2F74 800A2374 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04
|
||||
/* 0A2F78 800A2378 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00
|
||||
/* 0A2F7C 800A237C 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc
|
||||
/* 0A2F80 800A2380 0C02A980 */ jal func_800AA600
|
||||
/* 0A2F84 800A2384 24E70640 */ addiu $a3, $a3, 0x640
|
||||
/* 0A2F88 800A2388 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012
|
||||
/* 0A2F8C 800A238C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012
|
||||
/* 0A2F90 800A2390 A0206CD5 */ sb $zero, %lo(D_80126CD5)($at)
|
||||
/* 0A2F94 800A2394 0C01E015 */ jal init_rdp_and_framebuffer
|
||||
/* 0A2F98 800A2398 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc
|
||||
/* 0A2F9C 800A239C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012
|
||||
/* 0A2FA0 800A23A0 0C01ECF4 */ jal reset_render_settings
|
||||
/* 0A2FA4 800A23A4 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc
|
||||
/* 0A2FA8 800A23A8 8FAB0020 */ lw $t3, 0x20($sp)
|
||||
.L800A23AC:
|
||||
/* 0A2FAC 800A23AC 2403000A */ li $v1, 10
|
||||
/* 0A2FB0 800A23B0 81620185 */ lb $v0, 0x185($t3)
|
||||
/* 0A2FB4 800A23B4 00000000 */ nop
|
||||
/* 0A2FB8 800A23B8 2841000A */ slti $at, $v0, 0xa
|
||||
/* 0A2FBC 800A23BC 10200010 */ beqz $at, .L800A2400
|
||||
/* 0A2FC0 800A23C0 00000000 */ nop
|
||||
/* 0A2FC4 800A23C4 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 0A2FC8 800A23C8 3C0D8012 */ lui $t5, %hi(gNumActivePlayers) # $t5, 0x8012
|
||||
/* 0A2FCC 800A23CC A58206D8 */ sh $v0, 0x6d8($t4)
|
||||
/* 0A2FD0 800A23D0 91AD6D37 */ lbu $t5, %lo(gNumActivePlayers)($t5)
|
||||
/* 0A2FD4 800A23D4 24010002 */ li $at, 2
|
||||
/* 0A2FD8 800A23D8 15A1002F */ bne $t5, $at, .L800A2498
|
||||
/* 0A2FDC 800A23DC 00000000 */ nop
|
||||
/* 0A2FE0 800A23E0 8E020000 */ lw $v0, ($s0)
|
||||
/* 0A2FE4 800A23E4 3C0140C0 */ li $at, 0x40C00000 # 6.000000
|
||||
/* 0A2FE8 800A23E8 44813000 */ mtc1 $at, $f6
|
||||
/* 0A2FEC 800A23EC C44406CC */ lwc1 $f4, 0x6cc($v0)
|
||||
/* 0A2FF0 800A23F0 00000000 */ nop
|
||||
/* 0A2FF4 800A23F4 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 0A2FF8 800A23F8 10000027 */ b .L800A2498
|
||||
/* 0A2FFC 800A23FC E44806CC */ swc1 $f8, 0x6cc($v0)
|
||||
.L800A2400:
|
||||
/* 0A3000 800A2400 0043001A */ div $zero, $v0, $v1
|
||||
/* 0A3004 800A2404 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 0A3008 800A2408 14600002 */ bnez $v1, .L800A2414
|
||||
/* 0A300C 800A240C 00000000 */ nop
|
||||
/* 0A3010 800A2410 0007000D */ break 7
|
||||
.L800A2414:
|
||||
/* 0A3014 800A2414 2401FFFF */ li $at, -1
|
||||
/* 0A3018 800A2418 14610004 */ bne $v1, $at, .L800A242C
|
||||
/* 0A301C 800A241C 3C018000 */ lui $at, 0x8000
|
||||
/* 0A3020 800A2420 14410002 */ bne $v0, $at, .L800A242C
|
||||
/* 0A3024 800A2424 00000000 */ nop
|
||||
/* 0A3028 800A2428 0006000D */ break 6
|
||||
.L800A242C:
|
||||
/* 0A302C 800A242C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012
|
||||
/* 0A3030 800A2430 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012
|
||||
/* 0A3034 800A2434 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012
|
||||
/* 0A3038 800A2438 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04
|
||||
/* 0A303C 800A243C 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00
|
||||
/* 0A3040 800A2440 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc
|
||||
/* 0A3044 800A2444 00007012 */ mflo $t6
|
||||
/* 0A3048 800A2448 A5EE06D8 */ sh $t6, 0x6d8($t7)
|
||||
/* 0A304C 800A244C 8FB80020 */ lw $t8, 0x20($sp)
|
||||
/* 0A3050 800A2450 8E090000 */ lw $t1, ($s0)
|
||||
/* 0A3054 800A2454 83190185 */ lb $t9, 0x185($t8)
|
||||
/* 0A3058 800A2458 00000000 */ nop
|
||||
/* 0A305C 800A245C 0323001A */ div $zero, $t9, $v1
|
||||
/* 0A3060 800A2460 14600002 */ bnez $v1, .L800A246C
|
||||
/* 0A3064 800A2464 00000000 */ nop
|
||||
/* 0A3068 800A2468 0007000D */ break 7
|
||||
.L800A246C:
|
||||
/* 0A306C 800A246C 2401FFFF */ li $at, -1
|
||||
/* 0A3070 800A2470 14610004 */ bne $v1, $at, .L800A2484
|
||||
/* 0A3074 800A2474 3C018000 */ lui $at, 0x8000
|
||||
/* 0A3078 800A2478 17210002 */ bne $t9, $at, .L800A2484
|
||||
/* 0A307C 800A247C 00000000 */ nop
|
||||
/* 0A3080 800A2480 0006000D */ break 6
|
||||
.L800A2484:
|
||||
/* 0A3084 800A2484 00004010 */ mfhi $t0
|
||||
/* 0A3088 800A2488 A52806F8 */ sh $t0, 0x6f8($t1)
|
||||
/* 0A308C 800A248C 8E070000 */ lw $a3, ($s0)
|
||||
/* 0A3090 800A2490 0C02A980 */ jal func_800AA600
|
||||
/* 0A3094 800A2494 24E706E0 */ addiu $a3, $a3, 0x6e0
|
||||
.L800A2498:
|
||||
/* 0A3098 800A2498 8E070000 */ lw $a3, ($s0)
|
||||
/* 0A309C 800A249C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012
|
||||
/* 0A30A0 800A24A0 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012
|
||||
/* 0A30A4 800A24A4 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012
|
||||
/* 0A30A8 800A24A8 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04
|
||||
/* 0A30AC 800A24AC 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00
|
||||
/* 0A30B0 800A24B0 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc
|
||||
/* 0A30B4 800A24B4 0C02A980 */ jal func_800AA600
|
||||
/* 0A30B8 800A24B8 24E706C0 */ addiu $a3, $a3, 0x6c0
|
||||
/* 0A30BC 800A24BC 3C038012 */ lui $v1, %hi(gNumActivePlayers) # $v1, 0x8012
|
||||
/* 0A30C0 800A24C0 90636D37 */ lbu $v1, %lo(gNumActivePlayers)($v1)
|
||||
/* 0A30C4 800A24C4 24040002 */ li $a0, 2
|
||||
/* 0A30C8 800A24C8 14830011 */ bne $a0, $v1, .L800A2510
|
||||
/* 0A30CC 800A24CC 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012
|
||||
/* 0A30D0 800A24D0 8FAA0020 */ lw $t2, 0x20($sp)
|
||||
/* 0A30D4 800A24D4 00000000 */ nop
|
||||
/* 0A30D8 800A24D8 814B0185 */ lb $t3, 0x185($t2)
|
||||
/* 0A30DC 800A24DC 00000000 */ nop
|
||||
/* 0A30E0 800A24E0 2961000A */ slti $at, $t3, 0xa
|
||||
/* 0A30E4 800A24E4 1020000A */ beqz $at, .L800A2510
|
||||
/* 0A30E8 800A24E8 00000000 */ nop
|
||||
/* 0A30EC 800A24EC 8E020000 */ lw $v0, ($s0)
|
||||
/* 0A30F0 800A24F0 3C0140C0 */ li $at, 0x40C00000 # 6.000000
|
||||
/* 0A30F4 800A24F4 44818000 */ mtc1 $at, $f16
|
||||
/* 0A30F8 800A24F8 C44A06CC */ lwc1 $f10, 0x6cc($v0)
|
||||
/* 0A30FC 800A24FC 3C038012 */ lui $v1, %hi(gNumActivePlayers) # $v1, 0x8012
|
||||
/* 0A3100 800A2500 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 0A3104 800A2504 E45206CC */ swc1 $f18, 0x6cc($v0)
|
||||
/* 0A3108 800A2508 90636D37 */ lbu $v1, %lo(gNumActivePlayers)($v1)
|
||||
/* 0A310C 800A250C 00000000 */ nop
|
||||
.L800A2510:
|
||||
/* 0A3110 800A2510 1083001A */ beq $a0, $v1, .L800A257C
|
||||
/* 0A3114 800A2514 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00
|
||||
/* 0A3118 800A2518 8E070000 */ lw $a3, ($s0)
|
||||
/* 0A311C 800A251C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012
|
||||
/* 0A3120 800A2520 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012
|
||||
/* 0A3124 800A2524 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04
|
||||
/* 0A3128 800A2528 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc
|
||||
/* 0A312C 800A252C 0C02A980 */ jal func_800AA600
|
||||
/* 0A3130 800A2530 24E706A0 */ addiu $a3, $a3, 0x6a0
|
||||
/* 0A3134 800A2534 0C01EFC7 */ jal func_8007BF1C
|
||||
/* 0A3138 800A2538 24040001 */ li $a0, 1
|
||||
/* 0A313C 800A253C 240C0001 */ li $t4, 1
|
||||
/* 0A3140 800A2540 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012
|
||||
/* 0A3144 800A2544 A02C6CD5 */ sb $t4, %lo(D_80126CD5)($at)
|
||||
/* 0A3148 800A2548 8E070000 */ lw $a3, ($s0)
|
||||
/* 0A314C 800A254C 3C048012 */ lui $a0, %hi(gHUDCurrDisplayList) # $a0, 0x8012
|
||||
/* 0A3150 800A2550 3C058012 */ lui $a1, %hi(gHUDCurrMatrix) # $a1, 0x8012
|
||||
/* 0A3154 800A2554 3C068012 */ lui $a2, %hi(gHUDCurrVertex) # $a2, 0x8012
|
||||
/* 0A3158 800A2558 24C66D04 */ addiu $a2, %lo(gHUDCurrVertex) # addiu $a2, $a2, 0x6d04
|
||||
/* 0A315C 800A255C 24A56D00 */ addiu $a1, %lo(gHUDCurrMatrix) # addiu $a1, $a1, 0x6d00
|
||||
/* 0A3160 800A2560 24846CFC */ addiu $a0, %lo(gHUDCurrDisplayList) # addiu $a0, $a0, 0x6cfc
|
||||
/* 0A3164 800A2564 0C02A980 */ jal func_800AA600
|
||||
/* 0A3168 800A2568 24E70680 */ addiu $a3, $a3, 0x680
|
||||
/* 0A316C 800A256C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012
|
||||
/* 0A3170 800A2570 A0206CD5 */ sb $zero, %lo(D_80126CD5)($at)
|
||||
/* 0A3174 800A2574 0C01EFC7 */ jal func_8007BF1C
|
||||
/* 0A3178 800A2578 00002025 */ move $a0, $zero
|
||||
.L800A257C:
|
||||
/* 0A317C 800A257C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0A3180 800A2580 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0A3184 800A2584 03E00008 */ jr $ra
|
||||
/* 0A3188 800A2588 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
||||
@@ -69,19 +69,3 @@ glabel func_80011264
|
||||
.L8001135C:
|
||||
/* 011F5C 8001135C 03E00008 */ jr $ra
|
||||
/* 011F60 80011360 00000000 */ nop
|
||||
|
||||
/* 011F64 80011364 03E00008 */ jr $ra
|
||||
/* 011F68 80011368 AFA40000 */ sw $a0, ($sp)
|
||||
|
||||
/* 011F6C 8001136C 3C0E8012 */ lui $t6, %hi(D_8011ADAC) # $t6, 0x8012
|
||||
/* 011F70 80011370 8DCEADAC */ lw $t6, %lo(D_8011ADAC)($t6)
|
||||
/* 011F74 80011374 24020001 */ li $v0, 1
|
||||
/* 011F78 80011378 11C00003 */ beqz $t6, .L80011388
|
||||
/* 011F7C 8001137C 00000000 */ nop
|
||||
/* 011F80 80011380 03E00008 */ jr $ra
|
||||
/* 011F84 80011384 00001025 */ move $v0, $zero
|
||||
|
||||
.L80011388:
|
||||
/* 011F88 80011388 03E00008 */ jr $ra
|
||||
/* 011F8C 8001138C 00000000 */ nop
|
||||
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
glabel func_800B3140
|
||||
/* 0B3D40 800B3140 3C028012 */ lui $v0, %hi(D_80127C80) # $v0, 0x8012
|
||||
/* 0B3D44 800B3144 8C427C80 */ lw $v0, %lo(D_80127C80)($v0)
|
||||
/* 0B3D48 800B3148 00000000 */ nop
|
||||
/* 0B3D4C 800B314C 0002182A */ slt $v1, $zero, $v0
|
||||
/* 0B3D50 800B3150 10600023 */ beqz $v1, .L800B31E0
|
||||
/* 0B3D54 800B3154 2442FFFF */ addiu $v0, $v0, -1
|
||||
.L800B3158:
|
||||
/* 0B3D58 800B3158 C484004C */ lwc1 $f4, 0x4c($a0)
|
||||
/* 0B3D5C 800B315C C486001C */ lwc1 $f6, 0x1c($a0)
|
||||
/* 0B3D60 800B3160 C4800020 */ lwc1 $f0, 0x20($a0)
|
||||
/* 0B3D64 800B3164 C48A0050 */ lwc1 $f10, 0x50($a0)
|
||||
/* 0B3D68 800B3168 C4920068 */ lwc1 $f18, 0x68($a0)
|
||||
/* 0B3D6C 800B316C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 0B3D70 800B3170 C4860054 */ lwc1 $f6, 0x54($a0)
|
||||
/* 0B3D74 800B3174 46005400 */ add.s $f16, $f10, $f0
|
||||
/* 0B3D78 800B3178 E488004C */ swc1 $f8, 0x4c($a0)
|
||||
/* 0B3D7C 800B317C 46120101 */ sub.s $f4, $f0, $f18
|
||||
/* 0B3D80 800B3180 E4900050 */ swc1 $f16, 0x50($a0)
|
||||
/* 0B3D84 800B3184 C4880024 */ lwc1 $f8, 0x24($a0)
|
||||
/* 0B3D88 800B3188 848E0000 */ lh $t6, ($a0)
|
||||
/* 0B3D8C 800B318C 848F0062 */ lh $t7, 0x62($a0)
|
||||
/* 0B3D90 800B3190 84990002 */ lh $t9, 2($a0)
|
||||
/* 0B3D94 800B3194 84880064 */ lh $t0, 0x64($a0)
|
||||
/* 0B3D98 800B3198 848A0004 */ lh $t2, 4($a0)
|
||||
/* 0B3D9C 800B319C 848B0066 */ lh $t3, 0x66($a0)
|
||||
/* 0B3DA0 800B31A0 C4900008 */ lwc1 $f16, 8($a0)
|
||||
/* 0B3DA4 800B31A4 C4920028 */ lwc1 $f18, 0x28($a0)
|
||||
/* 0B3DA8 800B31A8 E4840020 */ swc1 $f4, 0x20($a0)
|
||||
/* 0B3DAC 800B31AC 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0B3DB0 800B31B0 0002182A */ slt $v1, $zero, $v0
|
||||
/* 0B3DB4 800B31B4 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0B3DB8 800B31B8 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 0B3DBC 800B31BC 03284821 */ addu $t1, $t9, $t0
|
||||
/* 0B3DC0 800B31C0 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 0B3DC4 800B31C4 E48A0054 */ swc1 $f10, 0x54($a0)
|
||||
/* 0B3DC8 800B31C8 A4980000 */ sh $t8, ($a0)
|
||||
/* 0B3DCC 800B31CC A4890002 */ sh $t1, 2($a0)
|
||||
/* 0B3DD0 800B31D0 A48C0004 */ sh $t4, 4($a0)
|
||||
/* 0B3DD4 800B31D4 E4840008 */ swc1 $f4, 8($a0)
|
||||
/* 0B3DD8 800B31D8 1460FFDF */ bnez $v1, .L800B3158
|
||||
/* 0B3DDC 800B31DC 2442FFFF */ addiu $v0, $v0, -1
|
||||
.L800B31E0:
|
||||
/* 0B3DE0 800B31E0 C486004C */ lwc1 $f6, 0x4c($a0)
|
||||
/* 0B3DE4 800B31E4 C4880050 */ lwc1 $f8, 0x50($a0)
|
||||
/* 0B3DE8 800B31E8 C48A0054 */ lwc1 $f10, 0x54($a0)
|
||||
/* 0B3DEC 800B31EC 8C82003C */ lw $v0, 0x3c($a0)
|
||||
/* 0B3DF0 800B31F0 E486000C */ swc1 $f6, 0xc($a0)
|
||||
/* 0B3DF4 800B31F4 E4880010 */ swc1 $f8, 0x10($a0)
|
||||
/* 0B3DF8 800B31F8 1040000F */ beqz $v0, .L800B3238
|
||||
/* 0B3DFC 800B31FC E48A0014 */ swc1 $f10, 0x14($a0)
|
||||
/* 0B3E00 800B3200 C490000C */ lwc1 $f16, 0xc($a0)
|
||||
/* 0B3E04 800B3204 C452000C */ lwc1 $f18, 0xc($v0)
|
||||
/* 0B3E08 800B3208 C4860010 */ lwc1 $f6, 0x10($a0)
|
||||
/* 0B3E0C 800B320C 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0B3E10 800B3210 C4900014 */ lwc1 $f16, 0x14($a0)
|
||||
/* 0B3E14 800B3214 E484000C */ swc1 $f4, 0xc($a0)
|
||||
/* 0B3E18 800B3218 C4480010 */ lwc1 $f8, 0x10($v0)
|
||||
/* 0B3E1C 800B321C 00000000 */ nop
|
||||
/* 0B3E20 800B3220 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0B3E24 800B3224 E48A0010 */ swc1 $f10, 0x10($a0)
|
||||
/* 0B3E28 800B3228 C4520014 */ lwc1 $f18, 0x14($v0)
|
||||
/* 0B3E2C 800B322C 00000000 */ nop
|
||||
/* 0B3E30 800B3230 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0B3E34 800B3234 E4840014 */ swc1 $f4, 0x14($a0)
|
||||
.L800B3238:
|
||||
/* 0B3E38 800B3238 03E00008 */ jr $ra
|
||||
/* 0B3E3C 800B323C 00000000 */ nop
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
glabel func_800B3240
|
||||
/* 0B3E40 800B3240 3C028012 */ lui $v0, %hi(D_80127C80) # $v0, 0x8012
|
||||
/* 0B3E44 800B3244 8C427C80 */ lw $v0, %lo(D_80127C80)($v0)
|
||||
/* 0B3E48 800B3248 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0B3E4C 800B324C 0002182A */ slt $v1, $zero, $v0
|
||||
/* 0B3E50 800B3250 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0B3E54 800B3254 10600015 */ beqz $v1, .L800B32AC
|
||||
/* 0B3E58 800B3258 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* 0B3E5C 800B325C 84850062 */ lh $a1, 0x62($a0)
|
||||
/* 0B3E60 800B3260 84860064 */ lh $a2, 0x64($a0)
|
||||
/* 0B3E64 800B3264 84870066 */ lh $a3, 0x66($a0)
|
||||
/* 0B3E68 800B3268 C4800028 */ lwc1 $f0, 0x28($a0)
|
||||
/* 0B3E6C 800B326C 00000000 */ nop
|
||||
.L800B3270:
|
||||
/* 0B3E70 800B3270 848E0000 */ lh $t6, ($a0)
|
||||
/* 0B3E74 800B3274 84980002 */ lh $t8, 2($a0)
|
||||
/* 0B3E78 800B3278 84880004 */ lh $t0, 4($a0)
|
||||
/* 0B3E7C 800B327C C4840008 */ lwc1 $f4, 8($a0)
|
||||
/* 0B3E80 800B3280 0002182A */ slt $v1, $zero, $v0
|
||||
/* 0B3E84 800B3284 46002180 */ add.s $f6, $f4, $f0
|
||||
/* 0B3E88 800B3288 01C57821 */ addu $t7, $t6, $a1
|
||||
/* 0B3E8C 800B328C 0306C821 */ addu $t9, $t8, $a2
|
||||
/* 0B3E90 800B3290 01074821 */ addu $t1, $t0, $a3
|
||||
/* 0B3E94 800B3294 A48F0000 */ sh $t7, ($a0)
|
||||
/* 0B3E98 800B3298 A4990002 */ sh $t9, 2($a0)
|
||||
/* 0B3E9C 800B329C A4890004 */ sh $t1, 4($a0)
|
||||
/* 0B3EA0 800B32A0 E4860008 */ swc1 $f6, 8($a0)
|
||||
/* 0B3EA4 800B32A4 1460FFF2 */ bnez $v1, .L800B3270
|
||||
/* 0B3EA8 800B32A8 2442FFFF */ addiu $v0, $v0, -1
|
||||
.L800B32AC:
|
||||
/* 0B3EAC 800B32AC 44800000 */ mtc1 $zero, $f0
|
||||
/* 0B3EB0 800B32B0 C4880058 */ lwc1 $f8, 0x58($a0)
|
||||
/* 0B3EB4 800B32B4 E480000C */ swc1 $f0, 0xc($a0)
|
||||
/* 0B3EB8 800B32B8 46004287 */ neg.s $f10, $f8
|
||||
/* 0B3EBC 800B32BC E48A0010 */ swc1 $f10, 0x10($a0)
|
||||
/* 0B3EC0 800B32C0 E4800014 */ swc1 $f0, 0x14($a0)
|
||||
/* 0B3EC4 800B32C4 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 0B3EC8 800B32C8 0C01C0C8 */ jal f32_vec3_apply_object_rotation
|
||||
/* 0B3ECC 800B32CC 2485000C */ addiu $a1, $a0, 0xc
|
||||
/* 0B3ED0 800B32D0 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* 0B3ED4 800B32D4 00000000 */ nop
|
||||
/* 0B3ED8 800B32D8 C490000C */ lwc1 $f16, 0xc($a0)
|
||||
/* 0B3EDC 800B32DC C492004C */ lwc1 $f18, 0x4c($a0)
|
||||
/* 0B3EE0 800B32E0 C4860010 */ lwc1 $f6, 0x10($a0)
|
||||
/* 0B3EE4 800B32E4 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0B3EE8 800B32E8 C4880050 */ lwc1 $f8, 0x50($a0)
|
||||
/* 0B3EEC 800B32EC C4920054 */ lwc1 $f18, 0x54($a0)
|
||||
/* 0B3EF0 800B32F0 C4900014 */ lwc1 $f16, 0x14($a0)
|
||||
/* 0B3EF4 800B32F4 8C82003C */ lw $v0, 0x3c($a0)
|
||||
/* 0B3EF8 800B32F8 E484000C */ swc1 $f4, 0xc($a0)
|
||||
/* 0B3EFC 800B32FC 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0B3F00 800B3300 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0B3F04 800B3304 E48A0010 */ swc1 $f10, 0x10($a0)
|
||||
/* 0B3F08 800B3308 1040000F */ beqz $v0, .L800B3348
|
||||
/* 0B3F0C 800B330C E4840014 */ swc1 $f4, 0x14($a0)
|
||||
/* 0B3F10 800B3310 C486000C */ lwc1 $f6, 0xc($a0)
|
||||
/* 0B3F14 800B3314 C448000C */ lwc1 $f8, 0xc($v0)
|
||||
/* 0B3F18 800B3318 C4900010 */ lwc1 $f16, 0x10($a0)
|
||||
/* 0B3F1C 800B331C 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0B3F20 800B3320 C4860014 */ lwc1 $f6, 0x14($a0)
|
||||
/* 0B3F24 800B3324 E48A000C */ swc1 $f10, 0xc($a0)
|
||||
/* 0B3F28 800B3328 C4520010 */ lwc1 $f18, 0x10($v0)
|
||||
/* 0B3F2C 800B332C 00000000 */ nop
|
||||
/* 0B3F30 800B3330 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0B3F34 800B3334 E4840010 */ swc1 $f4, 0x10($a0)
|
||||
/* 0B3F38 800B3338 C4480014 */ lwc1 $f8, 0x14($v0)
|
||||
/* 0B3F3C 800B333C 00000000 */ nop
|
||||
/* 0B3F40 800B3340 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0B3F44 800B3344 E48A0014 */ swc1 $f10, 0x14($a0)
|
||||
.L800B3348:
|
||||
/* 0B3F48 800B3348 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0B3F4C 800B334C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0B3F50 800B3350 03E00008 */ jr $ra
|
||||
/* 0B3F54 800B3354 00000000 */ nop
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
glabel func_800B3358
|
||||
/* 0B3F58 800B3358 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 0B3F5C 800B335C AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* 0B3F60 800B3360 3C128012 */ lui $s2, %hi(D_80127C80) # $s2, 0x8012
|
||||
/* 0B3F64 800B3364 26527C80 */ addiu $s2, %lo(D_80127C80) # addiu $s2, $s2, 0x7c80
|
||||
/* 0B3F68 800B3368 8E420000 */ lw $v0, ($s2)
|
||||
/* 0B3F6C 800B336C AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 0B3F70 800B3370 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* 0B3F74 800B3374 0002702A */ slt $t6, $zero, $v0
|
||||
/* 0B3F78 800B3378 00808025 */ move $s0, $a0
|
||||
/* 0B3F7C 800B337C AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0B3F80 800B3380 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* 0B3F84 800B3384 E7B50010 */ swc1 $f21, 0x10($sp)
|
||||
/* 0B3F88 800B3388 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0B3F8C 800B338C 11C0003F */ beqz $t6, .L800B348C
|
||||
/* 0B3F90 800B3390 24110001 */ li $s1, 1
|
||||
/* 0B3F94 800B3394 4480A000 */ mtc1 $zero, $f20
|
||||
/* 0B3F98 800B3398 27B30038 */ addiu $s3, $sp, 0x38
|
||||
.L800B339C:
|
||||
/* 0B3F9C 800B339C C604000C */ lwc1 $f4, 0xc($s0)
|
||||
/* 0B3FA0 800B33A0 C606001C */ lwc1 $f6, 0x1c($s0)
|
||||
/* 0B3FA4 800B33A4 C60A0010 */ lwc1 $f10, 0x10($s0)
|
||||
/* 0B3FA8 800B33A8 C6100020 */ lwc1 $f16, 0x20($s0)
|
||||
/* 0B3FAC 800B33AC 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 0B3FB0 800B33B0 C6060024 */ lwc1 $f6, 0x24($s0)
|
||||
/* 0B3FB4 800B33B4 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 0B3FB8 800B33B8 C6040014 */ lwc1 $f4, 0x14($s0)
|
||||
/* 0B3FBC 800B33BC C6100028 */ lwc1 $f16, 0x28($s0)
|
||||
/* 0B3FC0 800B33C0 C60A0008 */ lwc1 $f10, 8($s0)
|
||||
/* 0B3FC4 800B33C4 860F0000 */ lh $t7, ($s0)
|
||||
/* 0B3FC8 800B33C8 86180062 */ lh $t8, 0x62($s0)
|
||||
/* 0B3FCC 800B33CC 86080002 */ lh $t0, 2($s0)
|
||||
/* 0B3FD0 800B33D0 86090064 */ lh $t1, 0x64($s0)
|
||||
/* 0B3FD4 800B33D4 860B0004 */ lh $t3, 4($s0)
|
||||
/* 0B3FD8 800B33D8 860C0066 */ lh $t4, 0x66($s0)
|
||||
/* 0B3FDC 800B33DC E608000C */ swc1 $f8, 0xc($s0)
|
||||
/* 0B3FE0 800B33E0 E6120010 */ swc1 $f18, 0x10($s0)
|
||||
/* 0B3FE4 800B33E4 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 0B3FE8 800B33E8 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 0B3FEC 800B33EC 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 0B3FF0 800B33F0 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0B3FF4 800B33F4 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 0B3FF8 800B33F8 E6080014 */ swc1 $f8, 0x14($s0)
|
||||
/* 0B3FFC 800B33FC E6120008 */ swc1 $f18, 8($s0)
|
||||
/* 0B4000 800B3400 A6190000 */ sh $t9, ($s0)
|
||||
/* 0B4004 800B3404 A60A0002 */ sh $t2, 2($s0)
|
||||
/* 0B4008 800B3408 A60D0004 */ sh $t5, 4($s0)
|
||||
/* 0B400C 800B340C E7B40038 */ swc1 $f20, 0x38($sp)
|
||||
/* 0B4010 800B3410 C6040058 */ lwc1 $f4, 0x58($s0)
|
||||
/* 0B4014 800B3414 E7B40040 */ swc1 $f20, 0x40($sp)
|
||||
/* 0B4018 800B3418 46002187 */ neg.s $f6, $f4
|
||||
/* 0B401C 800B341C E7A6003C */ swc1 $f6, 0x3c($sp)
|
||||
/* 0B4020 800B3420 02002025 */ move $a0, $s0
|
||||
/* 0B4024 800B3424 0C01C0C8 */ jal f32_vec3_apply_object_rotation
|
||||
/* 0B4028 800B3428 02602825 */ move $a1, $s3
|
||||
/* 0B402C 800B342C C608001C */ lwc1 $f8, 0x1c($s0)
|
||||
/* 0B4030 800B3430 C7AA0038 */ lwc1 $f10, 0x38($sp)
|
||||
/* 0B4034 800B3434 C6120020 */ lwc1 $f18, 0x20($s0)
|
||||
/* 0B4038 800B3438 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 0B403C 800B343C C60A0068 */ lwc1 $f10, 0x68($s0)
|
||||
/* 0B4040 800B3440 E610001C */ swc1 $f16, 0x1c($s0)
|
||||
/* 0B4044 800B3444 C7A4003C */ lwc1 $f4, 0x3c($sp)
|
||||
/* 0B4048 800B3448 00000000 */ nop
|
||||
/* 0B404C 800B344C 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0B4050 800B3450 C6120024 */ lwc1 $f18, 0x24($s0)
|
||||
/* 0B4054 800B3454 E6060020 */ swc1 $f6, 0x20($s0)
|
||||
/* 0B4058 800B3458 C6080020 */ lwc1 $f8, 0x20($s0)
|
||||
/* 0B405C 800B345C 00000000 */ nop
|
||||
/* 0B4060 800B3460 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 0B4064 800B3464 E6100020 */ swc1 $f16, 0x20($s0)
|
||||
/* 0B4068 800B3468 C7A40040 */ lwc1 $f4, 0x40($sp)
|
||||
/* 0B406C 800B346C 00000000 */ nop
|
||||
/* 0B4070 800B3470 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0B4074 800B3474 E6060024 */ swc1 $f6, 0x24($s0)
|
||||
/* 0B4078 800B3478 8E4E0000 */ lw $t6, ($s2)
|
||||
/* 0B407C 800B347C 00000000 */ nop
|
||||
/* 0B4080 800B3480 022E102A */ slt $v0, $s1, $t6
|
||||
/* 0B4084 800B3484 1440FFC5 */ bnez $v0, .L800B339C
|
||||
/* 0B4088 800B3488 26310001 */ addiu $s1, $s1, 1
|
||||
.L800B348C:
|
||||
/* 0B408C 800B348C 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 0B4090 800B3490 C7B50010 */ lwc1 $f21, 0x10($sp)
|
||||
/* 0B4094 800B3494 C7B40014 */ lwc1 $f20, 0x14($sp)
|
||||
/* 0B4098 800B3498 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* 0B409C 800B349C 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* 0B40A0 800B34A0 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* 0B40A4 800B34A4 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* 0B40A8 800B34A8 03E00008 */ jr $ra
|
||||
/* 0B40AC 800B34AC 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
glabel func_800B34B0
|
||||
/* 0B40B0 800B34B0 3C058012 */ lui $a1, %hi(D_80127C80) # $a1, 0x8012
|
||||
/* 0B40B4 800B34B4 24A57C80 */ addiu $a1, %lo(D_80127C80) # addiu $a1, $a1, 0x7c80
|
||||
/* 0B40B8 800B34B8 8CA20000 */ lw $v0, ($a1)
|
||||
/* 0B40BC 800B34BC 24030001 */ li $v1, 1
|
||||
/* 0B40C0 800B34C0 0002702A */ slt $t6, $zero, $v0
|
||||
/* 0B40C4 800B34C4 11C00025 */ beqz $t6, .L800B355C
|
||||
/* 0B40C8 800B34C8 00000000 */ nop
|
||||
.L800B34CC:
|
||||
/* 0B40CC 800B34CC C484000C */ lwc1 $f4, 0xc($a0)
|
||||
/* 0B40D0 800B34D0 C486001C */ lwc1 $f6, 0x1c($a0)
|
||||
/* 0B40D4 800B34D4 C4800020 */ lwc1 $f0, 0x20($a0)
|
||||
/* 0B40D8 800B34D8 C48A0010 */ lwc1 $f10, 0x10($a0)
|
||||
/* 0B40DC 800B34DC C4920068 */ lwc1 $f18, 0x68($a0)
|
||||
/* 0B40E0 800B34E0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 0B40E4 800B34E4 C4860014 */ lwc1 $f6, 0x14($a0)
|
||||
/* 0B40E8 800B34E8 46005400 */ add.s $f16, $f10, $f0
|
||||
/* 0B40EC 800B34EC E488000C */ swc1 $f8, 0xc($a0)
|
||||
/* 0B40F0 800B34F0 46120101 */ sub.s $f4, $f0, $f18
|
||||
/* 0B40F4 800B34F4 E4900010 */ swc1 $f16, 0x10($a0)
|
||||
/* 0B40F8 800B34F8 C4880024 */ lwc1 $f8, 0x24($a0)
|
||||
/* 0B40FC 800B34FC C4900008 */ lwc1 $f16, 8($a0)
|
||||
/* 0B4100 800B3500 C4920028 */ lwc1 $f18, 0x28($a0)
|
||||
/* 0B4104 800B3504 848F0000 */ lh $t7, ($a0)
|
||||
/* 0B4108 800B3508 84980062 */ lh $t8, 0x62($a0)
|
||||
/* 0B410C 800B350C 84880002 */ lh $t0, 2($a0)
|
||||
/* 0B4110 800B3510 84890064 */ lh $t1, 0x64($a0)
|
||||
/* 0B4114 800B3514 848B0004 */ lh $t3, 4($a0)
|
||||
/* 0B4118 800B3518 848C0066 */ lh $t4, 0x66($a0)
|
||||
/* 0B411C 800B351C E4840020 */ swc1 $f4, 0x20($a0)
|
||||
/* 0B4120 800B3520 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0B4124 800B3524 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 0B4128 800B3528 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 0B412C 800B352C 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0B4130 800B3530 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 0B4134 800B3534 E48A0014 */ swc1 $f10, 0x14($a0)
|
||||
/* 0B4138 800B3538 E4840008 */ swc1 $f4, 8($a0)
|
||||
/* 0B413C 800B353C A4990000 */ sh $t9, ($a0)
|
||||
/* 0B4140 800B3540 A48A0002 */ sh $t2, 2($a0)
|
||||
/* 0B4144 800B3544 A48D0004 */ sh $t5, 4($a0)
|
||||
/* 0B4148 800B3548 8CAE0000 */ lw $t6, ($a1)
|
||||
/* 0B414C 800B354C 00000000 */ nop
|
||||
/* 0B4150 800B3550 006E102A */ slt $v0, $v1, $t6
|
||||
/* 0B4154 800B3554 1440FFDD */ bnez $v0, .L800B34CC
|
||||
/* 0B4158 800B3558 24630001 */ addiu $v1, $v1, 1
|
||||
.L800B355C:
|
||||
/* 0B415C 800B355C 03E00008 */ jr $ra
|
||||
/* 0B4160 800B3560 00000000 */ nop
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
glabel func_800B45C4
|
||||
/* 0B51C4 800B45C4 8C8E0000 */ lw $t6, ($a0)
|
||||
/* 0B51C8 800B45C8 3C05800E */ lui $a1, %hi(gParticleBehavioursAssetTableCount) # $a1, 0x800e
|
||||
/* 0B51CC 800B45CC 25C30001 */ addiu $v1, $t6, 1
|
||||
/* 0B51D0 800B45D0 24A52CF4 */ addiu $a1, %lo(gParticleBehavioursAssetTableCount) # addiu $a1, $a1, 0x2cf4
|
||||
/* 0B51D4 800B45D4 AC830000 */ sw $v1, ($a0)
|
||||
/* 0B51D8 800B45D8 8CA20000 */ lw $v0, ($a1)
|
||||
/* 0B51DC 800B45DC 3C19800E */ lui $t9, %hi(gParticleBehavioursAssetTable) # $t9, 0x800e
|
||||
/* 0B51E0 800B45E0 0062082A */ slt $at, $v1, $v0
|
||||
/* 0B51E4 800B45E4 14200007 */ bnez $at, .L800B4604
|
||||
/* 0B51E8 800B45E8 0062C023 */ subu $t8, $v1, $v0
|
||||
.L800B45EC:
|
||||
/* 0B51EC 800B45EC AC980000 */ sw $t8, ($a0)
|
||||
/* 0B51F0 800B45F0 8CA20000 */ lw $v0, ($a1)
|
||||
/* 0B51F4 800B45F4 03001825 */ move $v1, $t8
|
||||
/* 0B51F8 800B45F8 0302082A */ slt $at, $t8, $v0
|
||||
/* 0B51FC 800B45FC 1020FFFB */ beqz $at, .L800B45EC
|
||||
/* 0B5200 800B4600 0062C023 */ subu $t8, $v1, $v0
|
||||
.L800B4604:
|
||||
/* 0B5204 800B4604 8F392CFC */ lw $t9, %lo(gParticleBehavioursAssetTable)($t9)
|
||||
/* 0B5208 800B4608 00034080 */ sll $t0, $v1, 2
|
||||
/* 0B520C 800B460C 03284821 */ addu $t1, $t9, $t0
|
||||
/* 0B5210 800B4610 8D220000 */ lw $v0, ($t1)
|
||||
/* 0B5214 800B4614 03E00008 */ jr $ra
|
||||
/* 0B5218 800B4618 00000000 */ nop
|
||||
@@ -1,22 +0,0 @@
|
||||
glabel func_800B461C
|
||||
/* 0B521C 800B461C 8C8E0000 */ lw $t6, ($a0)
|
||||
/* 0B5220 800B4620 3C08800E */ lui $t0, %hi(gParticleBehavioursAssetTable) # $t0, 0x800e
|
||||
/* 0B5224 800B4624 25C3FFFF */ addiu $v1, $t6, -1
|
||||
/* 0B5228 800B4628 04610009 */ bgez $v1, .L800B4650
|
||||
/* 0B522C 800B462C AC830000 */ sw $v1, ($a0)
|
||||
/* 0B5230 800B4630 3C02800E */ lui $v0, %hi(gParticleBehavioursAssetTableCount) # $v0, 0x800e
|
||||
/* 0B5234 800B4634 24422CF4 */ addiu $v0, %lo(gParticleBehavioursAssetTableCount) # addiu $v0, $v0, 0x2cf4
|
||||
.L800B4638:
|
||||
/* 0B5238 800B4638 8C580000 */ lw $t8, ($v0)
|
||||
/* 0B523C 800B463C 00000000 */ nop
|
||||
/* 0B5240 800B4640 0078C821 */ addu $t9, $v1, $t8
|
||||
/* 0B5244 800B4644 AC990000 */ sw $t9, ($a0)
|
||||
/* 0B5248 800B4648 0720FFFB */ bltz $t9, .L800B4638
|
||||
/* 0B524C 800B464C 03201825 */ move $v1, $t9
|
||||
.L800B4650:
|
||||
/* 0B5250 800B4650 8D082CFC */ lw $t0, %lo(gParticleBehavioursAssetTable)($t0)
|
||||
/* 0B5254 800B4654 00034880 */ sll $t1, $v1, 2
|
||||
/* 0B5258 800B4658 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0B525C 800B465C 8D420000 */ lw $v0, ($t2)
|
||||
/* 0B5260 800B4660 03E00008 */ jr $ra
|
||||
/* 0B5264 800B4664 00000000 */ nop
|
||||
@@ -1,25 +0,0 @@
|
||||
glabel func_800B4668
|
||||
/* 0B5268 800B4668 8C8F006C */ lw $t7, 0x6c($a0)
|
||||
/* 0B526C 800B466C 00051940 */ sll $v1, $a1, 5
|
||||
/* 0B5270 800B4670 01E34021 */ addu $t0, $t7, $v1
|
||||
/* 0B5274 800B4674 8518000A */ lh $t8, 0xa($t0)
|
||||
/* 0B5278 800B4678 00077200 */ sll $t6, $a3, 8
|
||||
/* 0B527C 800B467C 3319FFFF */ andi $t9, $t8, 0xffff
|
||||
/* 0B5280 800B4680 03261021 */ addu $v0, $t9, $a2
|
||||
/* 0B5284 800B4684 01C2082A */ slt $at, $t6, $v0
|
||||
/* 0B5288 800B4688 10200003 */ beqz $at, .L800B4698
|
||||
/* 0B528C 800B468C 00000000 */ nop
|
||||
/* 0B5290 800B4690 10000002 */ b .L800B469C
|
||||
/* 0B5294 800B4694 A50E000A */ sh $t6, 0xa($t0)
|
||||
.L800B4698:
|
||||
/* 0B5298 800B4698 A502000A */ sh $v0, 0xa($t0)
|
||||
.L800B469C:
|
||||
/* 0B529C 800B469C 8C89006C */ lw $t1, 0x6c($a0)
|
||||
/* 0B52A0 800B46A0 00000000 */ nop
|
||||
/* 0B52A4 800B46A4 01234021 */ addu $t0, $t1, $v1
|
||||
/* 0B52A8 800B46A8 850A0004 */ lh $t2, 4($t0)
|
||||
/* 0B52AC 800B46AC 00000000 */ nop
|
||||
/* 0B52B0 800B46B0 354B0100 */ ori $t3, $t2, 0x100
|
||||
/* 0B52B4 800B46B4 03E00008 */ jr $ra
|
||||
/* 0B52B8 800B46B8 A50B0004 */ sh $t3, 4($t0)
|
||||
|
||||
@@ -1,180 +0,0 @@
|
||||
glabel func_800B46BC
|
||||
/* 0B52BC 800B46BC 8C8F006C */ lw $t7, 0x6c($a0)
|
||||
/* 0B52C0 800B46C0 00051940 */ sll $v1, $a1, 5
|
||||
/* 0B52C4 800B46C4 01E34021 */ addu $t0, $t7, $v1
|
||||
/* 0B52C8 800B46C8 8518000A */ lh $t8, 0xa($t0)
|
||||
/* 0B52CC 800B46CC 00077200 */ sll $t6, $a3, 8
|
||||
/* 0B52D0 800B46D0 3319FFFF */ andi $t9, $t8, 0xffff
|
||||
/* 0B52D4 800B46D4 03261023 */ subu $v0, $t9, $a2
|
||||
/* 0B52D8 800B46D8 004E082A */ slt $at, $v0, $t6
|
||||
/* 0B52DC 800B46DC 10200003 */ beqz $at, .L800B46EC
|
||||
/* 0B52E0 800B46E0 00000000 */ nop
|
||||
/* 0B52E4 800B46E4 10000002 */ b .L800B46F0
|
||||
/* 0B52E8 800B46E8 A50E000A */ sh $t6, 0xa($t0)
|
||||
.L800B46EC:
|
||||
/* 0B52EC 800B46EC A502000A */ sh $v0, 0xa($t0)
|
||||
.L800B46F0:
|
||||
/* 0B52F0 800B46F0 8C89006C */ lw $t1, 0x6c($a0)
|
||||
/* 0B52F4 800B46F4 00000000 */ nop
|
||||
/* 0B52F8 800B46F8 01234021 */ addu $t0, $t1, $v1
|
||||
/* 0B52FC 800B46FC 850A0004 */ lh $t2, 4($t0)
|
||||
/* 0B5300 800B4700 00000000 */ nop
|
||||
/* 0B5304 800B4704 354B0100 */ ori $t3, $t2, 0x100
|
||||
/* 0B5308 800B4708 03E00008 */ jr $ra
|
||||
/* 0B530C 800B470C A50B0004 */ sh $t3, 4($t0)
|
||||
|
||||
/* 0B5310 800B4710 90A20000 */ lbu $v0, ($a1)
|
||||
/* 0B5314 800B4714 00801825 */ move $v1, $a0
|
||||
/* 0B5318 800B4718 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0B531C 800B471C 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0B5320 800B4720 10400006 */ beqz $v0, .L800B473C
|
||||
/* 0B5324 800B4724 A082FFFF */ sb $v0, -1($a0)
|
||||
.L800B4728:
|
||||
/* 0B5328 800B4728 90A20000 */ lbu $v0, ($a1)
|
||||
/* 0B532C 800B472C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0B5330 800B4730 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0B5334 800B4734 1440FFFC */ bnez $v0, .L800B4728
|
||||
/* 0B5338 800B4738 A082FFFF */ sb $v0, -1($a0)
|
||||
.L800B473C:
|
||||
/* 0B533C 800B473C 03E00008 */ jr $ra
|
||||
/* 0B5340 800B4740 00601025 */ move $v0, $v1
|
||||
|
||||
/* 0B5344 800B4744 908E0000 */ lbu $t6, ($a0)
|
||||
/* 0B5348 800B4748 00801825 */ move $v1, $a0
|
||||
/* 0B534C 800B474C 11C00005 */ beqz $t6, .L800B4764
|
||||
/* 0B5350 800B4750 00000000 */ nop
|
||||
.L800B4754:
|
||||
/* 0B5354 800B4754 908F0001 */ lbu $t7, 1($a0)
|
||||
/* 0B5358 800B4758 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0B535C 800B475C 15E0FFFD */ bnez $t7, .L800B4754
|
||||
/* 0B5360 800B4760 00000000 */ nop
|
||||
.L800B4764:
|
||||
/* 0B5364 800B4764 90A20000 */ lbu $v0, ($a1)
|
||||
/* 0B5368 800B4768 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0B536C 800B476C 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0B5370 800B4770 10400006 */ beqz $v0, .L800B478C
|
||||
/* 0B5374 800B4774 A082FFFF */ sb $v0, -1($a0)
|
||||
.L800B4778:
|
||||
/* 0B5378 800B4778 90A20000 */ lbu $v0, ($a1)
|
||||
/* 0B537C 800B477C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0B5380 800B4780 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0B5384 800B4784 1440FFFC */ bnez $v0, .L800B4778
|
||||
/* 0B5388 800B4788 A082FFFF */ sb $v0, -1($a0)
|
||||
.L800B478C:
|
||||
/* 0B538C 800B478C 03E00008 */ jr $ra
|
||||
/* 0B5390 800B4790 00601025 */ move $v0, $v1
|
||||
|
||||
/* 0B5394 800B4794 90820000 */ lbu $v0, ($a0)
|
||||
/* 0B5398 800B4798 00000000 */ nop
|
||||
/* 0B539C 800B479C 14400005 */ bnez $v0, .L800B47B4
|
||||
/* 0B53A0 800B47A0 304600FF */ andi $a2, $v0, 0xff
|
||||
/* 0B53A4 800B47A4 90AE0000 */ lbu $t6, ($a1)
|
||||
/* 0B53A8 800B47A8 00000000 */ nop
|
||||
/* 0B53AC 800B47AC 11C00023 */ beqz $t6, .L800B483C
|
||||
.L800B47B0:
|
||||
/* 0B53B0 800B47B0 304600FF */ andi $a2, $v0, 0xff
|
||||
.L800B47B4:
|
||||
/* 0B53B4 800B47B4 28C10061 */ slti $at, $a2, 0x61
|
||||
/* 0B53B8 800B47B8 90A30000 */ lbu $v1, ($a1)
|
||||
/* 0B53BC 800B47BC 14200005 */ bnez $at, .L800B47D4
|
||||
/* 0B53C0 800B47C0 00C03825 */ move $a3, $a2
|
||||
/* 0B53C4 800B47C4 28C1007B */ slti $at, $a2, 0x7b
|
||||
/* 0B53C8 800B47C8 10200002 */ beqz $at, .L800B47D4
|
||||
/* 0B53CC 800B47CC 24C6FFE0 */ addiu $a2, $a2, -0x20
|
||||
/* 0B53D0 800B47D0 30C700FF */ andi $a3, $a2, 0xff
|
||||
.L800B47D4:
|
||||
/* 0B53D4 800B47D4 306200FF */ andi $v0, $v1, 0xff
|
||||
/* 0B53D8 800B47D8 28410061 */ slti $at, $v0, 0x61
|
||||
/* 0B53DC 800B47DC 14200005 */ bnez $at, .L800B47F4
|
||||
/* 0B53E0 800B47E0 00403025 */ move $a2, $v0
|
||||
/* 0B53E4 800B47E4 2841007B */ slti $at, $v0, 0x7b
|
||||
/* 0B53E8 800B47E8 10200002 */ beqz $at, .L800B47F4
|
||||
/* 0B53EC 800B47EC 2442FFE0 */ addiu $v0, $v0, -0x20
|
||||
/* 0B53F0 800B47F0 304600FF */ andi $a2, $v0, 0xff
|
||||
.L800B47F4:
|
||||
/* 0B53F4 800B47F4 00E6082A */ slt $at, $a3, $a2
|
||||
/* 0B53F8 800B47F8 10200004 */ beqz $at, .L800B480C
|
||||
/* 0B53FC 800B47FC 00C7082A */ slt $at, $a2, $a3
|
||||
/* 0B5400 800B4800 03E00008 */ jr $ra
|
||||
/* 0B5404 800B4804 2402FFFF */ li $v0, -1
|
||||
|
||||
/* 0B5408 800B4808 00C7082A */ slt $at, $a2, $a3
|
||||
.L800B480C:
|
||||
/* 0B540C 800B480C 10200003 */ beqz $at, .L800B481C
|
||||
/* 0B5410 800B4810 00000000 */ nop
|
||||
/* 0B5414 800B4814 03E00008 */ jr $ra
|
||||
/* 0B5418 800B4818 24020001 */ li $v0, 1
|
||||
|
||||
.L800B481C:
|
||||
/* 0B541C 800B481C 90820001 */ lbu $v0, 1($a0)
|
||||
/* 0B5420 800B4820 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0B5424 800B4824 1440FFE2 */ bnez $v0, .L800B47B0
|
||||
/* 0B5428 800B4828 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0B542C 800B482C 90B90000 */ lbu $t9, ($a1)
|
||||
/* 0B5430 800B4830 00000000 */ nop
|
||||
/* 0B5434 800B4834 1720FFDF */ bnez $t9, .L800B47B4
|
||||
/* 0B5438 800B4838 304600FF */ andi $a2, $v0, 0xff
|
||||
.L800B483C:
|
||||
/* 0B543C 800B483C 00001025 */ move $v0, $zero
|
||||
/* 0B5440 800B4840 03E00008 */ jr $ra
|
||||
/* 0B5444 800B4844 00000000 */ nop
|
||||
|
||||
/* 0B5448 800B4848 90820000 */ lbu $v0, ($a0)
|
||||
/* 0B544C 800B484C 00000000 */ nop
|
||||
/* 0B5450 800B4850 14400005 */ bnez $v0, .L800B4868
|
||||
/* 0B5454 800B4854 00000000 */ nop
|
||||
/* 0B5458 800B4858 90AE0000 */ lbu $t6, ($a1)
|
||||
/* 0B545C 800B485C 00000000 */ nop
|
||||
/* 0B5460 800B4860 11C00027 */ beqz $t6, .L800B4900
|
||||
/* 0B5464 800B4864 00000000 */ nop
|
||||
.L800B4868:
|
||||
/* 0B5468 800B4868 10C00025 */ beqz $a2, .L800B4900
|
||||
/* 0B546C 800B486C 304700FF */ andi $a3, $v0, 0xff
|
||||
.L800B4870:
|
||||
/* 0B5470 800B4870 28E10061 */ slti $at, $a3, 0x61
|
||||
/* 0B5474 800B4874 90A30000 */ lbu $v1, ($a1)
|
||||
/* 0B5478 800B4878 14200005 */ bnez $at, .L800B4890
|
||||
/* 0B547C 800B487C 00E04025 */ move $t0, $a3
|
||||
/* 0B5480 800B4880 28E1007B */ slti $at, $a3, 0x7b
|
||||
/* 0B5484 800B4884 10200002 */ beqz $at, .L800B4890
|
||||
/* 0B5488 800B4888 24E7FFE0 */ addiu $a3, $a3, -0x20
|
||||
/* 0B548C 800B488C 30E800FF */ andi $t0, $a3, 0xff
|
||||
.L800B4890:
|
||||
/* 0B5490 800B4890 306200FF */ andi $v0, $v1, 0xff
|
||||
/* 0B5494 800B4894 28410061 */ slti $at, $v0, 0x61
|
||||
/* 0B5498 800B4898 14200005 */ bnez $at, .L800B48B0
|
||||
/* 0B549C 800B489C 00403825 */ move $a3, $v0
|
||||
/* 0B54A0 800B48A0 2841007B */ slti $at, $v0, 0x7b
|
||||
/* 0B54A4 800B48A4 10200002 */ beqz $at, .L800B48B0
|
||||
/* 0B54A8 800B48A8 2442FFE0 */ addiu $v0, $v0, -0x20
|
||||
/* 0B54AC 800B48AC 304700FF */ andi $a3, $v0, 0xff
|
||||
.L800B48B0:
|
||||
/* 0B54B0 800B48B0 0107082A */ slt $at, $t0, $a3
|
||||
/* 0B54B4 800B48B4 10200003 */ beqz $at, .L800B48C4
|
||||
/* 0B54B8 800B48B8 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0B54BC 800B48BC 03E00008 */ jr $ra
|
||||
/* 0B54C0 800B48C0 2402FFFF */ li $v0, -1
|
||||
|
||||
.L800B48C4:
|
||||
/* 0B54C4 800B48C4 00E8082A */ slt $at, $a3, $t0
|
||||
/* 0B54C8 800B48C8 10200003 */ beqz $at, .L800B48D8
|
||||
/* 0B54CC 800B48CC 00000000 */ nop
|
||||
/* 0B54D0 800B48D0 03E00008 */ jr $ra
|
||||
/* 0B54D4 800B48D4 24020001 */ li $v0, 1
|
||||
|
||||
.L800B48D8:
|
||||
/* 0B54D8 800B48D8 90820000 */ lbu $v0, ($a0)
|
||||
/* 0B54DC 800B48DC 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0B54E0 800B48E0 14400005 */ bnez $v0, .L800B48F8
|
||||
/* 0B54E4 800B48E4 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 0B54E8 800B48E8 90B90000 */ lbu $t9, ($a1)
|
||||
/* 0B54EC 800B48EC 00000000 */ nop
|
||||
/* 0B54F0 800B48F0 13200003 */ beqz $t9, .L800B4900
|
||||
/* 0B54F4 800B48F4 00000000 */ nop
|
||||
.L800B48F8:
|
||||
/* 0B54F8 800B48F8 14C0FFDD */ bnez $a2, .L800B4870
|
||||
/* 0B54FC 800B48FC 304700FF */ andi $a3, $v0, 0xff
|
||||
.L800B4900:
|
||||
/* 0B5500 800B4900 00001025 */ move $v0, $zero
|
||||
/* 0B5504 800B4904 03E00008 */ jr $ra
|
||||
/* 0B5508 800B4908 00000000 */ nop
|
||||
@@ -1,274 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_800E5F40
|
||||
.double 0.2
|
||||
|
||||
.text
|
||||
glabel func_8002DE30
|
||||
/* 02EA30 8002DE30 27BDFF68 */ addiu $sp, $sp, -0x98
|
||||
/* 02EA34 8002DE34 444EF800 */ cfc1 $t6, $31
|
||||
/* 02EA38 8002DE38 AFBF0054 */ sw $ra, 0x54($sp)
|
||||
/* 02EA3C 8002DE3C 35C10003 */ ori $at, $t6, 3
|
||||
/* 02EA40 8002DE40 AFBE0050 */ sw $fp, 0x50($sp)
|
||||
/* 02EA44 8002DE44 AFB7004C */ sw $s7, 0x4c($sp)
|
||||
/* 02EA48 8002DE48 AFB60048 */ sw $s6, 0x48($sp)
|
||||
/* 02EA4C 8002DE4C AFB50044 */ sw $s5, 0x44($sp)
|
||||
/* 02EA50 8002DE50 AFB40040 */ sw $s4, 0x40($sp)
|
||||
/* 02EA54 8002DE54 AFB3003C */ sw $s3, 0x3c($sp)
|
||||
/* 02EA58 8002DE58 AFB20038 */ sw $s2, 0x38($sp)
|
||||
/* 02EA5C 8002DE5C AFB10034 */ sw $s1, 0x34($sp)
|
||||
/* 02EA60 8002DE60 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 02EA64 8002DE64 E7B70028 */ swc1 $f23, 0x28($sp)
|
||||
/* 02EA68 8002DE68 E7B6002C */ swc1 $f22, 0x2c($sp)
|
||||
/* 02EA6C 8002DE6C E7B50020 */ swc1 $f21, 0x20($sp)
|
||||
/* 02EA70 8002DE70 E7B40024 */ swc1 $f20, 0x24($sp)
|
||||
/* 02EA74 8002DE74 38210002 */ xori $at, $at, 2
|
||||
/* 02EA78 8002DE78 44C1F800 */ ctc1 $at, $31
|
||||
/* 02EA7C 8002DE7C C4840010 */ lwc1 $f4, 0x10($a0)
|
||||
/* 02EA80 8002DE80 8C850040 */ lw $a1, 0x40($a0)
|
||||
/* 02EA84 8002DE84 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 02EA88 8002DE88 84AF0044 */ lh $t7, 0x44($a1)
|
||||
/* 02EA8C 8002DE8C 44023000 */ mfc1 $v0, $f6
|
||||
/* 02EA90 8002DE90 2401FFFF */ li $at, -1
|
||||
/* 02EA94 8002DE94 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 02EA98 8002DE98 AFB80094 */ sw $t8, 0x94($sp)
|
||||
/* 02EA9C 8002DE9C 84B90042 */ lh $t9, 0x42($a1)
|
||||
/* 02EAA0 8002DEA0 44CEF800 */ ctc1 $t6, $31
|
||||
/* 02EAA4 8002DEA4 00596021 */ addu $t4, $v0, $t9
|
||||
/* 02EAA8 8002DEA8 AFAC0090 */ sw $t4, 0x90($sp)
|
||||
/* 02EAAC 8002DEAC 8483002E */ lh $v1, 0x2e($a0)
|
||||
/* 02EAB0 8002DEB0 0080B025 */ move $s6, $a0
|
||||
/* 02EAB4 8002DEB4 106100CF */ beq $v1, $at, .L8002E1F4
|
||||
/* 02EAB8 8002DEB8 0000B825 */ move $s7, $zero
|
||||
/* 02EABC 8002DEBC 3C014180 */ li $at, 0x41800000 # 16.000000
|
||||
/* 02EAC0 8002DEC0 44816000 */ mtc1 $at, $f12
|
||||
/* 02EAC4 8002DEC4 C6C0000C */ lwc1 $f0, 0xc($s6)
|
||||
/* 02EAC8 8002DEC8 C6C20014 */ lwc1 $f2, 0x14($s6)
|
||||
/* 02EACC 8002DECC 460C0201 */ sub.s $f8, $f0, $f12
|
||||
/* 02EAD0 8002DED0 3C10800E */ lui $s0, %hi(gCurrentLevelModel) # $s0, 0x800e
|
||||
/* 02EAD4 8002DED4 4458F800 */ cfc1 $t8, $31
|
||||
/* 02EAD8 8002DED8 2610C918 */ addiu $s0, %lo(gCurrentLevelModel) # addiu $s0, $s0, -0x36e8
|
||||
/* 02EADC 8002DEDC 37010003 */ ori $at, $t8, 3
|
||||
/* 02EAE0 8002DEE0 38210002 */ xori $at, $at, 2
|
||||
/* 02EAE4 8002DEE4 44C1F800 */ ctc1 $at, $31
|
||||
/* 02EAE8 8002DEE8 8E0D0000 */ lw $t5, ($s0)
|
||||
/* 02EAEC 8002DEEC 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 02EAF0 8002DEF0 8DAE0008 */ lw $t6, 8($t5)
|
||||
/* 02EAF4 8002DEF4 44D8F800 */ ctc1 $t8, $31
|
||||
/* 02EAF8 8002DEF8 00037880 */ sll $t7, $v1, 2
|
||||
/* 02EAFC 8002DEFC 460C1401 */ sub.s $f16, $f2, $f12
|
||||
/* 02EB00 8002DF00 01E37823 */ subu $t7, $t7, $v1
|
||||
/* 02EB04 8002DF04 4459F800 */ cfc1 $t9, $31
|
||||
/* 02EB08 8002DF08 44055000 */ mfc1 $a1, $f10
|
||||
/* 02EB0C 8002DF0C 37210003 */ ori $at, $t9, 3
|
||||
/* 02EB10 8002DF10 38210002 */ xori $at, $at, 2
|
||||
/* 02EB14 8002DF14 44C1F800 */ ctc1 $at, $31
|
||||
/* 02EB18 8002DF18 000F7880 */ sll $t7, $t7, 2
|
||||
/* 02EB1C 8002DF1C 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 02EB20 8002DF20 01CF2021 */ addu $a0, $t6, $t7
|
||||
/* 02EB24 8002DF24 44D9F800 */ ctc1 $t9, $31
|
||||
/* 02EB28 8002DF28 44069000 */ mfc1 $a2, $f18
|
||||
/* 02EB2C 8002DF2C 460C0100 */ add.s $f4, $f0, $f12
|
||||
/* 02EB30 8002DF30 AFA3008C */ sw $v1, 0x8c($sp)
|
||||
/* 02EB34 8002DF34 444CF800 */ cfc1 $t4, $31
|
||||
/* 02EB38 8002DF38 00000000 */ nop
|
||||
/* 02EB3C 8002DF3C 35810003 */ ori $at, $t4, 3
|
||||
/* 02EB40 8002DF40 38210002 */ xori $at, $at, 2
|
||||
/* 02EB44 8002DF44 44C1F800 */ ctc1 $at, $31
|
||||
/* 02EB48 8002DF48 00000000 */ nop
|
||||
/* 02EB4C 8002DF4C 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 02EB50 8002DF50 44CCF800 */ ctc1 $t4, $31
|
||||
/* 02EB54 8002DF54 44073000 */ mfc1 $a3, $f6
|
||||
/* 02EB58 8002DF58 460C1200 */ add.s $f8, $f2, $f12
|
||||
/* 02EB5C 8002DF5C 444DF800 */ cfc1 $t5, $31
|
||||
/* 02EB60 8002DF60 00000000 */ nop
|
||||
/* 02EB64 8002DF64 35A10003 */ ori $at, $t5, 3
|
||||
/* 02EB68 8002DF68 38210002 */ xori $at, $at, 2
|
||||
/* 02EB6C 8002DF6C 44C1F800 */ ctc1 $at, $31
|
||||
/* 02EB70 8002DF70 00000000 */ nop
|
||||
/* 02EB74 8002DF74 460042A4 */ cvt.w.s $f10, $f8
|
||||
/* 02EB78 8002DF78 440E5000 */ mfc1 $t6, $f10
|
||||
/* 02EB7C 8002DF7C 44CDF800 */ ctc1 $t5, $31
|
||||
/* 02EB80 8002DF80 0C00C537 */ jal func_800314DC
|
||||
/* 02EB84 8002DF84 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 02EB88 8002DF88 8FA3008C */ lw $v1, 0x8c($sp)
|
||||
/* 02EB8C 8002DF8C 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 02EB90 8002DF90 0003C900 */ sll $t9, $v1, 4
|
||||
/* 02EB94 8002DF94 8DF80004 */ lw $t8, 4($t7)
|
||||
/* 02EB98 8002DF98 0323C821 */ addu $t9, $t9, $v1
|
||||
/* 02EB9C 8002DF9C 0019C880 */ sll $t9, $t9, 2
|
||||
/* 02EBA0 8002DFA0 AFA00078 */ sw $zero, 0x78($sp)
|
||||
/* 02EBA4 8002DFA4 0319A821 */ addu $s5, $t8, $t9
|
||||
/* 02EBA8 8002DFA8 86AC0020 */ lh $t4, 0x20($s5)
|
||||
/* 02EBAC 8002DFAC 00405825 */ move $t3, $v0
|
||||
/* 02EBB0 8002DFB0 19800090 */ blez $t4, .L8002E1F4
|
||||
/* 02EBB4 8002DFB4 00005025 */ move $t2, $zero
|
||||
/* 02EBB8 8002DFB8 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 02EBBC 8002DFBC 4481B000 */ mtc1 $at, $f22
|
||||
/* 02EBC0 8002DFC0 3C01800E */ lui $at, %hi(D_800E5F40 + 4) # $at, 0x800e
|
||||
/* 02EBC4 8002DFC4 C4355F40 */ lwc1 $f21, %lo(D_800E5F40)($at)
|
||||
/* 02EBC8 8002DFC8 C4345F44 */ lwc1 $f20, %lo(D_800E5F40 + 4)($at)
|
||||
/* 02EBCC 8002DFCC 8EA2000C */ lw $v0, 0xc($s5)
|
||||
/* 02EBD0 8002DFD0 24120003 */ li $s2, 3
|
||||
/* 02EBD4 8002DFD4 2411000A */ li $s1, 10
|
||||
.L8002DFD8:
|
||||
/* 02EBD8 8002DFD8 8C430008 */ lw $v1, 8($v0)
|
||||
/* 02EBDC 8002DFDC 00000000 */ nop
|
||||
/* 02EBE0 8002DFE0 306E6900 */ andi $t6, $v1, 0x6900
|
||||
/* 02EBE4 8002DFE4 15C00078 */ bnez $t6, .L8002E1C8
|
||||
/* 02EBE8 8002DFE8 0003F4C2 */ srl $fp, $v1, 0x13
|
||||
/* 02EBEC 8002DFEC 84580002 */ lh $t8, 2($v0)
|
||||
/* 02EBF0 8002DFF0 84530004 */ lh $s3, 4($v0)
|
||||
/* 02EBF4 8002DFF4 844D0010 */ lh $t5, 0x10($v0)
|
||||
/* 02EBF8 8002DFF8 0018C880 */ sll $t9, $t8, 2
|
||||
/* 02EBFC 8002DFFC 8EAC0000 */ lw $t4, ($s5)
|
||||
/* 02EC00 8002E000 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 02EC04 8002E004 33CF0007 */ andi $t7, $fp, 7
|
||||
/* 02EC08 8002E008 0019C840 */ sll $t9, $t9, 1
|
||||
/* 02EC0C 8002E00C 026D082A */ slt $at, $s3, $t5
|
||||
/* 02EC10 8002E010 01E0F025 */ move $fp, $t7
|
||||
/* 02EC14 8002E014 1020006C */ beqz $at, .L8002E1C8
|
||||
/* 02EC18 8002E018 032C8021 */ addu $s0, $t9, $t4
|
||||
/* 02EC1C 8002E01C 16E0006A */ bnez $s7, .L8002E1C8
|
||||
/* 02EC20 8002E020 0013A040 */ sll $s4, $s3, 1
|
||||
.L8002E024:
|
||||
/* 02EC24 8002E024 8EAE0010 */ lw $t6, 0x10($s5)
|
||||
/* 02EC28 8002E028 00000000 */ nop
|
||||
/* 02EC2C 8002E02C 01D47821 */ addu $t7, $t6, $s4
|
||||
/* 02EC30 8002E030 85F80000 */ lh $t8, ($t7)
|
||||
/* 02EC34 8002E034 00000000 */ nop
|
||||
/* 02EC38 8002E038 030B1024 */ and $v0, $t8, $t3
|
||||
/* 02EC3C 8002E03C 305900FF */ andi $t9, $v0, 0xff
|
||||
/* 02EC40 8002E040 13200057 */ beqz $t9, .L8002E1A0
|
||||
/* 02EC44 8002E044 304CFF00 */ andi $t4, $v0, 0xff00
|
||||
/* 02EC48 8002E048 11800055 */ beqz $t4, .L8002E1A0
|
||||
/* 02EC4C 8002E04C 00000000 */ nop
|
||||
/* 02EC50 8002E050 8EAD0004 */ lw $t5, 4($s5)
|
||||
/* 02EC54 8002E054 00137100 */ sll $t6, $s3, 4
|
||||
/* 02EC58 8002E058 01AE4021 */ addu $t0, $t5, $t6
|
||||
/* 02EC5C 8002E05C 910F0001 */ lbu $t7, 1($t0)
|
||||
/* 02EC60 8002E060 8FAE0090 */ lw $t6, 0x90($sp)
|
||||
/* 02EC64 8002E064 01F10019 */ multu $t7, $s1
|
||||
/* 02EC68 8002E068 8FAF0094 */ lw $t7, 0x94($sp)
|
||||
/* 02EC6C 8002E06C 25040001 */ addiu $a0, $t0, 1
|
||||
/* 02EC70 8002E070 24030001 */ li $v1, 1
|
||||
/* 02EC74 8002E074 00004812 */ mflo $t1
|
||||
/* 02EC78 8002E078 0209C021 */ addu $t8, $s0, $t1
|
||||
/* 02EC7C 8002E07C 87050002 */ lh $a1, 2($t8)
|
||||
/* 02EC80 8002E080 00000000 */ nop
|
||||
/* 02EC84 8002E084 00A03025 */ move $a2, $a1
|
||||
.L8002E088:
|
||||
/* 02EC88 8002E088 90990001 */ lbu $t9, 1($a0)
|
||||
/* 02EC8C 8002E08C 24630001 */ addiu $v1, $v1, 1
|
||||
/* 02EC90 8002E090 03310019 */ multu $t9, $s1
|
||||
/* 02EC94 8002E094 00006012 */ mflo $t4
|
||||
/* 02EC98 8002E098 020C6821 */ addu $t5, $s0, $t4
|
||||
/* 02EC9C 8002E09C 85A20002 */ lh $v0, 2($t5)
|
||||
/* 02ECA0 8002E0A0 00000000 */ nop
|
||||
/* 02ECA4 8002E0A4 0045082A */ slt $at, $v0, $a1
|
||||
/* 02ECA8 8002E0A8 10200004 */ beqz $at, .L8002E0BC
|
||||
/* 02ECAC 8002E0AC 00C2082A */ slt $at, $a2, $v0
|
||||
/* 02ECB0 8002E0B0 10000005 */ b .L8002E0C8
|
||||
/* 02ECB4 8002E0B4 00402825 */ move $a1, $v0
|
||||
/* 02ECB8 8002E0B8 00C2082A */ slt $at, $a2, $v0
|
||||
.L8002E0BC:
|
||||
/* 02ECBC 8002E0BC 10200002 */ beqz $at, .L8002E0C8
|
||||
/* 02ECC0 8002E0C0 00000000 */ nop
|
||||
/* 02ECC4 8002E0C4 00403025 */ move $a2, $v0
|
||||
.L8002E0C8:
|
||||
/* 02ECC8 8002E0C8 1472FFEF */ bne $v1, $s2, .L8002E088
|
||||
/* 02ECCC 8002E0CC 24840001 */ addiu $a0, $a0, 1
|
||||
/* 02ECD0 8002E0D0 00CE082A */ slt $at, $a2, $t6
|
||||
/* 02ECD4 8002E0D4 14200032 */ bnez $at, .L8002E1A0
|
||||
/* 02ECD8 8002E0D8 01E5082A */ slt $at, $t7, $a1
|
||||
/* 02ECDC 8002E0DC 14200030 */ bnez $at, .L8002E1A0
|
||||
/* 02ECE0 8002E0E0 00000000 */ nop
|
||||
/* 02ECE4 8002E0E4 910C0002 */ lbu $t4, 2($t0)
|
||||
/* 02ECE8 8002E0E8 4458F800 */ cfc1 $t8, $31
|
||||
/* 02ECEC 8002E0EC 01910019 */ multu $t4, $s1
|
||||
/* 02ECF0 8002E0F0 37010003 */ ori $at, $t8, 3
|
||||
/* 02ECF4 8002E0F4 38210002 */ xori $at, $at, 2
|
||||
/* 02ECF8 8002E0F8 44C1F800 */ ctc1 $at, $31
|
||||
/* 02ECFC 8002E0FC C6D0000C */ lwc1 $f16, 0xc($s6)
|
||||
/* 02ED00 8002E100 910E0003 */ lbu $t6, 3($t0)
|
||||
/* 02ED04 8002E104 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 02ED08 8002E108 C6C40014 */ lwc1 $f4, 0x14($s6)
|
||||
/* 02ED0C 8002E10C 44D8F800 */ ctc1 $t8, $31
|
||||
/* 02ED10 8002E110 44049000 */ mfc1 $a0, $f18
|
||||
/* 02ED14 8002E114 AFAB0088 */ sw $t3, 0x88($sp)
|
||||
/* 02ED18 8002E118 4459F800 */ cfc1 $t9, $31
|
||||
/* 02ED1C 8002E11C 00006812 */ mflo $t5
|
||||
/* 02ED20 8002E120 37210003 */ ori $at, $t9, 3
|
||||
/* 02ED24 8002E124 38210002 */ xori $at, $at, 2
|
||||
/* 02ED28 8002E128 01D10019 */ multu $t6, $s1
|
||||
/* 02ED2C 8002E12C 44C1F800 */ ctc1 $at, $31
|
||||
/* 02ED30 8002E130 01B03821 */ addu $a3, $t5, $s0
|
||||
/* 02ED34 8002E134 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 02ED38 8002E138 AFAA005C */ sw $t2, 0x5c($sp)
|
||||
/* 02ED3C 8002E13C 44053000 */ mfc1 $a1, $f6
|
||||
/* 02ED40 8002E140 44D9F800 */ ctc1 $t9, $31
|
||||
/* 02ED44 8002E144 01303021 */ addu $a2, $t1, $s0
|
||||
/* 02ED48 8002E148 00007812 */ mflo $t7
|
||||
/* 02ED4C 8002E14C 01F0C021 */ addu $t8, $t7, $s0
|
||||
/* 02ED50 8002E150 0C01C13C */ jal point_triangle_2d_xz_intersection
|
||||
/* 02ED54 8002E154 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 02ED58 8002E158 8FAA005C */ lw $t2, 0x5c($sp)
|
||||
/* 02ED5C 8002E15C 8FAB0088 */ lw $t3, 0x88($sp)
|
||||
/* 02ED60 8002E160 1040000F */ beqz $v0, .L8002E1A0
|
||||
/* 02ED64 8002E164 001EC880 */ sll $t9, $fp, 2
|
||||
/* 02ED68 8002E168 3C01800E */ lui $at, %hi(D_800DC884) # $at, 0x800e
|
||||
/* 02ED6C 8002E16C 00390821 */ addu $at, $at, $t9
|
||||
/* 02ED70 8002E170 C42AC884 */ lwc1 $f10, %lo(D_800DC884)($at)
|
||||
/* 02ED74 8002E174 8EC20054 */ lw $v0, 0x54($s6)
|
||||
/* 02ED78 8002E178 460AB401 */ sub.s $f16, $f22, $f10
|
||||
/* 02ED7C 8002E17C C4400000 */ lwc1 $f0, ($v0)
|
||||
/* 02ED80 8002E180 24170001 */ li $s7, 1
|
||||
/* 02ED84 8002E184 46008481 */ sub.s $f18, $f16, $f0
|
||||
/* 02ED88 8002E188 46009121 */ cvt.d.s $f4, $f18
|
||||
/* 02ED8C 8002E18C 46342182 */ mul.d $f6, $f4, $f20
|
||||
/* 02ED90 8002E190 46000221 */ cvt.d.s $f8, $f0
|
||||
/* 02ED94 8002E194 46264280 */ add.d $f10, $f8, $f6
|
||||
/* 02ED98 8002E198 46205420 */ cvt.s.d $f16, $f10
|
||||
/* 02ED9C 8002E19C E4500000 */ swc1 $f16, ($v0)
|
||||
.L8002E1A0:
|
||||
/* 02EDA0 8002E1A0 8EAC000C */ lw $t4, 0xc($s5)
|
||||
/* 02EDA4 8002E1A4 26730001 */ addiu $s3, $s3, 1
|
||||
/* 02EDA8 8002E1A8 018A1021 */ addu $v0, $t4, $t2
|
||||
/* 02EDAC 8002E1AC 844D0010 */ lh $t5, 0x10($v0)
|
||||
/* 02EDB0 8002E1B0 26940002 */ addiu $s4, $s4, 2
|
||||
/* 02EDB4 8002E1B4 026D082A */ slt $at, $s3, $t5
|
||||
/* 02EDB8 8002E1B8 10200004 */ beqz $at, .L8002E1CC
|
||||
/* 02EDBC 8002E1BC 8FAE0078 */ lw $t6, 0x78($sp)
|
||||
/* 02EDC0 8002E1C0 12E0FF98 */ beqz $s7, .L8002E024
|
||||
/* 02EDC4 8002E1C4 00000000 */ nop
|
||||
.L8002E1C8:
|
||||
/* 02EDC8 8002E1C8 8FAE0078 */ lw $t6, 0x78($sp)
|
||||
.L8002E1CC:
|
||||
/* 02EDCC 8002E1CC 254A000C */ addiu $t2, $t2, 0xc
|
||||
/* 02EDD0 8002E1D0 25CF0001 */ addiu $t7, $t6, 1
|
||||
/* 02EDD4 8002E1D4 AFAF0078 */ sw $t7, 0x78($sp)
|
||||
/* 02EDD8 8002E1D8 86B80020 */ lh $t8, 0x20($s5)
|
||||
/* 02EDDC 8002E1DC 2442000C */ addiu $v0, $v0, 0xc
|
||||
/* 02EDE0 8002E1E0 01F8082A */ slt $at, $t7, $t8
|
||||
/* 02EDE4 8002E1E4 10200004 */ beqz $at, .L8002E1F8
|
||||
/* 02EDE8 8002E1E8 8FBF0054 */ lw $ra, 0x54($sp)
|
||||
/* 02EDEC 8002E1EC 12E0FF7A */ beqz $s7, .L8002DFD8
|
||||
/* 02EDF0 8002E1F0 00000000 */ nop
|
||||
.L8002E1F4:
|
||||
/* 02EDF4 8002E1F4 8FBF0054 */ lw $ra, 0x54($sp)
|
||||
.L8002E1F8:
|
||||
/* 02EDF8 8002E1F8 C7B50020 */ lwc1 $f21, 0x20($sp)
|
||||
/* 02EDFC 8002E1FC C7B40024 */ lwc1 $f20, 0x24($sp)
|
||||
/* 02EE00 8002E200 C7B70028 */ lwc1 $f23, 0x28($sp)
|
||||
/* 02EE04 8002E204 C7B6002C */ lwc1 $f22, 0x2c($sp)
|
||||
/* 02EE08 8002E208 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* 02EE0C 8002E20C 8FB10034 */ lw $s1, 0x34($sp)
|
||||
/* 02EE10 8002E210 8FB20038 */ lw $s2, 0x38($sp)
|
||||
/* 02EE14 8002E214 8FB3003C */ lw $s3, 0x3c($sp)
|
||||
/* 02EE18 8002E218 8FB40040 */ lw $s4, 0x40($sp)
|
||||
/* 02EE1C 8002E21C 8FB50044 */ lw $s5, 0x44($sp)
|
||||
/* 02EE20 8002E220 8FB60048 */ lw $s6, 0x48($sp)
|
||||
/* 02EE24 8002E224 8FB7004C */ lw $s7, 0x4c($sp)
|
||||
/* 02EE28 8002E228 8FBE0050 */ lw $fp, 0x50($sp)
|
||||
/* 02EE2C 8002E22C 03E00008 */ jr $ra
|
||||
/* 02EE30 8002E230 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
glabel update_spatial_audio_position
|
||||
/* 00A2D8 800096D8 44856000 */ mtc1 $a1, $f12
|
||||
/* 00A2DC 800096DC 44867000 */ mtc1 $a2, $f14
|
||||
/* 00A2E0 800096E0 AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 00A2E4 800096E4 E48C0000 */ swc1 $f12, ($a0)
|
||||
/* 00A2E8 800096E8 E48E0004 */ swc1 $f14, 4($a0)
|
||||
/* 00A2EC 800096EC C7A4000C */ lwc1 $f4, 0xc($sp)
|
||||
/* 00A2F0 800096F0 03E00008 */ jr $ra
|
||||
/* 00A2F4 800096F4 E4840008 */ swc1 $f4, 8($a0)
|
||||
|
||||
+2
-1
@@ -6,6 +6,7 @@
|
||||
#define SOUND_VOICE_CHARACTER_POSITIVE SOUND_VOICE_KRUNCH_POSITIVE1
|
||||
#define SOUND_VOICE_CHARACTER_NEGATIVE SOUND_VOICE_KRUNCH_NEGATIVE1
|
||||
#define SOUND_HORN_CHARACTER SOUND_HORN_KRUNCH
|
||||
#define SOUND_NUMBER_OF_RACERS 8
|
||||
|
||||
/// Cannot stress enough that these names are very temporary, preliminary, expendable and other words that imply that they are not final.
|
||||
// Also might be worth thinking of a better way of laying this out, because scrolling through hundreds of sound ID's isn't particularly pleasant.
|
||||
@@ -652,7 +653,7 @@ enum SoundID {
|
||||
/* 0x027D */ SOUND_UNK_27D,
|
||||
/* 0x027E */ SOUND_UNK_27E,
|
||||
// Trying to play 27F onwards will incur a crash.
|
||||
/* 0x027F */ NUM_SOUND_IDS
|
||||
/* 0x027F */ NUM_SOUND_IDS
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+29
-11
@@ -63,6 +63,23 @@ typedef struct Vec4f {
|
||||
};
|
||||
} Vec4f;
|
||||
|
||||
/* Size: 0x24 / 36 bytes */
|
||||
typedef struct SoundMask {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ u16 soundId;
|
||||
/* 0x0E */ u8 unkE;
|
||||
/* 0x0F */ u8 unkF;
|
||||
/* 0x10 */ u8 unk10;
|
||||
/* 0x11 */ u8 unk11;
|
||||
/* 0x12 */ u8 unk12;
|
||||
/* 0x14 */ s32 unk14;
|
||||
/* 0x18 */ s32 unk18;
|
||||
/* 0x1C */ struct SoundMask **soundMask;
|
||||
/* 0x20 */ u8 unk20;
|
||||
/* 0x21 */ u8 unk21;
|
||||
/* 0x22 */ u8 unk22;
|
||||
} SoundMask;
|
||||
|
||||
/* Size: 0x20 bytes */
|
||||
typedef struct TextureHeader {
|
||||
/* 0x00 */ u8 width;
|
||||
@@ -903,7 +920,7 @@ typedef struct Object_Weapon {
|
||||
/* 0x18 */ u8 weaponID;
|
||||
/* 0x19 */ s8 checkpoint;
|
||||
/* 0x19 */ s16 unk1A;
|
||||
/* 0x19 */ s32 soundMask;
|
||||
/* 0x19 */ SoundMask *soundMask;
|
||||
} Object_Weapon;
|
||||
|
||||
typedef struct Object_Butterfly {
|
||||
@@ -991,7 +1008,7 @@ typedef struct Object_InfoPoint {
|
||||
|
||||
typedef struct Object_TTDoor {
|
||||
/* 0x00 */ f32 homeY;
|
||||
/* 0x04 */ s32 *soundMask;
|
||||
/* 0x04 */ SoundMask *soundMask;
|
||||
/* 0x08 */ s32 unk8;
|
||||
/* 0x0C */ s16 unkC;
|
||||
/* 0x0C */ s8 unkE;
|
||||
@@ -1082,7 +1099,6 @@ 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;
|
||||
|
||||
/* Size: 0x224 - 548 bytes */
|
||||
typedef struct Object_Racer {
|
||||
/* 0x000 */ s16 playerIndex; // -1 = AI Controlled, 0 to 3 = Object controlled
|
||||
@@ -1096,7 +1112,7 @@ typedef struct Object_Racer {
|
||||
/* 0x018 */ s32 unk18;
|
||||
/* 0x01C */ s32 unk1C;
|
||||
/* 0x020 */ s32 unk20;
|
||||
/* 0x024 */ s32 soundMask;
|
||||
/* 0x024 */ SoundMask *soundMask;
|
||||
/* 0x028 */ u16 lastSoundID;
|
||||
/* 0x02A */ u16 unk2A;
|
||||
/* 0x02C */ f32 velocity;
|
||||
@@ -1181,8 +1197,8 @@ typedef struct Object_Racer {
|
||||
/* 0x175 */ s8 magnetTimer;
|
||||
/* 0x176 */ s16 unk176;
|
||||
/* 0x178 */ void *magnetSoundMask;
|
||||
/* 0x17C */ s32 shieldSoundMask;
|
||||
/* 0x180 */ s32 bananaSoundMask;
|
||||
/* 0x17C */ SoundMask *shieldSoundMask;
|
||||
/* 0x180 */ SoundMask *bananaSoundMask;
|
||||
/* 0x184 */ s8 magnetModelID;
|
||||
/* 0x185 */ s8 bananas;
|
||||
/* 0x186 */ u8 unk186;
|
||||
@@ -1333,7 +1349,7 @@ typedef struct Object_Audio {
|
||||
/* 0x05 */ u8 unk5;
|
||||
/* 0x06 */ u8 unk6;
|
||||
/* 0x07 */ u8 unk7;
|
||||
/* 0x08 */ s32 soundMask;
|
||||
/* 0x08 */ SoundMask *soundMask;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0D */ u8 unkD;
|
||||
} Object_Audio;
|
||||
@@ -1418,7 +1434,7 @@ typedef struct Object_TT {
|
||||
|
||||
typedef struct Object_Bridge_WhaleRamp {
|
||||
/* 0x0 */ f32 unk0;
|
||||
/* 0x4 */ s32 unk4;
|
||||
/* 0x4 */ SoundMask *unk4;
|
||||
} Object_Bridge_WhaleRamp;
|
||||
|
||||
typedef struct Object_8001B7A8 {
|
||||
@@ -1564,9 +1580,11 @@ typedef struct Object_68 {
|
||||
|
||||
/* Size: 0x20 bytes */
|
||||
typedef struct Object_6C {
|
||||
u8 pad0[0x4];
|
||||
s16 unk4;
|
||||
u8 pad6[0x1A];
|
||||
/* 0x00 */ u8 pad0[0x4];
|
||||
/* 0x04 */ s16 unk4;
|
||||
/* 0x05 */ u8 pad6[0x4];
|
||||
/* 0x0A */ s16 unkA;
|
||||
/* 0x0C */ u8 padC[0x14];
|
||||
} Object_6C;
|
||||
|
||||
/* Size: 0xA0 bytes */
|
||||
|
||||
+74
-5
@@ -251,7 +251,7 @@ u8 D_80126D35;
|
||||
u8 gHideRaceTimer;
|
||||
u8 gNumActivePlayers;
|
||||
u8 gWrongWayNagPrefix;
|
||||
s32 D_80126D3C;
|
||||
SoundMask *D_80126D3C;
|
||||
s32 gHUDVoiceSoundMask;
|
||||
s32 D_80126D44;
|
||||
s16 D_80126D48;
|
||||
@@ -342,7 +342,7 @@ void init_hud(UNUSED s32 viewportCount) {
|
||||
D_80126D70 = 0;
|
||||
D_80126D7C = 0;
|
||||
D_80126D74 = 0;
|
||||
D_80126D3C = 0;
|
||||
D_80126D3C = NULL;
|
||||
D_80126D44 = 0;
|
||||
D_80126CD3 = 0;
|
||||
D_80127194 = (LevelHeader_70 *) get_misc_asset(ASSET_MISC_58);
|
||||
@@ -717,9 +717,78 @@ void render_hud_challenge_eggs(s32 arg0, Object *arg1, s32 updateRate) {
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A14F0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A19A4.s")
|
||||
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A1C04.s")
|
||||
|
||||
void func_800A1C04(s32 arg0, Object *obj, s32 updateRate) {
|
||||
Object **racerObjs;
|
||||
Object_Racer *racer;
|
||||
s32 numRacers;
|
||||
s32 racersFinished;
|
||||
s32 i;
|
||||
|
||||
racer = (Object_Racer *) obj->unk64;
|
||||
if (gNumActivePlayers != 1 || racer->raceFinished == FALSE) {
|
||||
func_80068508(1);
|
||||
render_race_start(arg0, updateRate);
|
||||
render_weapon_hud(obj, updateRate);
|
||||
racerObjs = get_racer_objects(&numRacers);
|
||||
switch (gNumActivePlayers) {
|
||||
case 1:
|
||||
func_800A1E48(obj, updateRate);
|
||||
break;
|
||||
case 2:
|
||||
racersFinished = 0;
|
||||
for (i = 0; i < numRacers; i++) {
|
||||
racer = &racerObjs[i]->unk64->racer;
|
||||
if (racer->playerIndex != PLAYER_COMPUTER && racer->raceFinished) {
|
||||
racersFinished++;
|
||||
}
|
||||
}
|
||||
if (racersFinished == 2) {
|
||||
return;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
render_racer_bananas(racer, updateRate);
|
||||
break;
|
||||
}
|
||||
func_80068508(0);
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A1E48.s")
|
||||
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A22F4.s")
|
||||
|
||||
void func_800A22F4(Object_Racer *racer, UNUSED void *unused) {
|
||||
gCurrentHud->unk646 = racer->characterId + 56;
|
||||
if (gNumActivePlayers < 3 || (gNumActivePlayers == 3 && racer->playerIndex == PLAYER_COMPUTER)) {
|
||||
D_80126CD5 = TRUE;
|
||||
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, &gCurrentHud->unk640);
|
||||
D_80126CD5 = FALSE;
|
||||
init_rdp_and_framebuffer(&gHUDCurrDisplayList);
|
||||
reset_render_settings(&gHUDCurrDisplayList);
|
||||
}
|
||||
if (racer->bananas < 10) {
|
||||
gCurrentHud->unk6D8 = racer->bananas;
|
||||
if (gNumActivePlayers == 2) {
|
||||
gCurrentHud->unk6CC += 6.0f;
|
||||
}
|
||||
} else {
|
||||
gCurrentHud->unk6D8 = racer->bananas / 10;
|
||||
gCurrentHud->unk6F8 = racer->bananas % 10;
|
||||
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, &gCurrentHud->unk6E0);
|
||||
}
|
||||
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, &gCurrentHud->unk6C0);
|
||||
if (gNumActivePlayers == 2 && racer->bananas < 10) {
|
||||
gCurrentHud->unk6CC -= 6.0f;
|
||||
}
|
||||
if (gNumActivePlayers != 2) {
|
||||
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, &gCurrentHud->unk6A0);
|
||||
func_8007BF1C(1);
|
||||
D_80126CD5 = TRUE;
|
||||
func_800AA600(&gHUDCurrDisplayList, &gHUDCurrMatrix, &gHUDCurrVertex, &gCurrentHud->unk680);
|
||||
D_80126CD5 = FALSE;
|
||||
func_8007BF1C(0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* When racing the boss, render the essentials, but skip the bananas.
|
||||
@@ -1131,7 +1200,7 @@ void render_race_start(s32 arg0, s32 updateRate) {
|
||||
gRaceStartShowHudStep++;
|
||||
}
|
||||
}
|
||||
if (D_80126D3C == 0 && func_80023568() == 0) {
|
||||
if (D_80126D3C == NULL && func_80023568() == 0) {
|
||||
f32 sp4C;
|
||||
UNUSED s32 pad;
|
||||
Object** racerGroup;
|
||||
|
||||
+18
-3
@@ -282,7 +282,21 @@ typedef struct unk80126CDC {
|
||||
f32 unk670;
|
||||
u8 unk674[0x6];
|
||||
s8 unk67A;
|
||||
s8 unk67B[0x85];
|
||||
s8 unk67B[0x5];
|
||||
struct unk80126CDC *unk680;
|
||||
s8 unk684[0x1C];
|
||||
struct unk80126CDC *unk6A0;
|
||||
s8 unk6A4[0x1C];
|
||||
struct unk80126CDC *unk6C0;
|
||||
s8 unk6C4[0x8];
|
||||
f32 unk6CC;
|
||||
u8 unk6D0[0x8];
|
||||
s16 unk6D8;
|
||||
s8 unk6DA[0x6];
|
||||
struct unk80126CDC *unk6E0;
|
||||
s8 unk6E4[0x14];
|
||||
s16 unk6F8;
|
||||
s8 unk6FA[0x6];
|
||||
struct unk80126CDC *unk700;
|
||||
s8 unk704[0x1C];
|
||||
struct unk80126CDC *unk720;
|
||||
@@ -366,6 +380,8 @@ void render_speedometer(Object *obj, s32 updateRate);
|
||||
void render_lap_count(Object_Racer *racer, s32 updateRate);
|
||||
void render_minimap_and_misc_hud(Gfx **dList, MatrixS **mtx, Vertex **vtxList, s32 updateRate);
|
||||
void init_hud(s32 viewportCount);
|
||||
void func_800A1C04(s32 arg0, Object *obj, s32 updateRate);
|
||||
void func_800A22F4(Object_Racer *racer, void *unused);
|
||||
|
||||
// Non Matching
|
||||
void func_800A14F0(Object *, s32);
|
||||
@@ -376,14 +392,13 @@ void func_800AA600(Gfx **dList, MatrixS **mtx, Vertex **vtxList, unk80126CDC **a
|
||||
void func_800A003C(void);
|
||||
void func_800A7FBC(s32, s32, s32 minutes, s32 seconds, s32 hundredths, s32);
|
||||
void func_800A1248(s32, Object*, s32);
|
||||
void func_800A1C04(s32, Object*, s32);
|
||||
void func_800A277C(s32, Object*, s32);
|
||||
void func_800A6254(Object_64* obj, s32 updateRate);
|
||||
void func_800A6E30(Object_64* obj, s32 updateRate);
|
||||
void func_800A7A60(Object*, Gfx**);
|
||||
void func_800A0BD4(s32);
|
||||
void func_800A19A4(Object_Racer* racer, s32 updateRate);
|
||||
void func_800A1E48(s32, s32);
|
||||
void func_800A1E48(Object*, s32);
|
||||
void render_treasure_hud(Object_Racer*);
|
||||
void func_800AA3EC(f32, f32, f32, f32, f32);
|
||||
void func_800A36CC(u8, u8, u8, u8, u8);
|
||||
|
||||
+12
-14
@@ -1776,10 +1776,10 @@ void obj_loop_snowball(Object *obj, s32 updateRate) {
|
||||
}
|
||||
}
|
||||
if (obj64->unk24 != 0) {
|
||||
if (obj64->soundMask == 0) {
|
||||
play_sound_at_position(obj64->unk24, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, (s32 *) &obj64->soundMask);
|
||||
if (obj64->soundMask == NULL) {
|
||||
play_sound_at_position(obj64->unk24, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, (SoundMask **) &obj64->soundMask);
|
||||
} else {
|
||||
update_spatial_audio_position(obj64->soundMask, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position);
|
||||
update_spatial_audio_position((SoundMask *) obj64->soundMask, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position);
|
||||
}
|
||||
}
|
||||
func_8001F460(obj, updateRate, obj);
|
||||
@@ -3222,13 +3222,11 @@ void obj_loop_ttdoor(Object *obj, s32 updateRate) {
|
||||
}
|
||||
if (openDoor) {
|
||||
if (ttDoor->soundMask == NULL) {
|
||||
play_sound_at_position(SOUND_DOOR_OPEN, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, (s32 *) &ttDoor->soundMask);
|
||||
}
|
||||
} else {
|
||||
if (ttDoor->soundMask) {
|
||||
func_800096F8((s32) ttDoor->soundMask);
|
||||
ttDoor->soundMask = NULL;
|
||||
play_sound_at_position(SOUND_DOOR_OPEN, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 1, &ttDoor->soundMask);
|
||||
}
|
||||
} else if (ttDoor->soundMask != NULL) {
|
||||
func_800096F8((SoundMask *)((s32)ttDoor->soundMask));
|
||||
ttDoor->soundMask = NULL;
|
||||
}
|
||||
obj->interactObj->distance = 0xFF;
|
||||
obj->interactObj->obj = NULL;
|
||||
@@ -3411,7 +3409,7 @@ void obj_loop_bridge_whaleramp(Object *obj, s32 updateRate) {
|
||||
}
|
||||
} else {
|
||||
obj->segment.trans.x_rotation = 0;
|
||||
if (whaleRamp->unk4 != 0) {
|
||||
if (whaleRamp->unk4 != NULL) {
|
||||
func_800096F8(whaleRamp->unk4);
|
||||
}
|
||||
}
|
||||
@@ -3459,7 +3457,7 @@ void obj_loop_bridge_whaleramp(Object *obj, s32 updateRate) {
|
||||
|
||||
obj->interactObj->distance = 255;
|
||||
obj->interactObj->obj = NULL;
|
||||
obj->interactObj->flags &= 0xFFF7;
|
||||
obj->interactObj->flags &= ~INTERACT_FLAGS_PUSHING;
|
||||
}
|
||||
|
||||
void obj_init_rampswitch(Object *obj, LevelObjectEntry_RampSwitch *entry) {
|
||||
@@ -3689,7 +3687,7 @@ void obj_loop_banana(Object *obj, s32 updateRate) {
|
||||
s8 sp43;
|
||||
Object_Banana *banana;
|
||||
ObjPropertyBanana *properties;
|
||||
s32 prevSoundMask;
|
||||
SoundMask *prevSoundMask;
|
||||
|
||||
updateRateF = updateRate;
|
||||
if (osTvType == TV_TYPE_PAL) {
|
||||
@@ -4513,11 +4511,11 @@ void obj_init_audio(Object *obj, LevelObjectEntry_Audio *entry) {
|
||||
if (ALBankFile_80115D14_GetSoundDecayTime(obj64->soundId)) {
|
||||
func_8000974C(obj64->soundId, entry->common.x, entry->common.y, entry->common.z,
|
||||
9, obj64->unk5, obj64->unk4, obj64->unk2, obj64->unkC,
|
||||
obj64->unk6, obj64->unkD, (s32 *) &obj64->soundMask);
|
||||
obj64->unk6, obj64->unkD, &obj64->soundMask);
|
||||
} else {
|
||||
func_8000974C(obj64->soundId, entry->common.x, entry->common.y, entry->common.z,
|
||||
10, obj64->unk5, obj64->unk4, obj64->unk2, obj64->unkC,
|
||||
obj64->unk6, obj64->unkD, (s32 *) &obj64->soundMask);
|
||||
obj64->unk6, obj64->unkD, &obj64->soundMask);
|
||||
}
|
||||
gParticlePtrList_addObject(obj);
|
||||
}
|
||||
|
||||
+37
-16
@@ -1654,26 +1654,32 @@ GLOBAL_ASM("asm/non_matchings/objects/func_80011134.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
//Probably NON_MATCHING, but not sure.
|
||||
//This is a function for doors
|
||||
void func_80011264(ObjectModel *model, Object *obj) {
|
||||
s32 temp_a2;
|
||||
s32 current;
|
||||
s32 remaining;
|
||||
s32 i;
|
||||
u8 textureIndex;
|
||||
Object_Door *door;
|
||||
TriangleBatchInfo *batch;
|
||||
|
||||
if (model->unk50 > 0) {
|
||||
batch = &model->batches[0];
|
||||
door = &obj->unk64->door;
|
||||
temp_a2 = (door->unk10 / 10) - 1;
|
||||
for (i = 0; i < model->numberOfBatches; i++) {
|
||||
if (model->batches[i].flags & 0x10000) {
|
||||
textureIndex = model->batches[i].textureIndex;
|
||||
if (textureIndex != 0xFF) { // 0xFF = No Texture
|
||||
if (model->textures[textureIndex].texture->numOfTextures > 0x900) {
|
||||
model->batches[i].unk7 = (door->unk10 % 10) * 4;
|
||||
}
|
||||
if (!(temp_a2 & 0x20000000)) {
|
||||
model->batches[i].unk7 = temp_a2 * 4;
|
||||
current = ((door->unk10 / 10) - 1) << 2;
|
||||
if (model->textures[batch->textureIndex].texture){} //fakematch
|
||||
if (1) { //fakematch
|
||||
remaining = ((door->unk10 % 10) << 2);
|
||||
}
|
||||
for (i = 0; i < model->numberOfBatches; i++, batch++) {
|
||||
if (batch->flags & 0x10000) {
|
||||
if (batch->textureIndex != 0xFF) { // 0xFF = No Texture
|
||||
if (model->textures[batch->textureIndex].texture->numOfTextures > 0x900) {
|
||||
batch->unk7 = remaining;
|
||||
} else if (current >= 0) {
|
||||
batch->unk7 = current;
|
||||
}
|
||||
if (door){} //fakematch
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1683,6 +1689,21 @@ void func_80011264(ObjectModel *model, Object *obj) {
|
||||
GLOBAL_ASM("asm/non_matchings/objects/func_80011264.s")
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Do nothing. Unused.
|
||||
*/
|
||||
UNUSED void do_nothing_func_80011364(UNUSED s32 unused) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the opposite of D_8011ADAC's value
|
||||
*/
|
||||
UNUSED s32 is_not_D_8011ADAC(void) {
|
||||
//Ever hear of return !D_8011ADAC?
|
||||
if (D_8011ADAC) return FALSE;
|
||||
else return TRUE;
|
||||
}
|
||||
|
||||
void func_80011390(void) {
|
||||
D_8011ADAC = 0;
|
||||
}
|
||||
@@ -4914,15 +4935,15 @@ void run_object_loop_func(Object *obj, s32 updateRate) {
|
||||
UNUSED void func_8002458C(UNUSED s32 arg0) {
|
||||
}
|
||||
|
||||
s16 *func_80024594(s32 *arg0, s32 *arg1) {
|
||||
*arg0 = D_800DC700;
|
||||
*arg1 = 0x80;
|
||||
s16 *func_80024594(s32 *currentCount, s32 *maxCount) {
|
||||
*currentCount = D_800DC700;
|
||||
*maxCount = ARRAY_COUNT(D_8011AC20);
|
||||
return D_8011AC20;
|
||||
}
|
||||
|
||||
void func_800245B4(s16 arg0) {
|
||||
D_8011AC20[D_800DC700++] = arg0;
|
||||
if (D_800DC700 >= 0x80) {
|
||||
if (D_800DC700 >= ARRAY_COUNT(D_8011AC20)) {
|
||||
D_800DC700 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user