From daab4f501f3615b04db9ed6b4e4b9392416586b4 Mon Sep 17 00:00:00 2001 From: MegaMech Date: Thu, 8 May 2025 15:00:53 -0600 Subject: [PATCH] PR Matches (#706) * Commit unpr'd matches * fix compile --- asm/non_matchings/audio/load/audio_init.s | 345 ------------- .../code_8006E9C0/func_8006FA94.s | 447 ----------------- .../code_800AF9B0/func_800AFC54.s | 117 ----- .../code_800AF9B0/func_800B0004.s | 222 --------- .../cpu_vehicles_camera_path/func_8000B140.s | 469 ------------------ .../render_texture_tile_rgba32_block.s | 126 ----- asm/non_matchings/save/func_800B578C.s | 67 --- .../update_objects/func_80080E8C.s | 99 ---- .../update_objects/func_80082F1C.s | 71 --- include/objects.h | 9 +- src/audio/load.c | 42 +- src/code_80057C60.c | 8 +- src/code_80057C60.h | 8 +- src/code_8006E9C0.c | 203 +++----- src/code_8006E9C0.h | 2 +- src/code_800AF9B0.c | 103 ++-- src/code_800AF9B0.h | 1 + src/cpu_vehicles_camera_path.c | 209 ++++---- src/data/some_data.c | 24 +- src/data/some_data.h | 4 +- src/render_objects.c | 47 +- src/render_objects.h | 2 +- src/save.c | 28 +- src/save.h | 2 +- src/update_objects.c | 33 +- 25 files changed, 332 insertions(+), 2356 deletions(-) delete mode 100644 asm/non_matchings/audio/load/audio_init.s delete mode 100644 asm/non_matchings/code_8006E9C0/func_8006FA94.s delete mode 100644 asm/non_matchings/code_800AF9B0/func_800AFC54.s delete mode 100644 asm/non_matchings/code_800AF9B0/func_800B0004.s delete mode 100644 asm/non_matchings/cpu_vehicles_camera_path/func_8000B140.s delete mode 100644 asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s delete mode 100644 asm/non_matchings/save/func_800B578C.s delete mode 100644 asm/non_matchings/update_objects/func_80080E8C.s delete mode 100644 asm/non_matchings/update_objects/func_80082F1C.s diff --git a/asm/non_matchings/audio/load/audio_init.s b/asm/non_matchings/audio/load/audio_init.s deleted file mode 100644 index 9ada92584..000000000 --- a/asm/non_matchings/audio/load/audio_init.s +++ /dev/null @@ -1,345 +0,0 @@ -.section .late_rodata - -glabel D_800F2EA0 -.float 20.0304203 - -glabel D_800F2EA4 -.float 16.546 - -glabel D_800F2EA8 -.float 16.713 - -.section .text - -glabel audio_init -/* 0BCCDC 800BC0DC 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0BCCE0 800BC0E0 3C0E800F */ lui $t6, %hi(gAudioLoadLock) # $t6, 0x800f -/* 0BCCE4 800BC0E4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0BCCE8 800BC0E8 AFB50028 */ sw $s5, 0x28($sp) -/* 0BCCEC 800BC0EC AFB40024 */ sw $s4, 0x24($sp) -/* 0BCCF0 800BC0F0 AFB30020 */ sw $s3, 0x20($sp) -/* 0BCCF4 800BC0F4 AFB2001C */ sw $s2, 0x1c($sp) -/* 0BCCF8 800BC0F8 AFB10018 */ sw $s1, 0x18($sp) -/* 0BCCFC 800BC0FC AFB00014 */ sw $s0, 0x14($sp) -/* 0BCD00 800BC100 25CEA5DC */ addiu $t6, %lo(gAudioLoadLock) # addiu $t6, $t6, -0x5a24 -/* 0BCD04 800BC104 ADC00000 */ sw $zero, ($t6) -/* 0BCD08 800BC108 3C04800F */ lui $a0, %hi(gAudioHeapSize) # $a0, 0x800f -/* 0BCD0C 800BC10C 8C84A5D0 */ lw $a0, %lo(gAudioHeapSize)($a0) -/* 0BCD10 800BC110 00001825 */ move $v1, $zero -/* 0BCD14 800BC114 3C0A803B */ lui $t2, %hi(gAudioGlobalsEndMarker) # $t2, 0x803b -/* 0BCD18 800BC118 04810003 */ bgez $a0, .L800BC128 -/* 0BCD1C 800BC11C 000478C3 */ sra $t7, $a0, 3 -/* 0BCD20 800BC120 24810007 */ addiu $at, $a0, 7 -/* 0BCD24 800BC124 000178C3 */ sra $t7, $at, 3 -.L800BC128: -/* 0BCD28 800BC128 19E0000C */ blez $t7, .L800BC15C -/* 0BCD2C 800BC12C 3C04803B */ lui $a0, %hi(gGfxSPTaskOutputBufferSize) # 0x803b -/* 0BCD30 800BC130 3C18803B */ lui $t8, %hi(gAudioHeap) # 0x803b -/* 0BCD34 800BC134 270271B0 */ addiu $v0, $t8, %lo(gAudioHeap) # 0x71b0 -/* 0BCD38 800BC138 000FC8C0 */ sll $t9, $t7, 3 -/* 0BCD3C 800BC13C 03221821 */ addu $v1, $t9, $v0 -.L800BC140: -/* 0BCD40 800BC140 24420008 */ addiu $v0, $v0, 8 -/* 0BCD44 800BC144 0043082B */ sltu $at, $v0, $v1 -/* 0BCD48 800BC148 24080000 */ li $t0, 0 -/* 0BCD4C 800BC14C 24090000 */ li $t1, 0 -/* 0BCD50 800BC150 AC49FFFC */ sw $t1, -4($v0) -/* 0BCD54 800BC154 1420FFFA */ bnez $at, .L800BC140 -/* 0BCD58 800BC158 AC48FFF8 */ sw $t0, -8($v0) -.L800BC15C: -/* 0BCD5C 800BC15C 2482F780 */ addiu $v0, $a0, %lo(gGfxSPTaskOutputBufferSize) # -0x880 -/* 0BCD60 800BC160 254A71A0 */ addiu $t2, %lo(gAudioGlobalsEndMarker) # addiu $t2, $t2, 0x71a0 -/* 0BCD64 800BC164 01421823 */ subu $v1, $t2, $v0 -/* 0BCD68 800BC168 000380C2 */ srl $s0, $v1, 3 -/* 0BCD6C 800BC16C 06000007 */ bltz $s0, .L800BC18C -.L800BC170: -/* 0BCD70 800BC170 2610FFFF */ addiu $s0, $s0, -1 -/* 0BCD74 800BC174 240C0000 */ li $t4, 0 -/* 0BCD78 800BC178 240D0000 */ li $t5, 0 -/* 0BCD7C 800BC17C AC4D0004 */ sw $t5, 4($v0) -/* 0BCD80 800BC180 AC4C0000 */ sw $t4, ($v0) -/* 0BCD84 800BC184 0601FFFA */ bgez $s0, .L800BC170 -/* 0BCD88 800BC188 24420008 */ addiu $v0, $v0, 8 -.L800BC18C: -/* 0BCD8C 800BC18C 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000 -/* 0BCD90 800BC190 8C420300 */ lw $v0, %lo(osTvType)($v0) -/* 0BCD94 800BC194 10400007 */ beqz $v0, .L800BC1B4 -/* 0BCD98 800BC198 24010001 */ li $at, 1 -/* 0BCD9C 800BC19C 10410015 */ beq $v0, $at, .L800BC1F4 -/* 0BCDA0 800BC1A0 24010002 */ li $at, 2 -/* 0BCDA4 800BC1A4 1041000B */ beq $v0, $at, .L800BC1D4 -/* 0BCDA8 800BC1A8 00000000 */ nop -/* 0BCDAC 800BC1AC 10000011 */ b .L800BC1F4 -/* 0BCDB0 800BC1B0 00000000 */ nop -.L800BC1B4: -/* 0BCDB4 800BC1B4 3C01800F */ lui $at, %hi(D_800F2EA0) # $at, 0x800f -/* 0BCDB8 800BC1B8 C4242EA0 */ lwc1 $f4, %lo(D_800F2EA0)($at) -/* 0BCDBC 800BC1BC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b -/* 0BCDC0 800BC1C0 240E0032 */ li $t6, 50 -/* 0BCDC4 800BC1C4 E4247178 */ swc1 $f4, %lo(D_803B7178)($at) -/* 0BCDC8 800BC1C8 3C01803B */ lui $at, %hi(gRefreshRate) # $at, 0x803b -/* 0BCDCC 800BC1CC 10000010 */ b .L800BC210 -/* 0BCDD0 800BC1D0 AC2E717C */ sw $t6, %lo(gRefreshRate)($at) -.L800BC1D4: -/* 0BCDD4 800BC1D4 3C01800F */ lui $at, %hi(D_800F2EA4) # $at, 0x800f -/* 0BCDD8 800BC1D8 C4262EA4 */ lwc1 $f6, %lo(D_800F2EA4)($at) -/* 0BCDDC 800BC1DC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b -/* 0BCDE0 800BC1E0 240F003C */ li $t7, 60 -/* 0BCDE4 800BC1E4 E4267178 */ swc1 $f6, %lo(D_803B7178)($at) -/* 0BCDE8 800BC1E8 3C01803B */ lui $at, %hi(gRefreshRate) # $at, 0x803b -/* 0BCDEC 800BC1EC 10000008 */ b .L800BC210 -/* 0BCDF0 800BC1F0 AC2F717C */ sw $t7, %lo(gRefreshRate)($at) -.L800BC1F4: -/* 0BCDF4 800BC1F4 3C01800F */ lui $at, %hi(D_800F2EA8) # $at, 0x800f -/* 0BCDF8 800BC1F8 C4282EA8 */ lwc1 $f8, %lo(D_800F2EA8)($at) -/* 0BCDFC 800BC1FC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b -/* 0BCE00 800BC200 2419003C */ li $t9, 60 -/* 0BCE04 800BC204 E4287178 */ swc1 $f8, %lo(D_803B7178)($at) -/* 0BCE08 800BC208 3C01803B */ lui $at, %hi(gRefreshRate) # $at, 0x803b -/* 0BCE0C 800BC20C AC39717C */ sw $t9, %lo(gRefreshRate)($at) -.L800BC210: -/* 0BCE10 800BC210 0C032FD2 */ jal port_eu_init -/* 0BCE14 800BC214 00000000 */ nop -/* 0BCE18 800BC218 3C02803B */ lui $v0, %hi(gAiBufferLengths) # $v0, 0x803b -/* 0BCE1C 800BC21C 3C04803B */ lui $a0, %hi(D_803B7192) # $a0, 0x803b -/* 0BCE20 800BC220 24847192 */ addiu $a0, %lo(D_803B7192) # addiu $a0, $a0, 0x7192 -/* 0BCE24 800BC224 2442718C */ addiu $v0, %lo(gAiBufferLengths) # addiu $v0, $v0, 0x718c -/* 0BCE28 800BC228 240300A0 */ li $v1, 160 -.L800BC22C: -/* 0BCE2C 800BC22C 24420002 */ addiu $v0, $v0, 2 -/* 0BCE30 800BC230 0044082B */ sltu $at, $v0, $a0 -/* 0BCE34 800BC234 1420FFFD */ bnez $at, .L800BC22C -/* 0BCE38 800BC238 A443FFFE */ sh $v1, -2($v0) -/* 0BCE3C 800BC23C 3C18803B */ lui $t8, %hi(gAudioFrameCount) # $t8, 0x803b -/* 0BCE40 800BC240 271870B8 */ addiu $t8, %lo(gAudioFrameCount) # addiu $t8, $t8, 0x70b8 -/* 0BCE44 800BC244 AF000000 */ sw $zero, ($t8) -/* 0BCE48 800BC248 3C01803B */ lui $at, %hi(gAudioTaskIndex) # $at, 0x803b -/* 0BCE4C 800BC24C AC2070C0 */ sw $zero, %lo(gAudioTaskIndex)($at) -/* 0BCE50 800BC250 3C01803B */ lui $at, %hi(gCurrAiBufferIndex) # $at, 0x803b -/* 0BCE54 800BC254 AC2070C4 */ sw $zero, %lo(gCurrAiBufferIndex)($at) -/* 0BCE58 800BC258 3C01803B */ lui $at, %hi(gAudioLibSoundMode) # $at, 0x803b -/* 0BCE5C 800BC25C A02070B6 */ sb $zero, %lo(gAudioLibSoundMode)($at) -/* 0BCE60 800BC260 3C02803B */ lui $v0, %hi(gAudioTasks) # $v0, 0x803b -/* 0BCE64 800BC264 3C01803B */ lui $at, %hi(gAudioTask) # $at, 0x803b -/* 0BCE68 800BC268 244270D8 */ addiu $v0, %lo(gAudioTasks) # addiu $v0, $v0, 0x70d8 -/* 0BCE6C 800BC26C AC2070D4 */ sw $zero, %lo(gAudioTask)($at) -/* 0BCE70 800BC270 3C04803B */ lui $a0, %hi(D_803B6720) # $a0, 0x803b -/* 0BCE74 800BC274 3C05803B */ lui $a1, %hi(D_803B6738) # $a1, 0x803b -/* 0BCE78 800BC278 AC400034 */ sw $zero, 0x34($v0) -/* 0BCE7C 800BC27C AC400084 */ sw $zero, 0x84($v0) -/* 0BCE80 800BC280 24A56738 */ addiu $a1, %lo(D_803B6738) # addiu $a1, $a1, 0x6738 -/* 0BCE84 800BC284 24846720 */ addiu $a0, %lo(D_803B6720) # addiu $a0, $a0, 0x6720 -/* 0BCE88 800BC288 0C033358 */ jal osCreateMesgQueue -/* 0BCE8C 800BC28C 24060001 */ li $a2, 1 -/* 0BCE90 800BC290 3C04803B */ lui $a0, %hi(gCurrAudioFrameDmaQueue) # $a0, 0x803b -/* 0BCE94 800BC294 3C05803B */ lui $a1, %hi(gCurrAudioFrameDmaMesgBufs) # $a1, 0x803b -/* 0BCE98 800BC298 24A56020 */ addiu $a1, %lo(gCurrAudioFrameDmaMesgBufs) # addiu $a1, $a1, 0x6020 -/* 0BCE9C 800BC29C 24846008 */ addiu $a0, %lo(gCurrAudioFrameDmaQueue) # addiu $a0, $a0, 0x6008 -/* 0BCEA0 800BC2A0 0C033358 */ jal osCreateMesgQueue -/* 0BCEA4 800BC2A4 24060040 */ li $a2, 64 -/* 0BCEA8 800BC2A8 3C01803B */ lui $at, %hi(gCurrAudioFrameDmaCount) # $at, 0x803b -/* 0BCEAC 800BC2AC AC2070BC */ sw $zero, %lo(gCurrAudioFrameDmaCount)($at) -/* 0BCEB0 800BC2B0 3C01803B */ lui $at, %hi(gSampleDmaNumListItems) # $at, 0x803b -/* 0BCEB4 800BC2B4 3C04800F */ lui $a0, %hi(gAudioInitPoolSize) # $a0, 0x800f -/* 0BCEB8 800BC2B8 AC206E58 */ sw $zero, %lo(gSampleDmaNumListItems)($at) -/* 0BCEBC 800BC2BC 0C02E43C */ jal sound_init_main_pools -/* 0BCEC0 800BC2C0 8C84A5D4 */ lw $a0, %lo(gAudioInitPoolSize)($a0) -/* 0BCEC4 800BC2C4 3C06803B */ lui $a2, %hi(gAiBuffers) # $a2, 0x803b -/* 0BCEC8 800BC2C8 3C14803B */ lui $s4, %hi(gAudioInitPool) # $s4, 0x803b -/* 0BCECC 800BC2CC 3C11803B */ lui $s1, %hi(gAiBufferLengths) # $s1, 0x803b -/* 0BCED0 800BC2D0 2631718C */ addiu $s1, %lo(gAiBufferLengths) # addiu $s1, $s1, 0x718c -/* 0BCED4 800BC2D4 2694FBD8 */ addiu $s4, %lo(gAudioInitPool) # addiu $s4, $s4, -0x428 -/* 0BCED8 800BC2D8 24C67180 */ addiu $a2, %lo(gAiBuffers) # addiu $a2, $a2, 0x7180 -/* 0BCEDC 800BC2DC 24100A00 */ li $s0, 2560 -/* 0BCEE0 800BC2E0 02802025 */ move $a0, $s4 -.L800BC2E4: -/* 0BCEE4 800BC2E4 24050A00 */ li $a1, 2560 -/* 0BCEE8 800BC2E8 0C02E3FF */ jal soundAlloc -/* 0BCEEC 800BC2EC AFA6003C */ sw $a2, 0x3c($sp) -/* 0BCEF0 800BC2F0 8FA6003C */ lw $a2, 0x3c($sp) -/* 0BCEF4 800BC2F4 00001825 */ move $v1, $zero -/* 0BCEF8 800BC2F8 ACC20000 */ sw $v0, ($a2) -.L800BC2FC: -/* 0BCEFC 800BC2FC 8CC80000 */ lw $t0, ($a2) -/* 0BCF00 800BC300 01034821 */ addu $t1, $t0, $v1 -/* 0BCF04 800BC304 A5200000 */ sh $zero, ($t1) -/* 0BCF08 800BC308 8CCA0000 */ lw $t2, ($a2) -/* 0BCF0C 800BC30C 01435821 */ addu $t3, $t2, $v1 -/* 0BCF10 800BC310 A5600002 */ sh $zero, 2($t3) -/* 0BCF14 800BC314 8CCC0000 */ lw $t4, ($a2) -/* 0BCF18 800BC318 01836821 */ addu $t5, $t4, $v1 -/* 0BCF1C 800BC31C A5A00004 */ sh $zero, 4($t5) -/* 0BCF20 800BC320 8CCE0000 */ lw $t6, ($a2) -/* 0BCF24 800BC324 01C37821 */ addu $t7, $t6, $v1 -/* 0BCF28 800BC328 24630008 */ addiu $v1, $v1, 8 -/* 0BCF2C 800BC32C 1470FFF3 */ bne $v1, $s0, .L800BC2FC -/* 0BCF30 800BC330 A5E00006 */ sh $zero, 6($t7) -/* 0BCF34 800BC334 24C60004 */ addiu $a2, $a2, 4 -/* 0BCF38 800BC338 00D1082B */ sltu $at, $a2, $s1 -/* 0BCF3C 800BC33C 5420FFE9 */ bnel $at, $zero, .L800BC2E4 -/* 0BCF40 800BC340 02802025 */ move $a0, $s4 -/* 0BCF44 800BC344 3C01803B */ lui $at, %hi(gAudioResetPresetIdToLoad) # $at, 0x803b -/* 0BCF48 800BC348 3C18803B */ lui $t8, %hi(gAudioResetStatus) # $t8, 0x803b -/* 0BCF4C 800BC34C A0200501 */ sb $zero, %lo(gAudioResetPresetIdToLoad)($at) -/* 0BCF50 800BC350 27180500 */ addiu $t8, %lo(gAudioResetStatus) # addiu $t8, $t8, 0x500 -/* 0BCF54 800BC354 24190001 */ li $t9, 1 -/* 0BCF58 800BC358 0C02E803 */ jal audio_shut_down_and_reset_step -/* 0BCF5C 800BC35C A3190000 */ sb $t9, ($t8) -/* 0BCF60 800BC360 3C11803B */ lui $s1, %hi(gSeqFileHeader) # $s1, 0x803b -/* 0BCF64 800BC364 3C1200BC */ lui $s2, %hi(_sequencesSegmentRomStart) # $s2, 0xbc -/* 0BCF68 800BC368 26525F60 */ addiu $s2, %lo(_sequencesSegmentRomStart) # addiu $s2, $s2, 0x5f60 -/* 0BCF6C 800BC36C 2631706C */ addiu $s1, %lo(gSeqFileHeader) # addiu $s1, $s1, 0x706c -/* 0BCF70 800BC370 27B50060 */ addiu $s5, $sp, 0x60 -/* 0BCF74 800BC374 AE350000 */ sw $s5, ($s1) -/* 0BCF78 800BC378 02A02825 */ move $a1, $s5 -/* 0BCF7C 800BC37C 02402025 */ move $a0, $s2 -/* 0BCF80 800BC380 0C02EAA0 */ jal audio_dma_copy_immediate -/* 0BCF84 800BC384 24060010 */ li $a2, 16 -/* 0BCF88 800BC388 8E280000 */ lw $t0, ($s1) -/* 0BCF8C 800BC38C 3C02803B */ lui $v0, %hi(gSequenceCount) # $v0, 0x803b -/* 0BCF90 800BC390 2401FFF0 */ li $at, -16 -/* 0BCF94 800BC394 85090002 */ lh $t1, 2($t0) -/* 0BCF98 800BC398 2442707C */ addiu $v0, %lo(gSequenceCount) # addiu $v0, $v0, 0x707c -/* 0BCF9C 800BC39C 02802025 */ move $a0, $s4 -/* 0BCFA0 800BC3A0 3130FFFF */ andi $s0, $t1, 0xffff -/* 0BCFA4 800BC3A4 001050C0 */ sll $t2, $s0, 3 -/* 0BCFA8 800BC3A8 01408025 */ move $s0, $t2 -/* 0BCFAC 800BC3AC 26100013 */ addiu $s0, $s0, 0x13 -/* 0BCFB0 800BC3B0 02012824 */ and $a1, $s0, $at -/* 0BCFB4 800BC3B4 00A08025 */ move $s0, $a1 -/* 0BCFB8 800BC3B8 0C02E3FF */ jal soundAlloc -/* 0BCFBC 800BC3BC A4490000 */ sh $t1, ($v0) -/* 0BCFC0 800BC3C0 AE220000 */ sw $v0, ($s1) -/* 0BCFC4 800BC3C4 02402025 */ move $a0, $s2 -/* 0BCFC8 800BC3C8 00402825 */ move $a1, $v0 -/* 0BCFCC 800BC3CC 0C02EAA0 */ jal audio_dma_copy_immediate -/* 0BCFD0 800BC3D0 02003025 */ move $a2, $s0 -/* 0BCFD4 800BC3D4 8E240000 */ lw $a0, ($s1) -/* 0BCFD8 800BC3D8 0C02ED0F */ jal func_800BB43C -/* 0BCFDC 800BC3DC 02402825 */ move $a1, $s2 -/* 0BCFE0 800BC3E0 3C110096 */ lui $s1, %hi(_audio_banksSegmentRomStart) # $s1, 0x96 -/* 0BCFE4 800BC3E4 3C12803B */ lui $s2, %hi(gAlCtlHeader) # $s2, 0x803b -/* 0BCFE8 800BC3E8 26527070 */ addiu $s2, %lo(gAlCtlHeader) # addiu $s2, $s2, 0x7070 -/* 0BCFEC 800BC3EC 26316260 */ addiu $s1, %lo(_audio_banksSegmentRomStart) # addiu $s1, $s1, 0x6260 -/* 0BCFF0 800BC3F0 AE550000 */ sw $s5, ($s2) -/* 0BCFF4 800BC3F4 02202025 */ move $a0, $s1 -/* 0BCFF8 800BC3F8 02A02825 */ move $a1, $s5 -/* 0BCFFC 800BC3FC 0C02EAA0 */ jal audio_dma_copy_immediate -/* 0BD000 800BC400 24060010 */ li $a2, 16 -/* 0BD004 800BC404 8E4C0000 */ lw $t4, ($s2) -/* 0BD008 800BC408 2401FFF0 */ li $at, -16 -/* 0BD00C 800BC40C 02802025 */ move $a0, $s4 -/* 0BD010 800BC410 85930002 */ lh $s3, 2($t4) -/* 0BD014 800BC414 001380C0 */ sll $s0, $s3, 3 -/* 0BD018 800BC418 26100013 */ addiu $s0, $s0, 0x13 -/* 0BD01C 800BC41C 02012824 */ and $a1, $s0, $at -/* 0BD020 800BC420 0C02E3FF */ jal soundAlloc -/* 0BD024 800BC424 00A08025 */ move $s0, $a1 -/* 0BD028 800BC428 AE420000 */ sw $v0, ($s2) -/* 0BD02C 800BC42C 02202025 */ move $a0, $s1 -/* 0BD030 800BC430 00402825 */ move $a1, $v0 -/* 0BD034 800BC434 0C02EAA0 */ jal audio_dma_copy_immediate -/* 0BD038 800BC438 02003025 */ move $a2, $s0 -/* 0BD03C 800BC43C 8E440000 */ lw $a0, ($s2) -/* 0BD040 800BC440 0C02ED0F */ jal func_800BB43C -/* 0BD044 800BC444 02202825 */ move $a1, $s1 -/* 0BD048 800BC448 00132880 */ sll $a1, $s3, 2 -/* 0BD04C 800BC44C 00B32823 */ subu $a1, $a1, $s3 -/* 0BD050 800BC450 00052880 */ sll $a1, $a1, 2 -/* 0BD054 800BC454 0C02E3FF */ jal soundAlloc -/* 0BD058 800BC458 02802025 */ move $a0, $s4 -/* 0BD05C 800BC45C 3C07803B */ lui $a3, %hi(gCtlEntries) # $a3, 0x803b -/* 0BD060 800BC460 24E77080 */ addiu $a3, %lo(gCtlEntries) # addiu $a3, $a3, 0x7080 -/* 0BD064 800BC464 ACE20000 */ sw $v0, ($a3) -/* 0BD068 800BC468 1A600019 */ blez $s3, .L800BC4D0 -/* 0BD06C 800BC46C 00001825 */ move $v1, $zero -/* 0BD070 800BC470 00008825 */ move $s1, $zero -/* 0BD074 800BC474 00008025 */ move $s0, $zero -.L800BC478: -/* 0BD078 800BC478 8E4E0000 */ lw $t6, ($s2) -/* 0BD07C 800BC47C 02A02825 */ move $a1, $s5 -/* 0BD080 800BC480 24060010 */ li $a2, 16 -/* 0BD084 800BC484 01D17821 */ addu $t7, $t6, $s1 -/* 0BD088 800BC488 8DE40004 */ lw $a0, 4($t7) -/* 0BD08C 800BC48C 0C02EAA0 */ jal audio_dma_copy_immediate -/* 0BD090 800BC490 AFA3008C */ sw $v1, 0x8c($sp) -/* 0BD094 800BC494 3C07803B */ lui $a3, %hi(gCtlEntries) # $a3, 0x803b -/* 0BD098 800BC498 24E77080 */ addiu $a3, %lo(gCtlEntries) # addiu $a3, $a3, 0x7080 -/* 0BD09C 800BC49C 8CF80000 */ lw $t8, ($a3) -/* 0BD0A0 800BC4A0 8FB90060 */ lw $t9, 0x60($sp) -/* 0BD0A4 800BC4A4 8FA3008C */ lw $v1, 0x8c($sp) -/* 0BD0A8 800BC4A8 03104021 */ addu $t0, $t8, $s0 -/* 0BD0AC 800BC4AC A1190001 */ sb $t9, 1($t0) -/* 0BD0B0 800BC4B0 8CEA0000 */ lw $t2, ($a3) -/* 0BD0B4 800BC4B4 8FA90064 */ lw $t1, 0x64($sp) -/* 0BD0B8 800BC4B8 24630001 */ addiu $v1, $v1, 1 -/* 0BD0BC 800BC4BC 01505821 */ addu $t3, $t2, $s0 -/* 0BD0C0 800BC4C0 2610000C */ addiu $s0, $s0, 0xc -/* 0BD0C4 800BC4C4 26310008 */ addiu $s1, $s1, 8 -/* 0BD0C8 800BC4C8 1473FFEB */ bne $v1, $s3, .L800BC478 -/* 0BD0CC 800BC4CC A1690002 */ sb $t1, 2($t3) -.L800BC4D0: -/* 0BD0D0 800BC4D0 3C11803B */ lui $s1, %hi(gAlTbl) # $s1, 0x803b -/* 0BD0D4 800BC4D4 3C120098 */ lui $s2, %hi(_audio_tablesSegmentRomStart) # $s2, 0x98 -/* 0BD0D8 800BC4D8 26529AA0 */ addiu $s2, %lo(_audio_tablesSegmentRomStart) # addiu $s2, $s2, -0x6560 -/* 0BD0DC 800BC4DC 26317074 */ addiu $s1, %lo(gAlTbl) # addiu $s1, $s1, 0x7074 -/* 0BD0E0 800BC4E0 AE350000 */ sw $s5, ($s1) -/* 0BD0E4 800BC4E4 02402025 */ move $a0, $s2 -/* 0BD0E8 800BC4E8 02A02825 */ move $a1, $s5 -/* 0BD0EC 800BC4EC 0C02EAA0 */ jal audio_dma_copy_immediate -/* 0BD0F0 800BC4F0 24060010 */ li $a2, 16 -/* 0BD0F4 800BC4F4 8E2C0000 */ lw $t4, ($s1) -/* 0BD0F8 800BC4F8 2401FFF0 */ li $at, -16 -/* 0BD0FC 800BC4FC 02802025 */ move $a0, $s4 -/* 0BD100 800BC500 85900002 */ lh $s0, 2($t4) -/* 0BD104 800BC504 001068C0 */ sll $t5, $s0, 3 -/* 0BD108 800BC508 01A08025 */ move $s0, $t5 -/* 0BD10C 800BC50C 26100013 */ addiu $s0, $s0, 0x13 -/* 0BD110 800BC510 02012824 */ and $a1, $s0, $at -/* 0BD114 800BC514 0C02E3FF */ jal soundAlloc -/* 0BD118 800BC518 00A08025 */ move $s0, $a1 -/* 0BD11C 800BC51C AE220000 */ sw $v0, ($s1) -/* 0BD120 800BC520 02402025 */ move $a0, $s2 -/* 0BD124 800BC524 00402825 */ move $a1, $v0 -/* 0BD128 800BC528 0C02EAA0 */ jal audio_dma_copy_immediate -/* 0BD12C 800BC52C 02003025 */ move $a2, $s0 -/* 0BD130 800BC530 8E240000 */ lw $a0, ($s1) -/* 0BD134 800BC534 0C02ED0F */ jal func_800BB43C -/* 0BD138 800BC538 02402825 */ move $a1, $s2 -/* 0BD13C 800BC53C 02802025 */ move $a0, $s4 -/* 0BD140 800BC540 0C02E3FF */ jal soundAlloc -/* 0BD144 800BC544 24050100 */ li $a1, 256 -/* 0BD148 800BC548 3C03803B */ lui $v1, %hi(gAlBankSets) # $v1, 0x803b -/* 0BD14C 800BC54C 24637078 */ addiu $v1, %lo(gAlBankSets) # addiu $v1, $v1, 0x7078 -/* 0BD150 800BC550 3C0400BF */ lui $a0, %hi(_instrument_setsSegmentRomStart) # $a0, 0xbf -/* 0BD154 800BC554 AC620000 */ sw $v0, ($v1) -/* 0BD158 800BC558 248490E0 */ addiu $a0, %lo(_instrument_setsSegmentRomStart) # addiu $a0, $a0, -0x6f20 -/* 0BD15C 800BC55C 00402825 */ move $a1, $v0 -/* 0BD160 800BC560 0C02EAA0 */ jal audio_dma_copy_immediate -/* 0BD164 800BC564 24060100 */ li $a2, 256 -/* 0BD168 800BC568 3C10800F */ lui $s0, %hi(D_800EA5D8) # $s0, 0x800f -/* 0BD16C 800BC56C 2610A5D8 */ addiu $s0, %lo(D_800EA5D8) # addiu $s0, $s0, -0x5a28 -/* 0BD170 800BC570 8E050000 */ lw $a1, ($s0) -/* 0BD174 800BC574 0C02E3FF */ jal soundAlloc -/* 0BD178 800BC578 02802025 */ move $a0, $s4 -/* 0BD17C 800BC57C 3C04803B */ lui $a0, %hi(gUnkPool1) # $a0, 0x803b -/* 0BD180 800BC580 248401B8 */ addiu $a0, %lo(gUnkPool1) # addiu $a0, $a0, 0x1b8 -/* 0BD184 800BC584 00402825 */ move $a1, $v0 -/* 0BD188 800BC588 0C02E41F */ jal sound_alloc_pool_init -/* 0BD18C 800BC58C 8E060000 */ lw $a2, ($s0) -/* 0BD190 800BC590 0C030497 */ jal init_sequence_players -/* 0BD194 800BC594 00000000 */ nop -/* 0BD198 800BC598 3C0F7655 */ lui $t7, (0x76557364 >> 16) # lui $t7, 0x7655 -/* 0BD19C 800BC59C 3C18800F */ lui $t8, %hi(gAudioLoadLock) # $t8, 0x800f -/* 0BD1A0 800BC5A0 2718A5DC */ addiu $t8, %lo(gAudioLoadLock) # addiu $t8, $t8, -0x5a24 -/* 0BD1A4 800BC5A4 35EF7364 */ ori $t7, (0x76557364 & 0xFFFF) # ori $t7, $t7, 0x7364 -/* 0BD1A8 800BC5A8 AF0F0000 */ sw $t7, ($t8) -/* 0BD1AC 800BC5AC 8FBF002C */ lw $ra, 0x2c($sp) -/* 0BD1B0 800BC5B0 8FB50028 */ lw $s5, 0x28($sp) -/* 0BD1B4 800BC5B4 8FB40024 */ lw $s4, 0x24($sp) -/* 0BD1B8 800BC5B8 8FB30020 */ lw $s3, 0x20($sp) -/* 0BD1BC 800BC5BC 8FB2001C */ lw $s2, 0x1c($sp) -/* 0BD1C0 800BC5C0 8FB10018 */ lw $s1, 0x18($sp) -/* 0BD1C4 800BC5C4 8FB00014 */ lw $s0, 0x14($sp) -/* 0BD1C8 800BC5C8 03E00008 */ jr $ra -/* 0BD1CC 800BC5CC 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/code_8006E9C0/func_8006FA94.s b/asm/non_matchings/code_8006E9C0/func_8006FA94.s deleted file mode 100644 index d74189457..000000000 --- a/asm/non_matchings/code_8006E9C0/func_8006FA94.s +++ /dev/null @@ -1,447 +0,0 @@ -glabel func_8006FA94 -/* 070694 8006FA94 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 070698 8006FA98 AFBF0014 */ sw $ra, 0x14($sp) -/* 07069C 8006FA9C 0C01BE33 */ jal func_8006F8CC -/* 0706A0 8006FAA0 00000000 */ nop -/* 0706A4 8006FAA4 0C01BC02 */ jal course_mini_map_settings -/* 0706A8 8006FAA8 00000000 */ nop -/* 0706AC 8006FAAC 24040000 */ li $a0, 0 -/* 0706B0 8006FAB0 0C0338C4 */ jal osSetTime -/* 0706B4 8006FAB4 24050000 */ li $a1, 0 -/* 0706B8 8006FAB8 3C018019 */ lui $at, %hi(D_8018D170) # $at, 0x8019 -/* 0706BC 8006FABC AC20D170 */ sw $zero, %lo(D_8018D170)($at) -/* 0706C0 8006FAC0 3C018019 */ lui $at, %hi(D_8018D190) # $at, 0x8019 -/* 0706C4 8006FAC4 AC20D190 */ sw $zero, %lo(D_8018D190)($at) -/* 0706C8 8006FAC8 3C018019 */ lui $at, %hi(gIsHUDVisible) # $at, 0x8019 -/* 0706CC 8006FACC 3C048019 */ lui $a0, %hi(D_8018D178) # $a0, 0x8019 -/* 0706D0 8006FAD0 AC20D188 */ sw $zero, %lo(gIsHUDVisible)($at) -/* 0706D4 8006FAD4 2484D178 */ addiu $a0, %lo(D_8018D178) # addiu $a0, $a0, -0x2e88 -/* 0706D8 8006FAD8 AC800000 */ sw $zero, ($a0) -/* 0706DC 8006FADC 3C018019 */ lui $at, %hi(D_8018D1CC) # $at, 0x8019 -/* 0706E0 8006FAE0 AC20D1CC */ sw $zero, %lo(D_8018D1CC)($at) -/* 0706E4 8006FAE4 3C018016 */ lui $at, %hi(D_801657E2) # $at, 0x8016 -/* 0706E8 8006FAE8 A02057E2 */ sb $zero, %lo(D_801657E2)($at) -/* 0706EC 8006FAEC 3C018016 */ lui $at, %hi(D_80165730) # $at, 0x8016 -/* 0706F0 8006FAF0 A4205730 */ sh $zero, %lo(D_80165730)($at) -/* 0706F4 8006FAF4 3C058016 */ lui $a1, %hi(D_801657E5) # $a1, 0x8016 -/* 0706F8 8006FAF8 3C018016 */ lui $at, %hi(D_801658FE) # $at, 0x8016 -/* 0706FC 8006FAFC 24A557E5 */ addiu $a1, %lo(D_801657E5) # addiu $a1, $a1, 0x57e5 -/* 070700 8006FB00 A02058FE */ sb $zero, %lo(D_801658FE)($at) -/* 070704 8006FB04 A0A00000 */ sb $zero, ($a1) -/* 070708 8006FB08 80AE0000 */ lb $t6, ($a1) -/* 07070C 8006FB0C 3C068016 */ lui $a2, %hi(D_801657E3) # $a2, 0x8016 -/* 070710 8006FB10 24C657E3 */ addiu $a2, %lo(D_801657E3) # addiu $a2, $a2, 0x57e3 -/* 070714 8006FB14 A0CE0000 */ sb $t6, ($a2) -/* 070718 8006FB18 80CF0000 */ lb $t7, ($a2) -/* 07071C 8006FB1C 3C078016 */ lui $a3, %hi(D_801658D6) # $a3, 0x8016 -/* 070720 8006FB20 3C018016 */ lui $at, %hi(D_801657E1) # $at, 0x8016 -/* 070724 8006FB24 24E758D6 */ addiu $a3, %lo(D_801658D6) # addiu $a3, $a3, 0x58d6 -/* 070728 8006FB28 A02F57E1 */ sb $t7, %lo(D_801657E1)($at) -/* 07072C 8006FB2C A0E00000 */ sb $zero, ($a3) -/* 070730 8006FB30 80F80000 */ lb $t8, ($a3) -/* 070734 8006FB34 3C088016 */ lui $t0, %hi(D_801658E4) # $t0, 0x8016 -/* 070738 8006FB38 250858E4 */ addiu $t0, %lo(D_801658E4) # addiu $t0, $t0, 0x58e4 -/* 07073C 8006FB3C A1180000 */ sb $t8, ($t0) -/* 070740 8006FB40 81190000 */ lb $t9, ($t0) -/* 070744 8006FB44 3C098016 */ lui $t1, %hi(D_801658F4) # $t1, 0x8016 -/* 070748 8006FB48 252958F4 */ addiu $t1, %lo(D_801658F4) # addiu $t1, $t1, 0x58f4 -/* 07074C 8006FB4C A1390000 */ sb $t9, ($t1) -/* 070750 8006FB50 812E0000 */ lb $t6, ($t1) -/* 070754 8006FB54 3C0A8016 */ lui $t2, %hi(D_801658EC) # $t2, 0x8016 -/* 070758 8006FB58 254A58EC */ addiu $t2, %lo(D_801658EC) # addiu $t2, $t2, 0x58ec -/* 07075C 8006FB5C A14E0000 */ sb $t6, ($t2) -/* 070760 8006FB60 814F0000 */ lb $t7, ($t2) -/* 070764 8006FB64 3C0B8016 */ lui $t3, %hi(D_801658DC) # $t3, 0x8016 -/* 070768 8006FB68 256B58DC */ addiu $t3, %lo(D_801658DC) # addiu $t3, $t3, 0x58dc -/* 07076C 8006FB6C A16F0000 */ sb $t7, ($t3) -/* 070770 8006FB70 81780000 */ lb $t8, ($t3) -/* 070774 8006FB74 3C0C8016 */ lui $t4, %hi(D_801658CE) # $t4, 0x8016 -/* 070778 8006FB78 258C58CE */ addiu $t4, %lo(D_801658CE) # addiu $t4, $t4, 0x58ce -/* 07077C 8006FB7C A1980000 */ sb $t8, ($t4) -/* 070780 8006FB80 81990000 */ lb $t9, ($t4) -/* 070784 8006FB84 3C038016 */ lui $v1, %hi(D_80165658) # $v1, 0x8016 -/* 070788 8006FB88 3C0D8016 */ lui $t5, %hi(D_801658C6) # $t5, 0x8016 -/* 07078C 8006FB8C 25AD58C6 */ addiu $t5, %lo(D_801658C6) # addiu $t5, $t5, 0x58c6 -/* 070790 8006FB90 24635658 */ addiu $v1, %lo(D_80165658) # addiu $v1, $v1, 0x5658 -/* 070794 8006FB94 A1B90000 */ sb $t9, ($t5) -/* 070798 8006FB98 81AE0000 */ lb $t6, ($t5) -/* 07079C 8006FB9C AC600008 */ sw $zero, 8($v1) -/* 0707A0 8006FBA0 AC600004 */ sw $zero, 4($v1) -/* 0707A4 8006FBA4 AC600000 */ sw $zero, ($v1) -/* 0707A8 8006FBA8 3C1F8019 */ lui $ra, %hi(gPlayerCount) # $ra, 0x8019 -/* 0707AC 8006FBAC 83FFEDF3 */ lb $ra, %lo(gPlayerCount)($ra) -/* 0707B0 8006FBB0 3C018016 */ lui $at, %hi(D_801658BC) # $at, 0x8016 -/* 0707B4 8006FBB4 A02E58BC */ sb $t6, %lo(D_801658BC)($at) -/* 0707B8 8006FBB8 24010001 */ li $at, 1 -/* 0707BC 8006FBBC 13E1000C */ beq $ra, $at, .L8006FBF0 -/* 0707C0 8006FBC0 03E01025 */ move $v0, $ra -/* 0707C4 8006FBC4 24030002 */ li $v1, 2 -/* 0707C8 8006FBC8 1043001E */ beq $v0, $v1, .L8006FC44 -/* 0707CC 8006FBCC 3C0F800E */ lui $t7, %hi(gScreenModeSelection) # 0x800e -/* 0707D0 8006FBD0 24010003 */ li $at, 3 -/* 0707D4 8006FBD4 1041005A */ beq $v0, $at, .L8006FD40 -/* 0707D8 8006FBD8 3C0E800E */ lui $t6, %hi(gModeSelection) # 0x800e -/* 0707DC 8006FBDC 24010004 */ li $at, 4 -/* 0707E0 8006FBE0 10410072 */ beq $v0, $at, .L8006FDAC -/* 0707E4 8006FBE4 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e -/* 0707E8 8006FBE8 10000087 */ b .L8006FE08 -/* 0707EC 8006FBEC 240C0008 */ li $t4, 8 -.L8006FBF0: -/* 0707F0 8006FBF0 3C0F800E */ lui $t7, %hi(gModeSelection) # $t7, 0x800e -/* 0707F4 8006FBF4 8DEFC53C */ lw $t7, %lo(gModeSelection)($t7) -/* 0707F8 8006FBF8 2403000A */ li $v1, 10 -/* 0707FC 8006FBFC 240E0001 */ li $t6, 1 -/* 070800 8006FC00 15E0000A */ bnez $t7, .L8006FC2C -/* 070804 8006FC04 3C018019 */ lui $at, %hi(D_8018D114) # 0x8019 -/* 070808 8006FC08 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 07080C 8006FC0C AC20D114 */ sw $zero, %lo(D_8018D114)($at) -/* 070810 8006FC10 24180096 */ li $t8, 150 -/* 070814 8006FC14 AC980000 */ sw $t8, ($a0) -/* 070818 8006FC18 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 07081C 8006FC1C 241900F0 */ li $t9, 240 -/* 070820 8006FC20 AC39D180 */ sw $t9, %lo(D_8018D180)($at) -/* 070824 8006FC24 10000078 */ b .L8006FE08 -/* 070828 8006FC28 240C0008 */ li $t4, 8 -.L8006FC2C: -/* 07082C 8006FC2C AC2ED114 */ sw $t6, %lo(D_8018D114)($at) -/* 070830 8006FC30 AC830000 */ sw $v1, ($a0) -/* 070834 8006FC34 3C018019 */ lui $at, %hi(D_8018D180) # $at, 0x8019 -/* 070838 8006FC38 AC20D180 */ sw $zero, %lo(D_8018D180)($at) -/* 07083C 8006FC3C 10000072 */ b .L8006FE08 -/* 070840 8006FC40 240C0008 */ li $t4, 8 -.L8006FC44: -/* 070844 8006FC44 8DEFC530 */ lw $t7, %lo(gScreenModeSelection)($t7) # -0x3ad0($t7) -/* 070848 8006FC48 24010001 */ li $at, 1 -/* 07084C 8006FC4C 3C02800E */ lui $v0, %hi(gModeSelection) # 0x800e -/* 070850 8006FC50 15E10029 */ bne $t7, $at, .L8006FCF8 -/* 070854 8006FC54 00000000 */ nop -/* 070858 8006FC58 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 07085C 8006FC5C 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 070860 8006FC60 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 070864 8006FC64 24180096 */ li $t8, 150 -/* 070868 8006FC68 1440000A */ bnez $v0, .L8006FC94 -/* 07086C 8006FC6C 241900F0 */ li $t9, 240 -/* 070870 8006FC70 AC23D114 */ sw $v1, %lo(D_8018D114)($at) -/* 070874 8006FC74 AC980000 */ sw $t8, ($a0) -/* 070878 8006FC78 3C018019 */ lui $at, %hi(D_8018D180) # $at, 0x8019 -/* 07087C 8006FC7C AC39D180 */ sw $t9, %lo(D_8018D180)($at) -/* 070880 8006FC80 3C018019 */ lui $at, %hi(D_8018D2AC) # $at, 0x8019 -/* 070884 8006FC84 240E003C */ li $t6, 60 -/* 070888 8006FC88 AC2ED2AC */ sw $t6, %lo(D_8018D2AC)($at) -/* 07088C 8006FC8C 1000005E */ b .L8006FE08 -/* 070890 8006FC90 240C0008 */ li $t4, 8 -.L8006FC94: -/* 070894 8006FC94 1462000D */ bne $v1, $v0, .L8006FCCC -/* 070898 8006FC98 24190004 */ li $t9, 4 -/* 07089C 8006FC9C 240F0003 */ li $t7, 3 -/* 0708A0 8006FCA0 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 0708A4 8006FCA4 AC2FD114 */ sw $t7, %lo(D_8018D114)($at) -/* 0708A8 8006FCA8 2402001E */ li $v0, 30 -/* 0708AC 8006FCAC AC820000 */ sw $v0, ($a0) -/* 0708B0 8006FCB0 3C018019 */ lui $at, %hi(D_8018D180) # $at, 0x8019 -/* 0708B4 8006FCB4 AC22D180 */ sw $v0, %lo(D_8018D180)($at) -/* 0708B8 8006FCB8 3C018019 */ lui $at, %hi(D_8018D2AC) # $at, 0x8019 -/* 0708BC 8006FCBC 2418003C */ li $t8, 60 -/* 0708C0 8006FCC0 AC38D2AC */ sw $t8, %lo(D_8018D2AC)($at) -/* 0708C4 8006FCC4 10000050 */ b .L8006FE08 -/* 0708C8 8006FCC8 240C0008 */ li $t4, 8 -.L8006FCCC: -/* 0708CC 8006FCCC 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 0708D0 8006FCD0 AC39D114 */ sw $t9, %lo(D_8018D114)($at) -/* 0708D4 8006FCD4 24020028 */ li $v0, 40 -/* 0708D8 8006FCD8 AC820000 */ sw $v0, ($a0) -/* 0708DC 8006FCDC 3C018019 */ lui $at, %hi(D_8018D180) # $at, 0x8019 -/* 0708E0 8006FCE0 AC22D180 */ sw $v0, %lo(D_8018D180)($at) -/* 0708E4 8006FCE4 3C018019 */ lui $at, %hi(D_8018D2AC) # $at, 0x8019 -/* 0708E8 8006FCE8 240E003C */ li $t6, 60 -/* 0708EC 8006FCEC AC2ED2AC */ sw $t6, %lo(D_8018D2AC)($at) -/* 0708F0 8006FCF0 10000045 */ b .L8006FE08 -/* 0708F4 8006FCF4 240C0008 */ li $t4, 8 -.L8006FCF8: -/* 0708F8 8006FCF8 8C42C53C */ lw $v0, %lo(gModeSelection) ($v0) # -0x3ac4($v0) -/* 0708FC 8006FCFC 240F0005 */ li $t7, 5 -/* 070900 8006FD00 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 070904 8006FD04 14400003 */ bnez $v0, .L8006FD14 -/* 070908 8006FD08 240C0008 */ li $t4, 8 -/* 07090C 8006FD0C 1000003E */ b .L8006FE08 -/* 070910 8006FD10 AC2FD114 */ sw $t7, %lo(D_8018D114)($at) -.L8006FD14: -/* 070914 8006FD14 14620006 */ bne $v1, $v0, .L8006FD30 -/* 070918 8006FD18 24190007 */ li $t9, 7 -/* 07091C 8006FD1C 24180006 */ li $t8, 6 -/* 070920 8006FD20 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 070924 8006FD24 AC38D114 */ sw $t8, %lo(D_8018D114)($at) -/* 070928 8006FD28 10000037 */ b .L8006FE08 -/* 07092C 8006FD2C 240C0008 */ li $t4, 8 -.L8006FD30: -/* 070930 8006FD30 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 070934 8006FD34 AC39D114 */ sw $t9, %lo(D_8018D114)($at) -/* 070938 8006FD38 10000033 */ b .L8006FE08 -/* 07093C 8006FD3C 240C0008 */ li $t4, 8 -.L8006FD40: -/* 070940 8006FD40 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) -/* 070944 8006FD44 3C018019 */ lui $at, %hi(D_8018D180) # 0x8019 -/* 070948 8006FD48 240F0064 */ li $t7, 100 -/* 07094C 8006FD4C 146E000D */ bne $v1, $t6, .L8006FD84 -/* 070950 8006FD50 24180096 */ li $t8, 150 -/* 070954 8006FD54 240C0008 */ li $t4, 8 -/* 070958 8006FD58 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 07095C 8006FD5C AC2CD114 */ sw $t4, %lo(D_8018D114)($at) -/* 070960 8006FD60 240F0064 */ li $t7, 100 -/* 070964 8006FD64 AC8F0000 */ sw $t7, ($a0) -/* 070968 8006FD68 3C018019 */ lui $at, %hi(D_8018D180) # $at, 0x8019 -/* 07096C 8006FD6C 24180096 */ li $t8, 150 -/* 070970 8006FD70 AC38D180 */ sw $t8, %lo(D_8018D180)($at) -/* 070974 8006FD74 3C018019 */ lui $at, %hi(D_8018D2AC) # $at, 0x8019 -/* 070978 8006FD78 2419003C */ li $t9, 60 -/* 07097C 8006FD7C 10000022 */ b .L8006FE08 -/* 070980 8006FD80 AC39D2AC */ sw $t9, %lo(D_8018D2AC)($at) -.L8006FD84: -/* 070984 8006FD84 240E0009 */ li $t6, 9 -/* 070988 8006FD88 AC2ED114 */ sw $t6, %lo(D_8018D114)($at) -/* 07098C 8006FD8C AC8F0000 */ sw $t7, ($a0) -/* 070990 8006FD90 3C018019 */ lui $at, %hi(D_8018D180) # $at, 0x8019 -/* 070994 8006FD94 AC38D180 */ sw $t8, %lo(D_8018D180)($at) -/* 070998 8006FD98 3C018019 */ lui $at, %hi(D_8018D2AC) # $at, 0x8019 -/* 07099C 8006FD9C 2419003C */ li $t9, 60 -/* 0709A0 8006FDA0 AC39D2AC */ sw $t9, %lo(D_8018D2AC)($at) -/* 0709A4 8006FDA4 10000018 */ b .L8006FE08 -/* 0709A8 8006FDA8 240C0008 */ li $t4, 8 -.L8006FDAC: -/* 0709AC 8006FDAC 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) # -0x3ac4($t6) -/* 0709B0 8006FDB0 2402001E */ li $v0, 30 -/* 0709B4 8006FDB4 240F000B */ li $t7, 11 -/* 0709B8 8006FDB8 146E000B */ bne $v1, $t6, .L8006FDE8 -/* 0709BC 8006FDBC 240C0008 */ li $t4, 8 -/* 0709C0 8006FDC0 2403000A */ li $v1, 10 -/* 0709C4 8006FDC4 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 0709C8 8006FDC8 AC23D114 */ sw $v1, %lo(D_8018D114)($at) -/* 0709CC 8006FDCC 2402001E */ li $v0, 30 -/* 0709D0 8006FDD0 AC820000 */ sw $v0, ($a0) -/* 0709D4 8006FDD4 3C018019 */ lui $at, %hi(D_8018D180) # $at, 0x8019 -/* 0709D8 8006FDD8 AC22D180 */ sw $v0, %lo(D_8018D180)($at) -/* 0709DC 8006FDDC 3C018019 */ lui $at, %hi(D_8018D2AC) # $at, 0x8019 -/* 0709E0 8006FDE0 10000009 */ b .L8006FE08 -/* 0709E4 8006FDE4 AC23D2AC */ sw $v1, %lo(D_8018D2AC)($at) -.L8006FDE8: -/* 0709E8 8006FDE8 3C018019 */ lui $at, %hi(D_8018D114) # $at, 0x8019 -/* 0709EC 8006FDEC AC2FD114 */ sw $t7, %lo(D_8018D114)($at) -/* 0709F0 8006FDF0 AC820000 */ sw $v0, ($a0) -/* 0709F4 8006FDF4 3C018019 */ lui $at, %hi(D_8018D180) # $at, 0x8019 -/* 0709F8 8006FDF8 AC22D180 */ sw $v0, %lo(D_8018D180)($at) -/* 0709FC 8006FDFC 2403000A */ li $v1, 10 -/* 070A00 8006FE00 3C018019 */ lui $at, %hi(D_8018D2AC) # $at, 0x8019 -/* 070A04 8006FE04 AC23D2AC */ sw $v1, %lo(D_8018D2AC)($at) -.L8006FE08: -/* 070A08 8006FE08 3C18800E */ lui $t8, %hi(gEnableDebugMode) # $t8, 0x800e -/* 070A0C 8006FE0C 9718C520 */ lhu $t8, %lo(gEnableDebugMode)($t8) -/* 070A10 8006FE10 3C0B8019 */ lui $t3, %hi(D_8018D2C8) # $t3, 0x8019 -/* 070A14 8006FE14 256BD2C8 */ addiu $t3, %lo(D_8018D2C8) # addiu $t3, $t3, -0x2d38 -/* 070A18 8006FE18 17000005 */ bnez $t8, .L8006FE30 -/* 070A1C 8006FE1C 2409FFFF */ li $t1, -1 -/* 070A20 8006FE20 3C018016 */ lui $at, %hi(D_8016576A) # $at, 0x8016 -/* 070A24 8006FE24 A020576A */ sb $zero, %lo(D_8016576A)($at) -/* 070A28 8006FE28 3C018016 */ lui $at, %hi(D_8016579C) # $at, 0x8016 -/* 070A2C 8006FE2C A020579C */ sb $zero, %lo(D_8016579C)($at) -.L8006FE30: -/* 070A30 8006FE30 1BE00015 */ blez $ra, .L8006FE88 -/* 070A34 8006FE34 00002025 */ move $a0, $zero -/* 070A38 8006FE38 3C198019 */ lui $t9, %hi(D_8018CFB4) # 0x8019 -/* 070A3C 8006FE3C 2724CFB4 */ addiu $a0, $t9, %lo(D_8018CFB4) # -0x304c -/* 070A40 8006FE40 3C038019 */ lui $v1, %hi(D_8018CFBC) # $v1, 0x8019 -/* 070A44 8006FE44 3C058019 */ lui $a1, %hi(D_8018CFAC) # $a1, 0x8019 -/* 070A48 8006FE48 3C068019 */ lui $a2, %hi(D_8018CFC4) # $a2, 0x8019 -/* 070A4C 8006FE4C 24C6CFC4 */ addiu $a2, %lo(D_8018CFC4) # addiu $a2, $a2, -0x303c -/* 070A50 8006FE50 24A5CFAC */ addiu $a1, %lo(D_8018CFAC) # addiu $a1, $a1, -0x3054 -/* 070A54 8006FE54 2463CFBC */ addiu $v1, %lo(D_8018CFBC) # addiu $v1, $v1, -0x3044 -/* 070A58 8006FE58 03E43821 */ addu $a3, $ra, $a0 -.L8006FE5C: -/* 070A5C 8006FE5C 24840001 */ addiu $a0, $a0, 1 -/* 070A60 8006FE60 0087082B */ sltu $at, $a0, $a3 -/* 070A64 8006FE64 24630001 */ addiu $v1, $v1, 1 -/* 070A68 8006FE68 24A50001 */ addiu $a1, $a1, 1 -/* 070A6C 8006FE6C 24C60001 */ addiu $a2, $a2, 1 -/* 070A70 8006FE70 A060FFFF */ sb $zero, -1($v1) -/* 070A74 8006FE74 A0A0FFFF */ sb $zero, -1($a1) -/* 070A78 8006FE78 A0C0FFFF */ sb $zero, -1($a2) -/* 070A7C 8006FE7C 1420FFF7 */ bnez $at, .L8006FE5C -/* 070A80 8006FE80 A080FFFF */ sb $zero, -1($a0) -/* 070A84 8006FE84 00002025 */ move $a0, $zero -.L8006FE88: -/* 070A88 8006FE88 240E0001 */ li $t6, 1 -/* 070A8C 8006FE8C 3C018019 */ lui $at, %hi(D_8018D204) # $at, 0x8019 -/* 070A90 8006FE90 AC2ED204 */ sw $t6, %lo(D_8018D204)($at) -/* 070A94 8006FE94 3C018019 */ lui $at, %hi(D_8018D1FC) # $at, 0x8019 -/* 070A98 8006FE98 AC20D1FC */ sw $zero, %lo(D_8018D1FC)($at) -/* 070A9C 8006FE9C 3C018019 */ lui $at, %hi(D_8018D224) # $at, 0x8019 -/* 070AA0 8006FEA0 3C0D8019 */ lui $t5, %hi(D_8018D1F8) # $t5, 0x8019 -/* 070AA4 8006FEA4 AC20D224 */ sw $zero, %lo(D_8018D224)($at) -/* 070AA8 8006FEA8 25ADD1F8 */ addiu $t5, %lo(D_8018D1F8) # addiu $t5, $t5, -0x2e08 -/* 070AAC 8006FEAC ADA00000 */ sw $zero, ($t5) -/* 070AB0 8006FEB0 3C018019 */ lui $at, %hi(D_8018D1F0) # $at, 0x8019 -/* 070AB4 8006FEB4 AC20D1F0 */ sw $zero, %lo(D_8018D1F0)($at) -/* 070AB8 8006FEB8 3C018019 */ lui $at, %hi(D_8018D228) # $at, 0x8019 -/* 070ABC 8006FEBC 241800FF */ li $t8, 255 -/* 070AC0 8006FEC0 3C1F8016 */ lui $ra, %hi(D_80165628) # $ra, 0x8016 -/* 070AC4 8006FEC4 A038D228 */ sb $t8, %lo(D_8018D228)($at) -/* 070AC8 8006FEC8 27FF5628 */ addiu $ra, %lo(D_80165628) # addiu $ra, $ra, 0x5628 -/* 070ACC 8006FECC AFE00000 */ sw $zero, ($ra) -/* 070AD0 8006FED0 3C018016 */ lui $at, %hi(D_80165618) # $at, 0x8016 -/* 070AD4 8006FED4 AC205618 */ sw $zero, %lo(D_80165618)($at) -/* 070AD8 8006FED8 3C0E8016 */ lui $t6, %hi(D_80165618) # $t6, 0x8016 -/* 070ADC 8006FEDC 8DCE5618 */ lw $t6, %lo(D_80165618)($t6) -/* 070AE0 8006FEE0 3C018016 */ lui $at, %hi(D_80165608) # $at, 0x8016 -/* 070AE4 8006FEE4 3C0F8016 */ lui $t7, %hi(D_801657B2) # $t7, 0x8016 -/* 070AE8 8006FEE8 AC2E5608 */ sw $t6, %lo(D_80165608)($at) -/* 070AEC 8006FEEC 3C018016 */ lui $at, %hi(D_801655F8) # $at, 0x8016 -/* 070AF0 8006FEF0 AC2E55F8 */ sw $t6, %lo(D_801655F8)($at) -/* 070AF4 8006FEF4 3C018016 */ lui $at, %hi(D_801655E8) # $at, 0x8016 -/* 070AF8 8006FEF8 AC2E55E8 */ sw $t6, %lo(D_801655E8)($at) -/* 070AFC 8006FEFC 3C018016 */ lui $at, %hi(D_801655D8) # $at, 0x8016 -/* 070B00 8006FF00 AC2E55D8 */ sw $t6, %lo(D_801655D8)($at) -/* 070B04 8006FF04 3C018019 */ lui $at, %hi(D_8018D160) # $at, 0x8019 -/* 070B08 8006FF08 AC20D160 */ sw $zero, %lo(D_8018D160)($at) -/* 070B0C 8006FF0C 3C018019 */ lui $at, %hi(D_8018D1DC) # $at, 0x8019 -/* 070B10 8006FF10 AC20D1DC */ sw $zero, %lo(D_8018D1DC)($at) -/* 070B14 8006FF14 3C018019 */ lui $at, %hi(D_8018D1C4) # $at, 0x8019 -/* 070B18 8006FF18 AC20D1C4 */ sw $zero, %lo(D_8018D1C4)($at) -/* 070B1C 8006FF1C 3C018019 */ lui $at, %hi(D_8018D1B4) # $at, 0x8019 -/* 070B20 8006FF20 AC20D1B4 */ sw $zero, %lo(D_8018D1B4)($at) -/* 070B24 8006FF24 3C018019 */ lui $at, %hi(D_8018D1A0) # $at, 0x8019 -/* 070B28 8006FF28 AC20D1A0 */ sw $zero, %lo(D_8018D1A0)($at) -/* 070B2C 8006FF2C 3C018019 */ lui $at, %hi(D_8018D168) # $at, 0x8019 -/* 070B30 8006FF30 AC20D168 */ sw $zero, %lo(D_8018D168)($at) -/* 070B34 8006FF34 3C018016 */ lui $at, %hi(D_801656F0) # $at, 0x8016 -/* 070B38 8006FF38 A42056F0 */ sh $zero, %lo(D_801656F0)($at) -/* 070B3C 8006FF3C 3C018016 */ lui $at, %hi(D_801657B2) # $at, 0x8016 -/* 070B40 8006FF40 A02057B2 */ sb $zero, %lo(D_801657B2)($at) -/* 070B44 8006FF44 81EF57B2 */ lb $t7, %lo(D_801657B2)($t7) -/* 070B48 8006FF48 3C018016 */ lui $at, %hi(D_801657D8) # $at, 0x8016 -/* 070B4C 8006FF4C 3C188016 */ lui $t8, %hi(D_801657D8) # $t8, 0x8016 -/* 070B50 8006FF50 A02F57D8 */ sb $t7, %lo(D_801657D8)($at) -/* 070B54 8006FF54 831857D8 */ lb $t8, %lo(D_801657D8)($t8) -/* 070B58 8006FF58 3C018019 */ lui $at, %hi(D_8018D214) # $at, 0x8019 -/* 070B5C 8006FF5C 3C198019 */ lui $t9, %hi(D_8018D214) # $t9, 0x8019 -/* 070B60 8006FF60 AC38D214 */ sw $t8, %lo(D_8018D214)($at) -/* 070B64 8006FF64 8F39D214 */ lw $t9, %lo(D_8018D214)($t9) -/* 070B68 8006FF68 3C018016 */ lui $at, %hi(gHUDDisable) # $at, 0x8016 -/* 070B6C 8006FF6C 3C0E8016 */ lui $t6, %hi(gHUDDisable) # $t6, 0x8016 -/* 070B70 8006FF70 A03957B0 */ sb $t9, %lo(gHUDDisable)($at) -/* 070B74 8006FF74 81CE57B0 */ lb $t6, %lo(gHUDDisable)($t6) -/* 070B78 8006FF78 3C018016 */ lui $at, %hi(D_801657AE) # $at, 0x8016 -/* 070B7C 8006FF7C 3C0F8019 */ lui $t7, %hi(D_8018D2F8) # $t7, 0x8019 -/* 070B80 8006FF80 A02E57AE */ sb $t6, %lo(D_801657AE)($at) -/* 070B84 8006FF84 3C018019 */ lui $at, %hi(D_8018D20C) # $at, 0x8019 -/* 070B88 8006FF88 AC20D20C */ sw $zero, %lo(D_8018D20C)($at) -/* 070B8C 8006FF8C 3C018019 */ lui $at, %hi(D_8018D2F8) # $at, 0x8019 -/* 070B90 8006FF90 A420D2F8 */ sh $zero, %lo(D_8018D2F8)($at) -/* 070B94 8006FF94 85EFD2F8 */ lh $t7, %lo(D_8018D2F8)($t7) -/* 070B98 8006FF98 3C018019 */ lui $at, %hi(D_8018D2F0) # $at, 0x8019 -/* 070B9C 8006FF9C 24180003 */ li $t8, 3 -/* 070BA0 8006FFA0 A42FD2F0 */ sh $t7, %lo(D_8018D2F0)($at) -/* 070BA4 8006FFA4 3C018019 */ lui $at, %hi(D_8018D320) # $at, 0x8019 -/* 070BA8 8006FFA8 AC38D320 */ sw $t8, %lo(D_8018D320)($at) -/* 070BAC 8006FFAC 3C018019 */ lui $at, %hi(D_8018D2AC) # $at, 0x8019 -/* 070BB0 8006FFB0 AC20D2AC */ sw $zero, %lo(D_8018D2AC)($at) -/* 070BB4 8006FFB4 3C018019 */ lui $at, %hi(D_8018D2BC) # $at, 0x8019 -/* 070BB8 8006FFB8 AC20D2BC */ sw $zero, %lo(D_8018D2BC)($at) -/* 070BBC 8006FFBC 3C198019 */ lui $t9, %hi(D_8018D2BC) # $t9, 0x8019 -/* 070BC0 8006FFC0 8F39D2BC */ lw $t9, %lo(D_8018D2BC)($t9) -/* 070BC4 8006FFC4 3C018019 */ lui $at, %hi(D_8018D2B4) # $at, 0x8019 -/* 070BC8 8006FFC8 3C0E8019 */ lui $t6, %hi(D_8018D2B4) # $t6, 0x8019 -/* 070BCC 8006FFCC AC39D2B4 */ sw $t9, %lo(D_8018D2B4)($at) -/* 070BD0 8006FFD0 8DCED2B4 */ lw $t6, %lo(D_8018D2B4)($t6) -/* 070BD4 8006FFD4 3C018019 */ lui $at, %hi(D_8018D2A4) # $at, 0x8019 -/* 070BD8 8006FFD8 3C0F8019 */ lui $t7, %hi(D_8018D18C) # $t7, 0x8019 -/* 070BDC 8006FFDC AC2ED2A4 */ sw $t6, %lo(D_8018D2A4)($at) -/* 070BE0 8006FFE0 AD600000 */ sw $zero, ($t3) -/* 070BE4 8006FFE4 AD600004 */ sw $zero, 4($t3) -/* 070BE8 8006FFE8 AD600008 */ sw $zero, 8($t3) -/* 070BEC 8006FFEC AD60000C */ sw $zero, 0xc($t3) -/* 070BF0 8006FFF0 3C018016 */ lui $at, %hi(D_8016581C) # $at, 0x8016 -/* 070BF4 8006FFF4 AC20581C */ sw $zero, %lo(D_8016581C)($at) -/* 070BF8 8006FFF8 3C018016 */ lui $at, %hi(D_8016580C) # $at, 0x8016 -/* 070BFC 8006FFFC AC20580C */ sw $zero, %lo(D_8016580C)($at) -/* 070C00 80070000 3C018016 */ lui $at, %hi(D_80165814) # $at, 0x8016 -/* 070C04 80070004 AC205814 */ sw $zero, %lo(D_80165814)($at) -/* 070C08 80070008 3C018016 */ lui $at, %hi(D_80165804) # $at, 0x8016 -/* 070C0C 8007000C AC205804 */ sw $zero, %lo(D_80165804)($at) -/* 070C10 80070010 3C018016 */ lui $at, %hi(D_801657FC) # $at, 0x8016 -/* 070C14 80070014 AC2057FC */ sw $zero, %lo(D_801657FC)($at) -/* 070C18 80070018 3C018019 */ lui $at, %hi(D_8018D18C) # $at, 0x8019 -/* 070C1C 8007001C A429D18C */ sh $t1, %lo(D_8018D18C)($at) -/* 070C20 80070020 85EFD18C */ lh $t7, %lo(D_8018D18C)($t7) -/* 070C24 80070024 3C018019 */ lui $at, %hi(D_8018D184) # $at, 0x8019 -/* 070C28 80070028 3C02800E */ lui $v0, %hi(gPlayerOne) # $v0, 0x800e -/* 070C2C 8007002C A42FD184 */ sh $t7, %lo(D_8018D184)($at) -/* 070C30 80070030 3C018019 */ lui $at, %hi(D_8018D16C) # $at, 0x8019 -/* 070C34 80070034 A42FD16C */ sh $t7, %lo(D_8018D16C)($at) -/* 070C38 80070038 3C018019 */ lui $at, %hi(D_8018D17C) # $at, 0x8019 -/* 070C3C 8007003C A42FD17C */ sh $t7, %lo(D_8018D17C)($at) -/* 070C40 80070040 3C018019 */ lui $at, %hi(D_8018D174) # $at, 0x8019 -/* 070C44 80070044 A42FD174 */ sh $t7, %lo(D_8018D174)($at) -/* 070C48 80070048 3C01C200 */ li $at, 0xC2000000 # -32.000000 -/* 070C4C 8007004C 3C058019 */ lui $a1, %hi(D_8018D050) # $a1, 0x8019 -/* 070C50 80070050 3C068019 */ lui $a2, %hi(D_8018D0F0) # $a2, 0x8019 -/* 070C54 80070054 3C038019 */ lui $v1, %hi(D_8018CE10) # $v1, 0x8019 -/* 070C58 80070058 3C078019 */ lui $a3, %hi(D_8018CF50) # $a3, 0x8019 -/* 070C5C 8007005C 3C088019 */ lui $t0, %hi(D_8018CF28) # $t0, 0x8019 -/* 070C60 80070060 44811000 */ mtc1 $at, $f2 -/* 070C64 80070064 44800000 */ mtc1 $zero, $f0 -/* 070C68 80070068 8C42C4DC */ lw $v0, %lo(gPlayerOne)($v0) -/* 070C6C 8007006C 2508CF28 */ addiu $t0, %lo(D_8018CF28) # addiu $t0, $t0, -0x30d8 -/* 070C70 80070070 24E7CF50 */ addiu $a3, %lo(D_8018CF50) # addiu $a3, $a3, -0x30b0 -/* 070C74 80070074 2463CE10 */ addiu $v1, %lo(D_8018CE10) # addiu $v1, $v1, -0x31f0 -/* 070C78 80070078 24C6D0F0 */ addiu $a2, %lo(D_8018D0F0) # addiu $a2, $a2, -0x2f10 -/* 070C7C 8007007C 24A5D050 */ addiu $a1, %lo(D_8018D050) # addiu $a1, $a1, -0x2fb0 -.L80070080: -/* 070C80 80070080 E4A20000 */ swc1 $f2, ($a1) -/* 070C84 80070084 E4C20000 */ swc1 $f2, ($a2) -/* 070C88 80070088 E460000C */ swc1 $f0, 0xc($v1) -/* 070C8C 8007008C E4600008 */ swc1 $f0, 8($v1) -/* 070C90 80070090 E4600004 */ swc1 $f0, 4($v1) -/* 070C94 80070094 A4E40000 */ sh $a0, ($a3) -/* 070C98 80070098 AD020000 */ sw $v0, ($t0) -/* 070C9C 8007009C A4490040 */ sh $t1, 0x40($v0) -/* 070CA0 800700A0 24980001 */ addiu $t8, $a0, 1 -/* 070CA4 800700A4 24420DD8 */ addiu $v0, $v0, 0xdd8 -/* 070CA8 800700A8 AD020004 */ sw $v0, 4($t0) -/* 070CAC 800700AC A4F80002 */ sh $t8, 2($a3) -/* 070CB0 800700B0 E4600024 */ swc1 $f0, 0x24($v1) -/* 070CB4 800700B4 E4600028 */ swc1 $f0, 0x28($v1) -/* 070CB8 800700B8 E460002C */ swc1 $f0, 0x2c($v1) -/* 070CBC 800700BC E4C20004 */ swc1 $f2, 4($a2) -/* 070CC0 800700C0 E4A20004 */ swc1 $f2, 4($a1) -/* 070CC4 800700C4 A4490040 */ sh $t1, 0x40($v0) -/* 070CC8 800700C8 24420DD8 */ addiu $v0, $v0, 0xdd8 -/* 070CCC 800700CC 24990002 */ addiu $t9, $a0, 2 -/* 070CD0 800700D0 A4F90004 */ sh $t9, 4($a3) -/* 070CD4 800700D4 AD020008 */ sw $v0, 8($t0) -/* 070CD8 800700D8 E4600044 */ swc1 $f0, 0x44($v1) -/* 070CDC 800700DC E4600048 */ swc1 $f0, 0x48($v1) -/* 070CE0 800700E0 E460004C */ swc1 $f0, 0x4c($v1) -/* 070CE4 800700E4 E4C20008 */ swc1 $f2, 8($a2) -/* 070CE8 800700E8 E4A20008 */ swc1 $f2, 8($a1) -/* 070CEC 800700EC A4490040 */ sh $t1, 0x40($v0) -/* 070CF0 800700F0 248E0003 */ addiu $t6, $a0, 3 -/* 070CF4 800700F4 24420DD8 */ addiu $v0, $v0, 0xdd8 -/* 070CF8 800700F8 AD02000C */ sw $v0, 0xc($t0) -/* 070CFC 800700FC A4EE0006 */ sh $t6, 6($a3) -/* 070D00 80070100 24840004 */ addiu $a0, $a0, 4 -/* 070D04 80070104 E4600064 */ swc1 $f0, 0x64($v1) -/* 070D08 80070108 E4600068 */ swc1 $f0, 0x68($v1) -/* 070D0C 8007010C E460006C */ swc1 $f0, 0x6c($v1) -/* 070D10 80070110 E4C2000C */ swc1 $f2, 0xc($a2) -/* 070D14 80070114 E4A2000C */ swc1 $f2, 0xc($a1) -/* 070D18 80070118 A4490040 */ sh $t1, 0x40($v0) -/* 070D1C 8007011C 24420DD8 */ addiu $v0, $v0, 0xdd8 -/* 070D20 80070120 24A50010 */ addiu $a1, $a1, 0x10 -/* 070D24 80070124 24C60010 */ addiu $a2, $a2, 0x10 -/* 070D28 80070128 24630080 */ addiu $v1, $v1, 0x80 -/* 070D2C 8007012C 24E70008 */ addiu $a3, $a3, 8 -/* 070D30 80070130 148CFFD3 */ bne $a0, $t4, .L80070080 -/* 070D34 80070134 25080010 */ addiu $t0, $t0, 0x10 -/* 070D38 80070138 8FBF0014 */ lw $ra, 0x14($sp) -/* 070D3C 8007013C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 070D40 80070140 03E00008 */ jr $ra -/* 070D44 80070144 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800AFC54.s b/asm/non_matchings/code_800AF9B0/func_800AFC54.s deleted file mode 100644 index a3598c6db..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800AFC54.s +++ /dev/null @@ -1,117 +0,0 @@ -.section .late_rodata -glabel D_800F2B38 -.double 0.001 - -glabel D_800F2B40 -.float 0.001 - -.section .text -glabel func_800AFC54 -/* 0B0854 800AFC54 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0B0858 800AFC58 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B085C 800AFC5C 00057100 */ sll $t6, $a1, 4 -/* 0B0860 800AFC60 00067900 */ sll $t7, $a2, 4 -/* 0B0864 800AFC64 0007C100 */ sll $t8, $a3, 4 -/* 0B0868 800AFC68 01C41021 */ addu $v0, $t6, $a0 -/* 0B086C 800AFC6C 01E41821 */ addu $v1, $t7, $a0 -/* 0B0870 800AFC70 03044021 */ addu $t0, $t8, $a0 -/* 0B0874 800AFC74 85190000 */ lh $t9, ($t0) -/* 0B0878 800AFC78 844C0000 */ lh $t4, ($v0) -/* 0B087C 800AFC7C 844D0002 */ lh $t5, 2($v0) -/* 0B0880 800AFC80 845F0004 */ lh $ra, 4($v0) -/* 0B0884 800AFC84 84690000 */ lh $t1, ($v1) -/* 0B0888 800AFC88 846A0002 */ lh $t2, 2($v1) -/* 0B088C 800AFC8C 846B0004 */ lh $t3, 4($v1) -/* 0B0890 800AFC90 AFB9003C */ sw $t9, 0x3c($sp) -/* 0B0894 800AFC94 850E0002 */ lh $t6, 2($t0) -/* 0B0898 800AFC98 014D1023 */ subu $v0, $t2, $t5 -/* 0B089C 800AFC9C 017F2023 */ subu $a0, $t3, $ra -/* 0B08A0 800AFCA0 AFAE0038 */ sw $t6, 0x38($sp) -/* 0B08A4 800AFCA4 850F0004 */ lh $t7, 4($t0) -/* 0B08A8 800AFCA8 01CA2823 */ subu $a1, $t6, $t2 -/* 0B08AC 800AFCAC 8FB9003C */ lw $t9, 0x3c($sp) -/* 0B08B0 800AFCB0 01EB1823 */ subu $v1, $t7, $t3 -/* 0B08B4 800AFCB4 00430019 */ multu $v0, $v1 -/* 0B08B8 800AFCB8 AFAF0034 */ sw $t7, 0x34($sp) -/* 0B08BC 800AFCBC 03293023 */ subu $a2, $t9, $t1 -/* 0B08C0 800AFCC0 012C3823 */ subu $a3, $t1, $t4 -/* 0B08C4 800AFCC4 00007012 */ mflo $t6 -/* 0B08C8 800AFCC8 00000000 */ nop -/* 0B08CC 800AFCCC 00000000 */ nop -/* 0B08D0 800AFCD0 00850019 */ multu $a0, $a1 -/* 0B08D4 800AFCD4 00007812 */ mflo $t7 -/* 0B08D8 800AFCD8 01CFC023 */ subu $t8, $t6, $t7 -/* 0B08DC 800AFCDC 44982000 */ mtc1 $t8, $f4 -/* 0B08E0 800AFCE0 00860019 */ multu $a0, $a2 -/* 0B08E4 800AFCE4 468023A0 */ cvt.s.w $f14, $f4 -/* 0B08E8 800AFCE8 460E7282 */ mul.s $f10, $f14, $f14 -/* 0B08EC 800AFCEC E7AE0020 */ swc1 $f14, 0x20($sp) -/* 0B08F0 800AFCF0 00007012 */ mflo $t6 -/* 0B08F4 800AFCF4 00000000 */ nop -/* 0B08F8 800AFCF8 00000000 */ nop -/* 0B08FC 800AFCFC 00E30019 */ multu $a3, $v1 -/* 0B0900 800AFD00 00007812 */ mflo $t7 -/* 0B0904 800AFD04 01CFC023 */ subu $t8, $t6, $t7 -/* 0B0908 800AFD08 44983000 */ mtc1 $t8, $f6 -/* 0B090C 800AFD0C 00E50019 */ multu $a3, $a1 -/* 0B0910 800AFD10 46803420 */ cvt.s.w $f16, $f6 -/* 0B0914 800AFD14 46108102 */ mul.s $f4, $f16, $f16 -/* 0B0918 800AFD18 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 0B091C 800AFD1C 0000C812 */ mflo $t9 -/* 0B0920 800AFD20 00000000 */ nop -/* 0B0924 800AFD24 00000000 */ nop -/* 0B0928 800AFD28 00460019 */ multu $v0, $a2 -/* 0B092C 800AFD2C 46045180 */ add.s $f6, $f10, $f4 -/* 0B0930 800AFD30 00007012 */ mflo $t6 -/* 0B0934 800AFD34 032E7823 */ subu $t7, $t9, $t6 -/* 0B0938 800AFD38 448F4000 */ mtc1 $t7, $f8 -/* 0B093C 800AFD3C 00000000 */ nop -/* 0B0940 800AFD40 468044A0 */ cvt.s.w $f18, $f8 -/* 0B0944 800AFD44 46129202 */ mul.s $f8, $f18, $f18 -/* 0B0948 800AFD48 E7B20018 */ swc1 $f18, 0x18($sp) -/* 0B094C 800AFD4C 0C033850 */ jal sqrtf -/* 0B0950 800AFD50 46083300 */ add.s $f12, $f6, $f8 -/* 0B0954 800AFD54 3C01800F */ lui $at, %hi(D_800F2B38) -/* 0B0958 800AFD58 D4242B38 */ ldc1 $f4, %lo(D_800F2B38)($at) -/* 0B095C 800AFD5C 460002A1 */ cvt.d.s $f10, $f0 -/* 0B0960 800AFD60 44803000 */ mtc1 $zero, $f6 -/* 0B0964 800AFD64 4624503C */ c.lt.d $f10, $f4 -/* 0B0968 800AFD68 C7AE0020 */ lwc1 $f14, 0x20($sp) -/* 0B096C 800AFD6C C7B0001C */ lwc1 $f16, 0x1c($sp) -/* 0B0970 800AFD70 C7B20018 */ lwc1 $f18, 0x18($sp) -/* 0B0974 800AFD74 45000003 */ bc1f .L800AFD84 -/* 0B0978 800AFD78 46000086 */ mov.s $f2, $f0 -/* 0B097C 800AFD7C 3C01800F */ lui $at, %hi(D_800F2B40) # $at, 0x800f -/* 0B0980 800AFD80 C4222B40 */ lwc1 $f2, %lo(D_800F2B40)($at) -.L800AFD84: -/* 0B0984 800AFD84 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0B0988 800AFD88 44810000 */ mtc1 $at, $f0 -/* 0B098C 800AFD8C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0B0990 800AFD90 44813800 */ mtc1 $at, $f7 -/* 0B0994 800AFD94 46001221 */ cvt.d.s $f8, $f2 -/* 0B0998 800AFD98 8FA20068 */ lw $v0, 0x68($sp) -/* 0B099C 800AFD9C 46283283 */ div.d $f10, $f6, $f8 -/* 0B09A0 800AFDA0 462050A0 */ cvt.s.d $f2, $f10 -/* 0B09A4 800AFDA4 46027102 */ mul.s $f4, $f14, $f2 -/* 0B09A8 800AFDA8 00000000 */ nop -/* 0B09AC 800AFDAC 46002182 */ mul.s $f6, $f4, $f0 -/* 0B09B0 800AFDB0 00000000 */ nop -/* 0B09B4 800AFDB4 46028282 */ mul.s $f10, $f16, $f2 -/* 0B09B8 800AFDB8 4600320D */ trunc.w.s $f8, $f6 -/* 0B09BC 800AFDBC 46005102 */ mul.s $f4, $f10, $f0 -/* 0B09C0 800AFDC0 44194000 */ mfc1 $t9, $f8 -/* 0B09C4 800AFDC4 46029202 */ mul.s $f8, $f18, $f2 -/* 0B09C8 800AFDC8 A4590000 */ sh $t9, ($v0) -/* 0B09CC 800AFDCC 4600218D */ trunc.w.s $f6, $f4 -/* 0B09D0 800AFDD0 46004282 */ mul.s $f10, $f8, $f0 -/* 0B09D4 800AFDD4 440F3000 */ mfc1 $t7, $f6 -/* 0B09D8 800AFDD8 00000000 */ nop -/* 0B09DC 800AFDDC A44F0002 */ sh $t7, 2($v0) -/* 0B09E0 800AFDE0 4600510D */ trunc.w.s $f4, $f10 -/* 0B09E4 800AFDE4 44192000 */ mfc1 $t9, $f4 -/* 0B09E8 800AFDE8 00000000 */ nop -/* 0B09EC 800AFDEC A4590004 */ sh $t9, 4($v0) -/* 0B09F0 800AFDF0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B09F4 800AFDF4 27BD0058 */ addiu $sp, $sp, 0x58 -/* 0B09F8 800AFDF8 03E00008 */ jr $ra -/* 0B09FC 800AFDFC 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B0004.s b/asm/non_matchings/code_800AF9B0/func_800B0004.s deleted file mode 100644 index 0479386a6..000000000 --- a/asm/non_matchings/code_800AF9B0/func_800B0004.s +++ /dev/null @@ -1,222 +0,0 @@ -.section .late_rodata -glabel D_800F2B44 -.float 0.18 - -.section .text -glabel func_800B0004 -/* 0B0C04 800B0004 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0B0C08 800B0008 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 0B0C0C 800B000C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 0B0C10 800B0010 8C640000 */ lw $a0, ($v1) -/* 0B0C14 800B0014 AFBF005C */ sw $ra, 0x5c($sp) -/* 0B0C18 800B0018 AFBE0058 */ sw $fp, 0x58($sp) -/* 0B0C1C 800B001C 248E0008 */ addiu $t6, $a0, 8 -/* 0B0C20 800B0020 AFB70054 */ sw $s7, 0x54($sp) -/* 0B0C24 800B0024 AFB60050 */ sw $s6, 0x50($sp) -/* 0B0C28 800B0028 AFB5004C */ sw $s5, 0x4c($sp) -/* 0B0C2C 800B002C AFB40048 */ sw $s4, 0x48($sp) -/* 0B0C30 800B0030 AFB30044 */ sw $s3, 0x44($sp) -/* 0B0C34 800B0034 AFB20040 */ sw $s2, 0x40($sp) -/* 0B0C38 800B0038 AFB1003C */ sw $s1, 0x3c($sp) -/* 0B0C3C 800B003C AFB00038 */ sw $s0, 0x38($sp) -/* 0B0C40 800B0040 F7B60030 */ sdc1 $f22, 0x30($sp) -/* 0B0C44 800B0044 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0B0C48 800B0048 AC6E0000 */ sw $t6, ($v1) -/* 0B0C4C 800B004C 3C0F0386 */ lui $t7, (0x03860010 >> 16) # lui $t7, 0x386 -/* 0B0C50 800B0050 3C18000F */ lui $t8, %hi(D_800E8688-0x80000000) # $t8, 0xf -/* 0B0C54 800B0054 27188688 */ addiu $t8, %lo(D_800E8688-0x80000000) # addiu $t8, $t8, -0x7978 -/* 0B0C58 800B0058 35EF0010 */ ori $t7, (0x03860010 & 0xFFFF) # ori $t7, $t7, 0x10 -/* 0B0C5C 800B005C AC8F0000 */ sw $t7, ($a0) -/* 0B0C60 800B0060 AC980004 */ sw $t8, 4($a0) -/* 0B0C64 800B0064 8C650000 */ lw $a1, ($v1) -/* 0B0C68 800B0068 3C0C0388 */ lui $t4, (0x03880010 >> 16) # lui $t4, 0x388 -/* 0B0C6C 800B006C 3C0D000F */ lui $t5, %hi(D_800E8680-0x80000000) # $t5, 0xf -/* 0B0C70 800B0070 24B90008 */ addiu $t9, $a1, 8 -/* 0B0C74 800B0074 AC790000 */ sw $t9, ($v1) -/* 0B0C78 800B0078 25AD8680 */ addiu $t5, %lo(D_800E8680-0x80000000) # addiu $t5, $t5, -0x7980 -/* 0B0C7C 800B007C 358C0010 */ ori $t4, (0x03880010 & 0xFFFF) # ori $t4, $t4, 0x10 -/* 0B0C80 800B0080 ACAC0000 */ sw $t4, ($a1) -/* 0B0C84 800B0084 ACAD0004 */ sw $t5, 4($a1) -/* 0B0C88 800B0088 8C660000 */ lw $a2, ($v1) -/* 0B0C8C 800B008C 3C188000 */ lui $t8, (0x80000040 >> 16) # lui $t8, 0x8000 -/* 0B0C90 800B0090 3C0FBC00 */ lui $t7, (0xBC000002 >> 16) # lui $t7, 0xbc00 -/* 0B0C94 800B0094 24CE0008 */ addiu $t6, $a2, 8 -/* 0B0C98 800B0098 AC6E0000 */ sw $t6, ($v1) -/* 0B0C9C 800B009C 35EF0002 */ ori $t7, (0xBC000002 & 0xFFFF) # ori $t7, $t7, 2 -/* 0B0CA0 800B00A0 37180040 */ ori $t8, (0x80000040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 0B0CA4 800B00A4 ACD80004 */ sw $t8, 4($a2) -/* 0B0CA8 800B00A8 ACCF0000 */ sw $t7, ($a2) -/* 0B0CAC 800B00AC 8C670000 */ lw $a3, ($v1) -/* 0B0CB0 800B00B0 3C0BB700 */ lui $t3, 0xb700 -/* 0B0CB4 800B00B4 240C0204 */ li $t4, 516 -/* 0B0CB8 800B00B8 24F90008 */ addiu $t9, $a3, 8 -/* 0B0CBC 800B00BC AC790000 */ sw $t9, ($v1) -/* 0B0CC0 800B00C0 ACEC0004 */ sw $t4, 4($a3) -/* 0B0CC4 800B00C4 ACEB0000 */ sw $t3, ($a3) -/* 0B0CC8 800B00C8 8C680000 */ lw $t0, ($v1) -/* 0B0CCC 800B00CC 3C0EFC32 */ lui $t6, (0xFC327E64 >> 16) # lui $t6, 0xfc32 -/* 0B0CD0 800B00D0 35CE7E64 */ ori $t6, (0xFC327E64 & 0xFFFF) # ori $t6, $t6, 0x7e64 -/* 0B0CD4 800B00D4 250D0008 */ addiu $t5, $t0, 8 -/* 0B0CD8 800B00D8 AC6D0000 */ sw $t5, ($v1) -/* 0B0CDC 800B00DC 240FF9FC */ li $t7, -1540 -/* 0B0CE0 800B00E0 AD0F0004 */ sw $t7, 4($t0) -/* 0B0CE4 800B00E4 AD0E0000 */ sw $t6, ($t0) -/* 0B0CE8 800B00E8 8C690000 */ lw $t1, ($v1) -/* 0B0CEC 800B00EC 240C2000 */ li $t4, 8192 -/* 0B0CF0 800B00F0 3C19B600 */ lui $t9, 0xb600 -/* 0B0CF4 800B00F4 25380008 */ addiu $t8, $t1, 8 -/* 0B0CF8 800B00F8 AC780000 */ sw $t8, ($v1) -/* 0B0CFC 800B00FC AD2C0004 */ sw $t4, 4($t1) -/* 0B0D00 800B0100 AD390000 */ sw $t9, ($t1) -/* 0B0D04 800B0104 8C620000 */ lw $v0, ($v1) -/* 0B0D08 800B0108 3C0E0002 */ lui $t6, 2 -/* 0B0D0C 800B010C 3C0F8019 */ lui $t7, %hi(D_8018EDB4) # $t7, 0x8019 -/* 0B0D10 800B0110 244D0008 */ addiu $t5, $v0, 8 -/* 0B0D14 800B0114 AC6D0000 */ sw $t5, ($v1) -/* 0B0D18 800B0118 AC4E0004 */ sw $t6, 4($v0) -/* 0B0D1C 800B011C AC4B0000 */ sw $t3, ($v0) -/* 0B0D20 800B0120 85EFEDB4 */ lh $t7, %lo(D_8018EDB4)($t7) -/* 0B0D24 800B0124 3C178019 */ lui $s7, %hi(D_8018EDB2) # $s7, 0x8019 -/* 0B0D28 800B0128 00405025 */ move $t2, $v0 -/* 0B0D2C 800B012C 05E10004 */ bgez $t7, .L800B0140 -/* 0B0D30 800B0130 31F80001 */ andi $t8, $t7, 1 -/* 0B0D34 800B0134 13000002 */ beqz $t8, .L800B0140 -/* 0B0D38 800B0138 00000000 */ nop -/* 0B0D3C 800B013C 2718FFFE */ addiu $t8, $t8, -2 -.L800B0140: -/* 0B0D40 800B0140 13000004 */ beqz $t8, .L800B0154 -/* 0B0D44 800B0144 3C198019 */ lui $t9, %hi(D_8018EDB8) # $t9, 0x8019 -/* 0B0D48 800B0148 8F39EDB8 */ lw $t9, %lo(D_8018EDB8)($t9) -/* 0B0D4C 800B014C 10000004 */ b .L800B0160 -/* 0B0D50 800B0150 AFB900BC */ sw $t9, 0xbc($sp) -.L800B0154: -/* 0B0D54 800B0154 3C0C8019 */ lui $t4, %hi(D_8018EDBC) # $t4, 0x8019 -/* 0B0D58 800B0158 8D8CEDBC */ lw $t4, %lo(D_8018EDBC)($t4) -/* 0B0D5C 800B015C AFAC00BC */ sw $t4, 0xbc($sp) -.L800B0160: -/* 0B0D60 800B0160 26F7EDB2 */ addiu $s7, %lo(D_8018EDB2) # addiu $s7, $s7, -0x124e -/* 0B0D64 800B0164 240D09C0 */ li $t5, 2496 -/* 0B0D68 800B0168 A6ED0000 */ sh $t5, ($s7) -/* 0B0D6C 800B016C 3C01800F */ lui $at, %hi(D_800F2B44) # $at, 0x800f -/* 0B0D70 800B0170 C4362B44 */ lwc1 $f22, %lo(D_800F2B44)($at) -/* 0B0D74 800B0174 3C0142A8 */ li $at, 0x42A80000 # 84.000000 -/* 0B0D78 800B0178 3C168019 */ lui $s6, %hi(D_8018EDB0) # $s6, 0x8019 -/* 0B0D7C 800B017C 4481A000 */ mtc1 $at, $f20 -/* 0B0D80 800B0180 26D6EDB0 */ addiu $s6, %lo(D_8018EDB0) # addiu $s6, $s6, -0x1250 -/* 0B0D84 800B0184 0000F025 */ move $fp, $zero -/* 0B0D88 800B0188 AFA00064 */ sw $zero, 0x64($sp) -.L800B018C: -/* 0B0D8C 800B018C 8FA20064 */ lw $v0, 0x64($sp) -/* 0B0D90 800B0190 00009025 */ move $s2, $zero -/* 0B0D94 800B0194 00008025 */ move $s0, $zero -/* 0B0D98 800B0198 00009825 */ move $s3, $zero -/* 0B0D9C 800B019C 0002A900 */ sll $s5, $v0, 4 -.L800B01A0: -/* 0B0DA0 800B01A0 86EF0000 */ lh $t7, ($s7) -/* 0B0DA4 800B01A4 86CE0000 */ lh $t6, ($s6) -/* 0B0DA8 800B01A8 020F0019 */ multu $s0, $t7 -/* 0B0DAC 800B01AC 0000C012 */ mflo $t8 -/* 0B0DB0 800B01B0 01D82023 */ subu $a0, $t6, $t8 -/* 0B0DB4 800B01B4 3099FFFF */ andi $t9, $a0, 0xffff -/* 0B0DB8 800B01B8 0C0AE006 */ jal sins -/* 0B0DBC 800B01BC 03202025 */ move $a0, $t9 -/* 0B0DC0 800B01C0 44903000 */ mtc1 $s0, $f6 -/* 0B0DC4 800B01C4 46140102 */ mul.s $f4, $f0, $f20 -/* 0B0DC8 800B01C8 86EF0000 */ lh $t7, ($s7) -/* 0B0DCC 800B01CC 26110001 */ addiu $s1, $s0, 1 -/* 0B0DD0 800B01D0 86CD0000 */ lh $t5, ($s6) -/* 0B0DD4 800B01D4 022F0019 */ multu $s1, $t7 -/* 0B0DD8 800B01D8 46803220 */ cvt.s.w $f8, $f6 -/* 0B0DDC 800B01DC 46082282 */ mul.s $f10, $f4, $f8 -/* 0B0DE0 800B01E0 00007012 */ mflo $t6 -/* 0B0DE4 800B01E4 01AE2023 */ subu $a0, $t5, $t6 -/* 0B0DE8 800B01E8 3098FFFF */ andi $t8, $a0, 0xffff -/* 0B0DEC 800B01EC 03002025 */ move $a0, $t8 -/* 0B0DF0 800B01F0 46165402 */ mul.s $f16, $f10, $f22 -/* 0B0DF4 800B01F4 4600848D */ trunc.w.s $f18, $f16 -/* 0B0DF8 800B01F8 44149000 */ mfc1 $s4, $f18 -/* 0B0DFC 800B01FC 0C0AE006 */ jal sins -/* 0B0E00 800B0200 00000000 */ nop -/* 0B0E04 800B0204 44912000 */ mtc1 $s1, $f4 -/* 0B0E08 800B0208 46140182 */ mul.s $f6, $f0, $f20 -/* 0B0E0C 800B020C 8FAC00BC */ lw $t4, 0xbc($sp) -/* 0B0E10 800B0210 0013C900 */ sll $t9, $s3, 4 -/* 0B0E14 800B0214 24180054 */ li $t8, 84 -/* 0B0E18 800B0218 032C7821 */ addu $t7, $t9, $t4 -/* 0B0E1C 800B021C 01F52021 */ addu $a0, $t7, $s5 -/* 0B0E20 800B0220 46802220 */ cvt.s.w $f8, $f4 -/* 0B0E24 800B0224 AFB8001C */ sw $t8, 0x1c($sp) -/* 0B0E28 800B0228 02002825 */ move $a1, $s0 -/* 0B0E2C 800B022C 03C03025 */ move $a2, $fp -/* 0B0E30 800B0230 24070054 */ li $a3, 84 -/* 0B0E34 800B0234 AFB40010 */ sw $s4, 0x10($sp) -/* 0B0E38 800B0238 46083282 */ mul.s $f10, $f6, $f8 -/* 0B0E3C 800B023C AFB20018 */ sw $s2, 0x18($sp) -/* 0B0E40 800B0240 46165402 */ mul.s $f16, $f10, $f22 -/* 0B0E44 800B0244 4600848D */ trunc.w.s $f18, $f16 -/* 0B0E48 800B0248 440E9000 */ mfc1 $t6, $f18 -/* 0B0E4C 800B024C 0C02BE79 */ jal func_800AF9E4 -/* 0B0E50 800B0250 AFAE0014 */ sw $t6, 0x14($sp) -/* 0B0E54 800B0254 2401000C */ li $at, 12 -/* 0B0E58 800B0258 02208025 */ move $s0, $s1 -/* 0B0E5C 800B025C 26730004 */ addiu $s3, $s3, 4 -/* 0B0E60 800B0260 1621FFCF */ bne $s1, $at, .L800B01A0 -/* 0B0E64 800B0264 26520054 */ addiu $s2, $s2, 0x54 -/* 0B0E68 800B0268 8FB90064 */ lw $t9, 0x64($sp) -/* 0B0E6C 800B026C 27DE0001 */ addiu $fp, $fp, 1 -/* 0B0E70 800B0270 2401000A */ li $at, 10 -/* 0B0E74 800B0274 272C0030 */ addiu $t4, $t9, 0x30 -/* 0B0E78 800B0278 17C1FFC4 */ bne $fp, $at, .L800B018C -/* 0B0E7C 800B027C AFAC0064 */ sw $t4, 0x64($sp) -/* 0B0E80 800B0280 0C02BFD6 */ jal func_800AFF58 -/* 0B0E84 800B0284 8FA400BC */ lw $a0, 0xbc($sp) -/* 0B0E88 800B0288 3C068019 */ lui $a2, %hi(D_8018EDB4) # $a2, 0x8019 -/* 0B0E8C 800B028C 24C6EDB4 */ addiu $a2, %lo(D_8018EDB4) # addiu $a2, $a2, -0x124c -/* 0B0E90 800B0290 86CF0000 */ lh $t7, ($s6) -/* 0B0E94 800B0294 86ED0000 */ lh $t5, ($s7) -/* 0B0E98 800B0298 84D80000 */ lh $t8, ($a2) -/* 0B0E9C 800B029C 3C028015 */ lui $v0, %hi(gDisplayListHead) # $v0, 0x8015 -/* 0B0EA0 800B02A0 01ED7021 */ addu $t6, $t7, $t5 -/* 0B0EA4 800B02A4 27190001 */ addiu $t9, $t8, 1 -/* 0B0EA8 800B02A8 A6CE0000 */ sh $t6, ($s6) -/* 0B0EAC 800B02AC A4D90000 */ sh $t9, ($a2) -/* 0B0EB0 800B02B0 8C420298 */ lw $v0, %lo(gDisplayListHead)($v0) -/* 0B0EB4 800B02B4 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015 -/* 0B0EB8 800B02B8 240D2000 */ li $t5, 8192 -/* 0B0EBC 800B02BC 244C0008 */ addiu $t4, $v0, 8 -/* 0B0EC0 800B02C0 AC2C0298 */ sw $t4, %lo(gDisplayListHead)($at) -/* 0B0EC4 800B02C4 3C0FB700 */ lui $t7, 0xb700 -/* 0B0EC8 800B02C8 AC4F0000 */ sw $t7, ($v0) -/* 0B0ECC 800B02CC AC4D0004 */ sw $t5, 4($v0) -/* 0B0ED0 800B02D0 3C028015 */ lui $v0, %hi(gDisplayListHead) # $v0, 0x8015 -/* 0B0ED4 800B02D4 8C420298 */ lw $v0, %lo(gDisplayListHead)($v0) -/* 0B0ED8 800B02D8 3C198000 */ lui $t9, (0x80000040 >> 16) # lui $t9, 0x8000 -/* 0B0EDC 800B02DC 3C18BC00 */ lui $t8, (0xBC000002 >> 16) # lui $t8, 0xbc00 -/* 0B0EE0 800B02E0 244E0008 */ addiu $t6, $v0, 8 -/* 0B0EE4 800B02E4 AC2E0298 */ sw $t6, %lo(gDisplayListHead)($at) -/* 0B0EE8 800B02E8 37180002 */ ori $t8, (0xBC000002 & 0xFFFF) # ori $t8, $t8, 2 -/* 0B0EEC 800B02EC 37390040 */ ori $t9, (0x80000040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 0B0EF0 800B02F0 AC590004 */ sw $t9, 4($v0) -/* 0B0EF4 800B02F4 AC580000 */ sw $t8, ($v0) -/* 0B0EF8 800B02F8 3C028015 */ lui $v0, %hi(gDisplayListHead) # $v0, 0x8015 -/* 0B0EFC 800B02FC 8C420298 */ lw $v0, %lo(gDisplayListHead)($v0) -/* 0B0F00 800B0300 3C0D0002 */ lui $t5, 2 -/* 0B0F04 800B0304 3C0FB600 */ lui $t7, 0xb600 -/* 0B0F08 800B0308 244C0008 */ addiu $t4, $v0, 8 -/* 0B0F0C 800B030C AC2C0298 */ sw $t4, %lo(gDisplayListHead)($at) -/* 0B0F10 800B0310 AC4D0004 */ sw $t5, 4($v0) -/* 0B0F14 800B0314 AC4F0000 */ sw $t7, ($v0) -/* 0B0F18 800B0318 8FBF005C */ lw $ra, 0x5c($sp) -/* 0B0F1C 800B031C 8FBE0058 */ lw $fp, 0x58($sp) -/* 0B0F20 800B0320 8FB70054 */ lw $s7, 0x54($sp) -/* 0B0F24 800B0324 8FB60050 */ lw $s6, 0x50($sp) -/* 0B0F28 800B0328 8FB5004C */ lw $s5, 0x4c($sp) -/* 0B0F2C 800B032C 8FB40048 */ lw $s4, 0x48($sp) -/* 0B0F30 800B0330 8FB30044 */ lw $s3, 0x44($sp) -/* 0B0F34 800B0334 8FB20040 */ lw $s2, 0x40($sp) -/* 0B0F38 800B0338 8FB1003C */ lw $s1, 0x3c($sp) -/* 0B0F3C 800B033C 8FB00038 */ lw $s0, 0x38($sp) -/* 0B0F40 800B0340 D7B60030 */ ldc1 $f22, 0x30($sp) -/* 0B0F44 800B0344 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0B0F48 800B0348 03E00008 */ jr $ra -/* 0B0F4C 800B034C 27BD00C0 */ addiu $sp, $sp, 0xc0 diff --git a/asm/non_matchings/cpu_vehicles_camera_path/func_8000B140.s b/asm/non_matchings/cpu_vehicles_camera_path/func_8000B140.s deleted file mode 100644 index f25d13ba2..000000000 --- a/asm/non_matchings/cpu_vehicles_camera_path/func_8000B140.s +++ /dev/null @@ -1,469 +0,0 @@ -.section .late_rodata - -glabel D_800ECFCC -.float 0.2 - -glabel D_800ECFD0 -.float 0.2 - -glabel D_800ECFD4 -.float 0.2 - -.section .text - -glabel func_8000B140 -/* 00BD40 8000B140 000478C0 */ sll $t7, $a0, 3 -/* 00BD44 8000B144 01E47823 */ subu $t7, $t7, $a0 -/* 00BD48 8000B148 000F7900 */ sll $t7, $t7, 4 -/* 00BD4C 8000B14C 01E47823 */ subu $t7, $t7, $a0 -/* 00BD50 8000B150 000F7880 */ sll $t7, $t7, 2 -/* 00BD54 8000B154 01E47823 */ subu $t7, $t7, $a0 -/* 00BD58 8000B158 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 00BD5C 8000B15C 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 00BD60 8000B160 000F78C0 */ sll $t7, $t7, 3 -/* 00BD64 8000B164 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 00BD68 8000B168 01F81821 */ addu $v1, $t7, $t8 -/* 00BD6C 8000B16C 8C6500BC */ lw $a1, 0xbc($v1) -/* 00BD70 8000B170 AFBF003C */ sw $ra, 0x3c($sp) -/* 00BD74 8000B174 F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 00BD78 8000B178 30B90010 */ andi $t9, $a1, 0x10 -/* 00BD7C 8000B17C F7B80028 */ sdc1 $f24, 0x28($sp) -/* 00BD80 8000B180 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 00BD84 8000B184 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 00BD88 8000B188 1720018F */ bnez $t9, .L8000B7C8 -/* 00BD8C 8000B18C AFA40100 */ sw $a0, 0x100($sp) -/* 00BD90 8000B190 00046840 */ sll $t5, $a0, 1 -/* 00BD94 8000B194 3C028016 */ lui $v0, %hi(D_801630E8) # 0x8016 -/* 00BD98 8000B198 004D1021 */ addu $v0, $v0, $t5 -/* 00BD9C 8000B19C 844230E8 */ lh $v0, %lo(D_801630E8)($v0) # 0x30e8($v0) -/* 00BDA0 8000B1A0 24010001 */ li $at, 1 -/* 00BDA4 8000B1A4 AFAD005C */ sw $t5, 0x5c($sp) -/* 00BDA8 8000B1A8 10410187 */ beq $v0, $at, .L8000B7C8 -/* 00BDAC 8000B1AC 2406FFFF */ li $a2, -1 -/* 00BDB0 8000B1B0 10C20185 */ beq $a2, $v0, .L8000B7C8 -/* 00BDB4 8000B1B4 3C0B8016 */ lui $t3, %hi(gTrackPositionFactor) # $t3, 0x8016 -/* 00BDB8 8000B1B8 256B3068 */ addiu $t3, %lo(gTrackPositionFactor) # addiu $t3, $t3, 0x3068 -/* 00BDBC 8000B1BC 00047880 */ sll $t7, $a0, 2 -/* 00BDC0 8000B1C0 016FC021 */ addu $t8, $t3, $t7 -/* 00BDC4 8000B1C4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 00BDC8 8000B1C8 AFB80054 */ sw $t8, 0x54($sp) -/* 00BDCC 8000B1CC AFAF0058 */ sw $t7, 0x58($sp) -/* 00BDD0 8000B1D0 4481D000 */ mtc1 $at, $f26 -/* 00BDD4 8000B1D4 C7000000 */ lwc1 $f0, ($t8) -/* 00BDD8 8000B1D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 00BDDC 8000B1DC 461A003C */ c.lt.s $f0, $f26 -/* 00BDE0 8000B1E0 00000000 */ nop -/* 00BDE4 8000B1E4 45030179 */ bc1tl .L8000B7CC -/* 00BDE8 8000B1E8 8FBF003C */ lw $ra, 0x3c($sp) -/* 00BDEC 8000B1EC 4481C000 */ mtc1 $at, $f24 -/* 00BDF0 8000B1F0 00000000 */ nop -/* 00BDF4 8000B1F4 4600C03C */ c.lt.s $f24, $f0 -/* 00BDF8 8000B1F8 00000000 */ nop -/* 00BDFC 8000B1FC 45030173 */ bc1tl .L8000B7CC -/* 00BE00 8000B200 8FBF003C */ lw $ra, 0x3c($sp) -/* 00BE04 8000B204 94620254 */ lhu $v0, 0x254($v1) -/* 00BE08 8000B208 24010005 */ li $at, 5 -/* 00BE0C 8000B20C 1041016E */ beq $v0, $at, .L8000B7C8 -/* 00BE10 8000B210 24010007 */ li $at, 7 -/* 00BE14 8000B214 1041016C */ beq $v0, $at, .L8000B7C8 -/* 00BE18 8000B218 24010004 */ li $at, 4 -/* 00BE1C 8000B21C 1041016A */ beq $v0, $at, .L8000B7C8 -/* 00BE20 8000B220 30AC0200 */ andi $t4, $a1, 0x200 -/* 00BE24 8000B224 15800168 */ bnez $t4, .L8000B7C8 -/* 00BE28 8000B228 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 00BE2C 8000B22C C4640094 */ lwc1 $f4, 0x94($v1) -/* 00BE30 8000B230 44813000 */ mtc1 $at, $f6 -/* 00BE34 8000B234 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 00BE38 8000B238 44815000 */ mtc1 $at, $f10 -/* 00BE3C 8000B23C 46062203 */ div.s $f8, $f4, $f6 -/* 00BE40 8000B240 3C098016 */ lui $t1, %hi(gNearestPathPointByPlayerId) # 0x8016 -/* 00BE44 8000B244 012D4821 */ addu $t1, $t1, $t5 -/* 00BE48 8000B248 85294438 */ lh $t1, %lo(gNearestPathPointByPlayerId)($t1) # 0x4438($t1) -/* 00BE4C 8000B24C 240303E8 */ li $v1, 1000 -/* 00BE50 8000B250 27A5009C */ addiu $a1, $sp, 0x9c -/* 00BE54 8000B254 27A200B0 */ addiu $v0, $sp, 0xb0 -/* 00BE58 8000B258 27A400C0 */ addiu $a0, $sp, 0xc0 -/* 00BE5C 8000B25C 00005025 */ move $t2, $zero -/* 00BE60 8000B260 460A4582 */ mul.s $f22, $f8, $f10 -/* 00BE64 8000B264 00000000 */ nop -.L8000B268: -/* 00BE68 8000B268 24420002 */ addiu $v0, $v0, 2 -/* 00BE6C 8000B26C 0044082B */ sltu $at, $v0, $a0 -/* 00BE70 8000B270 24A50002 */ addiu $a1, $a1, 2 -/* 00BE74 8000B274 A4A6FFFE */ sh $a2, -2($a1) -/* 00BE78 8000B278 1420FFFB */ bnez $at, .L8000B268 -/* 00BE7C 8000B27C A443FFFE */ sh $v1, -2($v0) -/* 00BE80 8000B280 8FAE005C */ lw $t6, 0x5c($sp) -/* 00BE84 8000B284 3C0F8016 */ lui $t7, %hi(D_80163010) # $t7, 0x8016 -/* 00BE88 8000B288 25EF3010 */ addiu $t7, %lo(D_80163010) # addiu $t7, $t7, 0x3010 -/* 00BE8C 8000B28C 01CFC021 */ addu $t8, $t6, $t7 -/* 00BE90 8000B290 AFB8004C */ sw $t8, 0x4c($sp) -/* 00BE94 8000B294 87020000 */ lh $v0, ($t8) -/* 00BE98 8000B298 18400006 */ blez $v0, .L8000B2B4 -/* 00BE9C 8000B29C 2459FFFF */ addiu $t9, $v0, -1 -/* 00BEA0 8000B2A0 1F200004 */ bgtz $t9, .L8000B2B4 -/* 00BEA4 8000B2A4 A7190000 */ sh $t9, ($t8) -/* 00BEA8 8000B2A8 3C018016 */ lui $at, %hi(D_80162FF8) # 0x8016 -/* 00BEAC 8000B2AC 002E0821 */ addu $at, $at, $t6 -/* 00BEB0 8000B2B0 A4202FF8 */ sh $zero, %lo(D_80162FF8)($at) # 0x2ff8($at) -.L8000B2B4: -/* 00BEB4 8000B2B4 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 00BEB8 8000B2B8 4481A000 */ mtc1 $at, $f20 -/* 00BEBC 8000B2BC 00004025 */ move $t0, $zero -/* 00BEC0 8000B2C0 8FAC0100 */ lw $t4, 0x100($sp) -.L8000B2C4: -/* 00BEC4 8000B2C4 000868C0 */ sll $t5, $t0, 3 -/* 00BEC8 8000B2C8 01A86823 */ subu $t5, $t5, $t0 -/* 00BECC 8000B2CC 110C0047 */ beq $t0, $t4, .L8000B3EC -/* 00BED0 8000B2D0 000D6900 */ sll $t5, $t5, 4 -/* 00BED4 8000B2D4 01A86823 */ subu $t5, $t5, $t0 -/* 00BED8 8000B2D8 000D6880 */ sll $t5, $t5, 2 -/* 00BEDC 8000B2DC 01A86823 */ subu $t5, $t5, $t0 -/* 00BEE0 8000B2E0 3C0F800F */ lui $t7, %hi(gPlayers) # $t7, 0x800f -/* 00BEE4 8000B2E4 25EF6990 */ addiu $t7, %lo(gPlayers) # addiu $t7, $t7, 0x6990 -/* 00BEE8 8000B2E8 000D68C0 */ sll $t5, $t5, 3 -/* 00BEEC 8000B2EC 01AF1021 */ addu $v0, $t5, $t7 -/* 00BEF0 8000B2F0 94580000 */ lhu $t8, ($v0) -/* 00BEF4 8000B2F4 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 00BEF8 8000B2F8 33198000 */ andi $t9, $t8, 0x8000 -/* 00BEFC 8000B2FC 5320003C */ beql $t9, $zero, .L8000B3F0 -/* 00BF00 8000B300 29410002 */ slti $at, $t2, 2 -/* 00BF04 8000B304 C4440094 */ lwc1 $f4, 0x94($v0) -/* 00BF08 8000B308 44813000 */ mtc1 $at, $f6 -/* 00BF0C 8000B30C 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 00BF10 8000B310 44815000 */ mtc1 $at, $f10 -/* 00BF14 8000B314 46062203 */ div.s $f8, $f4, $f6 -/* 00BF18 8000B318 00087040 */ sll $t6, $t0, 1 -/* 00BF1C 8000B31C 3C038016 */ lui $v1, %hi(gNearestPathPointByPlayerId) # 0x8016 -/* 00BF20 8000B320 006E1821 */ addu $v1, $v1, $t6 -/* 00BF24 8000B324 4614B081 */ sub.s $f2, $f22, $f20 -/* 00BF28 8000B328 84634438 */ lh $v1, %lo(gNearestPathPointByPlayerId)($v1) # 0x4438($v1) -/* 00BF2C 8000B32C 3125FFFF */ andi $a1, $t1, 0xffff -/* 00BF30 8000B330 00003025 */ move $a2, $zero -/* 00BF34 8000B334 24070014 */ li $a3, 20 -/* 00BF38 8000B338 3C0C8016 */ lui $t4, %hi(gSelectedPathCount) # $t4, 0x8016 -/* 00BF3C 8000B33C 3064FFFF */ andi $a0, $v1, 0xffff -/* 00BF40 8000B340 460A4002 */ mul.s $f0, $f8, $f10 -/* 00BF44 8000B344 4602003C */ c.lt.s $f0, $f2 -/* 00BF48 8000B348 00000000 */ nop -/* 00BF4C 8000B34C 45020028 */ bc1fl .L8000B3F0 -/* 00BF50 8000B350 29410002 */ slti $at, $t2, 2 -/* 00BF54 8000B354 958C4430 */ lhu $t4, %lo(gSelectedPathCount)($t4) -/* 00BF58 8000B358 A7A300E4 */ sh $v1, 0xe4($sp) -/* 00BF5C 8000B35C AFA800FC */ sw $t0, 0xfc($sp) -/* 00BF60 8000B360 A7A900E6 */ sh $t1, 0xe6($sp) -/* 00BF64 8000B364 AFAA00F0 */ sw $t2, 0xf0($sp) -/* 00BF68 8000B368 E7A000DC */ swc1 $f0, 0xdc($sp) -/* 00BF6C 8000B36C E7A20060 */ swc1 $f2, 0x60($sp) -/* 00BF70 8000B370 0C001EFE */ jal is_path_point_in_range -/* 00BF74 8000B374 AFAC0010 */ sw $t4, 0x10($sp) -/* 00BF78 8000B378 3C0B8016 */ lui $t3, %hi(gTrackPositionFactor) # $t3, 0x8016 -/* 00BF7C 8000B37C 256B3068 */ addiu $t3, %lo(gTrackPositionFactor) # addiu $t3, $t3, 0x3068 -/* 00BF80 8000B380 87A300E4 */ lh $v1, 0xe4($sp) -/* 00BF84 8000B384 8FA800FC */ lw $t0, 0xfc($sp) -/* 00BF88 8000B388 87A900E6 */ lh $t1, 0xe6($sp) -/* 00BF8C 8000B38C 8FAA00F0 */ lw $t2, 0xf0($sp) -/* 00BF90 8000B390 C7A000DC */ lwc1 $f0, 0xdc($sp) -/* 00BF94 8000B394 18400015 */ blez $v0, .L8000B3EC -/* 00BF98 8000B398 C7A20060 */ lwc1 $f2, 0x60($sp) -/* 00BF9C 8000B39C 000A1040 */ sll $v0, $t2, 1 -/* 00BFA0 8000B3A0 03A26821 */ addu $t5, $sp, $v0 -/* 00BFA4 8000B3A4 00692823 */ subu $a1, $v1, $t1 -/* 00BFA8 8000B3A8 27AF00B0 */ addiu $t7, $sp, 0xb0 -/* 00BFAC 8000B3AC 000AC080 */ sll $t8, $t2, 2 -/* 00BFB0 8000B3B0 27B90074 */ addiu $t9, $sp, 0x74 -/* 00BFB4 8000B3B4 A5A8009C */ sh $t0, 0x9c($t5) -/* 00BFB8 8000B3B8 03192021 */ addu $a0, $t8, $t9 -/* 00BFBC 8000B3BC 18A00003 */ blez $a1, .L8000B3CC -/* 00BFC0 8000B3C0 004F3021 */ addu $a2, $v0, $t7 -/* 00BFC4 8000B3C4 10000006 */ b .L8000B3E0 -/* 00BFC8 8000B3C8 A4C50000 */ sh $a1, ($a2) -.L8000B3CC: -/* 00BFCC 8000B3CC 3C0E8016 */ lui $t6, %hi(gSelectedPathCount) # $t6, 0x8016 -/* 00BFD0 8000B3D0 95CE4430 */ lhu $t6, %lo(gSelectedPathCount)($t6) -/* 00BFD4 8000B3D4 006E6021 */ addu $t4, $v1, $t6 -/* 00BFD8 8000B3D8 01896823 */ subu $t5, $t4, $t1 -/* 00BFDC 8000B3DC A4CD0000 */ sh $t5, ($a2) -.L8000B3E0: -/* 00BFE0 8000B3E0 46001101 */ sub.s $f4, $f2, $f0 -/* 00BFE4 8000B3E4 254A0001 */ addiu $t2, $t2, 1 -/* 00BFE8 8000B3E8 E4840000 */ swc1 $f4, ($a0) -.L8000B3EC: -/* 00BFEC 8000B3EC 29410002 */ slti $at, $t2, 2 -.L8000B3F0: -/* 00BFF0 8000B3F0 10200004 */ beqz $at, .L8000B404 -/* 00BFF4 8000B3F4 25080001 */ addiu $t0, $t0, 1 -/* 00BFF8 8000B3F8 29010008 */ slti $at, $t0, 8 -/* 00BFFC 8000B3FC 5420FFB1 */ bnel $at, $zero, .L8000B2C4 -/* 00C000 8000B400 8FAC0100 */ lw $t4, 0x100($sp) -.L8000B404: -/* 00C004 8000B404 114000F0 */ beqz $t2, .L8000B7C8 -/* 00C008 8000B408 00004025 */ move $t0, $zero -/* 00C00C 8000B40C 4600C486 */ mov.s $f18, $f24 -/* 00C010 8000B410 194000BD */ blez $t2, .L8000B708 -/* 00C014 8000B414 4600D506 */ mov.s $f20, $f26 -/* 00C018 8000B418 31420001 */ andi $v0, $t2, 1 -/* 00C01C 8000B41C 1040003B */ beqz $v0, .L8000B50C -/* 00C020 8000B420 87A3009C */ lh $v1, 0x9c($sp) -/* 00C024 8000B424 00037880 */ sll $t7, $v1, 2 -/* 00C028 8000B428 016FC021 */ addu $t8, $t3, $t7 -/* 00C02C 8000B42C C7020000 */ lwc1 $f2, ($t8) -/* 00C030 8000B430 24080001 */ li $t0, 1 -/* 00C034 8000B434 4602D03C */ c.lt.s $f26, $f2 -/* 00C038 8000B438 00000000 */ nop -/* 00C03C 8000B43C 45000032 */ bc1f .L8000B508 -/* 00C040 8000B440 00000000 */ nop -/* 00C044 8000B444 4618103C */ c.lt.s $f2, $f24 -/* 00C048 8000B448 87A200B0 */ lh $v0, 0xb0($sp) -/* 00C04C 8000B44C 4500002E */ bc1f .L8000B508 -/* 00C050 8000B450 00000000 */ nop -/* 00C054 8000B454 44824000 */ mtc1 $v0, $f8 -/* 00C058 8000B458 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 00C05C 8000B45C 4481B000 */ mtc1 $at, $f22 -/* 00C060 8000B460 468042A0 */ cvt.s.w $f10, $f8 -/* 00C064 8000B464 3C01800F */ lui $at, %hi(D_800ECFCC) # $at, 0x800f -/* 00C068 8000B468 C426CFCC */ lwc1 $f6, %lo(D_800ECFCC)($at) -/* 00C06C 8000B46C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 00C070 8000B470 C7A00074 */ lwc1 $f0, 0x74($sp) -/* 00C074 8000B474 4618C032 */ c.eq.s $f24, $f24 -/* 00C078 8000B478 46165100 */ add.s $f4, $f10, $f22 -/* 00C07C 8000B47C 4604B203 */ div.s $f8, $f22, $f4 -/* 00C080 8000B480 44812000 */ mtc1 $at, $f4 -/* 00C084 8000B484 46083282 */ mul.s $f10, $f6, $f8 -/* 00C088 8000B488 46040180 */ add.s $f6, $f0, $f4 -/* 00C08C 8000B48C 460A3202 */ mul.s $f8, $f6, $f10 -/* 00C090 8000B490 45000008 */ bc1f .L8000B4B4 -/* 00C094 8000B494 46164303 */ div.s $f12, $f8, $f22 -/* 00C098 8000B498 461AD032 */ c.eq.s $f26, $f26 -/* 00C09C 8000B49C 00000000 */ nop -/* 00C0A0 8000B4A0 45020005 */ bc1fl .L8000B4B8 -/* 00C0A4 8000B4A4 460C1381 */ sub.s $f14, $f2, $f12 -/* 00C0A8 8000B4A8 460C1481 */ sub.s $f18, $f2, $f12 -/* 00C0AC 8000B4AC 10000016 */ b .L8000B508 -/* 00C0B0 8000B4B0 460C1500 */ add.s $f20, $f2, $f12 -.L8000B4B4: -/* 00C0B4 8000B4B4 460C1381 */ sub.s $f14, $f2, $f12 -.L8000B4B8: -/* 00C0B8 8000B4B8 460C1400 */ add.s $f16, $f2, $f12 -/* 00C0BC 8000B4BC 4618703C */ c.lt.s $f14, $f24 -/* 00C0C0 8000B4C0 00000000 */ nop -/* 00C0C4 8000B4C4 45020008 */ bc1fl .L8000B4E8 -/* 00C0C8 8000B4C8 4610D03C */ c.lt.s $f26, $f16 -/* 00C0CC 8000B4CC 460C1100 */ add.s $f4, $f2, $f12 -/* 00C0D0 8000B4D0 4604C03C */ c.lt.s $f24, $f4 -/* 00C0D4 8000B4D4 00000000 */ nop -/* 00C0D8 8000B4D8 45020003 */ bc1fl .L8000B4E8 -/* 00C0DC 8000B4DC 4610D03C */ c.lt.s $f26, $f16 -/* 00C0E0 8000B4E0 46007486 */ mov.s $f18, $f14 -/* 00C0E4 8000B4E4 4610D03C */ c.lt.s $f26, $f16 -.L8000B4E8: -/* 00C0E8 8000B4E8 00000000 */ nop -/* 00C0EC 8000B4EC 45000006 */ bc1f .L8000B508 -/* 00C0F0 8000B4F0 00000000 */ nop -/* 00C0F4 8000B4F4 461A703C */ c.lt.s $f14, $f26 -/* 00C0F8 8000B4F8 00000000 */ nop -/* 00C0FC 8000B4FC 45000002 */ bc1f .L8000B508 -/* 00C100 8000B500 00000000 */ nop -/* 00C104 8000B504 46008506 */ mov.s $f20, $f16 -.L8000B508: -/* 00C108 8000B508 110A007F */ beq $t0, $t2, .L8000B708 -.L8000B50C: -/* 00C10C 8000B50C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 00C110 8000B510 00081040 */ sll $v0, $t0, 1 -/* 00C114 8000B514 27B9009C */ addiu $t9, $sp, 0x9c -/* 00C118 8000B518 4481B000 */ mtc1 $at, $f22 -/* 00C11C 8000B51C 00592821 */ addu $a1, $v0, $t9 -/* 00C120 8000B520 27A400B0 */ addiu $a0, $sp, 0xb0 -/* 00C124 8000B524 27A30074 */ addiu $v1, $sp, 0x74 -.L8000B528: -/* 00C128 8000B528 84AE0000 */ lh $t6, ($a1) -/* 00C12C 8000B52C 000E6080 */ sll $t4, $t6, 2 -/* 00C130 8000B530 016C6821 */ addu $t5, $t3, $t4 -/* 00C134 8000B534 C5A20000 */ lwc1 $f2, ($t5) -/* 00C138 8000B538 4602D03C */ c.lt.s $f26, $f2 -/* 00C13C 8000B53C 00000000 */ nop -/* 00C140 8000B540 45020034 */ bc1fl .L8000B614 -/* 00C144 8000B544 84AC0002 */ lh $t4, 2($a1) -/* 00C148 8000B548 4618103C */ c.lt.s $f2, $f24 -/* 00C14C 8000B54C 00087880 */ sll $t7, $t0, 2 -/* 00C150 8000B550 006FC021 */ addu $t8, $v1, $t7 -/* 00C154 8000B554 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 00C158 8000B558 4500002D */ bc1f .L8000B610 -/* 00C15C 8000B55C 0082C821 */ addu $t9, $a0, $v0 -/* 00C160 8000B560 C7060000 */ lwc1 $f6, ($t8) -/* 00C164 8000B564 44815000 */ mtc1 $at, $f10 -/* 00C168 8000B568 872E0000 */ lh $t6, ($t9) -/* 00C16C 8000B56C 3C01800F */ lui $at, %hi(D_800ECFD0) # $at, 0x800f -/* 00C170 8000B570 460A3200 */ add.s $f8, $f6, $f10 -/* 00C174 8000B574 448E3000 */ mtc1 $t6, $f6 -/* 00C178 8000B578 C424CFD0 */ lwc1 $f4, %lo(D_800ECFD0)($at) -/* 00C17C 8000B57C 46189032 */ c.eq.s $f18, $f24 -/* 00C180 8000B580 468032A0 */ cvt.s.w $f10, $f6 -/* 00C184 8000B584 46165180 */ add.s $f6, $f10, $f22 -/* 00C188 8000B588 4606B283 */ div.s $f10, $f22, $f6 -/* 00C18C 8000B58C 460A2182 */ mul.s $f6, $f4, $f10 -/* 00C190 8000B590 00000000 */ nop -/* 00C194 8000B594 46064102 */ mul.s $f4, $f8, $f6 -/* 00C198 8000B598 45000008 */ bc1f .L8000B5BC -/* 00C19C 8000B59C 46162003 */ div.s $f0, $f4, $f22 -/* 00C1A0 8000B5A0 461AA032 */ c.eq.s $f20, $f26 -/* 00C1A4 8000B5A4 00000000 */ nop -/* 00C1A8 8000B5A8 45020005 */ bc1fl .L8000B5C0 -/* 00C1AC 8000B5AC 46001301 */ sub.s $f12, $f2, $f0 -/* 00C1B0 8000B5B0 46001481 */ sub.s $f18, $f2, $f0 -/* 00C1B4 8000B5B4 10000016 */ b .L8000B610 -/* 00C1B8 8000B5B8 46001500 */ add.s $f20, $f2, $f0 -.L8000B5BC: -/* 00C1BC 8000B5BC 46001301 */ sub.s $f12, $f2, $f0 -.L8000B5C0: -/* 00C1C0 8000B5C0 46001380 */ add.s $f14, $f2, $f0 -/* 00C1C4 8000B5C4 4612603C */ c.lt.s $f12, $f18 -/* 00C1C8 8000B5C8 00000000 */ nop -/* 00C1CC 8000B5CC 45020008 */ bc1fl .L8000B5F0 -/* 00C1D0 8000B5D0 460EA03C */ c.lt.s $f20, $f14 -/* 00C1D4 8000B5D4 46001280 */ add.s $f10, $f2, $f0 -/* 00C1D8 8000B5D8 460A903C */ c.lt.s $f18, $f10 -/* 00C1DC 8000B5DC 00000000 */ nop -/* 00C1E0 8000B5E0 45020003 */ bc1fl .L8000B5F0 -/* 00C1E4 8000B5E4 460EA03C */ c.lt.s $f20, $f14 -/* 00C1E8 8000B5E8 46006486 */ mov.s $f18, $f12 -/* 00C1EC 8000B5EC 460EA03C */ c.lt.s $f20, $f14 -.L8000B5F0: -/* 00C1F0 8000B5F0 00000000 */ nop -/* 00C1F4 8000B5F4 45020007 */ bc1fl .L8000B614 -/* 00C1F8 8000B5F8 84AC0002 */ lh $t4, 2($a1) -/* 00C1FC 8000B5FC 4614603C */ c.lt.s $f12, $f20 -/* 00C200 8000B600 00000000 */ nop -/* 00C204 8000B604 45020003 */ bc1fl .L8000B614 -/* 00C208 8000B608 84AC0002 */ lh $t4, 2($a1) -/* 00C20C 8000B60C 46007506 */ mov.s $f20, $f14 -.L8000B610: -/* 00C210 8000B610 84AC0002 */ lh $t4, 2($a1) -.L8000B614: -/* 00C214 8000B614 24A50004 */ addiu $a1, $a1, 4 -/* 00C218 8000B618 000C6880 */ sll $t5, $t4, 2 -/* 00C21C 8000B61C 016D7821 */ addu $t7, $t3, $t5 -/* 00C220 8000B620 C5E00000 */ lwc1 $f0, ($t7) -/* 00C224 8000B624 4600D03C */ c.lt.s $f26, $f0 -/* 00C228 8000B628 00000000 */ nop -/* 00C22C 8000B62C 45020034 */ bc1fl .L8000B700 -/* 00C230 8000B630 25080002 */ addiu $t0, $t0, 2 -/* 00C234 8000B634 4618003C */ c.lt.s $f0, $f24 -/* 00C238 8000B638 0008C080 */ sll $t8, $t0, 2 -/* 00C23C 8000B63C 0078C821 */ addu $t9, $v1, $t8 -/* 00C240 8000B640 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 00C244 8000B644 4500002D */ bc1f .L8000B6FC -/* 00C248 8000B648 00827021 */ addu $t6, $a0, $v0 -/* 00C24C 8000B64C C7280004 */ lwc1 $f8, 4($t9) -/* 00C250 8000B650 44813000 */ mtc1 $at, $f6 -/* 00C254 8000B654 85CC0002 */ lh $t4, 2($t6) -/* 00C258 8000B658 3C01800F */ lui $at, %hi(D_800ECFD4) # $at, 0x800f -/* 00C25C 8000B65C 46064100 */ add.s $f4, $f8, $f6 -/* 00C260 8000B660 448C4000 */ mtc1 $t4, $f8 -/* 00C264 8000B664 C42ACFD4 */ lwc1 $f10, %lo(D_800ECFD4)($at) -/* 00C268 8000B668 46189032 */ c.eq.s $f18, $f24 -/* 00C26C 8000B66C 468041A0 */ cvt.s.w $f6, $f8 -/* 00C270 8000B670 46163200 */ add.s $f8, $f6, $f22 -/* 00C274 8000B674 4608B183 */ div.s $f6, $f22, $f8 -/* 00C278 8000B678 46065202 */ mul.s $f8, $f10, $f6 -/* 00C27C 8000B67C 00000000 */ nop -/* 00C280 8000B680 46082282 */ mul.s $f10, $f4, $f8 -/* 00C284 8000B684 45000008 */ bc1f .L8000B6A8 -/* 00C288 8000B688 46165083 */ div.s $f2, $f10, $f22 -/* 00C28C 8000B68C 461AA032 */ c.eq.s $f20, $f26 -/* 00C290 8000B690 00000000 */ nop -/* 00C294 8000B694 45020005 */ bc1fl .L8000B6AC -/* 00C298 8000B698 46020301 */ sub.s $f12, $f0, $f2 -/* 00C29C 8000B69C 46020481 */ sub.s $f18, $f0, $f2 -/* 00C2A0 8000B6A0 10000016 */ b .L8000B6FC -/* 00C2A4 8000B6A4 46020500 */ add.s $f20, $f0, $f2 -.L8000B6A8: -/* 00C2A8 8000B6A8 46020301 */ sub.s $f12, $f0, $f2 -.L8000B6AC: -/* 00C2AC 8000B6AC 46020380 */ add.s $f14, $f0, $f2 -/* 00C2B0 8000B6B0 4612603C */ c.lt.s $f12, $f18 -/* 00C2B4 8000B6B4 00000000 */ nop -/* 00C2B8 8000B6B8 45020008 */ bc1fl .L8000B6DC -/* 00C2BC 8000B6BC 460EA03C */ c.lt.s $f20, $f14 -/* 00C2C0 8000B6C0 46020180 */ add.s $f6, $f0, $f2 -/* 00C2C4 8000B6C4 4606903C */ c.lt.s $f18, $f6 -/* 00C2C8 8000B6C8 00000000 */ nop -/* 00C2CC 8000B6CC 45020003 */ bc1fl .L8000B6DC -/* 00C2D0 8000B6D0 460EA03C */ c.lt.s $f20, $f14 -/* 00C2D4 8000B6D4 46006486 */ mov.s $f18, $f12 -/* 00C2D8 8000B6D8 460EA03C */ c.lt.s $f20, $f14 -.L8000B6DC: -/* 00C2DC 8000B6DC 00000000 */ nop -/* 00C2E0 8000B6E0 45020007 */ bc1fl .L8000B700 -/* 00C2E4 8000B6E4 25080002 */ addiu $t0, $t0, 2 -/* 00C2E8 8000B6E8 4614603C */ c.lt.s $f12, $f20 -/* 00C2EC 8000B6EC 00000000 */ nop -/* 00C2F0 8000B6F0 45020003 */ bc1fl .L8000B700 -/* 00C2F4 8000B6F4 25080002 */ addiu $t0, $t0, 2 -/* 00C2F8 8000B6F8 46007506 */ mov.s $f20, $f14 -.L8000B6FC: -/* 00C2FC 8000B6FC 25080002 */ addiu $t0, $t0, 2 -.L8000B700: -/* 00C300 8000B700 150AFF89 */ bne $t0, $t2, .L8000B528 -/* 00C304 8000B704 24420004 */ addiu $v0, $v0, 4 -.L8000B708: -/* 00C308 8000B708 4612A03C */ c.lt.s $f20, $f18 -/* 00C30C 8000B70C 8FAD0054 */ lw $t5, 0x54($sp) -/* 00C310 8000B710 4503002E */ bc1tl .L8000B7CC -/* 00C314 8000B714 8FBF003C */ lw $ra, 0x3c($sp) -/* 00C318 8000B718 C5A00000 */ lwc1 $f0, ($t5) -/* 00C31C 8000B71C 4612003C */ c.lt.s $f0, $f18 -/* 00C320 8000B720 00000000 */ nop -/* 00C324 8000B724 45030029 */ bc1tl .L8000B7CC -/* 00C328 8000B728 8FBF003C */ lw $ra, 0x3c($sp) -/* 00C32C 8000B72C 4600A03C */ c.lt.s $f20, $f0 -/* 00C330 8000B730 00000000 */ nop -/* 00C334 8000B734 45030025 */ bc1tl .L8000B7CC -/* 00C338 8000B738 8FBF003C */ lw $ra, 0x3c($sp) -/* 00C33C 8000B73C 4614C03C */ c.lt.s $f24, $f20 -/* 00C340 8000B740 8FAF005C */ lw $t7, 0x5c($sp) -/* 00C344 8000B744 3C188016 */ lui $t8, %hi(D_80162FF8) # $t8, 0x8016 -/* 00C348 8000B748 27182FF8 */ addiu $t8, %lo(D_80162FF8) # addiu $t8, $t8, 0x2ff8 -/* 00C34C 8000B74C 45000002 */ bc1f .L8000B758 -/* 00C350 8000B750 01F81021 */ addu $v0, $t7, $t8 -/* 00C354 8000B754 4600C506 */ mov.s $f20, $f24 -.L8000B758: -/* 00C358 8000B758 461A903C */ c.lt.s $f18, $f26 -/* 00C35C 8000B75C 8FAE004C */ lw $t6, 0x4c($sp) -/* 00C360 8000B760 4614C201 */ sub.s $f8, $f24, $f20 -/* 00C364 8000B764 8FB8004C */ lw $t8, 0x4c($sp) -/* 00C368 8000B768 45000002 */ bc1f .L8000B774 -/* 00C36C 8000B76C 24190002 */ li $t9, 2 -/* 00C370 8000B770 4600D486 */ mov.s $f18, $f26 -.L8000B774: -/* 00C374 8000B774 46189100 */ add.s $f4, $f18, $f24 -/* 00C378 8000B778 240C0001 */ li $t4, 1 -/* 00C37C 8000B77C 240F003C */ li $t7, 60 -/* 00C380 8000B780 4608203C */ c.lt.s $f4, $f8 -/* 00C384 8000B784 00000000 */ nop -/* 00C388 8000B788 4502000A */ bc1fl .L8000B7B4 -/* 00C38C 8000B78C A70F0000 */ sh $t7, ($t8) -/* 00C390 8000B790 2419003C */ li $t9, 60 -/* 00C394 8000B794 A5D90000 */ sh $t9, ($t6) -/* 00C398 8000B798 8FAD0058 */ lw $t5, 0x58($sp) -/* 00C39C 8000B79C 3C018016 */ lui $at, %hi(D_80163090) -/* 00C3A0 8000B7A0 A44C0000 */ sh $t4, ($v0) -/* 00C3A4 8000B7A4 002D0821 */ addu $at, $at, $t5 -/* 00C3A8 8000B7A8 10000007 */ b .L8000B7C8 -/* 00C3AC 8000B7AC E4343090 */ swc1 $f20, %lo(D_80163090)($at) -/* 00C3B0 8000B7B0 A70F0000 */ sh $t7, ($t8) -.L8000B7B4: -/* 00C3B4 8000B7B4 8FAE0058 */ lw $t6, 0x58($sp) -/* 00C3B8 8000B7B8 3C018016 */ lui $at, %hi(D_80163090) -/* 00C3BC 8000B7BC A4590000 */ sh $t9, ($v0) -/* 00C3C0 8000B7C0 002E0821 */ addu $at, $at, $t6 -/* 00C3C4 8000B7C4 E4323090 */ swc1 $f18, %lo(D_80163090)($at) -.L8000B7C8: -/* 00C3C8 8000B7C8 8FBF003C */ lw $ra, 0x3c($sp) -.L8000B7CC: -/* 00C3CC 8000B7CC D7B40018 */ ldc1 $f20, 0x18($sp) -/* 00C3D0 8000B7D0 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 00C3D4 8000B7D4 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 00C3D8 8000B7D8 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 00C3DC 8000B7DC 03E00008 */ jr $ra -/* 00C3E0 8000B7E0 27BD0100 */ addiu $sp, $sp, 0x100 diff --git a/asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s b/asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s deleted file mode 100644 index 1801f4b4c..000000000 --- a/asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s +++ /dev/null @@ -1,126 +0,0 @@ -glabel render_texture_tile_rgba32_block -/* 04D2FC 8004C6FC 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 04D300 8004C700 AFB10024 */ sw $s1, 0x24($sp) -/* 04D304 8004C704 8FB10058 */ lw $s1, 0x58($sp) -/* 04D308 8004C708 3C0C8015 */ lui $t4, %hi(gDisplayListHead) # $t4, 0x8015 -/* 04D30C 8004C70C 258C0298 */ addiu $t4, %lo(gDisplayListHead) # addiu $t4, $t4, 0x298 -/* 04D310 8004C710 00047400 */ sll $t6, $a0, 0x10 -/* 04D314 8004C714 00F10019 */ multu $a3, $s1 -/* 04D318 8004C718 8D820000 */ lw $v0, ($t4) -/* 04D31C 8004C71C 000E7C03 */ sra $t7, $t6, 0x10 -/* 04D320 8004C720 0005C400 */ sll $t8, $a1, 0x10 -/* 04D324 8004C724 0018CC03 */ sra $t9, $t8, 0x10 -/* 04D328 8004C728 AFBE0040 */ sw $fp, 0x40($sp) -/* 04D32C 8004C72C AFA40048 */ sw $a0, 0x48($sp) -/* 04D330 8004C730 00076842 */ srl $t5, $a3, 1 -/* 04D334 8004C734 01E02025 */ move $a0, $t7 -/* 04D338 8004C738 AFB40030 */ sw $s4, 0x30($sp) -/* 04D33C 8004C73C AFA5004C */ sw $a1, 0x4c($sp) -/* 04D340 8004C740 01EDF023 */ subu $fp, $t7, $t5 -/* 04D344 8004C744 00117042 */ srl $t6, $s1, 1 -/* 04D348 8004C748 03202825 */ move $a1, $t9 -/* 04D34C 8004C74C 032EA023 */ subu $s4, $t9, $t6 -/* 04D350 8004C750 244F0008 */ addiu $t7, $v0, 8 -/* 04D354 8004C754 AFBF0044 */ sw $ra, 0x44($sp) -/* 04D358 8004C758 AFB7003C */ sw $s7, 0x3c($sp) -/* 04D35C 8004C75C AFB60038 */ sw $s6, 0x38($sp) -/* 04D360 8004C760 AFB50034 */ sw $s5, 0x34($sp) -/* 04D364 8004C764 AFB3002C */ sw $s3, 0x2c($sp) -/* 04D368 8004C768 AFB20028 */ sw $s2, 0x28($sp) -/* 04D36C 8004C76C AFB00020 */ sw $s0, 0x20($sp) -/* 04D370 8004C770 AD8F0000 */ sw $t7, ($t4) -/* 04D374 8004C774 3C190D00 */ lui $t9, %hi(D_0D007EF8) # $t9, 0xd00 -/* 04D378 8004C778 27397EF8 */ addiu $t9, %lo(D_0D007EF8) # addiu $t9, $t9, 0x7ef8 -/* 04D37C 8004C77C 3C180600 */ lui $t8, 0x600 -/* 04D380 8004C780 AC580000 */ sw $t8, ($v0) -/* 04D384 8004C784 AC590004 */ sw $t9, 4($v0) -/* 04D388 8004C788 00404025 */ move $t0, $v0 -/* 04D38C 8004C78C 8D820000 */ lw $v0, ($t4) -/* 04D390 8004C790 00001812 */ mflo $v1 -/* 04D394 8004C794 0003C080 */ sll $t8, $v1, 2 -/* 04D398 8004C798 3C0F0050 */ lui $t7, (0x00504240 >> 16) # lui $t7, 0x50 -/* 04D39C 8004C79C 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 04D3A0 8004C7A0 244D0008 */ addiu $t5, $v0, 8 -/* 04D3A4 8004C7A4 AD8D0000 */ sw $t5, ($t4) -/* 04D3A8 8004C7A8 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 04D3AC 8004C7AC 35EF4240 */ ori $t7, (0x00504240 & 0xFFFF) # ori $t7, $t7, 0x4240 -/* 04D3B0 8004C7B0 00185B02 */ srl $t3, $t8, 0xc -/* 04D3B4 8004C7B4 33190FFF */ andi $t9, $t8, 0xfff -/* 04D3B8 8004C7B8 00E09025 */ move $s2, $a3 -/* 04D3BC 8004C7BC 00C0A825 */ move $s5, $a2 -/* 04D3C0 8004C7C0 03001825 */ move $v1, $t8 -/* 04D3C4 8004C7C4 0300B025 */ move $s6, $t8 -/* 04D3C8 8004C7C8 01605025 */ move $t2, $t3 -/* 04D3CC 8004C7CC AC4F0004 */ sw $t7, 4($v0) -/* 04D3D0 8004C7D0 AC4E0000 */ sw $t6, ($v0) -/* 04D3D4 8004C7D4 13200002 */ beqz $t9, .L8004C7E0 -/* 04D3D8 8004C7D8 00404825 */ move $t1, $v0 -/* 04D3DC 8004C7DC 256A0001 */ addiu $t2, $t3, 1 -.L8004C7E0: -/* 04D3E0 8004C7E0 022A001B */ divu $zero, $s1, $t2 -/* 04D3E4 8004C7E4 00008012 */ mflo $s0 -/* 04D3E8 8004C7E8 0140B825 */ move $s7, $t2 -/* 04D3EC 8004C7EC 15400002 */ bnez $t2, .L8004C7F8 -/* 04D3F0 8004C7F0 00000000 */ nop -/* 04D3F4 8004C7F4 0007000D */ break 7 -.L8004C7F8: -/* 04D3F8 8004C7F8 00009825 */ move $s3, $zero -/* 04D3FC 8004C7FC 1940001F */ blez $t2, .L8004C87C -/* 04D400 8004C800 00000000 */ nop -.L8004C804: -/* 04D404 8004C804 02500019 */ multu $s2, $s0 -/* 04D408 8004C808 02A02025 */ move $a0, $s5 -/* 04D40C 8004C80C 02402825 */ move $a1, $s2 -/* 04D410 8004C810 02003025 */ move $a2, $s0 -/* 04D414 8004C814 00008812 */ mflo $s1 -/* 04D418 8004C818 00116880 */ sll $t5, $s1, 2 -/* 04D41C 8004C81C 0C010F0A */ jal load_texture_tile_rgba32_nomirror -/* 04D420 8004C820 01A08825 */ move $s1, $t5 -/* 04D424 8004C824 240E0001 */ li $t6, 1 -/* 04D428 8004C828 AFAE0010 */ sw $t6, 0x10($sp) -/* 04D42C 8004C82C 03C02025 */ move $a0, $fp -/* 04D430 8004C830 02802825 */ move $a1, $s4 -/* 04D434 8004C834 02403025 */ move $a2, $s2 -/* 04D438 8004C838 0C012E54 */ jal render_texture_rectangle_wrap -/* 04D43C 8004C83C 02003825 */ move $a3, $s0 -/* 04D440 8004C840 02D11023 */ subu $v0, $s6, $s1 -/* 04D444 8004C844 04410008 */ bgez $v0, .L8004C868 -/* 04D448 8004C848 02B1A821 */ addu $s5, $s5, $s1 -/* 04D44C 8004C84C 02D2001B */ divu $zero, $s6, $s2 -/* 04D450 8004C850 00008012 */ mflo $s0 -/* 04D454 8004C854 16400002 */ bnez $s2, .L8004C860 -/* 04D458 8004C858 00000000 */ nop -/* 04D45C 8004C85C 0007000D */ break 7 -.L8004C860: -/* 04D460 8004C860 10000003 */ b .L8004C870 -/* 04D464 8004C864 26730001 */ addiu $s3, $s3, 1 -.L8004C868: -/* 04D468 8004C868 0040B025 */ move $s6, $v0 -/* 04D46C 8004C86C 26730001 */ addiu $s3, $s3, 1 -.L8004C870: -/* 04D470 8004C870 0277082A */ slt $at, $s3, $s7 -/* 04D474 8004C874 1420FFE3 */ bnez $at, .L8004C804 -/* 04D478 8004C878 0290A021 */ addu $s4, $s4, $s0 -.L8004C87C: -/* 04D47C 8004C87C 3C028015 */ lui $v0, %hi(gDisplayListHead) # $v0, 0x8015 -/* 04D480 8004C880 8C420298 */ lw $v0, %lo(gDisplayListHead)($v0) -/* 04D484 8004C884 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015 -/* 04D488 8004C888 3C190D00 */ lui $t9, %hi(D_0D007EB8) # $t9, 0xd00 -/* 04D48C 8004C88C 244F0008 */ addiu $t7, $v0, 8 -/* 04D490 8004C890 AC2F0298 */ sw $t7, %lo(gDisplayListHead)($at) -/* 04D494 8004C894 27397EB8 */ addiu $t9, %lo(D_0D007EB8) # addiu $t9, $t9, 0x7eb8 -/* 04D498 8004C898 3C180600 */ lui $t8, 0x600 -/* 04D49C 8004C89C AC580000 */ sw $t8, ($v0) -/* 04D4A0 8004C8A0 AC590004 */ sw $t9, 4($v0) -/* 04D4A4 8004C8A4 8FBF0044 */ lw $ra, 0x44($sp) -/* 04D4A8 8004C8A8 8FBE0040 */ lw $fp, 0x40($sp) -/* 04D4AC 8004C8AC 8FB7003C */ lw $s7, 0x3c($sp) -/* 04D4B0 8004C8B0 8FB60038 */ lw $s6, 0x38($sp) -/* 04D4B4 8004C8B4 8FB50034 */ lw $s5, 0x34($sp) -/* 04D4B8 8004C8B8 8FB40030 */ lw $s4, 0x30($sp) -/* 04D4BC 8004C8BC 8FB3002C */ lw $s3, 0x2c($sp) -/* 04D4C0 8004C8C0 8FB20028 */ lw $s2, 0x28($sp) -/* 04D4C4 8004C8C4 8FB10024 */ lw $s1, 0x24($sp) -/* 04D4C8 8004C8C8 8FB00020 */ lw $s0, 0x20($sp) -/* 04D4CC 8004C8CC 03E00008 */ jr $ra -/* 04D4D0 8004C8D0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/save/func_800B578C.s b/asm/non_matchings/save/func_800B578C.s deleted file mode 100644 index 9e2072794..000000000 --- a/asm/non_matchings/save/func_800B578C.s +++ /dev/null @@ -1,67 +0,0 @@ -glabel func_800B578C -/* 0B638C 800B578C 000470C0 */ sll $t6, $a0, 3 -/* 0B6390 800B5790 01C47023 */ subu $t6, $t6, $a0 -/* 0B6394 800B5794 000E70C0 */ sll $t6, $t6, 3 -/* 0B6398 800B5798 3C188019 */ lui $t8, %hi(gSaveData) # $t8, 0x8019 -/* 0B639C 800B579C 2718EB90 */ addiu $t8, %lo(gSaveData) # addiu $t8, $t8, -0x1470 -/* 0B63A0 800B57A0 25CF0188 */ addiu $t7, $t6, 0x188 -/* 0B63A4 800B57A4 01F83021 */ addu $a2, $t7, $t8 -/* 0B63A8 800B57A8 00001825 */ move $v1, $zero -/* 0B63AC 800B57AC 00C04025 */ move $t0, $a2 -/* 0B63B0 800B57B0 00001025 */ move $v0, $zero -/* 0B63B4 800B57B4 240A0003 */ li $t2, 3 -/* 0B63B8 800B57B8 24090011 */ li $t1, 17 -.L800B57BC: -/* 0B63BC 800B57BC 91190000 */ lbu $t9, ($t0) -/* 0B63C0 800B57C0 24450001 */ addiu $a1, $v0, 1 -/* 0B63C4 800B57C4 24C70001 */ addiu $a3, $a2, 1 -/* 0B63C8 800B57C8 272B0001 */ addiu $t3, $t9, 1 -/* 0B63CC 800B57CC 01650019 */ multu $t3, $a1 -/* 0B63D0 800B57D0 24C60011 */ addiu $a2, $a2, 0x11 -/* 0B63D4 800B57D4 00A01025 */ move $v0, $a1 -/* 0B63D8 800B57D8 24040001 */ li $a0, 1 -/* 0B63DC 800B57DC 00006012 */ mflo $t4 -/* 0B63E0 800B57E0 006C1821 */ addu $v1, $v1, $t4 -/* 0B63E4 800B57E4 00000000 */ nop -.L800B57E8: -/* 0B63E8 800B57E8 90ED0000 */ lbu $t5, ($a3) -/* 0B63EC 800B57EC 90F90001 */ lbu $t9, 1($a3) -/* 0B63F0 800B57F0 24E70004 */ addiu $a3, $a3, 4 -/* 0B63F4 800B57F4 25AE0001 */ addiu $t6, $t5, 1 -/* 0B63F8 800B57F8 01C50019 */ multu $t6, $a1 -/* 0B63FC 800B57FC 272B0001 */ addiu $t3, $t9, 1 -/* 0B6400 800B5800 90EEFFFE */ lbu $t6, -2($a3) -/* 0B6404 800B5804 00007812 */ mflo $t7 -/* 0B6408 800B5808 006FC021 */ addu $t8, $v1, $t7 -/* 0B640C 800B580C 25CF0001 */ addiu $t7, $t6, 1 -/* 0B6410 800B5810 01650019 */ multu $t3, $a1 -/* 0B6414 800B5814 90EBFFFF */ lbu $t3, -1($a3) -/* 0B6418 800B5818 03041821 */ addu $v1, $t8, $a0 -/* 0B641C 800B581C 00006012 */ mflo $t4 -/* 0B6420 800B5820 006C6821 */ addu $t5, $v1, $t4 -/* 0B6424 800B5824 256C0001 */ addiu $t4, $t3, 1 -/* 0B6428 800B5828 01E50019 */ multu $t7, $a1 -/* 0B642C 800B582C 01A41821 */ addu $v1, $t5, $a0 -/* 0B6430 800B5830 24630001 */ addiu $v1, $v1, 1 -/* 0B6434 800B5834 0000C012 */ mflo $t8 -/* 0B6438 800B5838 0078C821 */ addu $t9, $v1, $t8 -/* 0B643C 800B583C 03241821 */ addu $v1, $t9, $a0 -/* 0B6440 800B5840 01850019 */ multu $t4, $a1 -/* 0B6444 800B5844 24630002 */ addiu $v1, $v1, 2 -/* 0B6448 800B5848 00006812 */ mflo $t5 -/* 0B644C 800B584C 006D7021 */ addu $t6, $v1, $t5 -/* 0B6450 800B5850 01C41821 */ addu $v1, $t6, $a0 -/* 0B6454 800B5854 24840004 */ addiu $a0, $a0, 4 -/* 0B6458 800B5858 1489FFE3 */ bne $a0, $t1, .L800B57E8 -/* 0B645C 800B585C 24630003 */ addiu $v1, $v1, 3 -/* 0B6460 800B5860 14AAFFD6 */ bne $a1, $t2, .L800B57BC -/* 0B6464 800B5864 25080011 */ addiu $t0, $t0, 0x11 -/* 0B6468 800B5868 04610004 */ bgez $v1, .L800B587C -/* 0B646C 800B586C 306200FF */ andi $v0, $v1, 0xff -/* 0B6470 800B5870 10400002 */ beqz $v0, .L800B587C -/* 0B6474 800B5874 00000000 */ nop -/* 0B6478 800B5878 2442FF00 */ addiu $v0, $v0, -0x100 -.L800B587C: -/* 0B647C 800B587C 304F00FF */ andi $t7, $v0, 0xff -/* 0B6480 800B5880 03E00008 */ jr $ra -/* 0B6484 800B5884 01E01025 */ move $v0, $t7 diff --git a/asm/non_matchings/update_objects/func_80080E8C.s b/asm/non_matchings/update_objects/func_80080E8C.s deleted file mode 100644 index 71e239f33..000000000 --- a/asm/non_matchings/update_objects/func_80080E8C.s +++ /dev/null @@ -1,99 +0,0 @@ -.section .late_rodata - -glabel D_800EF0B8 -.double 0.6 - -glabel D_800EF0C0 -.double 0.6 - -.section .text - -glabel func_80080E8C -/* 081A8C 80080E8C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 081A90 80080E90 AFBF001C */ sw $ra, 0x1c($sp) -/* 081A94 80080E94 AFA50044 */ sw $a1, 0x44($sp) -/* 081A98 80080E98 AFB10018 */ sw $s1, 0x18($sp) -/* 081A9C 80080E9C AFB00014 */ sw $s0, 0x14($sp) -/* 081AA0 80080EA0 AFA40040 */ sw $a0, 0x40($sp) -/* 081AA4 80080EA4 AFA60048 */ sw $a2, 0x48($sp) -/* 081AA8 80080EA8 0C01C8E9 */ jal init_object -/* 081AAC 80080EAC 00C02825 */ move $a1, $a2 -/* 081AB0 80080EB0 8FAE0040 */ lw $t6, 0x40($sp) -/* 081AB4 80080EB4 240700E0 */ li $a3, 224 -/* 081AB8 80080EB8 8FB90044 */ lw $t9, 0x44($sp) -/* 081ABC 80080EBC 01C70019 */ multu $t6, $a3 -/* 081AC0 80080EC0 8FA40048 */ lw $a0, 0x48($sp) -/* 081AC4 80080EC4 3C058016 */ lui $a1, %hi(gObjectList) # $a1, 0x8016 -/* 081AC8 80080EC8 24A55C18 */ addiu $a1, %lo(gObjectList) # addiu $a1, $a1, 0x5c18 -/* 081ACC 80080ECC 24180002 */ li $t8, 2 -/* 081AD0 80080ED0 3C0B800E */ lui $t3, %hi(D_800E594C) # $t3, 0x800e -/* 081AD4 80080ED4 00044840 */ sll $t1, $a0, 1 -/* 081AD8 80080ED8 00095080 */ sll $t2, $t1, 2 -/* 081ADC 80080EDC 256B594C */ addiu $t3, %lo(D_800E594C) # addiu $t3, $t3, 0x594c -/* 081AE0 80080EE0 014B1821 */ addu $v1, $t2, $t3 -/* 081AE4 80080EE4 00007812 */ mflo $t7 -/* 081AE8 80080EE8 00AF8021 */ addu $s0, $a1, $t7 -/* 081AEC 80080EEC A21800D5 */ sb $t8, 0xd5($s0) -/* 081AF0 80080EF0 03270019 */ multu $t9, $a3 -/* 081AF4 80080EF4 C46C0004 */ lwc1 $f12, 4($v1) -/* 081AF8 80080EF8 C46E0000 */ lwc1 $f14, ($v1) -/* 081AFC 80080EFC AFA30024 */ sw $v1, 0x24($sp) -/* 081B00 80080F00 01202025 */ move $a0, $t1 -/* 081B04 80080F04 AFA90028 */ sw $t1, 0x28($sp) -/* 081B08 80080F08 00004012 */ mflo $t0 -/* 081B0C 80080F0C 00A81021 */ addu $v0, $a1, $t0 -/* 081B10 80080F10 945100C0 */ lhu $s1, 0xc0($v0) -/* 081B14 80080F14 AFA2002C */ sw $v0, 0x2c($sp) -/* 081B18 80080F18 0C0105B6 */ jal func_800416D8 -/* 081B1C 80080F1C 02203025 */ move $a2, $s1 -/* 081B20 80080F20 8FA30024 */ lw $v1, 0x24($sp) -/* 081B24 80080F24 E7A00038 */ swc1 $f0, 0x38($sp) -/* 081B28 80080F28 3226FFFF */ andi $a2, $s1, 0xffff -/* 081B2C 80080F2C C46C0004 */ lwc1 $f12, 4($v1) -/* 081B30 80080F30 0C0105C9 */ jal func_80041724 -/* 081B34 80080F34 C46E0000 */ lwc1 $f14, ($v1) -/* 081B38 80080F38 8FA2002C */ lw $v0, 0x2c($sp) -/* 081B3C 80080F3C 3C014022 */ li $at, 0x40220000 # 2.531250 -/* 081B40 80080F40 44818800 */ mtc1 $at, $f17 -/* 081B44 80080F44 C4440004 */ lwc1 $f4, 4($v0) -/* 081B48 80080F48 44808000 */ mtc1 $zero, $f16 -/* 081B4C 80080F4C 8FAC0028 */ lw $t4, 0x28($sp) -/* 081B50 80080F50 46002180 */ add.s $f6, $f4, $f0 -/* 081B54 80080F54 3C0D800E */ lui $t5, %hi(D_800E597C) # 0x800e -/* 081B58 80080F58 01AC6821 */ addu $t5, $t5, $t4 -/* 081B5C 80080F5C E6060010 */ swc1 $f6, 0x10($s0) -/* 081B60 80080F60 C4480044 */ lwc1 $f8, 0x44($v0) -/* 081B64 80080F64 460042A1 */ cvt.d.s $f10, $f8 -/* 081B68 80080F68 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 081B6C 80080F6C 46305481 */ sub.d $f18, $f10, $f16 -/* 081B70 80080F70 46209120 */ cvt.s.d $f4, $f18 -/* 081B74 80080F74 E6040014 */ swc1 $f4, 0x14($s0) -/* 081B78 80080F78 C446000C */ lwc1 $f6, 0xc($v0) -/* 081B7C 80080F7C 46083280 */ add.s $f10, $f6, $f8 -/* 081B80 80080F80 E60A0018 */ swc1 $f10, 0x18($s0) -/* 081B84 80080F84 85AD597C */ lh $t5, %lo(D_800E597C)($t5) # 0x597c($t5) -/* 081B88 80080F88 944E00C0 */ lhu $t6, 0xc0($v0) -/* 081B8C 80080F8C 01AE8821 */ addu $s1, $t5, $t6 -/* 081B90 80080F90 322FFFFF */ andi $t7, $s1, 0xffff -/* 081B94 80080F94 01E08825 */ move $s1, $t7 -/* 081B98 80080F98 0C0AE006 */ jal sins -/* 081B9C 80080F9C 31E4FFFF */ andi $a0, $t7, 0xffff -/* 081BA0 80080FA0 3C01800F */ lui $at, %hi(D_800EF0B8) -/* 081BA4 80080FA4 D432F0B8 */ ldc1 $f18, %lo(D_800EF0B8)($at) -/* 081BA8 80080FA8 46000421 */ cvt.d.s $f16, $f0 -/* 081BAC 80080FAC 3224FFFF */ andi $a0, $s1, 0xffff -/* 081BB0 80080FB0 46328102 */ mul.d $f4, $f16, $f18 -/* 081BB4 80080FB4 462021A0 */ cvt.s.d $f6, $f4 -/* 081BB8 80080FB8 0C0AE00E */ jal coss -/* 081BBC 80080FBC E6060038 */ swc1 $f6, 0x38($s0) -/* 081BC0 80080FC0 3C01800F */ lui $at, %hi(D_800EF0C0) -/* 081BC4 80080FC4 D42AF0C0 */ ldc1 $f10, %lo(D_800EF0C0)($at) -/* 081BC8 80080FC8 46000221 */ cvt.d.s $f8, $f0 -/* 081BCC 80080FCC 8FBF001C */ lw $ra, 0x1c($sp) -/* 081BD0 80080FD0 462A4402 */ mul.d $f16, $f8, $f10 -/* 081BD4 80080FD4 8FB10018 */ lw $s1, 0x18($sp) -/* 081BD8 80080FD8 462084A0 */ cvt.s.d $f18, $f16 -/* 081BDC 80080FDC E6120040 */ swc1 $f18, 0x40($s0) -/* 081BE0 80080FE0 8FB00014 */ lw $s0, 0x14($sp) -/* 081BE4 80080FE4 03E00008 */ jr $ra -/* 081BE8 80080FE8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/update_objects/func_80082F1C.s b/asm/non_matchings/update_objects/func_80082F1C.s deleted file mode 100644 index bc5df84bf..000000000 --- a/asm/non_matchings/update_objects/func_80082F1C.s +++ /dev/null @@ -1,71 +0,0 @@ -.section .late_rodata - -glabel D_800EF1BC -.float 0.027 - -.section .text - -glabel func_80082F1C -/* 083B1C 80082F1C 000470C0 */ sll $t6, $a0, 3 -/* 083B20 80082F20 01C47023 */ subu $t6, $t6, $a0 -/* 083B24 80082F24 3C0F8016 */ lui $t7, %hi(gObjectList) # $t7, 0x8016 -/* 083B28 80082F28 25EF5C18 */ addiu $t7, %lo(gObjectList) # addiu $t7, $t7, 0x5c18 -/* 083B2C 80082F2C 000E7140 */ sll $t6, $t6, 5 -/* 083B30 80082F30 01CF1021 */ addu $v0, $t6, $t7 -/* 083B34 80082F34 3C180601 */ lui $t8, %hi(d_course_yoshi_valley_unk5) # $t8, 0x601 -/* 083B38 80082F38 3C190601 */ lui $t9, %hi(d_course_yoshi_valley_unk4) # $t9, 0x601 -/* 083B3C 80082F3C 27184798 */ addiu $t8, %lo(d_course_yoshi_valley_unk5) # addiu $t8, $t8, 0x4798 -/* 083B40 80082F40 27394794 */ addiu $t9, %lo(d_course_yoshi_valley_unk4) # addiu $t9, $t9, 0x4794 -/* 083B44 80082F44 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 083B48 80082F48 AC580070 */ sw $t8, 0x70($v0) -/* 083B4C 80082F4C AC590074 */ sw $t9, 0x74($v0) -/* 083B50 80082F50 3C01800F */ lui $at, %hi(D_800EF1BC) # $at, 0x800f -/* 083B54 80082F54 C424F1BC */ lwc1 $f4, %lo(D_800EF1BC)($at) -/* 083B58 80082F58 AFBF001C */ sw $ra, 0x1c($sp) -/* 083B5C 80082F5C AFB00018 */ sw $s0, 0x18($sp) -/* 083B60 80082F60 00808025 */ move $s0, $a0 -/* 083B64 80082F64 AFA5002C */ sw $a1, 0x2c($sp) -/* 083B68 80082F68 0C01C922 */ jal object_next_state -/* 083B6C 80082F6C E4440000 */ swc1 $f4, ($v0) -/* 083B70 80082F70 8FA9002C */ lw $t1, 0x2c($sp) -/* 083B74 80082F74 3C0B800E */ lui $t3, %hi(D_800E5DF4) # $t3, 0x800e -/* 083B78 80082F78 256B5DF4 */ addiu $t3, %lo(D_800E5DF4) # addiu $t3, $t3, 0x5df4 -/* 083B7C 80082F7C 000950C0 */ sll $t2, $t1, 3 -/* 083B80 80082F80 014B1021 */ addu $v0, $t2, $t3 -/* 083B84 80082F84 844C0000 */ lh $t4, ($v0) -/* 083B88 80082F88 844D0002 */ lh $t5, 2($v0) -/* 083B8C 80082F8C 844E0004 */ lh $t6, 4($v0) -/* 083B90 80082F90 448C3000 */ mtc1 $t4, $f6 -/* 083B94 80082F94 3C018019 */ lui $at, %hi(xOrientation) # $at, 0x8019 -/* 083B98 80082F98 C42AD01C */ lwc1 $f10, %lo(xOrientation)($at) -/* 083B9C 80082F9C 46803220 */ cvt.s.w $f8, $f6 -/* 083BA0 80082FA0 448D9000 */ mtc1 $t5, $f18 -/* 083BA4 80082FA4 448E2000 */ mtc1 $t6, $f4 -/* 083BA8 80082FA8 AFA20024 */ sw $v0, 0x24($sp) -/* 083BAC 80082FAC 02002025 */ move $a0, $s0 -/* 083BB0 80082FB0 468094A0 */ cvt.s.w $f18, $f18 -/* 083BB4 80082FB4 460A4402 */ mul.s $f16, $f8, $f10 -/* 083BB8 80082FB8 44069000 */ mfc1 $a2, $f18 -/* 083BBC 80082FBC 46802120 */ cvt.s.w $f4, $f4 -/* 083BC0 80082FC0 44058000 */ mfc1 $a1, $f16 -/* 083BC4 80082FC4 44072000 */ mfc1 $a3, $f4 -/* 083BC8 80082FC8 0C022DF5 */ jal set_obj_origin_pos -/* 083BCC 80082FCC 00000000 */ nop -/* 083BD0 80082FD0 44800000 */ mtc1 $zero, $f0 -/* 083BD4 80082FD4 02002025 */ move $a0, $s0 -/* 083BD8 80082FD8 44050000 */ mfc1 $a1, $f0 -/* 083BDC 80082FDC 44060000 */ mfc1 $a2, $f0 -/* 083BE0 80082FE0 44070000 */ mfc1 $a3, $f0 -/* 083BE4 80082FE4 0C022E03 */ jal set_obj_origin_offset -/* 083BE8 80082FE8 00000000 */ nop -/* 083BEC 80082FEC 8FA20024 */ lw $v0, 0x24($sp) -/* 083BF0 80082FF0 02002025 */ move $a0, $s0 -/* 083BF4 80082FF4 00002825 */ move $a1, $zero -/* 083BF8 80082FF8 00003825 */ move $a3, $zero -/* 083BFC 80082FFC 0C022E22 */ jal set_obj_direction_angle -/* 083C00 80083000 94460006 */ lhu $a2, 6($v0) -/* 083C04 80083004 8FBF001C */ lw $ra, 0x1c($sp) -/* 083C08 80083008 8FB00018 */ lw $s0, 0x18($sp) -/* 083C0C 8008300C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 083C10 80083010 03E00008 */ jr $ra -/* 083C14 80083014 00000000 */ nop diff --git a/include/objects.h b/include/objects.h index 9768adc8d..67feb5c23 100644 --- a/include/objects.h +++ b/include/objects.h @@ -205,12 +205,8 @@ extern Collision D_8018C0B0[]; #define NUM_YV_FLAG_POLES 4 -typedef struct { - /* 0x0 */ Vec3s pos; - /* 0x6 */ u16 rot; -} YVFlagPoleSpawn; // size = 0x8; - -extern YVFlagPoleSpawn D_800E5DF4[]; +// pos, rot +extern s16 D_800E5DF4[]; #define NUM_CRABS 0xA @@ -227,6 +223,7 @@ extern CrabSpawn gCrabSpawns[]; #define NUM_THWOMPS_100CC_EXTRA 11 #define NUM_THWOMPS_150CC 12 +// pos x,y,z extern Vec3f D_800E6734[]; typedef struct { diff --git a/src/audio/load.c b/src/audio/load.c index 26d7ee6ef..94d95d05e 100644 --- a/src/audio/load.c +++ b/src/audio/load.c @@ -755,27 +755,31 @@ void load_sequence_internal(u32 player, u32 seqId, s32 loadAsync) { seqPlayer->scriptState.pc = sequenceData; } -#ifdef NON_MATCHING -// https://decomp.me/scratch/5FBUM -// There is some wild bullshit going on in this function -// It is an unholy cross between SM64's EU and Shindou -// verions of this function, with the for loop towards -// the bottom resembling stuff from bank_load_async + +#ifdef VERSION_EU +GLOBAL_ASM("asm/eu_nonmatchings/audio_init.s") +#else + extern u8 _audio_banksSegmentRomStart; extern u8 _audio_tablesSegmentRomStart; extern u8 _instrument_setsSegmentRomStart; extern u8 _sequencesSegmentRomStart; - +/** + * There is some wild bullshit going on in this function + * It is an unholy cross between SM64's EU and Shindou + * verions of this function, with the for loop towards + * the bottom resembling stuff from bank_load_async + */ void audio_init(void) { s32 i; - UNUSED s32 pad[2]; - s32 j; - UNUSED s32 pad2[6]; - u32 sp60[2]; - UNUSED s32 pad1[2]; + UNUSED s32 pad[6]; + s32 j, k; s32 aaa; + u32 sp60[2]; + UNUSED s32 lim2, lim3; s32 size; - UNUSED u64* ptr64; + u64* ptr64; + UNUSED void *data; UNUSED s32 one = 1; u8* test; @@ -788,10 +792,7 @@ void audio_init(void) { #ifdef TARGET_N64 // It seems boot.s doesn't clear the .bss area for audio, so do it here. ptr64 = (u64*) ((u8*) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer)); - for (i = ((uintptr_t) &gAudioGlobalsEndMarker - - (uintptr_t) ((u64*) ((u8*) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer)))) / - 8; - i >= 0; i--) { + for (k = ((uintptr_t) &gAudioGlobalsEndMarker - (uintptr_t) ((u64 *)((u8 *) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer))) ) / 8; k >= 0; k--) { *ptr64++ = 0; } #endif @@ -812,6 +813,7 @@ void audio_init(void) { break; } port_eu_init(); + if (k) {} // fake for (i = 0; i < NUMAIBUFFERS; i++) { gAiBufferLengths[i] = 0xa0; } @@ -878,10 +880,4 @@ void audio_init(void) { init_sequence_players(); gAudioLoadLock = 0x76557364; } -#else -#ifdef VERSION_EU -GLOBAL_ASM("asm/eu_nonmatchings/audio_init.s") -#else -GLOBAL_ASM("asm/non_matchings/audio/load/audio_init.s") -#endif #endif diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 58e7cf20b..659b2257f 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -364,13 +364,13 @@ s16 gGPCurrentRaceCharacterIdByRank[8]; s16 D_8018CF90; s16 D_8018CF98[8]; s16 D_8018CFA8; -s8 D_8018CFAC[4]; +u8 D_8018CFAC[4]; s16 D_8018CFB0; -s8 D_8018CFB4[4]; +u8 D_8018CFB4[4]; s16 D_8018CFB8; -s8 D_8018CFBC[4]; +u8 D_8018CFBC[4]; s16 D_8018CFC0; -s8 D_8018CFC4[4]; +u8 D_8018CFC4[4]; s16 D_8018CFC8; f32 D_8018CFCC; s16 D_8018CFD0; diff --git a/src/code_80057C60.h b/src/code_80057C60.h index bf34dc033..59392b910 100644 --- a/src/code_80057C60.h +++ b/src/code_80057C60.h @@ -454,10 +454,10 @@ extern s16 D_8018CFC0; extern s16 D_8018CFC8; extern s16 D_8018CFD0; extern s16 D_8018CFD8; -extern s8 D_8018CFAC[]; -extern s8 D_8018CFB4[]; -extern s8 D_8018CFBC[]; -extern s8 D_8018CFC4[]; +extern u8 D_8018CFAC[]; +extern u8 D_8018CFB4[]; +extern u8 D_8018CFBC[]; +extern u8 D_8018CFC4[]; extern s16 D_8018CFE0; extern f32 D_8018CFE4; extern s16 D_8018CFE8; diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c index 838087f30..68848af17 100644 --- a/src/code_8006E9C0.c +++ b/src/code_8006E9C0.c @@ -172,7 +172,7 @@ void func_8006EF60(void) { // clang-format on } -void course_mini_map_settings(void) { +void track_minimap_settings(void) { D_801655C8 = 0; xOrientation = 1.0f; if (gIsMirrorMode != 0) { @@ -418,16 +418,12 @@ void func_8006F8CC(void) { } } -#ifdef NON_MATCHING -// Major register allocation problems in the first for-loop -// Smaller issues elsewhere, probably some one line, multiple variable assignment shenanigans going on -// https://decomp.me/scratch/ohbAc void func_8006FA94(void) { - s32 var_a0; - Player* player; + s32 i; + Player *player; func_8006F8CC(); - course_mini_map_settings(); + track_minimap_settings(); osSetTime(0); D_8018D170 = 0; D_8018D190 = 0; @@ -437,117 +433,93 @@ void func_8006FA94(void) { D_801657E2 = 0; D_80165730 = 0; D_801658FE = 0; - /* - D_801657E5 = 0; - D_801657E3 = D_801657E5; - D_801657E1 = D_801657E3; - */ + D_801657E1 = D_801657E3 = D_801657E5 = 0; - /* - D_80165658->unk8 = 0; - D_80165658->unk4 = 0; - D_80165658->unk0 = 0; - */ + D_80165658[0] = D_80165658[1] = D_80165658[2] = 0; - /* - D_801658D6 = 0; - D_801658E4 = D_801658D6; - D_801658F4 = D_801658E4; - D_801658EC = D_801658F4; - D_801658DC = D_801658EC; - D_801658CE = D_801658DC; - D_801658C6 = D_801658CE; - D_801658BC = D_801658C6; - */ D_801658BC = D_801658C6 = D_801658CE = D_801658DC = D_801658EC = D_801658F4 = D_801658E4 = D_801658D6 = 0; - switch (gPlayerCount) { /* irregular */ - case 1: + + switch (gPlayerCount) { + case 1: + if (gModeSelection == 0) { + D_8018D114 = 0; + D_8018D178 = 150; + D_8018D180 = 240; + } else { + D_8018D114 = 1; + D_8018D178 = 10; + D_8018D180 = 0; + } + break; + case 2: + if (gScreenModeSelection == 1) { if (gModeSelection == 0) { - D_8018D114 = 0; + D_8018D114 = 2; D_8018D178 = 150; D_8018D180 = 240; - } else { - D_8018D114 = 1; - D_8018D178 = 10; - D_8018D180 = 0; - } - break; - case 2: - if (gScreenModeSelection == 1) { - if (gModeSelection == 0) { - D_8018D114 = 2; - D_8018D178 = 150; - D_8018D180 = 240; - D_8018D2AC = 60; - } else if (gModeSelection == 2) { - D_8018D114 = 3; - D_8018D178 = 30; - D_8018D180 = 30; - D_8018D2AC = 60; - } else { - D_8018D114 = 4; - D_8018D178 = 40; - D_8018D180 = 40; - D_8018D2AC = 60; - } - } else if (gModeSelection == 0) { - D_8018D114 = 5; + D_8018D2AC = 60; } else if (gModeSelection == 2) { - D_8018D114 = 6; - } else { - D_8018D114 = 7; - } - break; - case 3: - if (gModeSelection == 2) { - D_8018D114 = 8; - D_8018D178 = 100; - D_8018D180 = 150; - D_8018D2AC = 60; - } else { - D_8018D114 = 9; - D_8018D178 = 100; - D_8018D180 = 150; - D_8018D2AC = 60; - } - break; - case 4: - if (gModeSelection == 2) { - D_8018D114 = 10; + D_8018D114 = 3; D_8018D178 = 30; D_8018D180 = 30; - D_8018D2AC = 10; + D_8018D2AC = 60; } else { - D_8018D114 = 11; - D_8018D178 = 30; - D_8018D180 = 30; - D_8018D2AC = 10; + D_8018D114 = 4; + D_8018D178 = 40; + D_8018D180 = 40; + D_8018D2AC = 60; } - break; + } else if (gModeSelection == 0) { + D_8018D114 = 5; + } else if (gModeSelection == 2) { + D_8018D114 = 6; + } else { + D_8018D114 = 7; + } + break; + case 3: + if (gModeSelection == 2) { + D_8018D114 = 8; + D_8018D178 = 0x00000064; + D_8018D180 = 0x00000096; + D_8018D2AC = 0x0000003C; + } else { + D_8018D114 = 9; + D_8018D178 = 0x00000064; + D_8018D180 = 0x00000096; + D_8018D2AC = 0x0000003C; + } + break; + case 4: + if (gModeSelection == 2) { + D_8018D114 = 0x0000000A; + D_8018D178 = 0x0000001E; + D_8018D180 = 0x0000001E; + D_8018D2AC = 0x0000000A; + } else { + D_8018D114 = 0x0000000B; + D_8018D178 = 0x0000001E; + D_8018D180 = 0x0000001E; + D_8018D2AC = 0x0000000A; + } + break; } if (gEnableDebugMode == 0) { D_8016576A = 0; D_8016579C = 0; } - for (var_a0 = 0; var_a0 < gPlayerCount; var_a0++) { - D_8018CFBC[var_a0] = 0; - D_8018CFAC[var_a0] = 0; - D_8018CFC4[var_a0] = 0; - D_8018CFB4[var_a0] = 0; + + for (i = 0; i < gPlayerCount; i++) { + D_8018CFC4[i] = D_8018CFAC[i] = D_8018CFBC[i] = 0; + D_8018CFB4[i] = 0; } + D_8018D204 = 1; D_8018D1FC = 0; D_8018D224 = 0; D_8018D1F0 = D_8018D1F8 = 0; D_8018D228 = 0xFF; - /* - D_80165628 = 0; - D_80165618 = 0; - D_80165608 = D_80165618; - D_801655F8 = D_80165618; - D_801655E8 = D_80165618; - D_801655D8 = D_80165618; - */ + D_801655D8 = D_801655E8 = D_801655F8 = D_80165608 = D_80165618 = D_80165628 = 0; D_8018D160 = 0; D_8018D1DC = 0; @@ -556,46 +528,29 @@ void func_8006FA94(void) { D_8018D1A0 = 0; D_8018D168 = 0; D_801656F0 = 0; - D_801657B2 = 0; - D_801657D8 = D_801657B2; - D_8018D214 = D_801657D8; - gHUDDisable = D_8018D214; - D_801657AE = gHUDDisable; + D_801657AE = gHUDDisable = D_8018D214 = D_801657D8 = D_801657B2 = 0; D_8018D20C = 0; - D_8018D2F8 = 0; - D_8018D2F0 = D_8018D2F8; + D_8018D2F0 = D_8018D2F8 = 0; D_8018D320 = 3; D_8018D2AC = 0; - D_8018D2BC = 0; - D_8018D2B4 = D_8018D2BC; - D_8018D2A4 = D_8018D2B4; - D_8018D2C8[0] = 0; - D_8018D2C8[1] = 0; - D_8018D2C8[2] = 0; - D_8018D2C8[3] = 0; + D_8018D2A4 = D_8018D2B4 = D_8018D2BC = 0; + D_8018D2C8[0] = D_8018D2C8[1] = D_8018D2C8[2] = D_8018D2C8[3] = 0; D_8016581C = 0; D_8016580C = 0; D_80165814 = 0; D_80165804 = 0; D_801657FC = 0; - D_8018D18C = -1; - D_8018D184 = D_8018D18C; - D_8018D16C = D_8018D18C; - D_8018D17C = D_8018D18C; - D_8018D174 = D_8018D18C; + D_8018D174 = D_8018D17C = D_8018D16C = D_8018D184 = D_8018D18C = -1; player = gPlayerOne; - for (var_a0 = 0; var_a0 < NUM_PLAYERS; var_a0++) { - D_8018D0F0[var_a0] = D_8018D050[var_a0] = -32.0f; - D_8018CE10[var_a0].unk_04[0] = D_8018CE10[var_a0].unk_04[1] = D_8018CE10[var_a0].unk_04[2] = 0.0f; - D_8018CF50[var_a0] = var_a0; - D_8018CF28[var_a0] = player; + for (i = 0; i < NUM_PLAYERS; i++) { + D_8018D0F0[i] = D_8018D050[i] = -32.0f; + D_8018CE10[i].unk_04[0] = D_8018CE10[i].unk_04[1] = D_8018CE10[i].unk_04[2] = 0.0f; + D_8018CF50[i] = i; + D_8018CF28[i] = player; player->unk_040 = -1; player++; } } -#else -GLOBAL_ASM("asm/non_matchings/code_8006E9C0/func_8006FA94.s") -#endif void func_80070148(void) { s32 var_s0; diff --git a/src/code_8006E9C0.h b/src/code_8006E9C0.h index dfbff1335..ad2e1ffa7 100644 --- a/src/code_8006E9C0.h +++ b/src/code_8006E9C0.h @@ -13,7 +13,7 @@ void load_mario_kart_64_logo(void); void init_item_window(s32); void func_8006EEE8(s32); void func_8006EF60(void); -void course_mini_map_settings(void); +void track_minimap_settings(void); void func_8006F824(s32); void func_8006F8CC(void); void func_8006FA94(void); diff --git a/src/code_800AF9B0.c b/src/code_800AF9B0.c index bcc3f530e..054cdf922 100644 --- a/src/code_800AF9B0.c +++ b/src/code_800AF9B0.c @@ -81,48 +81,47 @@ void func_800AF9E4(Vtx* arg0, s32 arg1, s32 arg2, s32 arg3, s16 arg4, s16 arg5, gSP1Triangle(gDisplayListHead++, 3, 2, 1, 0); } -void func_800AFC54(Vtx* arg0, s32 arg1, s32 arg2, s32 arg3, s16 arg4[3]); -#ifdef NON_MATCHING -// guess on Vtx type? -void func_800AFC54(Vtx* arg0, s32 arg1, s32 arg2, s32 arg3, s16 arg4[3]) { - Vtx *a1, *a2, *a3; - s32 saved1, saved2, saved3; - f32 res; - s32 a, b, c, d, e, f; - f32 f14, f16, f18; +void func_800AFC54(Vtx* vtx, s32 a, s32 b, s32 c, Vec3s out) { + s32 varA0; + s32 varA2; + s32 varA4; + s32 varB0; + s32 varB2; + s32 varB4; + s32 varC0; + s32 varC2; + s32 varC4; + f32 dx; + f32 dy; + f32 dz; + f32 length; - a1 = &arg0[arg1]; - a2 = &arg0[arg2]; - a3 = &arg0[arg3]; + varA0 = (vtx + a)->v.ob[0]; + varA2 = (vtx + a)->v.ob[1]; + varA4 = (vtx + a)->v.ob[2]; - saved1 = a2->v.ob[0]; - saved2 = a2->v.ob[1]; - saved3 = a2->v.ob[2]; + varB0 = (vtx + b)->v.ob[0]; + varB2 = (vtx + b)->v.ob[1]; + varB4 = (vtx + b)->v.ob[2]; - a = saved2 - a1->v.ob[1]; - e = saved3 - a1->v.ob[2]; - d = a3->v.ob[1] - saved2; - b = a3->v.ob[2] - saved3; - f = a3->v.ob[0] - saved1; - c = saved1 - a1->v.ob[0]; + varC0 = (vtx + c)->v.ob[0]; + varC2 = (vtx + c)->v.ob[1]; + varC4 = (vtx + c)->v.ob[2]; - f14 = ((a) * (b)) - ((e) * (d)); - f16 = ((e) * (f)) - ((c) * (b)); - f18 = ((c) * (d)) - ((a) * (f)); + dx = ((varB2 - varA2) * (varC4 - varB4)) - ((varB4 - varA4) * (varC2 - varB2)); + dy = ((varB4 - varA4) * (varC0 - varB0)) - ((varB0 - varA0) * (varC4 - varB4)); + dz = ((varB0 - varA0) * (varC2 - varB2)) - ((varB2 - varA2) * (varC0 - varB0)); + + length = sqrtf((dx * dx) + (dy * dy) + (dz * dz)); - res = sqrtf(SQ(f14) + SQ(f16) + SQ(f18)); - - if (res < 0.001) { - res = 0.001; + if (length < 0.001) { + length = 0.001; } - - arg4[0] = f14 * (f32) (1.0 / res) * 120.0f; - arg4[1] = f16 * (f32) (1.0 / res) * 120.0f; - arg4[2] = f18 * (f32) (1.0 / res) * 120.0f; + length = 1.0 / length; + out[0] = (dx * length) * 120.0f; + out[1] = (dy * length) * 120.0f; + out[2] = (dz * length) * 120.0f; } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800AFC54.s") -#endif void func_800AFE00(Vtx* arg0, Vec3s* arg1, s32 arg2, s32 arg3) { s32 idx1; @@ -163,32 +162,33 @@ void func_800AFF58(Vtx* arg0) { } } -#ifdef NON_MATCHING -// Credit to SpazzyLemon for the updated and better attempt void func_800B0004(void) { - Vtx* vtxs; - s32 res1, res2; - UNUSED u32 pad[0x5]; - s32 i, j; - + Vtx *vtxs; + s32 res1; + s32 res2; + UNUSED u32 pad[0x4]; + s32 i; + s32 j; + s32 k; + s16 idx; + idx = 4; gSPLight(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_800E8688), LIGHT_1); gSPLight(gDisplayListHead++, VIRTUAL_TO_PHYSICAL2(&D_800E8680), LIGHT_2); gSPNumLights(gDisplayListHead++, NUMLIGHTS_1); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH); - gDPSetCombineLERP(gDisplayListHead++, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, - SHADE); + gDPSetCombineLERP(gDisplayListHead++, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE, PRIMITIVE, 0, SHADE, 0, 0, 0, 0, SHADE); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); - - vtxs = D_8018EDB4 % 2 ? D_8018EDB8 : D_8018EDBC; + vtxs = (D_8018EDB4 % 2) ? (D_8018EDB8) : (D_8018EDBC); D_8018EDB2 = 0x9C0; for (i = 0; i < 10; i++) { - for (j = 0; j < 12; j++) { - res1 = sins(D_8018EDB0 - (j * D_8018EDB2)) * 84.0f * j * 0.18f; - res2 = sins(D_8018EDB0 - ((j + 1) * D_8018EDB2)) * 84.0f * (j + 1) * 0.18f; - func_800AF9E4(&(&vtxs[j * 4])[i * 48], j, i, 84, res1, res2, (j * 84), 84); + for (k = 0, j = 0; j < 12; j++, k += 84) { + res1 = ((sins(D_8018EDB0 - (j * D_8018EDB2)) * 84.0f) * j) * 0.18f; + res2 = ((sins(D_8018EDB0 - ((j + 1) * D_8018EDB2)) * 84.0f) * (j + 1)) * 0.18f; + func_800AF9E4(&(&vtxs[j * idx])[i * 48], j, i, 84, res1, res2, k, 84); } } + func_800AFF58(vtxs); D_8018EDB0 += D_8018EDB2; ++D_8018EDB4; @@ -196,6 +196,3 @@ void func_800B0004(void) { gSPNumLights(gDisplayListHead++, NUMLIGHTS_1); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); } -#else -GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B0004.s") -#endif diff --git a/src/code_800AF9B0.h b/src/code_800AF9B0.h index 94a00493d..fa3f795df 100644 --- a/src/code_800AF9B0.h +++ b/src/code_800AF9B0.h @@ -6,5 +6,6 @@ /* Function Prototypes */ void func_800AF9B0(void); void func_800B0004(void); +void func_800AFC54(Vtx* vtx, s32 a, s32 b, s32 c, Vec3s out); #endif /* CODE_800AF9B0_H */ diff --git a/src/cpu_vehicles_camera_path.c b/src/cpu_vehicles_camera_path.c index b6d46e046..27a443894 100644 --- a/src/cpu_vehicles_camera_path.c +++ b/src/cpu_vehicles_camera_path.c @@ -1817,61 +1817,67 @@ void update_player(s32 playerId) { GLOBAL_ASM("asm/non_matchings/cpu_vehicles_camera_path/update_player.s") #endif -#ifdef NON_MATCHING -// Lots of work left to do, might be funtionally accurate? void func_8000B140(s32 playerId) { - UNUSED f32 stackPadding0; - UNUSED f32 stackPadding1; - UNUSED f32 stackPadding2; - UNUSED f32 stackPadding3; - UNUSED f32 stackPadding4; - UNUSED f32 stackPadding5; - UNUSED f32 stackPadding6; - UNUSED f32 stackPadding7; - f32 temp_f0_2; + s32 i; f32 temp_f12; f32 temp_f14; + s32 j; f32 temp_f16; + f32 temp_ft2; + s16 currPathPoint; + s16 temp_v1_2; f32 temp_f22; - f32 temp_f2; + f32 temp_f0_2; f32 var_f18; f32 var_f20; + s32 pad[5]; s16 spB0[8]; - UNUSED f32 stackPadding8; + f32 stackPadding8; s16 sp9C[8]; - UNUSED f32 stackPadding9; + f32 stackPadding9; + f32 temp_f2; f32 sp74[8]; s32 temp_a1_2; - s16 temp_v1_2; - s16 currPathPoint; - s32 j; - s32 i; Player* player; - player = &gPlayers[playerId]; - if (player->effects & UNKNOWN_EFFECT_0x10) + if (player->effects & UNKNOWN_EFFECT_0x10) { return; + } - if (D_801630E8[playerId] == 1) + if (D_801630E8[playerId] == 1) { return; - if (D_801630E8[playerId] == -1) + } + + if (D_801630E8[playerId] == -1) { return; - if (gTrackPositionFactor[playerId] < -1.0f) + } + + if (gTrackPositionFactor[playerId] < -1.0f) { return; - if (gTrackPositionFactor[playerId] > 1.0f) + } + + if (gTrackPositionFactor[playerId] > 1.0f) { return; + } // Exclude heavyweights - if (player->characterId == WARIO) + if (player->characterId == WARIO) { return; - if (player->characterId == BOWSER) + } + + if (player->characterId == BOWSER) { return; - if (player->characterId == DK) + } + + if (player->characterId == DK) { return; - // Skip if player has starman - if (player->effects & STAR_EFFECT) + } + + // Skip if player has star + if (player->effects & STAR_EFFECT) { return; + } currPathPoint = gNearestPathPointByPlayerId[playerId]; temp_f22 = (player->speed / 18.0f) * 216.0f; @@ -1879,6 +1885,7 @@ void func_8000B140(s32 playerId) { sp9C[i] = -1; spB0[i] = 0x03E8; } + if (D_80163010[playerId] > 0) { D_80163010[playerId]--; if (D_80163010[playerId] <= 0) { @@ -1886,76 +1893,92 @@ void func_8000B140(s32 playerId) { } } j = 0; - for (i = 0; (j < 2) && (i < 8); i++) { - if (i == playerId) - continue; - player = &gPlayers[i]; - if (!(player->type & PLAYER_EXISTS)) - continue; - temp_f2 = (temp_f22) -5.0f; - temp_v1_2 = gNearestPathPointByPlayerId[i]; - temp_f0_2 = (player->speed / 18.0f) * 216.0f; - if (temp_f0_2 < temp_f2) { - if (is_path_point_in_range(temp_v1_2, currPathPoint, 0U, 0x0014U, gSelectedPathCount) > 0) { - temp_a1_2 = temp_v1_2 - currPathPoint; - sp9C[j] = i; - if (temp_a1_2 > 0) { - spB0[j] = temp_a1_2; - } else { - spB0[j] = (temp_v1_2 + gSelectedPathCount) - currPathPoint; + i = 0; + while (i < 8) { + if (i != playerId) { + player = &gPlayers[i]; + if ((player->type & PLAYER_EXISTS)) { + temp_v1_2 = gNearestPathPointByPlayerId[i]; + temp_f0_2 = (player->speed / 18.0f) * 216.0f; + temp_f2 = temp_f22 - 5.0f; + if (temp_f0_2 < temp_f2) { + if (is_path_point_in_range(temp_v1_2, currPathPoint, 0, 0x0014U, gSelectedPathCount) > 0) { + temp_a1_2 = temp_v1_2 - currPathPoint; + sp9C[j] = i; + if (temp_a1_2 > 0) { + spB0[j] = temp_a1_2; + } else { + spB0[j] = (temp_v1_2 + gSelectedPathCount) - currPathPoint; + } + sp74[j] = temp_f2 - temp_f0_2; + j++; + } + + } + } + } + i++; + if (j >= 2) { + break; + } + } + + if (j == 0) { + return; + } + + var_f18 = 1.0f; + var_f20 = -1.0f; + for (i = 0; i < j; i++) { + temp_f2 = gTrackPositionFactor[sp9C[i]]; + if ((temp_f2 > (-1.0f)) && (temp_f2 < 1.0f)) { + + temp_f12 = temp_ft2 = ((0.2f * (20.0f / (spB0[i] + 20.0f))) * ((sp74[i]) + 10.0f)) / 20.0f; + + if ((var_f18 == 1.0f) && (var_f20 == (-1.0f))) { + var_f18 = temp_f2 - temp_f12; + var_f20 = temp_f2 + temp_f12; + } else { + temp_f14 = temp_f2 - temp_f12; + temp_f16 = temp_f2 + temp_f12; + if ((temp_f14 < var_f18) && (temp_f16 > var_f18)) { + var_f18 = temp_f14; + } + if ((temp_f16 > var_f20) && (temp_f14 < var_f20)) { + var_f20 = temp_f16; } - sp74[j] = temp_f2 - temp_f0_2; - j += 1; } } } - if (j != 0) { - var_f18 = 1.0f; - var_f20 = -1.0f; - for (i = 0; i < j; i++) { - temp_f2 = gTrackPositionFactor[sp9C[i]]; - if ((temp_f2 > -1.0f) && (temp_f2 < 1.0f)) { - temp_f12 = sp74[i] + 10.0f; - temp_f12 *= 0.2f * (20.0f / (spB0[i] + 20.0f)); - temp_f12 /= 20.0f; - if ((var_f18 == 1.0f) && (var_f20 == -1.0f)) { - var_f18 = temp_f2 - temp_f12; - var_f20 = temp_f2 + temp_f12; - } else { - temp_f14 = temp_f2 - temp_f12; - temp_f16 = temp_f2 + temp_f12; - if ((temp_f14 < 1.0f) && (temp_f16 > 1.0f)) { - var_f18 = temp_f14; - } - if ((temp_f16 > -1.0f) && (temp_f14 < -1.0f)) { - var_f20 = temp_f16; - } - } - } - } - if (!(var_f20 < var_f18) && !(gTrackPositionFactor[playerId] < var_f18) && - !(var_f20 < gTrackPositionFactor[playerId])) { - if (var_f20 > 1.0f) { - var_f20 = 1.0f; - } - if (var_f18 < -1.0f) { - var_f18 = -1.0f; - } - if ((var_f18 + 1.0f) < (1.0f - var_f20)) { - D_80163010[playerId] = 0x003C; - D_80162FF8[playerId] = 1; - D_80163090[playerId] = var_f20; - } else { - D_80163010[playerId] = 0x003C; - D_80162FF8[playerId] = 2; - D_80163090[playerId] = var_f18; - } - } + + if (var_f20 < var_f18) { + return; + } + + if (gTrackPositionFactor[playerId] < var_f18) { + return; + } + + if (var_f20 < gTrackPositionFactor[playerId]) { + return; + } + + if (var_f20 > 1.0f) { + var_f20 = 1.0f; + } + if (var_f18 < (-1.0f)) { + var_f18 = -1.0f; + } + if ((var_f18 + 1.0f) < (1.0f - var_f20)) { + D_80163010[playerId] = 0x003C; + D_80162FF8[playerId] = 1; + D_80163090[playerId] = var_f20; + } else { + D_80163010[playerId] = 0x003C; + D_80162FF8[playerId] = 2; + D_80163090[playerId] = var_f18; } } -#else -GLOBAL_ASM("asm/non_matchings/cpu_vehicles_camera_path/func_8000B140.s") -#endif // utils track position diff --git a/src/data/some_data.c b/src/data/some_data.c index 883c88dc8..b79c295f6 100644 --- a/src/data/some_data.c +++ b/src/data/some_data.c @@ -301,14 +301,14 @@ ThwompSpawn gThomwpSpawns150CC[] = { { 0x0596, 0xf92f, 0x0006, 0x0000 }, { 0x082a, 0xf9f2, 0x0005, 0x0000 }, { 0x073a, 0xf9f2, 0x0005, 0x0001 }, }; -f32 D_800E594C[][2] = { - { -8.0, 8.0 }, - { 8.0, 8.0 }, - { 0.0, 0.0 }, - { 8.0, -8.0 }, - { -8.0, -8.0 }, +f32 D_800E594C[] = { + -8.0, 8.0, + 8.0, 8.0, + 0.0, 0.0, + 8.0, -8.0, + -8.0, -8.0, // This feels super fake, but it matches - { -0.0, 0.0 }, + -0.0, 0.0, }; s16 D_800E597C[] = { 0x0000, 0x0000, 0x4000, 0x8000, 0x8000, 0xc000 }; @@ -445,11 +445,11 @@ s8 D_800E5DB4[] = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -YVFlagPoleSpawn D_800E5DF4[] = { - { { 0xfc7a, 0x0046, 0xfa82 }, 0x3800 }, - { { 0xfc4c, 0x0046, 0xfa03 }, 0x3800 }, - { { 0xf786, 0x0000, 0x02d3 }, 0x0400 }, - { { 0xf76f, 0x0000, 0x02f9 }, 0x0400 }, +s16 D_800E5DF4[] = { + 0xfc7a, 0x0046, 0xfa82, 0x3800, + 0xfc4c, 0x0046, 0xfa03, 0x3800, + 0xf786, 0x0000, 0x02d3, 0x0400, + 0xf76f, 0x0000, 0x02f9, 0x0400, }; HegdehogSpawn gHedgehogSpawns[] = { diff --git a/src/data/some_data.h b/src/data/some_data.h index 9e5e29416..2f8daabab 100644 --- a/src/data/some_data.h +++ b/src/data/some_data.h @@ -35,7 +35,7 @@ extern s16 D_800E57F8[]; extern ThwompSpawn gThomwpSpawns50CC[]; extern ThwompSpawn gThwompSpawns100CCExtra[]; extern ThwompSpawn gThomwpSpawns150CC[]; -extern f32 D_800E594C[][2]; +extern f32 D_800E594C[]; extern u64 D_800E5974; extern s16 D_800E597C[]; extern SplineData D_800E5988; @@ -48,7 +48,7 @@ extern SplineData D_800E5D78; extern SplineData* D_800E5D9C[]; extern SplineData* D_800E5DB0; extern s8 D_800E5DB4[]; -extern YVFlagPoleSpawn D_800E5DF4[]; +extern s16 D_800E5DF4[]; extern HegdehogSpawn gHedgehogSpawns[]; extern Vec3s gHedgehogPatrolPoints[]; extern SnowmanSpawn gSnowmanSpawns[]; diff --git a/src/render_objects.c b/src/render_objects.c index f1027e231..8e832e9c2 100644 --- a/src/render_objects.c +++ b/src/render_objects.c @@ -1764,54 +1764,49 @@ void func_8004C628(s32 arg0, s32 arg1, u32 arg2, u32 arg3, u8* texture) { gSPDisplayList(gDisplayListHead++, D_0D007EB8); } -#ifdef NON_MATCHING -// https://decomp.me/scratch/TqXqn -// There's a weird fakematch concerning `xPos`, don't know that to make of. Can't quite get it over the finish line -// though void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 height) { s32 texSizeLess; s32 i; - s32 yPos; - s32 xPos; - s32 texBlockCount; + s32 centerY; + s32 centerX; + s32 numTextureBlocks; u32 texSize; s32 heightDiv; - s32 realCount; + s32 size; u8* textureCopy; - xPos = x - (width / 2); - yPos = y - (height / 2); + centerX = x - (width / 2); + centerY = y - (height / 2); textureCopy = texture; gSPDisplayList(gDisplayListHead++, D_0D007EF8); gDPSetRenderMode(gDisplayListHead++, G_RM_XLU_SURF, G_RM_XLU_SURF2); texSize = width * height * 4; - texBlockCount = texSize / 4096; + numTextureBlocks = texSize / 4096; if (texSize % 4096) { - texBlockCount++; + numTextureBlocks++; } - heightDiv = height / texBlockCount; - realCount = texBlockCount; - for (i = 0; i < realCount; i++) { + heightDiv = height / numTextureBlocks; + size = numTextureBlocks; + for (i = 0; i < size; i++) { load_texture_tile_rgba32_nomirror(textureCopy, width, heightDiv); - render_texture_rectangle_wrap(xPos, yPos, width, heightDiv, 1); - texSizeLess = texSize - (width * heightDiv * 4); + render_texture_rectangle_wrap(centerX, centerY, width, heightDiv, 1); textureCopy += (width * heightDiv * 4); + texSizeLess = texSize - (width * heightDiv * 4); if (texSizeLess < 0) { heightDiv = texSize / width; } else { - texSize = texSizeLess; + texSize -= (width * heightDiv * 4); } - // Weird fakematch that is a HUGE improvement - xPos += yPos * 0; - yPos += heightDiv; - } + + centerY += heightDiv; + } + gSPDisplayList(gDisplayListHead++, D_0D007EB8); + // FAKE + centerX++; + centerX--; } -#else -void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 height); -GLOBAL_ASM("asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s") -#endif void render_game_logo(s16 x, s16 y) { render_texture_tile_rgba32_block(x, y, gGameLogoAddress, 256, 128); diff --git a/src/render_objects.h b/src/render_objects.h index 24fd02f84..96c5b5a22 100644 --- a/src/render_objects.h +++ b/src/render_objects.h @@ -208,7 +208,7 @@ void func_8004BB34(void); void func_8004BB3C(s32, s32, s32, s32, f32); void func_8004BD14(s32, s32, u32, u32, s32, u8*, u8*); -void func_8004C6FC(s16, s16, u8*, u32, u32); +void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 height); void func_8004C024(s16, s16, s16, u16, u16, u16, u16); void func_8004C148(s16, s16, s16, u16, u16, u16, u16); diff --git a/src/save.c b/src/save.c index 899fea0eb..05c7db830 100644 --- a/src/save.c +++ b/src/save.c @@ -472,7 +472,6 @@ void func_800B559C(s32 arg0) { bestRecord->bestThreelaps[0], 0x38); } -#ifdef NON_MATCHING /** * This one is weird. Its some type of checksum calculator, seemingly for the * best time trial records. But the number of bytes it operates over is @@ -482,26 +481,19 @@ void func_800B559C(s32 arg0) { * * But only unknown bytes 7 and 8 ever get set, so why the extra 3, and why in chunks of 17? **/ -s32 func_800B578C(s32 arg0) { - u8* var_a2; - s32 var_a0; - s32 var_v0; - s32 var_v1; - var_a2 = &gSaveData.onlyBestTimeTrialRecords[arg0].bestThreelaps[0][0]; - var_v1 = 0; - for (var_v0 = 0; var_v0 < 3;) { - ++var_v0; - for (var_a0 = 0; var_a0 != 0x11; var_a0++) { - if (var_a0) {} - var_v1 += (((*var_a2++) + 1) * var_v0) + var_a0; +u8 func_800B578C(s32 arg0) { + u8* times = (u8*)&gSaveData.onlyBestTimeTrialRecords[arg0]; + s32 checksum = 0; + s32 i; + s32 j; + + for (i = 0; i < 3; i++) { + for (j = 0; j < 0x11; j++) { + checksum += (times[i * 0x11 + j] + 1) * (i + 1) + j; } - var_a2 += 0x11; } - return (var_v1 % 256) & 0xFF; + return (checksum % 256); } -#else -GLOBAL_ASM("asm/non_matchings/save/func_800B578C.s") -#endif s32 func_800B5888(s32 arg0) { s32 tmp = gSaveData.onlyBestTimeTrialRecords[arg0].unknownBytes[6] + 90; diff --git a/src/save.h b/src/save.h index e40291fa3..d6e4b2bde 100644 --- a/src/save.h +++ b/src/save.h @@ -59,7 +59,7 @@ s32 is_cc_mode_complete(s32); s32 has_unlocked_extra_mode(void); s32 has_completed_extra_mode(void); void func_800B559C(s32); -s32 func_800B578C(s32); +u8 func_800B578C(s32); s32 func_800B5888(s32); s32 func_800B58C4(s32); void update_save_data_backup(void); diff --git a/src/update_objects.c b/src/update_objects.c index d8828d471..32dbf56cd 100644 --- a/src/update_objects.c +++ b/src/update_objects.c @@ -6035,31 +6035,23 @@ void func_80080DE4(s32 arg0) { } } -#ifdef NON_MATCHING -// https://decomp.me/scratch/YMJDJ -// No idea what the problem is void func_80080E8C(s32 objectIndex1, s32 objectIndex2, s32 arg2) { u16 anAngle; - f32 thing0; f32 thing1; - f32* temp_v1; + f32 thing0; init_object(objectIndex1, arg2); - temp_v1 = D_800E594C[arg2]; gObjectList[objectIndex1].unk_0D5 = 2; anAngle = gObjectList[objectIndex2].direction_angle[1]; - thing1 = func_800416D8(temp_v1[1], temp_v1[0], anAngle); - thing0 = func_80041724(temp_v1[1], temp_v1[0], anAngle); + thing1 = func_800416D8(D_800E594C[arg2 * 2 + 1], D_800E594C[arg2 * 2 + 0], anAngle); + thing0 = func_80041724(D_800E594C[arg2 * 2 + 1], D_800E594C[arg2 * 2 + 0], anAngle); gObjectList[objectIndex1].origin_pos[0] = gObjectList[objectIndex2].pos[0] + thing0; gObjectList[objectIndex1].origin_pos[1] = gObjectList[objectIndex2].surfaceHeight - 9.0; gObjectList[objectIndex1].origin_pos[2] = gObjectList[objectIndex2].pos[2] + thing1; - anAngle = D_800E597C[arg2] + gObjectList[objectIndex2].direction_angle[1]; + anAngle = gObjectList[objectIndex2].direction_angle[1] + D_800E597C[arg2]; gObjectList[objectIndex1].velocity[0] = sins(anAngle) * 0.6; gObjectList[objectIndex1].velocity[2] = coss(anAngle) * 0.6; } -#else - GLOBAL_ASM("asm/non_matchings/update_objects/func_80080E8C.s") -#endif void func_80080FEC(s32 arg0) { s32 objectIndex; @@ -6752,24 +6744,15 @@ void update_crabs(void) { } } -#ifdef NON_MATCHING -// https://decomp.me/scratch/PYAg4 -// Stack issue caused by the `test` variable, but removing it causes much, much larger differences void func_80082F1C(s32 objectIndex, s32 arg1) { - YVFlagPoleSpawn* test; - gObjectList[objectIndex].model = (Gfx*) d_course_yoshi_valley_unk5; - gObjectList[objectIndex].vertex = (Vtx*) d_course_yoshi_valley_unk4; + gObjectList[objectIndex].model = (Gfx*)d_course_yoshi_valley_unk5; + gObjectList[objectIndex].vertex = (Vtx*)d_course_yoshi_valley_unk4; gObjectList[objectIndex].sizeScaling = 0.027f; - if (test->rot && test->rot) {} - test = &D_800E5DF4[arg1]; object_next_state(objectIndex); - set_obj_origin_pos(objectIndex, test->pos[0] * xOrientation, test->pos[1], test->pos[2]); + set_obj_origin_pos(objectIndex, D_800E5DF4[arg1 * 4 + 0] * xOrientation, D_800E5DF4[arg1 * 4 + 1], D_800E5DF4[arg1 * 4 + 2]); set_obj_origin_offset(objectIndex, 0.0f, 0.0f, 0.0f); - set_obj_direction_angle(objectIndex, 0U, test->rot, 0U); + set_obj_direction_angle(objectIndex, 0U, D_800E5DF4[arg1 * 4 + 3], 0U); } -#else - GLOBAL_ASM("asm/non_matchings/update_objects/func_80082F1C.s") -#endif void func_80083018(s32 objectIndex, s32 arg1) { switch (gObjectList[objectIndex].state) {