Decompiled 4 functions from unknown_0ABDF0

This commit is contained in:
David Benepe
2022-04-06 19:58:23 -04:00
parent f54d936786
commit 3e416d33dd
46 changed files with 531 additions and 839 deletions
+24 -24
View File
@@ -113,31 +113,31 @@ s32 is_drumstick_unlocked(void) {
}
```
As of Feburary 23rd, 2022, this is our current score:
As of April 6th, 2022, this is our current score:
```
=====================================================================
ADVENTURE ONE (ASM -> C Decompilation)
-------------------------- 21.15% Complete --------------------------
# Decompiled functions: 1048
# GLOBAL_ASM remaining: 699
# NON_MATCHING functions: 6
# NON_EQUIVALENT WIP functions: 91
---------------------------- Game Status ----------------------------
Balloons: 11/47, Keys: 1/4, Trophies: 0/5
T.T. Amulets: 1/4, Wizpig Amulets: 0/4
---------------------------------------------------------------------
We are collecting silver coins in Hot Top Volcano. (8/8 silver coins)
=====================================================================
ADVENTURE TWO (Cleanup & Documentation)
-------------------------- 2.73% Complete --------------------------
# Documented functions: 141
# Undocumented remaining: 1606
---------------------------- Game Status ----------------------------
Balloons: 1/47, Keys: 0/4, Trophies: 0/5
T.T. Amulets: 0/4, Wizpig Amulets: 0/4
---------------------------------------------------------------------
We are collecting the second balloon on Timber's Island.
=====================================================================
========================================================
ADVENTURE ONE (ASM -> C Decompilation)
------------------- 22.11% Complete --------------------
# Decompiled functions: 1068
# GLOBAL_ASM remaining: 680
# NON_MATCHING functions: 8
# NON_EQUIVALENT WIP functions: 109
--------------------- Game Status ----------------------
Balloons: 12/47, Keys: 1/4, Trophies: 0/5
T.T. Amulets: 1/4, Wizpig Amulets: 0/4
--------------------------------------------------------
We are racing in the rematch against Trickytops.
========================================================
ADVENTURE TWO (Cleanup & Documentation)
------------------- 2.73% Complete --------------------
# Documented functions: 141
# Undocumented remaining: 1607
--------------------- Game Status ----------------------
Balloons: 1/47, Keys: 0/4, Trophies: 0/5
T.T. Amulets: 0/4, Wizpig Amulets: 0/4
--------------------------------------------------------
We are collecting the second balloon on Timber's Island.
========================================================
```
---
@@ -1,4 +1,4 @@
glabel func_800C4170
glabel load_font
/* 0C4D70 800C4170 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0C4D74 800C4174 3C0E8013 */ lui $t6, %hi(gNumberOfFonts) # $t6, 0x8013
/* 0C4D78 800C4178 8DCEA7E0 */ lw $t6, %lo(gNumberOfFonts)($t6)
@@ -1,4 +1,4 @@
glabel func_800C422C
glabel unload_font
/* 0C4E2C 800C422C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0C4E30 800C4230 3C0E8013 */ lui $t6, %hi(gNumberOfFonts) # $t6, 0x8013
/* 0C4E34 800C4234 8DCEA7E0 */ lw $t6, %lo(gNumberOfFonts)($t6)
-74
View File
@@ -1,74 +0,0 @@
glabel func_800AB1F0
/* 0ABDF0 800AB1F0 3C03800E */ lui $v1, %hi(D_800E28D8) # $v1, 0x800e
/* 0ABDF4 800AB1F4 246328D8 */ addiu $v1, %lo(D_800E28D8) # addiu $v1, $v1, 0x28d8
/* 0ABDF8 800AB1F8 AC600000 */ sw $zero, ($v1)
/* 0ABDFC 800AB1FC AC600004 */ sw $zero, 4($v1)
/* 0ABE00 800AB200 3C01800E */ lui $at, %hi(D_800E28D4) # $at, 0x800e
/* 0ABE04 800AB204 AC2028D4 */ sw $zero, %lo(D_800E28D4)($at)
/* 0ABE08 800AB208 3C028012 */ lui $v0, %hi(D_80127C00) # $v0, 0x8012
/* 0ABE0C 800AB20C 3C018012 */ lui $at, %hi(D_80127BB0) # $at, 0x8012
/* 0ABE10 800AB210 240E0006 */ li $t6, 6
/* 0ABE14 800AB214 24427C00 */ addiu $v0, %lo(D_80127C00) # addiu $v0, $v0, 0x7c00
/* 0ABE18 800AB218 AC207BB0 */ sw $zero, %lo(D_80127BB0)($at)
/* 0ABE1C 800AB21C 000EC080 */ sll $t8, $t6, 2
/* 0ABE20 800AB220 AC4E0000 */ sw $t6, ($v0)
/* 0ABE24 800AB224 AC580000 */ sw $t8, ($v0)
/* 0ABE28 800AB228 00184043 */ sra $t0, $t8, 1
/* 0ABE2C 800AB22C 3C018012 */ lui $at, %hi(D_80127C04) # $at, 0x8012
/* 0ABE30 800AB230 3C04800E */ lui $a0, %hi(D_800E2914) # $a0, 0x800e
/* 0ABE34 800AB234 AC287C04 */ sw $t0, %lo(D_80127C04)($at)
/* 0ABE38 800AB238 24842914 */ addiu $a0, %lo(D_800E2914) # addiu $a0, $a0, 0x2914
/* 0ABE3C 800AB23C AC800000 */ sw $zero, ($a0)
/* 0ABE40 800AB240 AC800004 */ sw $zero, 4($a0)
/* 0ABE44 800AB244 3C01800E */ lui $at, %hi(D_800E290C) # $at, 0x800e
/* 0ABE48 800AB248 3C058012 */ lui $a1, %hi(D_80127BF8) # $a1, 0x8012
/* 0ABE4C 800AB24C AC20290C */ sw $zero, %lo(D_800E290C)($at)
/* 0ABE50 800AB250 24A57BF8 */ addiu $a1, %lo(D_80127BF8) # addiu $a1, $a1, 0x7bf8
/* 0ABE54 800AB254 2406FFFF */ li $a2, -1
/* 0ABE58 800AB258 2409FE00 */ li $t1, -512
/* 0ABE5C 800AB25C A4A60000 */ sh $a2, ($a1)
/* 0ABE60 800AB260 A4A90002 */ sh $t1, 2($a1)
/* 0ABE64 800AB264 3C01800E */ lui $at, %hi(D_800E2A80) # $at, 0x800e
/* 0ABE68 800AB268 AC202A80 */ sw $zero, %lo(D_800E2A80)($at)
/* 0ABE6C 800AB26C 3C01800E */ lui $at, %hi(D_800E2A84) # $at, 0x800e
/* 0ABE70 800AB270 240A0001 */ li $t2, 1
/* 0ABE74 800AB274 AC2A2A84 */ sw $t2, %lo(D_800E2A84)($at)
/* 0ABE78 800AB278 3C07800E */ lui $a3, %hi(D_800E291C) # $a3, 0x800e
/* 0ABE7C 800AB27C 3C01800E */ lui $at, %hi(D_800E2A88) # $at, 0x800e
/* 0ABE80 800AB280 24E7291C */ addiu $a3, %lo(D_800E291C) # addiu $a3, $a3, 0x291c
/* 0ABE84 800AB284 AC202A88 */ sw $zero, %lo(D_800E2A88)($at)
/* 0ABE88 800AB288 8CEB0000 */ lw $t3, ($a3)
/* 0ABE8C 800AB28C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0ABE90 800AB290 15600018 */ bnez $t3, .L800AB2F4
/* 0ABE94 800AB294 AFBF0014 */ sw $ra, 0x14($sp)
/* 0ABE98 800AB298 0C01DB16 */ jal load_asset_section_from_rom
/* 0ABE9C 800AB29C 24040013 */ li $a0, 19
/* 0ABEA0 800AB2A0 3C04800E */ lui $a0, %hi(D_800E2920) # $a0, 0x800e
/* 0ABEA4 800AB2A4 3C07800E */ lui $a3, %hi(D_800E291C) # $a3, 0x800e
/* 0ABEA8 800AB2A8 24E7291C */ addiu $a3, %lo(D_800E291C) # addiu $a3, $a3, 0x291c
/* 0ABEAC 800AB2AC 24842920 */ addiu $a0, %lo(D_800E2920) # addiu $a0, $a0, 0x2920
/* 0ABEB0 800AB2B0 00006080 */ sll $t4, $zero, 2
/* 0ABEB4 800AB2B4 ACE20000 */ sw $v0, ($a3)
/* 0ABEB8 800AB2B8 AC800000 */ sw $zero, ($a0)
/* 0ABEBC 800AB2BC 004C6821 */ addu $t5, $v0, $t4
/* 0ABEC0 800AB2C0 8DAE0000 */ lw $t6, ($t5)
/* 0ABEC4 800AB2C4 2406FFFF */ li $a2, -1
/* 0ABEC8 800AB2C8 00402825 */ move $a1, $v0
/* 0ABECC 800AB2CC 10CE0009 */ beq $a2, $t6, .L800AB2F4
/* 0ABED0 800AB2D0 00001825 */ move $v1, $zero
/* 0ABED4 800AB2D4 246F0001 */ addiu $t7, $v1, 1
.L800AB2D8:
/* 0ABED8 800AB2D8 000FC080 */ sll $t8, $t7, 2
/* 0ABEDC 800AB2DC 00B8C821 */ addu $t9, $a1, $t8
/* 0ABEE0 800AB2E0 AC8F0000 */ sw $t7, ($a0)
/* 0ABEE4 800AB2E4 8F280000 */ lw $t0, ($t9)
/* 0ABEE8 800AB2E8 01E01825 */ move $v1, $t7
/* 0ABEEC 800AB2EC 14C8FFFA */ bne $a2, $t0, .L800AB2D8
/* 0ABEF0 800AB2F0 246F0001 */ addiu $t7, $v1, 1
.L800AB2F4:
/* 0ABEF4 800AB2F4 8FBF0014 */ lw $ra, 0x14($sp)
/* 0ABEF8 800AB2F8 3C018012 */ lui $at, %hi(D_80127C08) # $at, 0x8012
/* 0ABEFC 800AB2FC AC207C08 */ sw $zero, %lo(D_80127C08)($at)
/* 0ABF00 800AB300 03E00008 */ jr $ra
/* 0ABF04 800AB304 27BD0018 */ addiu $sp, $sp, 0x18
-93
View File
@@ -1,93 +0,0 @@
glabel func_800AB35C
/* 0ABF5C 800AB35C 3C04800E */ lui $a0, %hi(D_800E290C) # $a0, 0x800e
/* 0ABF60 800AB360 8C84290C */ lw $a0, %lo(D_800E290C)($a0)
/* 0ABF64 800AB364 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0ABF68 800AB368 10800005 */ beqz $a0, .L800AB380
/* 0ABF6C 800AB36C AFBF0014 */ sw $ra, 0x14($sp)
/* 0ABF70 800AB370 0C01C450 */ jal free_from_memory_pool
/* 0ABF74 800AB374 00000000 */ nop
/* 0ABF78 800AB378 3C01800E */ lui $at, %hi(D_800E290C) # $at, 0x800e
/* 0ABF7C 800AB37C AC20290C */ sw $zero, %lo(D_800E290C)($at)
.L800AB380:
/* 0ABF80 800AB380 3C02800E */ lui $v0, %hi(D_800E2914) # $v0, 0x800e
/* 0ABF84 800AB384 24422914 */ addiu $v0, %lo(D_800E2914) # addiu $v0, $v0, 0x2914
/* 0ABF88 800AB388 8C440000 */ lw $a0, ($v0)
/* 0ABF8C 800AB38C 00000000 */ nop
/* 0ABF90 800AB390 10800006 */ beqz $a0, .L800AB3AC
/* 0ABF94 800AB394 00000000 */ nop
/* 0ABF98 800AB398 0C01C450 */ jal free_from_memory_pool
/* 0ABF9C 800AB39C 00000000 */ nop
/* 0ABFA0 800AB3A0 3C02800E */ lui $v0, %hi(D_800E2914) # $v0, 0x800e
/* 0ABFA4 800AB3A4 24422914 */ addiu $v0, %lo(D_800E2914) # addiu $v0, $v0, 0x2914
/* 0ABFA8 800AB3A8 AC400000 */ sw $zero, ($v0)
.L800AB3AC:
/* 0ABFAC 800AB3AC 8C440004 */ lw $a0, 4($v0)
/* 0ABFB0 800AB3B0 00000000 */ nop
/* 0ABFB4 800AB3B4 10800006 */ beqz $a0, .L800AB3D0
/* 0ABFB8 800AB3B8 00000000 */ nop
/* 0ABFBC 800AB3BC 0C01C450 */ jal free_from_memory_pool
/* 0ABFC0 800AB3C0 00000000 */ nop
/* 0ABFC4 800AB3C4 3C02800E */ lui $v0, %hi(D_800E2914) # $v0, 0x800e
/* 0ABFC8 800AB3C8 24422914 */ addiu $v0, %lo(D_800E2914) # addiu $v0, $v0, 0x2914
/* 0ABFCC 800AB3CC AC400004 */ sw $zero, 4($v0)
.L800AB3D0:
/* 0ABFD0 800AB3D0 3C04800E */ lui $a0, %hi(D_800E28D4) # $a0, 0x800e
/* 0ABFD4 800AB3D4 8C8428D4 */ lw $a0, %lo(D_800E28D4)($a0)
/* 0ABFD8 800AB3D8 00000000 */ nop
/* 0ABFDC 800AB3DC 10800005 */ beqz $a0, .L800AB3F4
/* 0ABFE0 800AB3E0 00000000 */ nop
/* 0ABFE4 800AB3E4 0C01C450 */ jal free_from_memory_pool
/* 0ABFE8 800AB3E8 00000000 */ nop
/* 0ABFEC 800AB3EC 3C01800E */ lui $at, %hi(D_800E28D4) # $at, 0x800e
/* 0ABFF0 800AB3F0 AC2028D4 */ sw $zero, %lo(D_800E28D4)($at)
.L800AB3F4:
/* 0ABFF4 800AB3F4 3C02800E */ lui $v0, %hi(D_800E28D8) # $v0, 0x800e
/* 0ABFF8 800AB3F8 244228D8 */ addiu $v0, %lo(D_800E28D8) # addiu $v0, $v0, 0x28d8
/* 0ABFFC 800AB3FC 8C440000 */ lw $a0, ($v0)
/* 0AC000 800AB400 00000000 */ nop
/* 0AC004 800AB404 10800006 */ beqz $a0, .L800AB420
/* 0AC008 800AB408 00000000 */ nop
/* 0AC00C 800AB40C 0C01C450 */ jal free_from_memory_pool
/* 0AC010 800AB410 00000000 */ nop
/* 0AC014 800AB414 3C02800E */ lui $v0, %hi(D_800E28D8) # $v0, 0x800e
/* 0AC018 800AB418 244228D8 */ addiu $v0, %lo(D_800E28D8) # addiu $v0, $v0, 0x28d8
/* 0AC01C 800AB41C AC400000 */ sw $zero, ($v0)
.L800AB420:
/* 0AC020 800AB420 8C440008 */ lw $a0, 8($v0)
/* 0AC024 800AB424 00000000 */ nop
/* 0AC028 800AB428 10800006 */ beqz $a0, .L800AB444
/* 0AC02C 800AB42C 00000000 */ nop
/* 0AC030 800AB430 0C01ECAF */ jal free_texture
/* 0AC034 800AB434 00000000 */ nop
/* 0AC038 800AB438 3C02800E */ lui $v0, %hi(D_800E28D8) # $v0, 0x800e
/* 0AC03C 800AB43C 244228D8 */ addiu $v0, %lo(D_800E28D8) # addiu $v0, $v0, 0x28d8
/* 0AC040 800AB440 AC400008 */ sw $zero, 8($v0)
.L800AB444:
/* 0AC044 800AB444 3C04800E */ lui $a0, %hi(D_800E2910) # $a0, 0x800e
/* 0AC048 800AB448 8C842910 */ lw $a0, %lo(D_800E2910)($a0)
/* 0AC04C 800AB44C 00000000 */ nop
/* 0AC050 800AB450 10800005 */ beqz $a0, .L800AB468
/* 0AC054 800AB454 00000000 */ nop
/* 0AC058 800AB458 0C01C450 */ jal free_from_memory_pool
/* 0AC05C 800AB45C 00000000 */ nop
/* 0AC060 800AB460 3C01800E */ lui $at, %hi(D_800E2910) # $at, 0x800e
/* 0AC064 800AB464 AC202910 */ sw $zero, %lo(D_800E2910)($at)
.L800AB468:
/* 0AC068 800AB468 3C01800E */ lui $at, %hi(D_800E2A88) # $at, 0x800e
/* 0AC06C 800AB46C AC202A88 */ sw $zero, %lo(D_800E2A88)($at)
/* 0AC070 800AB470 3C01800E */ lui $at, %hi(D_800E2A80) # $at, 0x800e
/* 0AC074 800AB474 3C0F800E */ lui $t7, %hi(D_800E2C5C) # $t7, 0x800e
/* 0AC078 800AB478 8DEF2C5C */ lw $t7, %lo(D_800E2C5C)($t7)
/* 0AC07C 800AB47C AC202A80 */ sw $zero, %lo(D_800E2A80)($at)
/* 0AC080 800AB480 3C01800E */ lui $at, %hi(D_800E2A84) # $at, 0x800e
/* 0AC084 800AB484 240E0001 */ li $t6, 1
/* 0AC088 800AB488 11E00003 */ beqz $t7, .L800AB498
/* 0AC08C 800AB48C AC2E2A84 */ sw $t6, %lo(D_800E2A84)($at)
/* 0AC090 800AB490 0C02B488 */ jal func_800AD220
/* 0AC094 800AB494 00000000 */ nop
.L800AB498:
/* 0AC098 800AB498 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AC09C 800AB49C 27BD0018 */ addiu $sp, $sp, 0x18
/* 0AC0A0 800AB4A0 03E00008 */ jr $ra
/* 0AC0A4 800AB4A4 00000000 */ nop
-80
View File
@@ -1,80 +0,0 @@
glabel func_800ABB34
/* 0AC734 800ABB34 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0AC738 800ABB38 AFB40028 */ sw $s4, 0x28($sp)
/* 0AC73C 800ABB3C 3C14800E */ lui $s4, %hi(D_800E28D8) # $s4, 0x800e
/* 0AC740 800ABB40 269428D8 */ addiu $s4, %lo(D_800E28D8) # addiu $s4, $s4, 0x28d8
/* 0AC744 800ABB44 8E820004 */ lw $v0, 4($s4)
/* 0AC748 800ABB48 3C0E0001 */ lui $t6, 1
/* 0AC74C 800ABB4C 01C2001A */ div $zero, $t6, $v0
/* 0AC750 800ABB50 AFB5002C */ sw $s5, 0x2c($sp)
/* 0AC754 800ABB54 AFB60030 */ sw $s6, 0x30($sp)
/* 0AC758 800ABB58 AFB20020 */ sw $s2, 0x20($sp)
/* 0AC75C 800ABB5C AFB1001C */ sw $s1, 0x1c($sp)
/* 0AC760 800ABB60 AFB00018 */ sw $s0, 0x18($sp)
/* 0AC764 800ABB64 AFBF0034 */ sw $ra, 0x34($sp)
/* 0AC768 800ABB68 AFB30024 */ sw $s3, 0x24($sp)
/* 0AC76C 800ABB6C 14400002 */ bnez $v0, .L800ABB78
/* 0AC770 800ABB70 00000000 */ nop
/* 0AC774 800ABB74 0007000D */ break 7
.L800ABB78:
/* 0AC778 800ABB78 2401FFFF */ li $at, -1
/* 0AC77C 800ABB7C 14410004 */ bne $v0, $at, .L800ABB90
/* 0AC780 800ABB80 3C018000 */ lui $at, 0x8000
/* 0AC784 800ABB84 15C10002 */ bne $t6, $at, .L800ABB90
/* 0AC788 800ABB88 00000000 */ nop
/* 0AC78C 800ABB8C 0006000D */ break 6
.L800ABB90:
/* 0AC790 800ABB90 00008825 */ move $s1, $zero
/* 0AC794 800ABB94 00008025 */ move $s0, $zero
/* 0AC798 800ABB98 00009025 */ move $s2, $zero
/* 0AC79C 800ABB9C 3C16FFFC */ lui $s6, 0xfffc
/* 0AC7A0 800ABBA0 0000A812 */ mflo $s5
/* 0AC7A4 800ABBA4 1840001C */ blez $v0, .L800ABC18
.L800ABBA8:
/* 0AC7A8 800ABBA8 02209825 */ move $s3, $s1
/* 0AC7AC 800ABBAC 00137C00 */ sll $t7, $s3, 0x10
/* 0AC7B0 800ABBB0 000F9C03 */ sra $s3, $t7, 0x10
/* 0AC7B4 800ABBB4 00132400 */ sll $a0, $s3, 0x10
/* 0AC7B8 800ABBB8 0004CC03 */ sra $t9, $a0, 0x10
/* 0AC7BC 800ABBBC 0C01C20B */ jal func_8007082C
/* 0AC7C0 800ABBC0 03202025 */ move $a0, $t9
/* 0AC7C4 800ABBC4 8E890000 */ lw $t1, ($s4)
/* 0AC7C8 800ABBC8 000240C0 */ sll $t0, $v0, 3
/* 0AC7CC 800ABBCC 01305021 */ addu $t2, $t1, $s0
/* 0AC7D0 800ABBD0 AD480000 */ sw $t0, ($t2)
/* 0AC7D4 800ABBD4 8E8B0000 */ lw $t3, ($s4)
/* 0AC7D8 800ABBD8 00132400 */ sll $a0, $s3, 0x10
/* 0AC7DC 800ABBDC 00046C03 */ sra $t5, $a0, 0x10
/* 0AC7E0 800ABBE0 01706021 */ addu $t4, $t3, $s0
/* 0AC7E4 800ABBE4 AD960004 */ sw $s6, 4($t4)
/* 0AC7E8 800ABBE8 0C01C20C */ jal func_80070830
/* 0AC7EC 800ABBEC 01A02025 */ move $a0, $t5
/* 0AC7F0 800ABBF0 8E8F0000 */ lw $t7, ($s4)
/* 0AC7F4 800ABBF4 00027040 */ sll $t6, $v0, 1
/* 0AC7F8 800ABBF8 01F0C021 */ addu $t8, $t7, $s0
/* 0AC7FC 800ABBFC AF0E0008 */ sw $t6, 8($t8)
/* 0AC800 800ABC00 8E990004 */ lw $t9, 4($s4)
/* 0AC804 800ABC04 26520001 */ addiu $s2, $s2, 1
/* 0AC808 800ABC08 0259082A */ slt $at, $s2, $t9
/* 0AC80C 800ABC0C 2610000C */ addiu $s0, $s0, 0xc
/* 0AC810 800ABC10 1420FFE5 */ bnez $at, .L800ABBA8
/* 0AC814 800ABC14 02358821 */ addu $s1, $s1, $s5
.L800ABC18:
/* 0AC818 800ABC18 3C09800E */ lui $t1, %hi(D_800E291C) # $t1, 0x800e
/* 0AC81C 800ABC1C 8D29291C */ lw $t1, %lo(D_800E291C)($t1)
/* 0AC820 800ABC20 00000000 */ nop
/* 0AC824 800ABC24 8D240000 */ lw $a0, ($t1)
/* 0AC828 800ABC28 0C01EB9D */ jal load_texture
/* 0AC82C 800ABC2C 00000000 */ nop
/* 0AC830 800ABC30 8FBF0034 */ lw $ra, 0x34($sp)
/* 0AC834 800ABC34 AE820008 */ sw $v0, 8($s4)
/* 0AC838 800ABC38 8FB40028 */ lw $s4, 0x28($sp)
/* 0AC83C 800ABC3C 8FB00018 */ lw $s0, 0x18($sp)
/* 0AC840 800ABC40 8FB1001C */ lw $s1, 0x1c($sp)
/* 0AC844 800ABC44 8FB20020 */ lw $s2, 0x20($sp)
/* 0AC848 800ABC48 8FB30024 */ lw $s3, 0x24($sp)
/* 0AC84C 800ABC4C 8FB5002C */ lw $s5, 0x2c($sp)
/* 0AC850 800ABC50 8FB60030 */ lw $s6, 0x30($sp)
/* 0AC854 800ABC54 03E00008 */ jr $ra
/* 0AC858 800ABC58 27BD0038 */ addiu $sp, $sp, 0x38
-147
View File
@@ -1,147 +0,0 @@
glabel func_800ABC5C
/* 0AC85C 800ABC5C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0AC860 800ABC60 AFB00018 */ sw $s0, 0x18($sp)
/* 0AC864 800ABC64 8FB00034 */ lw $s0, 0x34($sp)
/* 0AC868 800ABC68 AFBF001C */ sw $ra, 0x1c($sp)
/* 0AC86C 800ABC6C 1A00007A */ blez $s0, .L800ABE58
/* 0AC870 800ABC70 3C028012 */ lui $v0, %hi(D_80127BB8) # $v0, 0x8012
/* 0AC874 800ABC74 24427BB8 */ addiu $v0, %lo(D_80127BB8) # addiu $v0, $v0, 0x7bb8
/* 0AC878 800ABC78 8C4E0014 */ lw $t6, 0x14($v0)
/* 0AC87C 800ABC7C 00000000 */ nop
/* 0AC880 800ABC80 148E0011 */ bne $a0, $t6, .L800ABCC8
/* 0AC884 800ABC84 00000000 */ nop
/* 0AC888 800ABC88 8C4F0020 */ lw $t7, 0x20($v0)
/* 0AC88C 800ABC8C 00000000 */ nop
/* 0AC890 800ABC90 14AF000D */ bne $a1, $t7, .L800ABCC8
/* 0AC894 800ABC94 00000000 */ nop
/* 0AC898 800ABC98 8C58002C */ lw $t8, 0x2c($v0)
/* 0AC89C 800ABC9C 00000000 */ nop
/* 0AC8A0 800ABCA0 14D80009 */ bne $a2, $t8, .L800ABCC8
/* 0AC8A4 800ABCA4 00000000 */ nop
/* 0AC8A8 800ABCA8 8C590000 */ lw $t9, ($v0)
/* 0AC8AC 800ABCAC 8FA30030 */ lw $v1, 0x30($sp)
/* 0AC8B0 800ABCB0 14F90005 */ bne $a3, $t9, .L800ABCC8
/* 0AC8B4 800ABCB4 00000000 */ nop
/* 0AC8B8 800ABCB8 8C480030 */ lw $t0, 0x30($v0)
/* 0AC8BC 800ABCBC 00000000 */ nop
/* 0AC8C0 800ABCC0 10680065 */ beq $v1, $t0, .L800ABE58
/* 0AC8C4 800ABCC4 00000000 */ nop
.L800ABCC8:
/* 0AC8C8 800ABCC8 8C49000C */ lw $t1, 0xc($v0)
/* 0AC8CC 800ABCCC 8C4C0018 */ lw $t4, 0x18($v0)
/* 0AC8D0 800ABCD0 00895023 */ subu $t2, $a0, $t1
/* 0AC8D4 800ABCD4 0150001A */ div $zero, $t2, $s0
/* 0AC8D8 800ABCD8 00AC6823 */ subu $t5, $a1, $t4
/* 0AC8DC 800ABCDC 8C4F0024 */ lw $t7, 0x24($v0)
/* 0AC8E0 800ABCE0 AC440014 */ sw $a0, 0x14($v0)
/* 0AC8E4 800ABCE4 00CFC023 */ subu $t8, $a2, $t7
/* 0AC8E8 800ABCE8 AC450020 */ sw $a1, 0x20($v0)
/* 0AC8EC 800ABCEC AC46002C */ sw $a2, 0x2c($v0)
/* 0AC8F0 800ABCF0 3C08800E */ lui $t0, %hi(D_800E2C5C) # $t0, 0x800e
/* 0AC8F4 800ABCF4 8FA30030 */ lw $v1, 0x30($sp)
/* 0AC8F8 800ABCF8 16000002 */ bnez $s0, .L800ABD04
/* 0AC8FC 800ABCFC 00000000 */ nop
/* 0AC900 800ABD00 0007000D */ break 7
.L800ABD04:
/* 0AC904 800ABD04 2401FFFF */ li $at, -1
/* 0AC908 800ABD08 16010004 */ bne $s0, $at, .L800ABD1C
/* 0AC90C 800ABD0C 3C018000 */ lui $at, 0x8000
/* 0AC910 800ABD10 15410002 */ bne $t2, $at, .L800ABD1C
/* 0AC914 800ABD14 00000000 */ nop
/* 0AC918 800ABD18 0006000D */ break 6
.L800ABD1C:
/* 0AC91C 800ABD1C 00005812 */ mflo $t3
/* 0AC920 800ABD20 AC4B0010 */ sw $t3, 0x10($v0)
/* 0AC924 800ABD24 00000000 */ nop
/* 0AC928 800ABD28 01B0001A */ div $zero, $t5, $s0
/* 0AC92C 800ABD2C 16000002 */ bnez $s0, .L800ABD38
/* 0AC930 800ABD30 00000000 */ nop
/* 0AC934 800ABD34 0007000D */ break 7
.L800ABD38:
/* 0AC938 800ABD38 2401FFFF */ li $at, -1
/* 0AC93C 800ABD3C 16010004 */ bne $s0, $at, .L800ABD50
/* 0AC940 800ABD40 3C018000 */ lui $at, 0x8000
/* 0AC944 800ABD44 15A10002 */ bne $t5, $at, .L800ABD50
/* 0AC948 800ABD48 00000000 */ nop
/* 0AC94C 800ABD4C 0006000D */ break 6
.L800ABD50:
/* 0AC950 800ABD50 00007012 */ mflo $t6
/* 0AC954 800ABD54 AC4E001C */ sw $t6, 0x1c($v0)
/* 0AC958 800ABD58 00000000 */ nop
/* 0AC95C 800ABD5C 0310001A */ div $zero, $t8, $s0
/* 0AC960 800ABD60 16000002 */ bnez $s0, .L800ABD6C
/* 0AC964 800ABD64 00000000 */ nop
/* 0AC968 800ABD68 0007000D */ break 7
.L800ABD6C:
/* 0AC96C 800ABD6C 2401FFFF */ li $at, -1
/* 0AC970 800ABD70 16010004 */ bne $s0, $at, .L800ABD84
/* 0AC974 800ABD74 3C018000 */ lui $at, 0x8000
/* 0AC978 800ABD78 17010002 */ bne $t8, $at, .L800ABD84
/* 0AC97C 800ABD7C 00000000 */ nop
/* 0AC980 800ABD80 0006000D */ break 6
.L800ABD84:
/* 0AC984 800ABD84 0000C812 */ mflo $t9
/* 0AC988 800ABD88 AC590028 */ sw $t9, 0x28($v0)
/* 0AC98C 800ABD8C 8D082C5C */ lw $t0, %lo(D_800E2C5C)($t0)
/* 0AC990 800ABD90 00000000 */ nop
/* 0AC994 800ABD94 15000023 */ bnez $t0, .L800ABE24
/* 0AC998 800ABD98 00000000 */ nop
/* 0AC99C 800ABD9C 8C490000 */ lw $t1, ($v0)
/* 0AC9A0 800ABDA0 8C4C0030 */ lw $t4, 0x30($v0)
/* 0AC9A4 800ABDA4 00E95023 */ subu $t2, $a3, $t1
/* 0AC9A8 800ABDA8 0150001A */ div $zero, $t2, $s0
/* 0AC9AC 800ABDAC 006C6823 */ subu $t5, $v1, $t4
/* 0AC9B0 800ABDB0 16000002 */ bnez $s0, .L800ABDBC
/* 0AC9B4 800ABDB4 00000000 */ nop
/* 0AC9B8 800ABDB8 0007000D */ break 7
.L800ABDBC:
/* 0AC9BC 800ABDBC 2401FFFF */ li $at, -1
/* 0AC9C0 800ABDC0 16010004 */ bne $s0, $at, .L800ABDD4
/* 0AC9C4 800ABDC4 3C018000 */ lui $at, 0x8000
/* 0AC9C8 800ABDC8 15410002 */ bne $t2, $at, .L800ABDD4
/* 0AC9CC 800ABDCC 00000000 */ nop
/* 0AC9D0 800ABDD0 0006000D */ break 6
.L800ABDD4:
/* 0AC9D4 800ABDD4 AC470008 */ sw $a3, 8($v0)
/* 0AC9D8 800ABDD8 AC430038 */ sw $v1, 0x38($v0)
/* 0AC9DC 800ABDDC AC50003C */ sw $s0, 0x3c($v0)
/* 0AC9E0 800ABDE0 00005812 */ mflo $t3
/* 0AC9E4 800ABDE4 AC4B0004 */ sw $t3, 4($v0)
/* 0AC9E8 800ABDE8 00000000 */ nop
/* 0AC9EC 800ABDEC 01B0001A */ div $zero, $t5, $s0
/* 0AC9F0 800ABDF0 16000002 */ bnez $s0, .L800ABDFC
/* 0AC9F4 800ABDF4 00000000 */ nop
/* 0AC9F8 800ABDF8 0007000D */ break 7
.L800ABDFC:
/* 0AC9FC 800ABDFC 2401FFFF */ li $at, -1
/* 0ACA00 800ABE00 16010004 */ bne $s0, $at, .L800ABE14
/* 0ACA04 800ABE04 3C018000 */ lui $at, 0x8000
/* 0ACA08 800ABE08 15A10002 */ bne $t5, $at, .L800ABE14
/* 0ACA0C 800ABE0C 00000000 */ nop
/* 0ACA10 800ABE10 0006000D */ break 6
.L800ABE14:
/* 0ACA14 800ABE14 00007012 */ mflo $t6
/* 0ACA18 800ABE18 AC4E0034 */ sw $t6, 0x34($v0)
/* 0ACA1C 800ABE1C 1000000F */ b .L800ABE5C
/* 0ACA20 800ABE20 8FBF001C */ lw $ra, 0x1c($sp)
.L800ABE24:
/* 0ACA24 800ABE24 44902000 */ mtc1 $s0, $f4
/* 0ACA28 800ABE28 3C014270 */ li $at, 0x42700000 # 60.000000
/* 0ACA2C 800ABE2C 468021A0 */ cvt.s.w $f6, $f4
/* 0ACA30 800ABE30 44814000 */ mtc1 $at, $f8
/* 0ACA34 800ABE34 AC470000 */ sw $a3, ($v0)
/* 0ACA38 800ABE38 46083283 */ div.s $f10, $f6, $f8
/* 0ACA3C 800ABE3C AC430030 */ sw $v1, 0x30($v0)
/* 0ACA40 800ABE40 AC40003C */ sw $zero, 0x3c($v0)
/* 0ACA44 800ABE44 24E40001 */ addiu $a0, $a3, 1
/* 0ACA48 800ABE48 24650001 */ addiu $a1, $v1, 1
/* 0ACA4C 800ABE4C 44065000 */ mfc1 $a2, $f10
/* 0ACA50 800ABE50 0C02B4B1 */ jal func_800AD2C4
/* 0ACA54 800ABE54 00000000 */ nop
.L800ABE58:
/* 0ACA58 800ABE58 8FBF001C */ lw $ra, 0x1c($sp)
.L800ABE5C:
/* 0ACA5C 800ABE5C 8FB00018 */ lw $s0, 0x18($sp)
/* 0ACA60 800ABE60 03E00008 */ jr $ra
/* 0ACA64 800ABE64 27BD0020 */ addiu $sp, $sp, 0x20
@@ -30,7 +30,7 @@ glabel menu_game_select_init
/* 08D178 8008C578 24040043 */ li $a0, 67
/* 08D17C 8008C57C 0C01FFFB */ jal func_8007FFEC
/* 08D180 8008C580 24040003 */ li $a0, 3
/* 08D184 8008C584 0C03105C */ jal func_800C4170
/* 08D184 8008C584 0C03105C */ jal load_font
/* 08D188 8008C588 24040002 */ li $a0, 2
/* 08D18C 8008C58C 0C0002CD */ jal play_music
/* 08D190 8008C590 2404001A */ li $a0, 26
@@ -33,7 +33,7 @@ glabel menu_ghost_data_init
/* 09A6D4 80099AD4 3C04800E */ lui $a0, %hi(D_800E174C) # $a0, 0x800e
/* 09A6D8 80099AD8 0C027229 */ jal allocate_menu_images
/* 09A6DC 80099ADC 2484174C */ addiu $a0, %lo(D_800E174C) # addiu $a0, $a0, 0x174c
/* 09A6E0 80099AE0 0C03105C */ jal func_800C4170
/* 09A6E0 80099AE0 0C03105C */ jal load_font
/* 09A6E4 80099AE4 24040002 */ li $a0, 2
/* 09A6E8 80099AE8 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012
/* 09A6EC 80099AEC 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550
@@ -10,7 +10,7 @@ glabel menu_track_select_init
/* 08F3C0 8008E7C0 AFB20028 */ sw $s2, 0x28($sp)
/* 08F3C4 8008E7C4 AFB10024 */ sw $s1, 0x24($sp)
/* 08F3C8 8008E7C8 AFB00020 */ sw $s0, 0x20($sp)
/* 08F3CC 8008E7CC 0C03105C */ jal func_800C4170
/* 08F3CC 8008E7CC 0C03105C */ jal load_font
/* 08F3D0 8008E7D0 24040002 */ li $a0, 2
/* 08F3D4 8008E7D4 0C01BAA4 */ jal get_settings
/* 08F3D8 8008E7D8 00000000 */ nop
@@ -301,7 +301,7 @@ glabel menu_trophy_race_rankings_init
/* 099A54 80098E54 1420FFF5 */ bnez $at, .L80098E2C
/* 099A58 80098E58 24840001 */ addiu $a0, $a0, 1
.L80098E5C:
/* 099A5C 80098E5C 0C03105C */ jal func_800C4170
/* 099A5C 80098E5C 0C03105C */ jal load_font
/* 099A60 80098E60 24040002 */ li $a0, 2
/* 099A64 80098E64 0C0002F8 */ jal set_music_player_voice_limit
/* 099A68 80098E68 24040018 */ li $a0, 24
@@ -75,7 +75,7 @@ glabel menu_trophy_race_round_init
/* 098F78 80098378 3C01800E */ lui $at, %hi(D_800E0980) # $at, 0x800e
/* 098F7C 8009837C 240B000A */ li $t3, 10
/* 098F80 80098380 AC2B0980 */ sw $t3, %lo(D_800E0980)($at)
/* 098F84 80098384 0C03105C */ jal func_800C4170
/* 098F84 80098384 0C03105C */ jal load_font
/* 098F88 80098388 24040002 */ li $a0, 2
/* 098F8C 8009838C 0C0002F8 */ jal set_music_player_voice_limit
/* 098F90 80098390 24040018 */ li $a0, 24
-57
View File
@@ -1,57 +0,0 @@
/* This file was generated by generate_ld.py */
#ifndef _ASSET_SECTIONS_H_
#define _ASSET_SECTIONS_H_
#define ASSET_UNKNOWN_0 0
#define ASSET_UNKNOWN_0_TABLE 1
#define ASSET_TEXTURES_3D 2
#define ASSET_TEXTURES_3D_TABLE 3
#define ASSET_TEXTURES_2D 4
#define ASSET_TEXTURES_2D_TABLE 5
#define ASSET_GAME_TEXT 6
#define ASSET_GAME_TEXT_TABLE 7
#define ASSET_MENU_TEXT 8
#define ASSET_MENU_TEXT_TABLE 9
#define ASSET_SCREENS 10
#define ASSET_SCREENS_TABLE 11
#define ASSET_SPRITES 12
#define ASSET_SPRITES_TABLE 13
#define ASSET_EMPTY_14 14
#define ASSET_MISC 15
#define ASSET_MISC_TABLE 16
#define ASSET_HUD_ELEMENT_IDS 17
#define ASSET_MENU_ELEMENT_IDS 18
#define ASSET_UNKNOWN_19 19
#define ASSET_LEVEL_OBJECT_MAPS_TABLE 20
#define ASSET_LEVEL_OBJECT_MAPS 21
#define ASSET_LEVEL_HEADERS_TABLE 22
#define ASSET_LEVEL_HEADERS 23
#define ASSET_LEVEL_NAMES_TABLE 24
#define ASSET_LEVEL_NAMES 25
#define ASSET_LEVEL_MODELS_TABLE 26
#define ASSET_LEVEL_MODELS 27
#define ASSET_OBJECT_MODELS_TABLE 28
#define ASSET_OBJECT_MODELS 29
#define ASSET_ANIMATION_IDS 30
#define ASSET_OBJECT_ANIMATIONS_TABLE 31
#define ASSET_OBJECT_ANIMATIONS 32
#define ASSET_OBJECT_HEADERS_TABLE 33
#define ASSET_OBJECT_HEADERS 34
#define ASSET_LEVEL_OBJECT_TRANSLATION_TABLE 35
#define ASSET_EMPTY_37_TABLE 36
#define ASSET_EMPTY_37 37
#define ASSET_AUDIO_TABLE 38
#define ASSET_AUDIO 39
#define ASSET_PARTICLES_TABLE 40
#define ASSET_PARTICLES 41
#define ASSET_PARTICLE_BEHAVIORS_TABLE 42
#define ASSET_PARTICLE_BEHAVIORS 43
#define ASSET_BINARY_44 44
#define ASSET_BINARY_45 45
#define ASSET_BINARY_46 46
#define ASSET_BINARY_47 47
#define ASSET_TTGHOSTS_TABLE 48
#define ASSET_TTGHOSTS 49
#endif
+6 -6
View File
@@ -134,8 +134,8 @@ void alFxNew(ALFx *r, ALSynConfig *c, s16 bus, UNUSED ALHeap *hp) {
j = 0;
r->section_count = param[j++];
r->length = param[j++];
r->delay = allocate_from_main_pool_safe(sizeof(ALDelay) * r->section_count, COLOR_TAG_CYAN);
r->base = allocate_from_main_pool_safe(sizeof(s16) * r->length, COLOR_TAG_CYAN);
r->delay = allocate_from_main_pool_safe(sizeof(ALDelay) * r->section_count, COLOUR_TAG_CYAN);
r->base = allocate_from_main_pool_safe(sizeof(s16) * r->length, COLOUR_TAG_CYAN);
r->input = r->base;
for ( k=0; k < r->length; k++)
r->base[k] = 0;
@@ -167,8 +167,8 @@ void alFxNew(ALFx *r, ALSynConfig *c, s16 bus, UNUSED ALHeap *hp) {
d->rsgain = (((f32) param[j++])/CONVERT) * LENGTH;
d->rsval = 1.0;
d->rsdelta = 0.0;
d->rs = allocate_from_main_pool_safe(sizeof(ALResampler), COLOR_TAG_CYAN);
d->rs->state = allocate_from_main_pool_safe(sizeof(RESAMPLE_STATE), COLOR_TAG_CYAN);
d->rs = allocate_from_main_pool_safe(sizeof(ALResampler), COLOUR_TAG_CYAN);
d->rs->state = allocate_from_main_pool_safe(sizeof(RESAMPLE_STATE), COLOUR_TAG_CYAN);
d->rs->delta = 0.0;
d->rs->first = 1;
} else {
@@ -177,8 +177,8 @@ void alFxNew(ALFx *r, ALSynConfig *c, s16 bus, UNUSED ALHeap *hp) {
j++;
}
if (param[j]) {
d->lp = allocate_from_main_pool_safe(sizeof(ALLowPass), COLOR_TAG_CYAN);
d->lp->fstate = allocate_from_main_pool_safe(sizeof(POLEF_STATE), COLOR_TAG_CYAN);
d->lp = allocate_from_main_pool_safe(sizeof(ALLowPass), COLOUR_TAG_CYAN);
d->lp->fstate = allocate_from_main_pool_safe(sizeof(POLEF_STATE), COLOUR_TAG_CYAN);
d->lp->fc = param[j++];
init_lpfilter(d->lp);
} else {
+24 -31
View File
@@ -2,7 +2,6 @@
/* RAM_POS: 0x80076BA0 */
#include "asset_loading.h"
#include "memory.h"
//#include "assets.h"
#include "macros.h"
@@ -28,7 +27,7 @@ void func_80076BA0(void) {
osCreateMesgQueue(&gDmaMesgQueue, &gDmaMesg, 1);
osCreatePiManager((OSPri)150, &gPIMesgQueue, gPIMesgBuf, ARRAY_COUNT(gPIMesgBuf));
assetTableSize = &__ASSETS_LUT_END - &__ASSETS_LUT_START;
gAssetsLookupTable = (u32 *)allocate_from_main_pool_safe(assetTableSize, COLOR_TAG_GRAY);
gAssetsLookupTable = (u32 *)allocate_from_main_pool_safe(assetTableSize, COLOUR_TAG_GREY);
func_80071478((u8 *)gAssetsLookupTable);
dmacopy((u32)&__ASSETS_LUT_START, (u32)gAssetsLookupTable, (s32)assetTableSize);
}
@@ -48,7 +47,7 @@ u32 *load_asset_section_from_rom(u32 assetIndex) {
index = assetIndex + gAssetsLookupTable;
start = *index;
size = *(index + 1) - start;
out = (u32 *)allocate_from_main_pool_safe(size, COLOR_TAG_GRAY);
out = (u32 *)allocate_from_main_pool_safe(size, COLOUR_TAG_GREY);
if (out == 0) {
return 0;
}
@@ -56,43 +55,37 @@ u32 *load_asset_section_from_rom(u32 assetIndex) {
return out;
}
#ifdef NON_EQUIVALENT
// Unused.
// This has regalloc & stack issues.
u8 *load_compressed_asset_from_rom(u32 assetIndex, s32 arg1) {
#ifdef NON_MATCHING
// 99.8% matching; has a single stack issue. see: https://decomp.me/scratch/MyWiR
u8 *load_compressed_asset_from_rom(u32 assetIndex, s32 extraMemory) {
s32 size;
s32 sp2C;
s32 start;
s32 totalSpace;
u8 *gzipHeaderRamPos;
u8 *out;
s32 *index;
u8 *temp_a1;
u8 *temp_v0_2;
u8 *temp_v0_3;
u8 *temp_a0;
u8 *ramPos;
if (gAssetsLookupTable[0] < assetIndex) {
return NULL;
}
assetIndex++;
index = assetIndex + gAssetsLookupTable;
start = *index;
size = *(index + 1) - start;
temp_v0_2 = (u8 *)allocate_from_main_pool_safe(8, COLOR_TAG_WHITE);
temp_a0 = start + &__ASSETS_LUT_END;
dmacopy(temp_a0, temp_v0_2, 8);
sp2C = byteswap32(temp_v0_2) + arg1;
free_from_memory_pool(temp_v0_2);
temp_v0_3 = (u8 *)allocate_from_main_pool_safe(sp2C + arg1, COLOR_TAG_GRAY);
if (temp_v0_3 == NULL) {
out = assetIndex + gAssetsLookupTable;
index = out;
start = index[0];
size = index[1] - start;
gzipHeaderRamPos = (u8 *) allocate_from_main_pool_safe(8, COLOUR_TAG_WHITE);
dmacopy((u32) (start + (&__ASSETS_LUT_END)), gzipHeaderRamPos, 8);
totalSpace = byteswap32(gzipHeaderRamPos) + extraMemory;
free_from_memory_pool(gzipHeaderRamPos);
out = (u8 *) allocate_from_main_pool_safe(totalSpace + extraMemory, COLOUR_TAG_GREY);
if (out == NULL){
return NULL;
}
temp_a1 = (temp_v0_3 + sp2C) - size;
dmacopy(temp_a0, temp_a1, size);
gzip_inflate(temp_a1, temp_v0_3);
return temp_v0_3;
ramPos = (out + totalSpace) - size;
totalSpace = size;
dmacopy((u32) (start + (&__ASSETS_LUT_END)), ramPos, size);
gzip_inflate(ramPos, out);
return out;
}
#else
GLOBAL_ASM("asm/non_matchings/asset_loading/load_compressed_asset_from_rom.s")
+1
View File
@@ -3,6 +3,7 @@
#include "types.h"
#include "gzip.h"
#include "memory.h"
void func_80076BA0(void);
u32 *load_asset_section_from_rom(u32 assetIndex);
+9 -9
View File
@@ -6,7 +6,7 @@
#include "types.h"
#include "macros.h"
#include "asset_sections.h"
#include "asset_enums.h"
#include "asset_loading.h"
#include "audio_internal.h"
#include "unknown_003260.h"
@@ -107,31 +107,31 @@ void audio_init(OSSched *arg0) {
alHeapInit(&gALHeap, gBssSectionStart, AUDIO_HEAP_SIZE);
addrPtr = load_asset_section_from_rom(ASSET_AUDIO_TABLE);
ALBankFile_80115D14 = (ALBankFile *)allocate_from_main_pool_safe(addrPtr[2] - addrPtr[1], COLOR_TAG_CYAN);
ALBankFile_80115D14 = (ALBankFile *)allocate_from_main_pool_safe(addrPtr[2] - addrPtr[1], COLOUR_TAG_CYAN);
load_asset_to_address(ASSET_AUDIO, ALBankFile_80115D14, addrPtr[1], addrPtr[2] - addrPtr[1]);
alBnkfNew(ALBankFile_80115D14, get_rom_offset_of_asset(ASSET_AUDIO, addrPtr[2]));
sSoundEffectsPoolSize = addrPtr[7] - addrPtr[6];
sSoundEffectsPool = (unk80115D18 *)allocate_from_main_pool_safe(sSoundEffectsPoolSize, COLOR_TAG_CYAN);
sSoundEffectsPool = (unk80115D18 *)allocate_from_main_pool_safe(sSoundEffectsPoolSize, COLOUR_TAG_CYAN);
load_asset_to_address(ASSET_AUDIO, sSoundEffectsPool, addrPtr[6], sSoundEffectsPoolSize);
D_80115D20 = sSoundEffectsPoolSize / 10;
sMusicPoolSize = addrPtr[6] - addrPtr[5];
sMusicPool = (unk80115D1C *)allocate_from_main_pool_safe(sMusicPoolSize, COLOR_TAG_CYAN);
sMusicPool = (unk80115D1C *)allocate_from_main_pool_safe(sMusicPoolSize, COLOUR_TAG_CYAN);
load_asset_to_address(ASSET_AUDIO, sMusicPool, addrPtr[5], sMusicPoolSize);
D_80115D24 = sMusicPoolSize / 3;
ALBankFile_80115D10 = (ALBankFile *)allocate_from_main_pool_safe(addrPtr[0], COLOR_TAG_CYAN);
ALBankFile_80115D10 = (ALBankFile *)allocate_from_main_pool_safe(addrPtr[0], COLOUR_TAG_CYAN);
load_asset_to_address(ASSET_AUDIO, ALBankFile_80115D10, 0, addrPtr[0]);
alBnkfNew(ALBankFile_80115D10, get_rom_offset_of_asset(ASSET_AUDIO, addrPtr[0]));
ALSeqFile_80115CF8 = (ALSeqFile *)alHeapDBAlloc(0, 0, &gALHeap, 1, 4);
load_asset_to_address(ASSET_AUDIO, ALSeqFile_80115CF8, addrPtr[4], 4);
seqfSize = (ALSeqFile_80115CF8->seqCount) * 8 + 4;
ALSeqFile_80115CF8 = allocate_from_main_pool_safe(seqfSize, COLOR_TAG_CYAN);
ALSeqFile_80115CF8 = allocate_from_main_pool_safe(seqfSize, COLOUR_TAG_CYAN);
load_asset_to_address(ASSET_AUDIO, ALSeqFile_80115CF8, addrPtr[4], seqfSize);
alSeqFileNew(ALSeqFile_80115CF8, get_rom_offset_of_asset(ASSET_AUDIO, addrPtr[4]));
D_80115D0C = (u32 *)allocate_from_main_pool_safe((ALSeqFile_80115CF8->seqCount) * 4, COLOR_TAG_CYAN);
D_80115D0C = (u32 *)allocate_from_main_pool_safe((ALSeqFile_80115CF8->seqCount) * 4, COLOUR_TAG_CYAN);
for (iCnt = 0; iCnt < ALSeqFile_80115CF8->seqCount; iCnt++) {
(u32 *)((u32)ALSeqFile_80115CF8 + 8 + iCnt * 8);
@@ -156,8 +156,8 @@ void audio_init(OSSched *arg0) {
gMusicPlayer = func_80002224(24, 120);
set_voice_limit(gMusicPlayer, 18);
gSndFxPlayer = func_80002224(16, 50);
D_80115CFC = allocate_from_main_pool_safe(seq_max_len, COLOR_TAG_CYAN);
D_80115D00 = allocate_from_main_pool_safe(seq_max_len, COLOR_TAG_CYAN);
D_80115CFC = allocate_from_main_pool_safe(seq_max_len, COLOUR_TAG_CYAN);
D_80115D00 = allocate_from_main_pool_safe(seq_max_len, COLOUR_TAG_CYAN);
audConfig.unk04 = 150;
audConfig.unk00 = 32;
audConfig.maxChannels = 16;
+1 -1
View File
@@ -6,7 +6,7 @@
#include "types.h"
#include "macros.h"
#include "f3ddkr.h"
#include "asset_sections.h"
#include "asset_enums.h"
#include "memory.h"
#include "PR/libultra.h"
#include "video.h"
+8 -8
View File
@@ -88,7 +88,7 @@ void load_fonts(void) {
u32 *fontAssetData;
s32 i;
fontAssetData = load_asset_section_from_rom(ASSET_BINARY_44);
fontAssetData = load_asset_section_from_rom(ASSET_FONTS);
gFonts = (FontData *)(fontAssetData); // ???
gNumberOfFonts = *(fontAssetData);
@@ -98,7 +98,7 @@ void load_fonts(void) {
gFonts[i].unk28[0] = 0;
}
gDialogueBoxBackground = allocate_from_main_pool_safe(DIALOGUEBOXBACKGROUND_TOTAL_SIZE + unk8012A7EC_TOTAL_SIZE, COLOR_TAG_YELLOW);
gDialogueBoxBackground = allocate_from_main_pool_safe(DIALOGUEBOXBACKGROUND_TOTAL_SIZE + unk8012A7EC_TOTAL_SIZE, COLOUR_TAG_YELLOW);
D_8012A7EC = (unk8012A7EC *)((u8 *)gDialogueBoxBackground + DIALOGUEBOXBACKGROUND_TOTAL_SIZE);
for (i = 0; i < DIALOGUEBOXBACKGROUND_COUNT; i++) {
@@ -146,8 +146,8 @@ void load_fonts(void) {
(*D_8012A7EC)[i].textBGColourA = 0;
(*D_8012A7EC)[i].unk1C = 0;
}
func_800C4170(0);
func_800C4170(1);
load_font(0);
load_font(1);
D_8012A7F0 = 0;
}
@@ -157,7 +157,7 @@ void func_800C4164(s32 arg0) {
#ifdef NON_EQUIVALENT
// Mostly has regalloc issues.
void func_800C4170(s32 fontID) {
void load_font(s32 fontID) {
if (fontID < gNumberOfFonts) {
FontData *fontData = &gFonts[fontID];
fontData->unk28[0]++;
@@ -175,12 +175,12 @@ void func_800C4170(s32 fontID) {
}
}
#else
GLOBAL_ASM("asm/non_matchings/font/func_800C4170.s")
GLOBAL_ASM("asm/non_matchings/font/load_font.s")
#endif
#ifdef NON_EQUIVALENT
// Mostly has regalloc issues.
void func_800C422C(s32 fontID) {
void unload_font(s32 fontID) {
if (fontID < gNumberOfFonts) {
FontData *fontData = &gFonts[fontID];
if (fontData->unk28[0] > 0) {
@@ -201,7 +201,7 @@ void func_800C422C(s32 fontID) {
}
}
#else
GLOBAL_ASM("asm/non_matchings/font/func_800C422C.s")
GLOBAL_ASM("asm/non_matchings/font/unload_font.s")
#endif
/**
+3 -3
View File
@@ -9,7 +9,7 @@
#include "structs.h"
#include "types.h"
#include "macros.h"
#include "asset_sections.h"
#include "asset_enums.h"
#include "libultra_internal.h"
#include "f3ddkr.h"
#include "textures_sprites.h"
@@ -212,8 +212,8 @@ void parse_string_with_number(unsigned char *input, char *output, s32 number);
void s32_to_string(char** outString, s32 number); //Non Matching
TextureHeader *func_800C4318(s32 font, u8 arg1); //Non Matching
void func_800C4170(s32 fontID); //Non Matching
void func_800C422C(s32 arg0); //Non Matching
void load_font(s32 fontID); //Non Matching
void unload_font(s32 arg0); //Non Matching
void func_800C45A4(Gfx **dlist, DialogueBoxBackground *arg1, char *text, AlignmentFlags alignmentFlags, f32 arg4); //Non Matching
s32 func_800C4DA0(u8 *text, s32 x, s32 font); //Non Matching
void *render_dialogue_text(s32 arg0, s32 posX, s32 posY, char *text, s32 arg4, s32 arg5); //Non Matching

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