From 60216517d12b94513a65c3e8ad3a4afe288a68fe Mon Sep 17 00:00:00 2001 From: David Benepe Date: Thu, 15 Jul 2021 22:21:07 -0500 Subject: [PATCH] Made progress with fade_transition & game_text files --- .../func_800C018C.s | 0 .../func_800C01D8.s | 28 +- .../func_800C0834.s | 4 +- .../func_800C0B00.s | 20 +- .../func_800C1130.s | 0 .../func_800C15D4.s | 12 +- .../func_800C1EE8.s | 0 .../func_800C2640.s | 28 +- .../func_800C27A0.s | 24 +- .../render_fade_circle.s} | 2 +- .../render_fade_waves.s} | 2 +- .../func_800C2B00.s | 0 .../func_800C2D6C.s | 0 .../func_800C31EC.s | 0 .../func_800C3564.s | 0 .../func_800C38B4.s | 0 asm/non_matchings/unknown_06B2B0/render.s | 2 +- .../unknown_0B8920/func_800C0494.s | 94 --- .../unknown_0B8920/func_800C05C8.s | 110 ---- .../unknown_0B8920/func_800C0724.s | 26 - .../unknown_0B8920/func_800C0780.s | 51 -- .../unknown_0B8920/func_800C0A08.s | 64 -- .../unknown_0B8920/func_800C13E4.s | 64 -- .../unknown_0B8920/func_800C14DC.s | 64 -- .../unknown_0B8920/func_800C2548.s | 64 -- .../unknown_0B8920/func_800C28E8.s | 68 --- .../unknown_0B8920/func_800C29F0.s | 53 -- .../unknown_0B8920/func_800C2F1C.s | 82 --- .../unknown_0B8920/func_800C3048.s | 35 -- .../unknown_0B8920/func_800C30CC.s | 33 -- .../unknown_0B8920/func_800C3158.s | 41 -- .../unknown_0B8920/func_800C3440.s | 81 --- include/f3ddkr.h | 22 + src/fade_transition.c | 547 ++++++++++++++++++ src/fade_transition.h | 29 + src/font.c | 24 +- src/game_text.c | 214 +++++++ src/menu.c | 19 +- src/menu.h | 3 - src/unknown_06B2B0.c | 2 +- src/unknown_0C0D70.c | 271 --------- 41 files changed, 896 insertions(+), 1287 deletions(-) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C018C.s (100%) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C01D8.s (90%) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C0834.s (97%) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C0B00.s (96%) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C1130.s (100%) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C15D4.s (98%) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C1EE8.s (100%) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C2640.s (78%) rename asm/non_matchings/{unknown_0B8920 => fade_transition}/func_800C27A0.s (79%) rename asm/non_matchings/{unknown_0B8920/func_800C2274.s => fade_transition/render_fade_circle.s} (99%) rename asm/non_matchings/{unknown_0B8920/func_800C23F8.s => fade_transition/render_fade_waves.s} (99%) rename asm/non_matchings/{unknown_0B8920 => game_text}/func_800C2B00.s (100%) rename asm/non_matchings/{unknown_0B8920 => game_text}/func_800C2D6C.s (100%) rename asm/non_matchings/{unknown_0B8920 => game_text}/func_800C31EC.s (100%) rename asm/non_matchings/{unknown_0B8920 => game_text}/func_800C3564.s (100%) rename asm/non_matchings/{unknown_0B8920 => game_text}/func_800C38B4.s (100%) delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C0494.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C05C8.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C0724.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C0780.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C0A08.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C13E4.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C14DC.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C2548.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C28E8.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C29F0.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C2F1C.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C3048.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C30CC.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C3158.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C3440.s create mode 100644 src/fade_transition.c create mode 100644 src/fade_transition.h create mode 100644 src/game_text.c delete mode 100644 src/unknown_0C0D70.c diff --git a/asm/non_matchings/unknown_0B8920/func_800C018C.s b/asm/non_matchings/fade_transition/func_800C018C.s similarity index 100% rename from asm/non_matchings/unknown_0B8920/func_800C018C.s rename to asm/non_matchings/fade_transition/func_800C018C.s diff --git a/asm/non_matchings/unknown_0B8920/func_800C01D8.s b/asm/non_matchings/fade_transition/func_800C01D8.s similarity index 90% rename from asm/non_matchings/unknown_0B8920/func_800C01D8.s rename to asm/non_matchings/fade_transition/func_800C01D8.s index 576a2ec8..6411a5cc 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C01D8.s +++ b/asm/non_matchings/fade_transition/func_800C01D8.s @@ -32,12 +32,12 @@ glabel func_800C01D8 /* 0C0E34 800C0234 3C01800E */ lui $at, %hi(D_800E31B4) # $at, 0x800e /* 0C0E38 800C0238 A43931B4 */ sh $t9, %lo(D_800E31B4)($at) /* 0C0E3C 800C023C 90820000 */ lbu $v0, ($a0) -/* 0C0E40 800C0240 3C078013 */ lui $a3, %hi(D_8012A730) # $a3, 0x8013 +/* 0C0E40 800C0240 3C078013 */ lui $a3, %hi(gCurFaceTransition) # $a3, 0x8013 /* 0C0E44 800C0244 30480080 */ andi $t0, $v0, 0x80 /* 0C0E48 800C0248 2D090001 */ sltiu $t1, $t0, 1 /* 0C0E4C 800C024C A0690000 */ sb $t1, ($v1) /* 0C0E50 800C0250 908A0000 */ lbu $t2, ($a0) -/* 0C0E54 800C0254 24E7A730 */ addiu $a3, %lo(D_8012A730) # addiu $a3, $a3, -0x58d0 +/* 0C0E54 800C0254 24E7A730 */ addiu $a3, %lo(gCurFaceTransition) # addiu $a3, $a3, -0x58d0 /* 0C0E58 800C0258 314B003F */ andi $t3, $t2, 0x3f /* 0C0E5C 800C025C ACEB0000 */ sw $t3, ($a3) /* 0C0E60 800C0260 908C0000 */ lbu $t4, ($a0) @@ -53,22 +53,22 @@ glabel func_800C01D8 /* 0C0E88 800C0288 ACB80000 */ sw $t8, ($a1) .L800C028C: /* 0C0E8C 800C028C 94D90000 */ lhu $t9, ($a2) -/* 0C0E90 800C0290 3C028013 */ lui $v0, %hi(D_8012A734) # $v0, 0x8013 +/* 0C0E90 800C0290 3C028013 */ lui $v0, %hi(gCurFadeRed) # $v0, 0x8013 /* 0C0E94 800C0294 1B200078 */ blez $t9, .L800C0478 -/* 0C0E98 800C0298 2442A734 */ addiu $v0, %lo(D_8012A734) # addiu $v0, $v0, -0x58cc +/* 0C0E98 800C0298 2442A734 */ addiu $v0, %lo(gCurFadeRed) # addiu $v0, $v0, -0x58cc /* 0C0E9C 800C029C 90480000 */ lbu $t0, ($v0) -/* 0C0EA0 800C02A0 3C038013 */ lui $v1, %hi(D_8012A735) # $v1, 0x8013 -/* 0C0EA4 800C02A4 3C018013 */ lui $at, %hi(D_8012A738) # $at, 0x8013 -/* 0C0EA8 800C02A8 2463A735 */ addiu $v1, %lo(D_8012A735) # addiu $v1, $v1, -0x58cb -/* 0C0EAC 800C02AC AC28A738 */ sw $t0, %lo(D_8012A738)($at) +/* 0C0EA0 800C02A0 3C038013 */ lui $v1, %hi(gCurFadeGreen) # $v1, 0x8013 +/* 0C0EA4 800C02A4 3C018013 */ lui $at, %hi(gLastFadeRed) # $at, 0x8013 +/* 0C0EA8 800C02A8 2463A735 */ addiu $v1, %lo(gCurFadeGreen) # addiu $v1, $v1, -0x58cb +/* 0C0EAC 800C02AC AC28A738 */ sw $t0, %lo(gLastFadeRed)($at) /* 0C0EB0 800C02B0 90690000 */ lbu $t1, ($v1) -/* 0C0EB4 800C02B4 3C058013 */ lui $a1, %hi(D_8012A736) # $a1, 0x8013 -/* 0C0EB8 800C02B8 3C018013 */ lui $at, %hi(D_8012A73C) # $at, 0x8013 -/* 0C0EBC 800C02BC 24A5A736 */ addiu $a1, %lo(D_8012A736) # addiu $a1, $a1, -0x58ca -/* 0C0EC0 800C02C0 AC29A73C */ sw $t1, %lo(D_8012A73C)($at) +/* 0C0EB4 800C02B4 3C058013 */ lui $a1, %hi(gCurFadeBlue) # $a1, 0x8013 +/* 0C0EB8 800C02B8 3C018013 */ lui $at, %hi(gLastFadeGreen) # $at, 0x8013 +/* 0C0EBC 800C02BC 24A5A736 */ addiu $a1, %lo(gCurFadeBlue) # addiu $a1, $a1, -0x58ca +/* 0C0EC0 800C02C0 AC29A73C */ sw $t1, %lo(gLastFadeGreen)($at) /* 0C0EC4 800C02C4 90AA0000 */ lbu $t2, ($a1) -/* 0C0EC8 800C02C8 3C018013 */ lui $at, %hi(D_8012A740) # $at, 0x8013 -/* 0C0ECC 800C02CC AC2AA740 */ sw $t2, %lo(D_8012A740)($at) +/* 0C0EC8 800C02C8 3C018013 */ lui $at, %hi(gLastFadeBlue) # $at, 0x8013 +/* 0C0ECC 800C02CC AC2AA740 */ sw $t2, %lo(gLastFadeBlue)($at) /* 0C0ED0 800C02D0 908B0001 */ lbu $t3, 1($a0) /* 0C0ED4 800C02D4 8CEE0000 */ lw $t6, ($a3) /* 0C0ED8 800C02D8 A04B0000 */ sb $t3, ($v0) diff --git a/asm/non_matchings/unknown_0B8920/func_800C0834.s b/asm/non_matchings/fade_transition/func_800C0834.s similarity index 97% rename from asm/non_matchings/unknown_0B8920/func_800C0834.s rename to asm/non_matchings/fade_transition/func_800C0834.s index a26917f6..206a804f 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C0834.s +++ b/asm/non_matchings/fade_transition/func_800C0834.s @@ -4,14 +4,14 @@ glabel func_800C0834 /* 0C143C 800C083C 3C0B800E */ lui $t3, %hi(D_800E31B8) # $t3, 0x800e /* 0C1440 800C0840 3C0A800E */ lui $t2, %hi(D_800E31A8) # $t2, 0x800e /* 0C1444 800C0844 3C09800E */ lui $t1, %hi(D_800E31B4) # $t1, 0x800e -/* 0C1448 800C0848 3C078013 */ lui $a3, %hi(D_8012A737) # $a3, 0x8013 +/* 0C1448 800C0848 3C078013 */ lui $a3, %hi(gCurFadeAlpha) # $a3, 0x8013 /* 0C144C 800C084C 3C068013 */ lui $a2, %hi(D_8012A750) # $a2, 0x8013 /* 0C1450 800C0850 3C05800E */ lui $a1, %hi(D_800E31B0) # $a1, 0x800e /* 0C1454 800C0854 44816000 */ mtc1 $at, $f12 /* 0C1458 800C0858 44801000 */ mtc1 $zero, $f2 /* 0C145C 800C085C 24A531B0 */ addiu $a1, %lo(D_800E31B0) # addiu $a1, $a1, 0x31b0 /* 0C1460 800C0860 24C6A750 */ addiu $a2, %lo(D_8012A750) # addiu $a2, $a2, -0x58b0 -/* 0C1464 800C0864 24E7A737 */ addiu $a3, %lo(D_8012A737) # addiu $a3, $a3, -0x58c9 +/* 0C1464 800C0864 24E7A737 */ addiu $a3, %lo(gCurFadeAlpha) # addiu $a3, $a3, -0x58c9 /* 0C1468 800C0868 252931B4 */ addiu $t1, %lo(D_800E31B4) # addiu $t1, $t1, 0x31b4 /* 0C146C 800C086C 254A31A8 */ addiu $t2, %lo(D_800E31A8) # addiu $t2, $t2, 0x31a8 /* 0C1470 800C0870 256B31B8 */ addiu $t3, %lo(D_800E31B8) # addiu $t3, $t3, 0x31b8 diff --git a/asm/non_matchings/unknown_0B8920/func_800C0B00.s b/asm/non_matchings/fade_transition/func_800C0B00.s similarity index 96% rename from asm/non_matchings/unknown_0B8920/func_800C0B00.s rename to asm/non_matchings/fade_transition/func_800C0B00.s index 43282602..0f244855 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C0B00.s +++ b/asm/non_matchings/fade_transition/func_800C0B00.s @@ -30,12 +30,12 @@ glabel func_800C0B00 /* 0C1770 800C0B70 3C04800E */ lui $a0, %hi(D_800E31C0) # $a0, 0x800e /* 0C1774 800C0B74 248431C0 */ addiu $a0, %lo(D_800E31C0) # addiu $a0, $a0, 0x31c0 /* 0C1778 800C0B78 AC820000 */ sw $v0, ($a0) -/* 0C177C 800C0B7C 3C01800E */ lui $at, %hi(D_800E31C4) # $at, 0x800e +/* 0C177C 800C0B7C 3C01800E */ lui $at, %hi(D_800E31C0+4) # $at, 0x800e /* 0C1780 800C0B80 00436021 */ addu $t4, $v0, $v1 -/* 0C1784 800C0B84 AC2C31C4 */ sw $t4, %lo(D_800E31C4)($at) +/* 0C1784 800C0B84 AC2C31C4 */ sw $t4, %lo(D_800E31C0+4)($at) /* 0C1788 800C0B88 8C8D0004 */ lw $t5, 4($a0) /* 0C178C 800C0B8C 3C05800E */ lui $a1, %hi(D_800E31C8) # $a1, 0x800e -/* 0C1790 800C0B90 3C01800E */ lui $at, %hi(D_800E31CC) # $at, 0x800e +/* 0C1790 800C0B90 3C01800E */ lui $at, %hi(D_800E31C8+4) # $at, 0x800e /* 0C1794 800C0B94 01A37021 */ addu $t6, $t5, $v1 /* 0C1798 800C0B98 24A531C8 */ addiu $a1, %lo(D_800E31C8) # addiu $a1, $a1, 0x31c8 /* 0C179C 800C0B9C AC2E31C8 */ sw $t6, %lo(D_800E31C8)($at) @@ -43,7 +43,7 @@ glabel func_800C0B00 /* 0C17A4 800C0BA4 8CAF0000 */ lw $t7, ($a1) /* 0C17A8 800C0BA8 3C068013 */ lui $a2, %hi(D_8012A770) # $a2, 0x8013 /* 0C17AC 800C0BAC 01E8C021 */ addu $t8, $t7, $t0 -/* 0C17B0 800C0BB0 AC3831CC */ sw $t8, %lo(D_800E31CC)($at) +/* 0C17B0 800C0BB0 AC3831CC */ sw $t8, %lo(D_800E31C8+4)($at) /* 0C17B4 800C0BB4 8CB90004 */ lw $t9, 4($a1) /* 0C17B8 800C0BB8 3C018013 */ lui $at, %hi(D_8012A770) # $at, 0x8013 /* 0C17BC 800C0BBC 03286021 */ addu $t4, $t9, $t0 @@ -222,12 +222,12 @@ glabel func_800C0B00 /* 0C1A54 800C0E54 E5840008 */ swc1 $f4, 8($t4) /* 0C1A58 800C0E58 00005025 */ move $t2, $zero .L800C0E5C: -/* 0C1A5C 800C0E5C 3C088013 */ lui $t0, %hi(D_8012A736) # $t0, 0x8013 -/* 0C1A60 800C0E60 3C078013 */ lui $a3, %hi(D_8012A735) # $a3, 0x8013 -/* 0C1A64 800C0E64 3C068013 */ lui $a2, %hi(D_8012A734) # $a2, 0x8013 -/* 0C1A68 800C0E68 24C6A734 */ addiu $a2, %lo(D_8012A734) # addiu $a2, $a2, -0x58cc -/* 0C1A6C 800C0E6C 24E7A735 */ addiu $a3, %lo(D_8012A735) # addiu $a3, $a3, -0x58cb -/* 0C1A70 800C0E70 2508A736 */ addiu $t0, %lo(D_8012A736) # addiu $t0, $t0, -0x58ca +/* 0C1A5C 800C0E5C 3C088013 */ lui $t0, %hi(gCurFadeBlue) # $t0, 0x8013 +/* 0C1A60 800C0E60 3C078013 */ lui $a3, %hi(gCurFadeGreen) # $a3, 0x8013 +/* 0C1A64 800C0E64 3C068013 */ lui $a2, %hi(gCurFadeRed) # $a2, 0x8013 +/* 0C1A68 800C0E68 24C6A734 */ addiu $a2, %lo(gCurFadeRed) # addiu $a2, $a2, -0x58cc +/* 0C1A6C 800C0E6C 24E7A735 */ addiu $a3, %lo(gCurFadeGreen) # addiu $a3, $a3, -0x58cb +/* 0C1A70 800C0E70 2508A736 */ addiu $t0, %lo(gCurFadeBlue) # addiu $t0, $t0, -0x58ca /* 0C1A74 800C0E74 2404FFF0 */ li $a0, -16 .L800C0E78: /* 0C1A78 800C0E78 1A000065 */ blez $s0, .L800C1010 diff --git a/asm/non_matchings/unknown_0B8920/func_800C1130.s b/asm/non_matchings/fade_transition/func_800C1130.s similarity index 100% rename from asm/non_matchings/unknown_0B8920/func_800C1130.s rename to asm/non_matchings/fade_transition/func_800C1130.s diff --git a/asm/non_matchings/unknown_0B8920/func_800C15D4.s b/asm/non_matchings/fade_transition/func_800C15D4.s similarity index 98% rename from asm/non_matchings/unknown_0B8920/func_800C15D4.s rename to asm/non_matchings/fade_transition/func_800C15D4.s index 543bf6df..1301e186 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C15D4.s +++ b/asm/non_matchings/fade_transition/func_800C15D4.s @@ -25,16 +25,16 @@ glabel func_800C15D4 /* 0C2230 800C1630 AC8F0004 */ sw $t7, 4($a0) /* 0C2234 800C1634 ACB90000 */ sw $t9, ($a1) /* 0C2238 800C1638 ACAD0004 */ sw $t5, 4($a1) -/* 0C223C 800C163C 3C058013 */ lui $a1, %hi(D_8012A735) # $a1, 0x8013 -/* 0C2240 800C1640 3C048013 */ lui $a0, %hi(D_8012A734) # $a0, 0x8013 +/* 0C223C 800C163C 3C058013 */ lui $a1, %hi(gCurFadeGreen) # $a1, 0x8013 +/* 0C2240 800C1640 3C048013 */ lui $a0, %hi(gCurFadeRed) # $a0, 0x8013 /* 0C2244 800C1644 3C03800E */ lui $v1, %hi(D_800E31C0) # $v1, 0x800e /* 0C2248 800C1648 3C0A800E */ lui $t2, %hi(D_800E31C8) # $t2, 0x800e -/* 0C224C 800C164C 3C068013 */ lui $a2, %hi(D_8012A736) # $a2, 0x8013 -/* 0C2250 800C1650 24C6A736 */ addiu $a2, %lo(D_8012A736) # addiu $a2, $a2, -0x58ca +/* 0C224C 800C164C 3C068013 */ lui $a2, %hi(gCurFadeBlue) # $a2, 0x8013 +/* 0C2250 800C1650 24C6A736 */ addiu $a2, %lo(gCurFadeBlue) # addiu $a2, $a2, -0x58ca /* 0C2254 800C1654 254A31C8 */ addiu $t2, %lo(D_800E31C8) # addiu $t2, $t2, 0x31c8 /* 0C2258 800C1658 246331C0 */ addiu $v1, %lo(D_800E31C0) # addiu $v1, $v1, 0x31c0 -/* 0C225C 800C165C 2484A734 */ addiu $a0, %lo(D_8012A734) # addiu $a0, $a0, -0x58cc -/* 0C2260 800C1660 24A5A735 */ addiu $a1, %lo(D_8012A735) # addiu $a1, $a1, -0x58cb +/* 0C225C 800C165C 2484A734 */ addiu $a0, %lo(gCurFadeRed) # addiu $a0, $a0, -0x58cc +/* 0C2260 800C1660 24A5A735 */ addiu $a1, %lo(gCurFadeGreen) # addiu $a1, $a1, -0x58cb /* 0C2264 800C1664 240902D0 */ li $t1, 720 /* 0C2268 800C1668 240800FF */ li $t0, 255 /* 0C226C 800C166C 00001025 */ move $v0, $zero diff --git a/asm/non_matchings/unknown_0B8920/func_800C1EE8.s b/asm/non_matchings/fade_transition/func_800C1EE8.s similarity index 100% rename from asm/non_matchings/unknown_0B8920/func_800C1EE8.s rename to asm/non_matchings/fade_transition/func_800C1EE8.s diff --git a/asm/non_matchings/unknown_0B8920/func_800C2640.s b/asm/non_matchings/fade_transition/func_800C2640.s similarity index 78% rename from asm/non_matchings/unknown_0B8920/func_800C2640.s rename to asm/non_matchings/fade_transition/func_800C2640.s index e650b736..8c1b8638 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C2640.s +++ b/asm/non_matchings/fade_transition/func_800C2640.s @@ -1,11 +1,11 @@ glabel func_800C2640 /* 0C3240 800C2640 AFA40000 */ sw $a0, ($sp) -/* 0C3244 800C2644 3C048013 */ lui $a0, %hi(D_8012A73C) # $a0, 0x8013 -/* 0C3248 800C2648 3C038013 */ lui $v1, %hi(D_8012A738) # $v1, 0x8013 -/* 0C324C 800C264C 3C058013 */ lui $a1, %hi(D_8012A740) # $a1, 0x8013 -/* 0C3250 800C2650 24A5A740 */ addiu $a1, %lo(D_8012A740) # addiu $a1, $a1, -0x58c0 -/* 0C3254 800C2654 2463A738 */ addiu $v1, %lo(D_8012A738) # addiu $v1, $v1, -0x58c8 -/* 0C3258 800C2658 2484A73C */ addiu $a0, %lo(D_8012A73C) # addiu $a0, $a0, -0x58c4 +/* 0C3244 800C2644 3C048013 */ lui $a0, %hi(gLastFadeGreen) # $a0, 0x8013 +/* 0C3248 800C2648 3C038013 */ lui $v1, %hi(gLastFadeRed) # $v1, 0x8013 +/* 0C324C 800C264C 3C058013 */ lui $a1, %hi(gLastFadeBlue) # $a1, 0x8013 +/* 0C3250 800C2650 24A5A740 */ addiu $a1, %lo(gLastFadeBlue) # addiu $a1, $a1, -0x58c0 +/* 0C3254 800C2654 2463A738 */ addiu $v1, %lo(gLastFadeRed) # addiu $v1, $v1, -0x58c8 +/* 0C3258 800C2658 2484A73C */ addiu $a0, %lo(gLastFadeGreen) # addiu $a0, $a0, -0x58c4 /* 0C325C 800C265C 8C6E0000 */ lw $t6, ($v1) /* 0C3260 800C2660 8C980000 */ lw $t8, ($a0) /* 0C3264 800C2664 8CA80000 */ lw $t0, ($a1) @@ -16,16 +16,16 @@ glabel func_800C2640 /* 0C3278 800C2678 AC990000 */ sw $t9, ($a0) /* 0C327C 800C267C ACA90000 */ sw $t1, ($a1) /* 0C3280 800C2680 240A00FF */ li $t2, 255 -/* 0C3284 800C2684 3C018013 */ lui $at, %hi(D_8012A737) # $at, 0x8013 -/* 0C3288 800C2688 A02AA737 */ sb $t2, %lo(D_8012A737)($at) +/* 0C3284 800C2684 3C018013 */ lui $at, %hi(gCurFadeAlpha) # $at, 0x8013 +/* 0C3288 800C2688 A02AA737 */ sb $t2, %lo(gCurFadeAlpha)($at) /* 0C328C 800C268C 3C01437F */ li $at, 0x437F0000 # 255.000000 /* 0C3290 800C2690 44812000 */ mtc1 $at, $f4 /* 0C3294 800C2694 3C018013 */ lui $at, %hi(D_8012A750) # $at, 0x8013 /* 0C3298 800C2698 44803000 */ mtc1 $zero, $f6 /* 0C329C 800C269C E424A750 */ swc1 $f4, %lo(D_8012A750)($at) /* 0C32A0 800C26A0 3C018013 */ lui $at, %hi(D_8012A754) # $at, 0x8013 -/* 0C32A4 800C26A4 3C0B8013 */ lui $t3, %hi(D_8012A734) # $t3, 0x8013 -/* 0C32A8 800C26A8 916BA734 */ lbu $t3, %lo(D_8012A734)($t3) +/* 0C32A4 800C26A4 3C0B8013 */ lui $t3, %hi(gCurFadeRed) # $t3, 0x8013 +/* 0C32A8 800C26A8 916BA734 */ lbu $t3, %lo(gCurFadeRed)($t3) /* 0C32AC 800C26AC E426A754 */ swc1 $f6, %lo(D_8012A754)($at) /* 0C32B0 800C26B0 8C6D0000 */ lw $t5, ($v1) /* 0C32B4 800C26B4 3C02800E */ lui $v0, %hi(D_800E31B0) # $v0, 0x800e @@ -33,7 +33,7 @@ glabel func_800C2640 /* 0C32BC 800C26BC 000B6400 */ sll $t4, $t3, 0x10 /* 0C32C0 800C26C0 018D7023 */ subu $t6, $t4, $t5 /* 0C32C4 800C26C4 01C2001A */ div $zero, $t6, $v0 -/* 0C32C8 800C26C8 3C188013 */ lui $t8, %hi(D_8012A735) # $t8, 0x8013 +/* 0C32C8 800C26C8 3C188013 */ lui $t8, %hi(gCurFadeGreen) # $t8, 0x8013 /* 0C32CC 800C26CC 14400002 */ bnez $v0, .L800C26D8 /* 0C32D0 800C26D0 00000000 */ nop /* 0C32D4 800C26D4 0007000D */ break 7 @@ -46,10 +46,10 @@ glabel func_800C2640 /* 0C32EC 800C26EC 0006000D */ break 6 .L800C26F0: /* 0C32F0 800C26F0 3C018013 */ lui $at, %hi(D_8012A744) # $at, 0x8013 -/* 0C32F4 800C26F4 9318A735 */ lbu $t8, %lo(D_8012A735)($t8) -/* 0C32F8 800C26F8 3C0B8013 */ lui $t3, %hi(D_8012A736) # $t3, 0x8013 +/* 0C32F4 800C26F4 9318A735 */ lbu $t8, %lo(gCurFadeGreen)($t8) +/* 0C32F8 800C26F8 3C0B8013 */ lui $t3, %hi(gCurFadeBlue) # $t3, 0x8013 /* 0C32FC 800C26FC 0018CC00 */ sll $t9, $t8, 0x10 -/* 0C3300 800C2700 916BA736 */ lbu $t3, %lo(D_8012A736)($t3) +/* 0C3300 800C2700 916BA736 */ lbu $t3, %lo(gCurFadeBlue)($t3) /* 0C3304 800C2704 24180001 */ li $t8, 1 /* 0C3308 800C2708 000B6400 */ sll $t4, $t3, 0x10 /* 0C330C 800C270C 00007812 */ mflo $t7 diff --git a/asm/non_matchings/unknown_0B8920/func_800C27A0.s b/asm/non_matchings/fade_transition/func_800C27A0.s similarity index 79% rename from asm/non_matchings/unknown_0B8920/func_800C27A0.s rename to asm/non_matchings/fade_transition/func_800C27A0.s index 56b40ec3..8dee2e01 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C27A0.s +++ b/asm/non_matchings/fade_transition/func_800C27A0.s @@ -3,28 +3,28 @@ glabel func_800C27A0 /* 0C33A4 800C27A4 AFB2000C */ sw $s2, 0xc($sp) /* 0C33A8 800C27A8 AFB00004 */ sw $s0, 4($sp) /* 0C33AC 800C27AC AFB10008 */ sw $s1, 8($sp) -/* 0C33B0 800C27B0 3C108013 */ lui $s0, %hi(D_8012A736) # $s0, 0x8013 +/* 0C33B0 800C27B0 3C108013 */ lui $s0, %hi(gCurFadeBlue) # $s0, 0x8013 /* 0C33B4 800C27B4 3C12800E */ lui $s2, %hi(D_800E31B4) # $s2, 0x800e -/* 0C33B8 800C27B8 3C0D8013 */ lui $t5, %hi(D_8012A735) # $t5, 0x8013 -/* 0C33BC 800C27BC 3C0C8013 */ lui $t4, %hi(D_8012A734) # $t4, 0x8013 +/* 0C33B8 800C27B8 3C0D8013 */ lui $t5, %hi(gCurFadeGreen) # $t5, 0x8013 +/* 0C33BC 800C27BC 3C0C8013 */ lui $t4, %hi(gCurFadeRed) # $t4, 0x8013 /* 0C33C0 800C27C0 3C0B8013 */ lui $t3, %hi(D_8012A74C) # $t3, 0x8013 -/* 0C33C4 800C27C4 3C0A8013 */ lui $t2, %hi(D_8012A740) # $t2, 0x8013 +/* 0C33C4 800C27C4 3C0A8013 */ lui $t2, %hi(gLastFadeBlue) # $t2, 0x8013 /* 0C33C8 800C27C8 3C098013 */ lui $t1, %hi(D_8012A748) # $t1, 0x8013 -/* 0C33CC 800C27CC 3C088013 */ lui $t0, %hi(D_8012A73C) # $t0, 0x8013 +/* 0C33CC 800C27CC 3C088013 */ lui $t0, %hi(gLastFadeGreen) # $t0, 0x8013 /* 0C33D0 800C27D0 3C078013 */ lui $a3, %hi(D_8012A744) # $a3, 0x8013 -/* 0C33D4 800C27D4 3C068013 */ lui $a2, %hi(D_8012A738) # $a2, 0x8013 +/* 0C33D4 800C27D4 3C068013 */ lui $a2, %hi(gLastFadeRed) # $a2, 0x8013 /* 0C33D8 800C27D8 3C05800E */ lui $a1, %hi(D_800E31B0) # $a1, 0x800e /* 0C33DC 800C27DC 24A531B0 */ addiu $a1, %lo(D_800E31B0) # addiu $a1, $a1, 0x31b0 -/* 0C33E0 800C27E0 24C6A738 */ addiu $a2, %lo(D_8012A738) # addiu $a2, $a2, -0x58c8 +/* 0C33E0 800C27E0 24C6A738 */ addiu $a2, %lo(gLastFadeRed) # addiu $a2, $a2, -0x58c8 /* 0C33E4 800C27E4 24E7A744 */ addiu $a3, %lo(D_8012A744) # addiu $a3, $a3, -0x58bc -/* 0C33E8 800C27E8 2508A73C */ addiu $t0, %lo(D_8012A73C) # addiu $t0, $t0, -0x58c4 +/* 0C33E8 800C27E8 2508A73C */ addiu $t0, %lo(gLastFadeGreen) # addiu $t0, $t0, -0x58c4 /* 0C33EC 800C27EC 2529A748 */ addiu $t1, %lo(D_8012A748) # addiu $t1, $t1, -0x58b8 -/* 0C33F0 800C27F0 254AA740 */ addiu $t2, %lo(D_8012A740) # addiu $t2, $t2, -0x58c0 +/* 0C33F0 800C27F0 254AA740 */ addiu $t2, %lo(gLastFadeBlue) # addiu $t2, $t2, -0x58c0 /* 0C33F4 800C27F4 256BA74C */ addiu $t3, %lo(D_8012A74C) # addiu $t3, $t3, -0x58b4 -/* 0C33F8 800C27F8 258CA734 */ addiu $t4, %lo(D_8012A734) # addiu $t4, $t4, -0x58cc -/* 0C33FC 800C27FC 25ADA735 */ addiu $t5, %lo(D_8012A735) # addiu $t5, $t5, -0x58cb +/* 0C33F8 800C27F8 258CA734 */ addiu $t4, %lo(gCurFadeRed) # addiu $t4, $t4, -0x58cc +/* 0C33FC 800C27FC 25ADA735 */ addiu $t5, %lo(gCurFadeGreen) # addiu $t5, $t5, -0x58cb /* 0C3400 800C2800 265231B4 */ addiu $s2, %lo(D_800E31B4) # addiu $s2, $s2, 0x31b4 -/* 0C3404 800C2804 2610A736 */ addiu $s0, %lo(D_8012A736) # addiu $s0, $s0, -0x58ca +/* 0C3404 800C2804 2610A736 */ addiu $s0, %lo(gCurFadeBlue) # addiu $s0, $s0, -0x58ca /* 0C3408 800C2808 3411FFFF */ li $s1, 65535 /* 0C340C 800C280C 24020001 */ li $v0, 1 .L800C2810: diff --git a/asm/non_matchings/unknown_0B8920/func_800C2274.s b/asm/non_matchings/fade_transition/render_fade_circle.s similarity index 99% rename from asm/non_matchings/unknown_0B8920/func_800C2274.s rename to asm/non_matchings/fade_transition/render_fade_circle.s index 855fdf6e..f761cf54 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C2274.s +++ b/asm/non_matchings/fade_transition/render_fade_circle.s @@ -1,4 +1,4 @@ -glabel func_800C2274 +glabel render_fade_circle /* 0C2E74 800C2274 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0C2E78 800C2278 AFBF0014 */ sw $ra, 0x14($sp) /* 0C2E7C 800C227C AFA40018 */ sw $a0, 0x18($sp) diff --git a/asm/non_matchings/unknown_0B8920/func_800C23F8.s b/asm/non_matchings/fade_transition/render_fade_waves.s similarity index 99% rename from asm/non_matchings/unknown_0B8920/func_800C23F8.s rename to asm/non_matchings/fade_transition/render_fade_waves.s index 0845831a..13f9b394 100644 --- a/asm/non_matchings/unknown_0B8920/func_800C23F8.s +++ b/asm/non_matchings/fade_transition/render_fade_waves.s @@ -1,4 +1,4 @@ -glabel func_800C23F8 +glabel render_fade_waves /* 0C2FF8 800C23F8 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0C2FFC 800C23FC AFBF001C */ sw $ra, 0x1c($sp) /* 0C3000 800C2400 AFB00018 */ sw $s0, 0x18($sp) diff --git a/asm/non_matchings/unknown_0B8920/func_800C2B00.s b/asm/non_matchings/game_text/func_800C2B00.s similarity index 100% rename from asm/non_matchings/unknown_0B8920/func_800C2B00.s rename to asm/non_matchings/game_text/func_800C2B00.s diff --git a/asm/non_matchings/unknown_0B8920/func_800C2D6C.s b/asm/non_matchings/game_text/func_800C2D6C.s similarity index 100% rename from asm/non_matchings/unknown_0B8920/func_800C2D6C.s rename to asm/non_matchings/game_text/func_800C2D6C.s diff --git a/asm/non_matchings/unknown_0B8920/func_800C31EC.s b/asm/non_matchings/game_text/func_800C31EC.s similarity index 100% rename from asm/non_matchings/unknown_0B8920/func_800C31EC.s rename to asm/non_matchings/game_text/func_800C31EC.s diff --git a/asm/non_matchings/unknown_0B8920/func_800C3564.s b/asm/non_matchings/game_text/func_800C3564.s similarity index 100% rename from asm/non_matchings/unknown_0B8920/func_800C3564.s rename to asm/non_matchings/game_text/func_800C3564.s diff --git a/asm/non_matchings/unknown_0B8920/func_800C38B4.s b/asm/non_matchings/game_text/func_800C38B4.s similarity index 100% rename from asm/non_matchings/unknown_0B8920/func_800C38B4.s rename to asm/non_matchings/game_text/func_800C38B4.s diff --git a/asm/non_matchings/unknown_06B2B0/render.s b/asm/non_matchings/unknown_06B2B0/render.s index 6543ad4f..757a6710 100644 --- a/asm/non_matchings/unknown_06B2B0/render.s +++ b/asm/non_matchings/unknown_06B2B0/render.s @@ -230,7 +230,7 @@ glabel render /* 06D570 8006C970 3C068012 */ lui $a2, %hi(D_80121218) # $a2, 0x8012 /* 06D574 8006C974 24C61218 */ addiu $a2, %lo(D_80121218) # addiu $a2, $a2, 0x1218 /* 06D578 8006C978 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 -/* 06D57C 8006C97C 0C030172 */ jal func_800C05C8 +/* 06D57C 8006C97C 0C030172 */ jal render_fade_transition /* 06D580 8006C980 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 .L8006C984: /* 06D584 8006C984 3C0C8012 */ lui $t4, %hi(D_80123520) # $t4, 0x8012 diff --git a/asm/non_matchings/unknown_0B8920/func_800C0494.s b/asm/non_matchings/unknown_0B8920/func_800C0494.s deleted file mode 100644 index 8017b168..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C0494.s +++ /dev/null @@ -1,94 +0,0 @@ -.late_rodata -glabel jpt_800E92EC -.word L800C056C, L800C0580, L800C0580, L800C0594, L800C0580, L800C0580, L800C05A8 - -.text -glabel func_800C0494 -/* 0C1094 800C0494 3C03800E */ lui $v1, %hi(D_800E31A4) # $v1, 0x800e -/* 0C1098 800C0498 246331A4 */ addiu $v1, %lo(D_800E31A4) # addiu $v1, $v1, 0x31a4 -/* 0C109C 800C049C 8C620000 */ lw $v0, ($v1) -/* 0C10A0 800C04A0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C10A4 800C04A4 10400005 */ beqz $v0, .L800C04BC -/* 0C10A8 800C04A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C10AC 800C04AC 244EFFFF */ addiu $t6, $v0, -1 -/* 0C10B0 800C04B0 AC6E0000 */ sw $t6, ($v1) -/* 0C10B4 800C04B4 10000005 */ b .L800C04CC -/* 0C10B8 800C04B8 00002025 */ move $a0, $zero -.L800C04BC: -/* 0C10BC 800C04BC 28810006 */ slti $at, $a0, 6 -/* 0C10C0 800C04C0 14200002 */ bnez $at, .L800C04CC -/* 0C10C4 800C04C4 00000000 */ nop -/* 0C10C8 800C04C8 24040005 */ li $a0, 5 -.L800C04CC: -/* 0C10CC 800C04CC 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e -/* 0C10D0 800C04D0 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac -/* 0C10D4 800C04D4 8C6F0000 */ lw $t7, ($v1) -/* 0C10D8 800C04D8 00000000 */ nop -/* 0C10DC 800C04DC 11E00036 */ beqz $t7, .L800C05B8 -/* 0C10E0 800C04E0 3C02800E */ lui $v0, %hi(D_800E31B0) # $v0, 0x800e -/* 0C10E4 800C04E4 944231B0 */ lhu $v0, %lo(D_800E31B0)($v0) -/* 0C10E8 800C04E8 2418FFFF */ li $t8, -1 -/* 0C10EC 800C04EC 14400002 */ bnez $v0, .L800C04F8 -/* 0C10F0 800C04F0 3C19800E */ lui $t9, %hi(D_800E31B4) # $t9, 0x800e -/* 0C10F4 800C04F4 AC780000 */ sw $t8, ($v1) -.L800C04F8: -/* 0C10F8 800C04F8 1440000A */ bnez $v0, .L800C0524 -/* 0C10FC 800C04FC 3C0B8013 */ lui $t3, %hi(D_8012A730) # $t3, 0x8013 -/* 0C1100 800C0500 973931B4 */ lhu $t9, %lo(D_800E31B4)($t9) -/* 0C1104 800C0504 00000000 */ nop -/* 0C1108 800C0508 17200006 */ bnez $t9, .L800C0524 -/* 0C110C 800C050C 00000000 */ nop -/* 0C1110 800C0510 0C0301C9 */ jal func_800C0724 -/* 0C1114 800C0514 00000000 */ nop -/* 0C1118 800C0518 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e -/* 0C111C 800C051C 10000026 */ b .L800C05B8 -/* 0C1120 800C0520 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac -.L800C0524: -/* 0C1124 800C0524 18400006 */ blez $v0, .L800C0540 -/* 0C1128 800C0528 3C02800E */ lui $v0, %hi(D_800E31D0) # $v0, 0x800e -/* 0C112C 800C052C 244231D0 */ addiu $v0, %lo(D_800E31D0) # addiu $v0, $v0, 0x31d0 -/* 0C1130 800C0530 8C480000 */ lw $t0, ($v0) -/* 0C1134 800C0534 24090001 */ li $t1, 1 -/* 0C1138 800C0538 01285023 */ subu $t2, $t1, $t0 -/* 0C113C 800C053C AC4A0000 */ sw $t2, ($v0) -.L800C0540: -/* 0C1140 800C0540 8D6BA730 */ lw $t3, %lo(D_8012A730)($t3) -/* 0C1144 800C0544 00000000 */ nop -/* 0C1148 800C0548 2D610007 */ sltiu $at, $t3, 7 -/* 0C114C 800C054C 1020001A */ beqz $at, .L800C05B8 -/* 0C1150 800C0550 000B5880 */ sll $t3, $t3, 2 -/* 0C1154 800C0554 3C01800F */ lui $at, %hi(jpt_800E92EC) # $at, 0x800f -/* 0C1158 800C0558 002B0821 */ addu $at, $at, $t3 -/* 0C115C 800C055C 8C2B92EC */ lw $t3, %lo(jpt_800E92EC)($at) -/* 0C1160 800C0560 00000000 */ nop -/* 0C1164 800C0564 01600008 */ jr $t3 -/* 0C1168 800C0568 00000000 */ nop -glabel L800C056C -/* 0C116C 800C056C 0C03020D */ jal func_800C0834 -/* 0C1170 800C0570 00000000 */ nop -/* 0C1174 800C0574 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e -/* 0C1178 800C0578 1000000F */ b .L800C05B8 -/* 0C117C 800C057C 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac -glabel L800C0580 -/* 0C1180 800C0580 0C03044C */ jal func_800C1130 -/* 0C1184 800C0584 00000000 */ nop -/* 0C1188 800C0588 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e -/* 0C118C 800C058C 1000000A */ b .L800C05B8 -/* 0C1190 800C0590 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac -glabel L800C0594 -/* 0C1194 800C0594 0C0307BA */ jal func_800C1EE8 -/* 0C1198 800C0598 00000000 */ nop -/* 0C119C 800C059C 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e -/* 0C11A0 800C05A0 10000005 */ b .L800C05B8 -/* 0C11A4 800C05A4 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac -glabel L800C05A8 -/* 0C11A8 800C05A8 0C0309E8 */ jal func_800C27A0 -/* 0C11AC 800C05AC 00000000 */ nop -/* 0C11B0 800C05B0 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e -/* 0C11B4 800C05B4 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac -.L800C05B8: -/* 0C11B8 800C05B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C11BC 800C05BC 8C620000 */ lw $v0, ($v1) -/* 0C11C0 800C05C0 03E00008 */ jr $ra -/* 0C11C4 800C05C4 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/unknown_0B8920/func_800C05C8.s b/asm/non_matchings/unknown_0B8920/func_800C05C8.s deleted file mode 100644 index 37b63e40..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C05C8.s +++ /dev/null @@ -1,110 +0,0 @@ -.late_rodata -glabel D_800E9308 -.float 1.4 -glabel D_800E930C -.float 1.2 -glabel jpt_800E9310 -.word L800C0680, L800C0694, L800C06A8, L800C06BC, L800C06D0, L800C06E4, L800C06F8 - -.text -glabel func_800C05C8 -/* 0C11C8 800C05C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C11CC 800C05CC 3C0E800E */ lui $t6, %hi(D_800E31AC) # $t6, 0x800e -/* 0C11D0 800C05D0 8DCE31AC */ lw $t6, %lo(D_800E31AC)($t6) -/* 0C11D4 800C05D4 AFB10018 */ sw $s1, 0x18($sp) -/* 0C11D8 800C05D8 AFB00014 */ sw $s0, 0x14($sp) -/* 0C11DC 800C05DC 00808025 */ move $s0, $a0 -/* 0C11E0 800C05E0 00A08825 */ move $s1, $a1 -/* 0C11E4 800C05E4 11C0004A */ beqz $t6, .L800C0710 -/* 0C11E8 800C05E8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C11EC 800C05EC 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -/* 0C11F0 800C05F0 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -/* 0C11F4 800C05F4 3C01800F */ lui $at, %hi(D_800E930C) # $at, 0x800f -/* 0C11F8 800C05F8 15E00008 */ bnez $t7, .L800C061C -/* 0C11FC 800C05FC 00000000 */ nop -/* 0C1200 800C0600 3C01800F */ lui $at, %hi(D_800E9308) # $at, 0x800f -/* 0C1204 800C0604 C42C9308 */ lwc1 $f12, %lo(D_800E9308)($at) -/* 0C1208 800C0608 0C019FC8 */ jal func_80067F20 -/* 0C120C 800C060C AFA60028 */ sw $a2, 0x28($sp) -/* 0C1210 800C0610 8FA60028 */ lw $a2, 0x28($sp) -/* 0C1214 800C0614 10000007 */ b .L800C0634 -/* 0C1218 800C0618 02002025 */ move $a0, $s0 -.L800C061C: -/* 0C121C 800C061C C42C930C */ lwc1 $f12, %lo(D_800E930C)($at) -/* 0C1220 800C0620 0C019FC8 */ jal func_80067F20 -/* 0C1224 800C0624 AFA60028 */ sw $a2, 0x28($sp) -/* 0C1228 800C0628 8FA60028 */ lw $a2, 0x28($sp) -/* 0C122C 800C062C 00000000 */ nop -/* 0C1230 800C0630 02002025 */ move $a0, $s0 -.L800C0634: -/* 0C1234 800C0634 02202825 */ move $a1, $s1 -/* 0C1238 800C0638 0C019FCB */ jal func_80067F2C -/* 0C123C 800C063C AFA60028 */ sw $a2, 0x28($sp) -/* 0C1240 800C0640 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C1244 800C0644 44816000 */ mtc1 $at, $f12 -/* 0C1248 800C0648 0C019FC8 */ jal func_80067F20 -/* 0C124C 800C064C 00000000 */ nop -/* 0C1250 800C0650 3C188013 */ lui $t8, %hi(D_8012A730) # $t8, 0x8013 -/* 0C1254 800C0654 8F18A730 */ lw $t8, %lo(D_8012A730)($t8) -/* 0C1258 800C0658 8FA60028 */ lw $a2, 0x28($sp) -/* 0C125C 800C065C 2F010007 */ sltiu $at, $t8, 7 -/* 0C1260 800C0660 10200028 */ beqz $at, .L800C0704 -/* 0C1264 800C0664 0018C080 */ sll $t8, $t8, 2 -/* 0C1268 800C0668 3C01800F */ lui $at, %hi(jpt_800E9310) # $at, 0x800f -/* 0C126C 800C066C 00380821 */ addu $at, $at, $t8 -/* 0C1270 800C0670 8C389310 */ lw $t8, %lo(jpt_800E9310)($at) -/* 0C1274 800C0674 00000000 */ nop -/* 0C1278 800C0678 03000008 */ jr $t8 -/* 0C127C 800C067C 00000000 */ nop -glabel L800C0680 -/* 0C1280 800C0680 02002025 */ move $a0, $s0 -/* 0C1284 800C0684 0C030282 */ jal func_800C0A08 -/* 0C1288 800C0688 02202825 */ move $a1, $s1 -/* 0C128C 800C068C 1000001E */ b .L800C0708 -/* 0C1290 800C0690 02002025 */ move $a0, $s0 -glabel L800C0694 -/* 0C1294 800C0694 02002025 */ move $a0, $s0 -/* 0C1298 800C0698 0C0304F9 */ jal func_800C13E4 -/* 0C129C 800C069C 02202825 */ move $a1, $s1 -/* 0C12A0 800C06A0 10000019 */ b .L800C0708 -/* 0C12A4 800C06A4 02002025 */ move $a0, $s0 -glabel L800C06A8 -/* 0C12A8 800C06A8 02002025 */ move $a0, $s0 -/* 0C12AC 800C06AC 0C030537 */ jal func_800C14DC -/* 0C12B0 800C06B0 02202825 */ move $a1, $s1 -/* 0C12B4 800C06B4 10000014 */ b .L800C0708 -/* 0C12B8 800C06B8 02002025 */ move $a0, $s0 -glabel L800C06BC -/* 0C12BC 800C06BC 02002025 */ move $a0, $s0 -/* 0C12C0 800C06C0 0C03089D */ jal func_800C2274 -/* 0C12C4 800C06C4 02202825 */ move $a1, $s1 -/* 0C12C8 800C06C8 1000000F */ b .L800C0708 -/* 0C12CC 800C06CC 02002025 */ move $a0, $s0 -glabel L800C06D0 -/* 0C12D0 800C06D0 02002025 */ move $a0, $s0 -/* 0C12D4 800C06D4 0C0308FE */ jal func_800C23F8 -/* 0C12D8 800C06D8 02202825 */ move $a1, $s1 -/* 0C12DC 800C06DC 1000000A */ b .L800C0708 -/* 0C12E0 800C06E0 02002025 */ move $a0, $s0 -glabel L800C06E4 -/* 0C12E4 800C06E4 02002025 */ move $a0, $s0 -/* 0C12E8 800C06E8 0C030952 */ jal func_800C2548 -/* 0C12EC 800C06EC 02202825 */ move $a1, $s1 -/* 0C12F0 800C06F0 10000005 */ b .L800C0708 -/* 0C12F4 800C06F4 02002025 */ move $a0, $s0 -glabel L800C06F8 -/* 0C12F8 800C06F8 02002025 */ move $a0, $s0 -/* 0C12FC 800C06FC 0C030A3A */ jal func_800C28E8 -/* 0C1300 800C0700 02202825 */ move $a1, $s1 -.L800C0704: -/* 0C1304 800C0704 02002025 */ move $a0, $s0 -.L800C0708: -/* 0C1308 800C0708 0C019B37 */ jal func_80066CDC -/* 0C130C 800C070C 02202825 */ move $a1, $s1 -.L800C0710: -/* 0C1310 800C0710 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C1314 800C0714 8FB00014 */ lw $s0, 0x14($sp) -/* 0C1318 800C0718 8FB10018 */ lw $s1, 0x18($sp) -/* 0C131C 800C071C 03E00008 */ jr $ra -/* 0C1320 800C0720 27BD0020 */ addiu $sp, $sp, 0x20 - diff --git a/asm/non_matchings/unknown_0B8920/func_800C0724.s b/asm/non_matchings/unknown_0B8920/func_800C0724.s deleted file mode 100644 index 6f8a6d86..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C0724.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_800C0724 -/* 0C1324 800C0724 3C02800E */ lui $v0, %hi(D_800E31C0) # $v0, 0x800e -/* 0C1328 800C0728 244231C0 */ addiu $v0, %lo(D_800E31C0) # addiu $v0, $v0, 0x31c0 -/* 0C132C 800C072C 8C440000 */ lw $a0, ($v0) -/* 0C1330 800C0730 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C1334 800C0734 1080000B */ beqz $a0, .L800C0764 -/* 0C1338 800C0738 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C133C 800C073C 0C01C450 */ jal free_from_memory_pool -/* 0C1340 800C0740 00000000 */ nop -/* 0C1344 800C0744 3C02800E */ lui $v0, %hi(D_800E31C0) # $v0, 0x800e -/* 0C1348 800C0748 3C03800E */ lui $v1, %hi(D_800E31C8) # $v1, 0x800e -/* 0C134C 800C074C 246331C8 */ addiu $v1, %lo(D_800E31C8) # addiu $v1, $v1, 0x31c8 -/* 0C1350 800C0750 244231C0 */ addiu $v0, %lo(D_800E31C0) # addiu $v0, $v0, 0x31c0 -/* 0C1354 800C0754 AC400000 */ sw $zero, ($v0) -/* 0C1358 800C0758 AC400004 */ sw $zero, 4($v0) -/* 0C135C 800C075C AC600000 */ sw $zero, ($v1) -/* 0C1360 800C0760 AC600004 */ sw $zero, 4($v1) -.L800C0764: -/* 0C1364 800C0764 3C01800E */ lui $at, %hi(D_800E31AC) # $at, 0x800e -/* 0C1368 800C0768 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C136C 800C076C AC2031AC */ sw $zero, %lo(D_800E31AC)($at) -/* 0C1370 800C0770 3C01800E */ lui $at, %hi(D_800E31D0) # $at, 0x800e -/* 0C1374 800C0774 AC2031D0 */ sw $zero, %lo(D_800E31D0)($at) -/* 0C1378 800C0778 03E00008 */ jr $ra -/* 0C137C 800C077C 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/unknown_0B8920/func_800C0780.s b/asm/non_matchings/unknown_0B8920/func_800C0780.s deleted file mode 100644 index cdaf0cd9..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C0780.s +++ /dev/null @@ -1,51 +0,0 @@ -glabel func_800C0780 -/* 0C1380 800C0780 908E0000 */ lbu $t6, ($a0) -/* 0C1384 800C0784 3C018013 */ lui $at, %hi(D_8012A750) # $at, 0x8013 -/* 0C1388 800C0788 31CF0080 */ andi $t7, $t6, 0x80 -/* 0C138C 800C078C 11E00015 */ beqz $t7, .L800C07E4 -/* 0C1390 800C0790 24080001 */ li $t0, 1 -/* 0C1394 800C0794 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0C1398 800C0798 44812000 */ mtc1 $at, $f4 -/* 0C139C 800C079C 3C18800E */ lui $t8, %hi(D_800E31B0) # $t8, 0x800e -/* 0C13A0 800C07A0 971831B0 */ lhu $t8, %lo(D_800E31B0)($t8) -/* 0C13A4 800C07A4 3C018013 */ lui $at, %hi(D_8012A750) # $at, 0x8013 -/* 0C13A8 800C07A8 E424A750 */ swc1 $f4, %lo(D_8012A750)($at) -/* 0C13AC 800C07AC 44984000 */ mtc1 $t8, $f8 -/* 0C13B0 800C07B0 3C01C37F */ li $at, 0xC37F0000 # -255.000000 -/* 0C13B4 800C07B4 44813000 */ mtc1 $at, $f6 -/* 0C13B8 800C07B8 07010005 */ bgez $t8, .L800C07D0 -/* 0C13BC 800C07BC 468042A0 */ cvt.s.w $f10, $f8 -/* 0C13C0 800C07C0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C13C4 800C07C4 44818000 */ mtc1 $at, $f16 -/* 0C13C8 800C07C8 00000000 */ nop -/* 0C13CC 800C07CC 46105280 */ add.s $f10, $f10, $f16 -.L800C07D0: -/* 0C13D0 800C07D0 00000000 */ nop -/* 0C13D4 800C07D4 460A3483 */ div.s $f18, $f6, $f10 -/* 0C13D8 800C07D8 3C018013 */ lui $at, %hi(D_8012A754) # $at, 0x8013 -/* 0C13DC 800C07DC 10000012 */ b .L800C0828 -/* 0C13E0 800C07E0 E432A754 */ swc1 $f18, %lo(D_8012A754)($at) -.L800C07E4: -/* 0C13E4 800C07E4 44802000 */ mtc1 $zero, $f4 -/* 0C13E8 800C07E8 3C19800E */ lui $t9, %hi(D_800E31B0) # $t9, 0x800e -/* 0C13EC 800C07EC 973931B0 */ lhu $t9, %lo(D_800E31B0)($t9) -/* 0C13F0 800C07F0 E424A750 */ swc1 $f4, %lo(D_8012A750)($at) -/* 0C13F4 800C07F4 44998000 */ mtc1 $t9, $f16 -/* 0C13F8 800C07F8 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 0C13FC 800C07FC 44814000 */ mtc1 $at, $f8 -/* 0C1400 800C0800 07210005 */ bgez $t9, .L800C0818 -/* 0C1404 800C0804 468081A0 */ cvt.s.w $f6, $f16 -/* 0C1408 800C0808 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C140C 800C080C 44815000 */ mtc1 $at, $f10 -/* 0C1410 800C0810 00000000 */ nop -/* 0C1414 800C0814 460A3180 */ add.s $f6, $f6, $f10 -.L800C0818: -/* 0C1418 800C0818 00000000 */ nop -/* 0C141C 800C081C 46064483 */ div.s $f18, $f8, $f6 -/* 0C1420 800C0820 3C018013 */ lui $at, %hi(D_8012A754) # $at, 0x8013 -/* 0C1424 800C0824 E432A754 */ swc1 $f18, %lo(D_8012A754)($at) -.L800C0828: -/* 0C1428 800C0828 3C01800E */ lui $at, %hi(D_800E31AC) # $at, 0x800e -/* 0C142C 800C082C 03E00008 */ jr $ra -/* 0C1430 800C0830 AC2831AC */ sw $t0, %lo(D_800E31AC)($at) - diff --git a/asm/non_matchings/unknown_0B8920/func_800C0A08.s b/asm/non_matchings/unknown_0B8920/func_800C0A08.s deleted file mode 100644 index 24f9861f..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C0A08.s +++ /dev/null @@ -1,64 +0,0 @@ -glabel func_800C0A08 -/* 0C1608 800C0A08 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C160C 800C0A0C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1610 800C0A10 AFA5001C */ sw $a1, 0x1c($sp) -/* 0C1614 800C0A14 AFA60020 */ sw $a2, 0x20($sp) -/* 0C1618 800C0A18 0C01E948 */ jal get_video_width_and_height_as_s32 -/* 0C161C 800C0A1C AFA40018 */ sw $a0, 0x18($sp) -/* 0C1620 800C0A20 8FA40018 */ lw $a0, 0x18($sp) -/* 0C1624 800C0A24 3C18800E */ lui $t8, %hi(D_800E31D8) # $t8, 0x800e -/* 0C1628 800C0A28 8C830000 */ lw $v1, ($a0) -/* 0C162C 800C0A2C 271831D8 */ addiu $t8, %lo(D_800E31D8) # addiu $t8, $t8, 0x31d8 -/* 0C1630 800C0A30 246E0008 */ addiu $t6, $v1, 8 -/* 0C1634 800C0A34 AC8E0000 */ sw $t6, ($a0) -/* 0C1638 800C0A38 3C0F0600 */ lui $t7, 0x600 -/* 0C163C 800C0A3C AC6F0000 */ sw $t7, ($v1) -/* 0C1640 800C0A40 AC780004 */ sw $t8, 4($v1) -/* 0C1644 800C0A44 8C830000 */ lw $v1, ($a0) -/* 0C1648 800C0A48 3C09FA00 */ lui $t1, 0xfa00 -/* 0C164C 800C0A4C 24790008 */ addiu $t9, $v1, 8 -/* 0C1650 800C0A50 AC990000 */ sw $t9, ($a0) -/* 0C1654 800C0A54 3C0D8013 */ lui $t5, %hi(D_8012A735) # $t5, 0x8013 -/* 0C1658 800C0A58 AC690000 */ sw $t1, ($v1) -/* 0C165C 800C0A5C 91AEA735 */ lbu $t6, %lo(D_8012A735)($t5) -/* 0C1660 800C0A60 3C0A8013 */ lui $t2, %hi(D_8012A734) # $t2, 0x8013 -/* 0C1664 800C0A64 914BA734 */ lbu $t3, %lo(D_8012A734)($t2) -/* 0C1668 800C0A68 3C198013 */ lui $t9, %hi(D_8012A736) # $t9, 0x8013 -/* 0C166C 800C0A6C 9329A736 */ lbu $t1, %lo(D_8012A736)($t9) -/* 0C1670 800C0A70 000E7C00 */ sll $t7, $t6, 0x10 -/* 0C1674 800C0A74 3C0D8013 */ lui $t5, %hi(D_8012A737) # $t5, 0x8013 -/* 0C1678 800C0A78 000B6600 */ sll $t4, $t3, 0x18 -/* 0C167C 800C0A7C 91AEA737 */ lbu $t6, %lo(D_8012A737)($t5) -/* 0C1680 800C0A80 018FC025 */ or $t8, $t4, $t7 -/* 0C1684 800C0A84 00095200 */ sll $t2, $t1, 8 -/* 0C1688 800C0A88 030A5825 */ or $t3, $t8, $t2 -/* 0C168C 800C0A8C 016E6025 */ or $t4, $t3, $t6 -/* 0C1690 800C0A90 AC6C0004 */ sw $t4, 4($v1) -/* 0C1694 800C0A94 8C830000 */ lw $v1, ($a0) -/* 0C1698 800C0A98 3C09FFFD */ lui $t1, (0xFFFDF6FB >> 16) # lui $t1, 0xfffd -/* 0C169C 800C0A9C 246F0008 */ addiu $t7, $v1, 8 -/* 0C16A0 800C0AA0 3C19FCFF */ lui $t9, (0xFCFFFFFF >> 16) # lui $t9, 0xfcff -/* 0C16A4 800C0AA4 AC8F0000 */ sw $t7, ($a0) -/* 0C16A8 800C0AA8 3739FFFF */ ori $t9, (0xFCFFFFFF & 0xFFFF) # ori $t9, $t9, 0xffff -/* 0C16AC 800C0AAC 3529F6FB */ ori $t1, (0xFFFDF6FB & 0xFFFF) # ori $t1, $t1, 0xf6fb -/* 0C16B0 800C0AB0 AC690004 */ sw $t1, 4($v1) -/* 0C16B4 800C0AB4 AC790000 */ sw $t9, ($v1) -/* 0C16B8 800C0AB8 8C830000 */ lw $v1, ($a0) -/* 0C16BC 800C0ABC 00027C03 */ sra $t7, $v0, 0x10 -/* 0C16C0 800C0AC0 304D03FF */ andi $t5, $v0, 0x3ff -/* 0C16C4 800C0AC4 000D5B80 */ sll $t3, $t5, 0xe -/* 0C16C8 800C0AC8 31F903FF */ andi $t9, $t7, 0x3ff -/* 0C16CC 800C0ACC 3C01F600 */ lui $at, 0xf600 -/* 0C16D0 800C0AD0 24780008 */ addiu $t8, $v1, 8 -/* 0C16D4 800C0AD4 01617025 */ or $t6, $t3, $at -/* 0C16D8 800C0AD8 00194880 */ sll $t1, $t9, 2 -/* 0C16DC 800C0ADC AC980000 */ sw $t8, ($a0) -/* 0C16E0 800C0AE0 01C9C025 */ or $t8, $t6, $t1 -/* 0C16E4 800C0AE4 AC780000 */ sw $t8, ($v1) -/* 0C16E8 800C0AE8 0C01ECF4 */ jal func_8007B3D0 -/* 0C16EC 800C0AEC AC600004 */ sw $zero, 4($v1) -/* 0C16F0 800C0AF0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C16F4 800C0AF4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C16F8 800C0AF8 03E00008 */ jr $ra -/* 0C16FC 800C0AFC 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C13E4.s b/asm/non_matchings/unknown_0B8920/func_800C13E4.s deleted file mode 100644 index 782d294c..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C13E4.s +++ /dev/null @@ -1,64 +0,0 @@ -glabel func_800C13E4 -/* 0C1FE4 800C13E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C1FE8 800C13E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C1FEC 800C13EC AFA5001C */ sw $a1, 0x1c($sp) -/* 0C1FF0 800C13F0 AFA60020 */ sw $a2, 0x20($sp) -/* 0C1FF4 800C13F4 0C01ECF4 */ jal func_8007B3D0 -/* 0C1FF8 800C13F8 AFA40018 */ sw $a0, 0x18($sp) -/* 0C1FFC 800C13FC 8FA40018 */ lw $a0, 0x18($sp) -/* 0C2000 800C1400 3C18800E */ lui $t8, %hi(D_800E3648) # $t8, 0x800e -/* 0C2004 800C1404 8C820000 */ lw $v0, ($a0) -/* 0C2008 800C1408 27183648 */ addiu $t8, %lo(D_800E3648) # addiu $t8, $t8, 0x3648 -/* 0C200C 800C140C 244E0008 */ addiu $t6, $v0, 8 -/* 0C2010 800C1410 AC8E0000 */ sw $t6, ($a0) -/* 0C2014 800C1414 3C0F0600 */ lui $t7, 0x600 -/* 0C2018 800C1418 AC4F0000 */ sw $t7, ($v0) -/* 0C201C 800C141C AC580004 */ sw $t8, 4($v0) -/* 0C2020 800C1420 8C820000 */ lw $v0, ($a0) -/* 0C2024 800C1424 3C07800E */ lui $a3, %hi(D_800E31D0) # $a3, 0x800e -/* 0C2028 800C1428 24590008 */ addiu $t9, $v0, 8 -/* 0C202C 800C142C 24E731D0 */ addiu $a3, %lo(D_800E31D0) # addiu $a3, $a3, 0x31d0 -/* 0C2030 800C1430 AC990000 */ sw $t9, ($a0) -/* 0C2034 800C1434 8CEA0000 */ lw $t2, ($a3) -/* 0C2038 800C1438 3C09800E */ lui $t1, %hi(D_800E31C0) # $t1, 0x800e -/* 0C203C 800C143C 252931C0 */ addiu $t1, %lo(D_800E31C0) # addiu $t1, $t1, 0x31c0 -/* 0C2040 800C1440 000A5880 */ sll $t3, $t2, 2 -/* 0C2044 800C1444 012B6021 */ addu $t4, $t1, $t3 -/* 0C2048 800C1448 8D8D0000 */ lw $t5, ($t4) -/* 0C204C 800C144C 3C088000 */ lui $t0, 0x8000 -/* 0C2050 800C1450 01A87021 */ addu $t6, $t5, $t0 -/* 0C2054 800C1454 31CF0006 */ andi $t7, $t6, 6 -/* 0C2058 800C1458 35F80058 */ ori $t8, $t7, 0x58 -/* 0C205C 800C145C 331900FF */ andi $t9, $t8, 0xff -/* 0C2060 800C1460 00195400 */ sll $t2, $t9, 0x10 -/* 0C2064 800C1464 3C010400 */ lui $at, 0x400 -/* 0C2068 800C1468 01415825 */ or $t3, $t2, $at -/* 0C206C 800C146C 356C00E0 */ ori $t4, $t3, 0xe0 -/* 0C2070 800C1470 AC4C0000 */ sw $t4, ($v0) -/* 0C2074 800C1474 8CED0000 */ lw $t5, ($a3) -/* 0C2078 800C1478 3C0B0570 */ lui $t3, (0x05700080 >> 16) # lui $t3, 0x570 -/* 0C207C 800C147C 000D7080 */ sll $t6, $t5, 2 -/* 0C2080 800C1480 012E7821 */ addu $t7, $t1, $t6 -/* 0C2084 800C1484 8DF80000 */ lw $t8, ($t7) -/* 0C2088 800C1488 356B0080 */ ori $t3, (0x05700080 & 0xFFFF) # ori $t3, $t3, 0x80 -/* 0C208C 800C148C 0308C821 */ addu $t9, $t8, $t0 -/* 0C2090 800C1490 AC590004 */ sw $t9, 4($v0) -/* 0C2094 800C1494 8C820000 */ lw $v0, ($a0) -/* 0C2098 800C1498 3C0E800E */ lui $t6, %hi(D_800E31C8) # $t6, 0x800e -/* 0C209C 800C149C 244A0008 */ addiu $t2, $v0, 8 -/* 0C20A0 800C14A0 AC8A0000 */ sw $t2, ($a0) -/* 0C20A4 800C14A4 AC4B0000 */ sw $t3, ($v0) -/* 0C20A8 800C14A8 8CEC0000 */ lw $t4, ($a3) -/* 0C20AC 800C14AC 00000000 */ nop -/* 0C20B0 800C14B0 000C6880 */ sll $t5, $t4, 2 -/* 0C20B4 800C14B4 01CD7021 */ addu $t6, $t6, $t5 -/* 0C20B8 800C14B8 8DCE31C8 */ lw $t6, %lo(D_800E31C8)($t6) -/* 0C20BC 800C14BC 00000000 */ nop -/* 0C20C0 800C14C0 01C87821 */ addu $t7, $t6, $t0 -/* 0C20C4 800C14C4 0C01ECF4 */ jal func_8007B3D0 -/* 0C20C8 800C14C8 AC4F0004 */ sw $t7, 4($v0) -/* 0C20CC 800C14CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C20D0 800C14D0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C20D4 800C14D4 03E00008 */ jr $ra -/* 0C20D8 800C14D8 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C14DC.s b/asm/non_matchings/unknown_0B8920/func_800C14DC.s deleted file mode 100644 index 70895533..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C14DC.s +++ /dev/null @@ -1,64 +0,0 @@ -glabel func_800C14DC -/* 0C20DC 800C14DC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C20E0 800C14E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C20E4 800C14E4 AFA5001C */ sw $a1, 0x1c($sp) -/* 0C20E8 800C14E8 AFA60020 */ sw $a2, 0x20($sp) -/* 0C20EC 800C14EC 0C01ECF4 */ jal func_8007B3D0 -/* 0C20F0 800C14F0 AFA40018 */ sw $a0, 0x18($sp) -/* 0C20F4 800C14F4 8FA40018 */ lw $a0, 0x18($sp) -/* 0C20F8 800C14F8 3C18800E */ lui $t8, %hi(D_800E3648) # $t8, 0x800e -/* 0C20FC 800C14FC 8C820000 */ lw $v0, ($a0) -/* 0C2100 800C1500 27183648 */ addiu $t8, %lo(D_800E3648) # addiu $t8, $t8, 0x3648 -/* 0C2104 800C1504 244E0008 */ addiu $t6, $v0, 8 -/* 0C2108 800C1508 AC8E0000 */ sw $t6, ($a0) -/* 0C210C 800C150C 3C0F0600 */ lui $t7, 0x600 -/* 0C2110 800C1510 AC4F0000 */ sw $t7, ($v0) -/* 0C2114 800C1514 AC580004 */ sw $t8, 4($v0) -/* 0C2118 800C1518 8C820000 */ lw $v0, ($a0) -/* 0C211C 800C151C 3C07800E */ lui $a3, %hi(D_800E31D0) # $a3, 0x800e -/* 0C2120 800C1520 24590008 */ addiu $t9, $v0, 8 -/* 0C2124 800C1524 24E731D0 */ addiu $a3, %lo(D_800E31D0) # addiu $a3, $a3, 0x31d0 -/* 0C2128 800C1528 AC990000 */ sw $t9, ($a0) -/* 0C212C 800C152C 8CEA0000 */ lw $t2, ($a3) -/* 0C2130 800C1530 3C09800E */ lui $t1, %hi(D_800E31C0) # $t1, 0x800e -/* 0C2134 800C1534 252931C0 */ addiu $t1, %lo(D_800E31C0) # addiu $t1, $t1, 0x31c0 -/* 0C2138 800C1538 000A5880 */ sll $t3, $t2, 2 -/* 0C213C 800C153C 012B6021 */ addu $t4, $t1, $t3 -/* 0C2140 800C1540 8D8D0000 */ lw $t5, ($t4) -/* 0C2144 800C1544 3C088000 */ lui $t0, 0x8000 -/* 0C2148 800C1548 01A87021 */ addu $t6, $t5, $t0 -/* 0C214C 800C154C 31CF0006 */ andi $t7, $t6, 6 -/* 0C2150 800C1550 35F80058 */ ori $t8, $t7, 0x58 -/* 0C2154 800C1554 331900FF */ andi $t9, $t8, 0xff -/* 0C2158 800C1558 00195400 */ sll $t2, $t9, 0x10 -/* 0C215C 800C155C 3C010400 */ lui $at, 0x400 -/* 0C2160 800C1560 01415825 */ or $t3, $t2, $at -/* 0C2164 800C1564 356C00E0 */ ori $t4, $t3, 0xe0 -/* 0C2168 800C1568 AC4C0000 */ sw $t4, ($v0) -/* 0C216C 800C156C 8CED0000 */ lw $t5, ($a3) -/* 0C2170 800C1570 3C0B0570 */ lui $t3, (0x05700080 >> 16) # lui $t3, 0x570 -/* 0C2174 800C1574 000D7080 */ sll $t6, $t5, 2 -/* 0C2178 800C1578 012E7821 */ addu $t7, $t1, $t6 -/* 0C217C 800C157C 8DF80000 */ lw $t8, ($t7) -/* 0C2180 800C1580 356B0080 */ ori $t3, (0x05700080 & 0xFFFF) # ori $t3, $t3, 0x80 -/* 0C2184 800C1584 0308C821 */ addu $t9, $t8, $t0 -/* 0C2188 800C1588 AC590004 */ sw $t9, 4($v0) -/* 0C218C 800C158C 8C820000 */ lw $v0, ($a0) -/* 0C2190 800C1590 3C0E800E */ lui $t6, %hi(D_800E31C8) # $t6, 0x800e -/* 0C2194 800C1594 244A0008 */ addiu $t2, $v0, 8 -/* 0C2198 800C1598 AC8A0000 */ sw $t2, ($a0) -/* 0C219C 800C159C AC4B0000 */ sw $t3, ($v0) -/* 0C21A0 800C15A0 8CEC0000 */ lw $t4, ($a3) -/* 0C21A4 800C15A4 00000000 */ nop -/* 0C21A8 800C15A8 000C6880 */ sll $t5, $t4, 2 -/* 0C21AC 800C15AC 01CD7021 */ addu $t6, $t6, $t5 -/* 0C21B0 800C15B0 8DCE31C8 */ lw $t6, %lo(D_800E31C8)($t6) -/* 0C21B4 800C15B4 00000000 */ nop -/* 0C21B8 800C15B8 01C87821 */ addu $t7, $t6, $t0 -/* 0C21BC 800C15BC 0C01ECF4 */ jal func_8007B3D0 -/* 0C21C0 800C15C0 AC4F0004 */ sw $t7, 4($v0) -/* 0C21C4 800C15C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C21C8 800C15C8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C21CC 800C15CC 03E00008 */ jr $ra -/* 0C21D0 800C15D0 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C2548.s b/asm/non_matchings/unknown_0B8920/func_800C2548.s deleted file mode 100644 index 48980d23..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C2548.s +++ /dev/null @@ -1,64 +0,0 @@ -glabel func_800C2548 -/* 0C3148 800C2548 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C314C 800C254C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C3150 800C2550 AFA5001C */ sw $a1, 0x1c($sp) -/* 0C3154 800C2554 AFA60020 */ sw $a2, 0x20($sp) -/* 0C3158 800C2558 0C01ECF4 */ jal func_8007B3D0 -/* 0C315C 800C255C AFA40018 */ sw $a0, 0x18($sp) -/* 0C3160 800C2560 8FA40018 */ lw $a0, 0x18($sp) -/* 0C3164 800C2564 3C18800E */ lui $t8, %hi(D_800E3648) # $t8, 0x800e -/* 0C3168 800C2568 8C820000 */ lw $v0, ($a0) -/* 0C316C 800C256C 27183648 */ addiu $t8, %lo(D_800E3648) # addiu $t8, $t8, 0x3648 -/* 0C3170 800C2570 244E0008 */ addiu $t6, $v0, 8 -/* 0C3174 800C2574 AC8E0000 */ sw $t6, ($a0) -/* 0C3178 800C2578 3C0F0600 */ lui $t7, 0x600 -/* 0C317C 800C257C AC4F0000 */ sw $t7, ($v0) -/* 0C3180 800C2580 AC580004 */ sw $t8, 4($v0) -/* 0C3184 800C2584 8C820000 */ lw $v0, ($a0) -/* 0C3188 800C2588 3C07800E */ lui $a3, %hi(D_800E31D0) # $a3, 0x800e -/* 0C318C 800C258C 24590008 */ addiu $t9, $v0, 8 -/* 0C3190 800C2590 24E731D0 */ addiu $a3, %lo(D_800E31D0) # addiu $a3, $a3, 0x31d0 -/* 0C3194 800C2594 AC990000 */ sw $t9, ($a0) -/* 0C3198 800C2598 8CEA0000 */ lw $t2, ($a3) -/* 0C319C 800C259C 3C09800E */ lui $t1, %hi(D_800E31C0) # $t1, 0x800e -/* 0C31A0 800C25A0 252931C0 */ addiu $t1, %lo(D_800E31C0) # addiu $t1, $t1, 0x31c0 -/* 0C31A4 800C25A4 000A5880 */ sll $t3, $t2, 2 -/* 0C31A8 800C25A8 012B6021 */ addu $t4, $t1, $t3 -/* 0C31AC 800C25AC 8D8D0000 */ lw $t5, ($t4) -/* 0C31B0 800C25B0 3C088000 */ lui $t0, 0x8000 -/* 0C31B4 800C25B4 01A87021 */ addu $t6, $t5, $t0 -/* 0C31B8 800C25B8 31CF0006 */ andi $t7, $t6, 6 -/* 0C31BC 800C25BC 35F80048 */ ori $t8, $t7, 0x48 -/* 0C31C0 800C25C0 331900FF */ andi $t9, $t8, 0xff -/* 0C31C4 800C25C4 00195400 */ sll $t2, $t9, 0x10 -/* 0C31C8 800C25C8 3C010400 */ lui $at, 0x400 -/* 0C31CC 800C25CC 01415825 */ or $t3, $t2, $at -/* 0C31D0 800C25D0 356C00BC */ ori $t4, $t3, 0xbc -/* 0C31D4 800C25D4 AC4C0000 */ sw $t4, ($v0) -/* 0C31D8 800C25D8 8CED0000 */ lw $t5, ($a3) -/* 0C31DC 800C25DC 3C0B0550 */ lui $t3, (0x05500060 >> 16) # lui $t3, 0x550 -/* 0C31E0 800C25E0 000D7080 */ sll $t6, $t5, 2 -/* 0C31E4 800C25E4 012E7821 */ addu $t7, $t1, $t6 -/* 0C31E8 800C25E8 8DF80000 */ lw $t8, ($t7) -/* 0C31EC 800C25EC 356B0060 */ ori $t3, (0x05500060 & 0xFFFF) # ori $t3, $t3, 0x60 -/* 0C31F0 800C25F0 0308C821 */ addu $t9, $t8, $t0 -/* 0C31F4 800C25F4 AC590004 */ sw $t9, 4($v0) -/* 0C31F8 800C25F8 8C820000 */ lw $v0, ($a0) -/* 0C31FC 800C25FC 3C0E800E */ lui $t6, %hi(D_800E31C8) # $t6, 0x800e -/* 0C3200 800C2600 244A0008 */ addiu $t2, $v0, 8 -/* 0C3204 800C2604 AC8A0000 */ sw $t2, ($a0) -/* 0C3208 800C2608 AC4B0000 */ sw $t3, ($v0) -/* 0C320C 800C260C 8CEC0000 */ lw $t4, ($a3) -/* 0C3210 800C2610 00000000 */ nop -/* 0C3214 800C2614 000C6880 */ sll $t5, $t4, 2 -/* 0C3218 800C2618 01CD7021 */ addu $t6, $t6, $t5 -/* 0C321C 800C261C 8DCE31C8 */ lw $t6, %lo(D_800E31C8)($t6) -/* 0C3220 800C2620 00000000 */ nop -/* 0C3224 800C2624 01C87821 */ addu $t7, $t6, $t0 -/* 0C3228 800C2628 0C01ECF4 */ jal func_8007B3D0 -/* 0C322C 800C262C AC4F0004 */ sw $t7, 4($v0) -/* 0C3230 800C2630 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C3234 800C2634 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C3238 800C2638 03E00008 */ jr $ra -/* 0C323C 800C263C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C28E8.s b/asm/non_matchings/unknown_0B8920/func_800C28E8.s deleted file mode 100644 index 05b021e1..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C28E8.s +++ /dev/null @@ -1,68 +0,0 @@ -glabel func_800C28E8 -/* 0C34E8 800C28E8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C34EC 800C28EC AFBF0014 */ sw $ra, 0x14($sp) -/* 0C34F0 800C28F0 AFA5001C */ sw $a1, 0x1c($sp) -/* 0C34F4 800C28F4 AFA60020 */ sw $a2, 0x20($sp) -/* 0C34F8 800C28F8 0C01E948 */ jal get_video_width_and_height_as_s32 -/* 0C34FC 800C28FC AFA40018 */ sw $a0, 0x18($sp) -/* 0C3500 800C2900 8FA40018 */ lw $a0, 0x18($sp) -/* 0C3504 800C2904 3C18800E */ lui $t8, %hi(D_800E31D8) # $t8, 0x800e -/* 0C3508 800C2908 8C830000 */ lw $v1, ($a0) -/* 0C350C 800C290C 271831D8 */ addiu $t8, %lo(D_800E31D8) # addiu $t8, $t8, 0x31d8 -/* 0C3510 800C2910 246E0008 */ addiu $t6, $v1, 8 -/* 0C3514 800C2914 AC8E0000 */ sw $t6, ($a0) -/* 0C3518 800C2918 3C0F0600 */ lui $t7, 0x600 -/* 0C351C 800C291C AC6F0000 */ sw $t7, ($v1) -/* 0C3520 800C2920 AC780004 */ sw $t8, 4($v1) -/* 0C3524 800C2924 8C830000 */ lw $v1, ($a0) -/* 0C3528 800C2928 3C09FA00 */ lui $t1, 0xfa00 -/* 0C352C 800C292C 24790008 */ addiu $t9, $v1, 8 -/* 0C3530 800C2930 AC990000 */ sw $t9, ($a0) -/* 0C3534 800C2934 3C0A8013 */ lui $t2, %hi(D_8012A738) # $t2, 0x8013 -/* 0C3538 800C2938 AC690000 */ sw $t1, ($v1) -/* 0C353C 800C293C 8D4AA738 */ lw $t2, %lo(D_8012A738)($t2) -/* 0C3540 800C2940 3C0E8013 */ lui $t6, %hi(D_8012A73C) # $t6, 0x8013 -/* 0C3544 800C2944 000A6403 */ sra $t4, $t2, 0x10 -/* 0C3548 800C2948 8DCEA73C */ lw $t6, %lo(D_8012A73C)($t6) -/* 0C354C 800C294C 3C0A8013 */ lui $t2, %hi(D_8012A740) # $t2, 0x8013 -/* 0C3550 800C2950 8D4AA740 */ lw $t2, %lo(D_8012A740)($t2) -/* 0C3554 800C2954 000E7C03 */ sra $t7, $t6, 0x10 -/* 0C3558 800C2958 31F800FF */ andi $t8, $t7, 0xff -/* 0C355C 800C295C 000C6E00 */ sll $t5, $t4, 0x18 -/* 0C3560 800C2960 000A5C03 */ sra $t3, $t2, 0x10 -/* 0C3564 800C2964 316C00FF */ andi $t4, $t3, 0xff -/* 0C3568 800C2968 0018CC00 */ sll $t9, $t8, 0x10 -/* 0C356C 800C296C 01B94825 */ or $t1, $t5, $t9 -/* 0C3570 800C2970 000C7200 */ sll $t6, $t4, 8 -/* 0C3574 800C2974 012E7825 */ or $t7, $t1, $t6 -/* 0C3578 800C2978 35F800FF */ ori $t8, $t7, 0xff -/* 0C357C 800C297C AC780004 */ sw $t8, 4($v1) -/* 0C3580 800C2980 8C830000 */ lw $v1, ($a0) -/* 0C3584 800C2984 3C19FCFF */ lui $t9, (0xFCFFFFFF >> 16) # lui $t9, 0xfcff -/* 0C3588 800C2988 246D0008 */ addiu $t5, $v1, 8 -/* 0C358C 800C298C 3C0AFFFD */ lui $t2, (0xFFFDF6FB >> 16) # lui $t2, 0xfffd -/* 0C3590 800C2990 AC8D0000 */ sw $t5, ($a0) -/* 0C3594 800C2994 354AF6FB */ ori $t2, (0xFFFDF6FB & 0xFFFF) # ori $t2, $t2, 0xf6fb -/* 0C3598 800C2998 3739FFFF */ ori $t9, (0xFCFFFFFF & 0xFFFF) # ori $t9, $t9, 0xffff -/* 0C359C 800C299C AC790000 */ sw $t9, ($v1) -/* 0C35A0 800C29A0 AC6A0004 */ sw $t2, 4($v1) -/* 0C35A4 800C29A4 8C830000 */ lw $v1, ($a0) -/* 0C35A8 800C29A8 00026C03 */ sra $t5, $v0, 0x10 -/* 0C35AC 800C29AC 304903FF */ andi $t1, $v0, 0x3ff -/* 0C35B0 800C29B0 00097380 */ sll $t6, $t1, 0xe -/* 0C35B4 800C29B4 31B903FF */ andi $t9, $t5, 0x3ff -/* 0C35B8 800C29B8 3C01F600 */ lui $at, 0xf600 -/* 0C35BC 800C29BC 246B0008 */ addiu $t3, $v1, 8 -/* 0C35C0 800C29C0 01C17825 */ or $t7, $t6, $at -/* 0C35C4 800C29C4 00195080 */ sll $t2, $t9, 2 -/* 0C35C8 800C29C8 AC8B0000 */ sw $t3, ($a0) -/* 0C35CC 800C29CC 01EA5825 */ or $t3, $t7, $t2 -/* 0C35D0 800C29D0 AC6B0000 */ sw $t3, ($v1) -/* 0C35D4 800C29D4 0C01ECF4 */ jal func_8007B3D0 -/* 0C35D8 800C29D8 AC600004 */ sw $zero, 4($v1) -/* 0C35DC 800C29DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C35E0 800C29E0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C35E4 800C29E4 03E00008 */ jr $ra -/* 0C35E8 800C29E8 00000000 */ nop - -/* 0C35EC 800C29EC 00000000 */ nop diff --git a/asm/non_matchings/unknown_0B8920/func_800C29F0.s b/asm/non_matchings/unknown_0B8920/func_800C29F0.s deleted file mode 100644 index e9fed6b3..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C29F0.s +++ /dev/null @@ -1,53 +0,0 @@ -glabel func_800C29F0 -/* 0C35F0 800C29F0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C35F4 800C29F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C35F8 800C29F8 3C0500FF */ lui $a1, (0x00FF00FF >> 16) # lui $a1, 0xff -/* 0C35FC 800C29FC 34A500FF */ ori $a1, (0x00FF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 0C3600 800C2A00 0C01C327 */ jal allocate_from_main_pool_safe -/* 0C3604 800C2A04 24040780 */ li $a0, 1920 -/* 0C3608 800C2A08 3C038013 */ lui $v1, %hi(D_8012A7C8) # $v1, 0x8013 -/* 0C360C 800C2A0C 2463A7C8 */ addiu $v1, %lo(D_8012A7C8) # addiu $v1, $v1, -0x5838 -/* 0C3610 800C2A10 244F03C0 */ addiu $t7, $v0, 0x3c0 -/* 0C3614 800C2A14 AC620000 */ sw $v0, ($v1) -/* 0C3618 800C2A18 AC6F0004 */ sw $t7, 4($v1) -/* 0C361C 800C2A1C 3C018013 */ lui $at, %hi(D_8012A7D4) # $at, 0x8013 -/* 0C3620 800C2A20 AC20A7D4 */ sw $zero, %lo(D_8012A7D4)($at) -/* 0C3624 800C2A24 3C018013 */ lui $at, %hi(D_8012A7B6) # $at, 0x8013 -/* 0C3628 800C2A28 A420A7B6 */ sh $zero, %lo(D_8012A7B6)($at) -/* 0C362C 800C2A2C 3C018013 */ lui $at, %hi(D_8012A7A8) # $at, 0x8013 -/* 0C3630 800C2A30 A420A7A8 */ sh $zero, %lo(D_8012A7A8)($at) -/* 0C3634 800C2A34 24040020 */ li $a0, 32 -/* 0C3638 800C2A38 3C018013 */ lui $at, %hi(D_8012A7AA) # $at, 0x8013 -/* 0C363C 800C2A3C A424A7AA */ sh $a0, %lo(D_8012A7AA)($at) -/* 0C3640 800C2A40 3C018013 */ lui $at, %hi(D_8012A7BA) # $at, 0x8013 -/* 0C3644 800C2A44 A420A7BA */ sh $zero, %lo(D_8012A7BA)($at) -/* 0C3648 800C2A48 3C018013 */ lui $at, %hi(D_8012A7AE) # $at, 0x8013 -/* 0C364C 800C2A4C 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 -/* 0C3650 800C2A50 8F390300 */ lw $t9, %lo(osTvType)($t9) -/* 0C3654 800C2A54 A424A7AE */ sh $a0, %lo(D_8012A7AE)($at) -/* 0C3658 800C2A58 3C018013 */ lui $at, %hi(D_8012A7B2) # $at, 0x8013 -/* 0C365C 800C2A5C 24180120 */ li $t8, 288 -/* 0C3660 800C2A60 17200008 */ bnez $t9, .L800C2A84 -/* 0C3664 800C2A64 A438A7B2 */ sh $t8, %lo(D_8012A7B2)($at) -/* 0C3668 800C2A68 240800E0 */ li $t0, 224 -/* 0C366C 800C2A6C 3C018013 */ lui $at, %hi(D_8012A7B0) # $at, 0x8013 -/* 0C3670 800C2A70 A428A7B0 */ sh $t0, %lo(D_8012A7B0)($at) -/* 0C3674 800C2A74 3C018013 */ lui $at, %hi(D_8012A7B4) # $at, 0x8013 -/* 0C3678 800C2A78 240900F8 */ li $t1, 248 -/* 0C367C 800C2A7C 10000007 */ b .L800C2A9C -/* 0C3680 800C2A80 A429A7B4 */ sh $t1, %lo(D_8012A7B4)($at) -.L800C2A84: -/* 0C3684 800C2A84 240A00CA */ li $t2, 202 -/* 0C3688 800C2A88 3C018013 */ lui $at, %hi(D_8012A7B0) # $at, 0x8013 -/* 0C368C 800C2A8C A42AA7B0 */ sh $t2, %lo(D_8012A7B0)($at) -/* 0C3690 800C2A90 3C018013 */ lui $at, %hi(D_8012A7B4) # $at, 0x8013 -/* 0C3694 800C2A94 240B00DE */ li $t3, 222 -/* 0C3698 800C2A98 A42BA7B4 */ sh $t3, %lo(D_8012A7B4)($at) -.L800C2A9C: -/* 0C369C 800C2A9C 0C0315B4 */ jal func_800C56D0 -/* 0C36A0 800C2AA0 24040006 */ li $a0, 6 -/* 0C36A4 800C2AA4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C36A8 800C2AA8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C36AC 800C2AAC 03E00008 */ jr $ra -/* 0C36B0 800C2AB0 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C2F1C.s b/asm/non_matchings/unknown_0B8920/func_800C2F1C.s deleted file mode 100644 index 49c0d5d3..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C2F1C.s +++ /dev/null @@ -1,82 +0,0 @@ -glabel func_800C2F1C -/* 0C3B1C 800C2F1C 3C0E800E */ lui $t6, %hi(D_800E3680) # $t6, 0x800e -/* 0C3B20 800C2F20 8DCE3680 */ lw $t6, %lo(D_800E3680)($t6) -/* 0C3B24 800C2F24 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C3B28 800C2F28 AFBF0014 */ sw $ra, 0x14($sp) -/* 0C3B2C 800C2F2C 15C00004 */ bnez $t6, .L800C2F40 -/* 0C3B30 800C2F30 00802825 */ move $a1, $a0 -/* 0C3B34 800C2F34 3C078013 */ lui $a3, %hi(D_8012A7B6) # $a3, 0x8013 -/* 0C3B38 800C2F38 24E7A7B6 */ addiu $a3, %lo(D_8012A7B6) # addiu $a3, $a3, -0x584a -/* 0C3B3C 800C2F3C A4E00000 */ sh $zero, ($a3) -.L800C2F40: -/* 0C3B40 800C2F40 3C078013 */ lui $a3, %hi(D_8012A7B6) # $a3, 0x8013 -/* 0C3B44 800C2F44 24E7A7B6 */ addiu $a3, %lo(D_8012A7B6) # addiu $a3, $a3, -0x584a -/* 0C3B48 800C2F48 84E40000 */ lh $a0, ($a3) -/* 0C3B4C 800C2F4C 3C068013 */ lui $a2, %hi(D_8012A7AC) # $a2, 0x8013 -/* 0C3B50 800C2F50 10800035 */ beqz $a0, .L800C3028 -/* 0C3B54 800C2F54 24C6A7AC */ addiu $a2, %lo(D_8012A7AC) # addiu $a2, $a2, -0x5854 -/* 0C3B58 800C2F58 84C30000 */ lh $v1, ($a2) -/* 0C3B5C 800C2F5C 3C0B8013 */ lui $t3, %hi(D_8012A7AA) # $t3, 0x8013 -/* 0C3B60 800C2F60 1C600018 */ bgtz $v1, .L800C2FC4 -/* 0C3B64 800C2F64 00657823 */ subu $t7, $v1, $a1 -/* 0C3B68 800C2F68 3C188013 */ lui $t8, %hi(D_8012A7AA) # $t8, 0x8013 -/* 0C3B6C 800C2F6C 8718A7AA */ lh $t8, %lo(D_8012A7AA)($t8) -/* 0C3B70 800C2F70 3C028013 */ lui $v0, %hi(D_8012A7A8) # $v0, 0x8013 -/* 0C3B74 800C2F74 00B80019 */ multu $a1, $t8 -/* 0C3B78 800C2F78 2442A7A8 */ addiu $v0, %lo(D_8012A7A8) # addiu $v0, $v0, -0x5858 -/* 0C3B7C 800C2F7C 844F0000 */ lh $t7, ($v0) -/* 0C3B80 800C2F80 0000C812 */ mflo $t9 -/* 0C3B84 800C2F84 01F94023 */ subu $t0, $t7, $t9 -/* 0C3B88 800C2F88 A4480000 */ sh $t0, ($v0) -/* 0C3B8C 800C2F8C 84490000 */ lh $t1, ($v0) -/* 0C3B90 800C2F90 00000000 */ nop -/* 0C3B94 800C2F94 05210024 */ bgez $t1, .L800C3028 -/* 0C3B98 800C2F98 00000000 */ nop -/* 0C3B9C 800C2F9C A4400000 */ sh $zero, ($v0) -/* 0C3BA0 800C2FA0 A4E00000 */ sh $zero, ($a3) -/* 0C3BA4 800C2FA4 0C031588 */ jal func_800C5620 -/* 0C3BA8 800C2FA8 24040006 */ li $a0, 6 -/* 0C3BAC 800C2FAC 0C031525 */ jal func_800C5494 -/* 0C3BB0 800C2FB0 24040006 */ li $a0, 6 -/* 0C3BB4 800C2FB4 3C048013 */ lui $a0, %hi(D_8012A7B6) # $a0, 0x8013 -/* 0C3BB8 800C2FB8 8484A7B6 */ lh $a0, %lo(D_8012A7B6)($a0) -/* 0C3BBC 800C2FBC 1000001A */ b .L800C3028 -/* 0C3BC0 800C2FC0 00000000 */ nop -.L800C2FC4: -/* 0C3BC4 800C2FC4 856BA7AA */ lh $t3, %lo(D_8012A7AA)($t3) -/* 0C3BC8 800C2FC8 3C028013 */ lui $v0, %hi(D_8012A7A8) # $v0, 0x8013 -/* 0C3BCC 800C2FCC 00AB0019 */ multu $a1, $t3 -/* 0C3BD0 800C2FD0 2442A7A8 */ addiu $v0, %lo(D_8012A7A8) # addiu $v0, $v0, -0x5858 -/* 0C3BD4 800C2FD4 844A0000 */ lh $t2, ($v0) -/* 0C3BD8 800C2FD8 24180100 */ li $t8, 256 -/* 0C3BDC 800C2FDC 00006012 */ mflo $t4 -/* 0C3BE0 800C2FE0 014C6821 */ addu $t5, $t2, $t4 -/* 0C3BE4 800C2FE4 A44D0000 */ sh $t5, ($v0) -/* 0C3BE8 800C2FE8 844E0000 */ lh $t6, ($v0) -/* 0C3BEC 800C2FEC 00000000 */ nop -/* 0C3BF0 800C2FF0 29C10101 */ slti $at, $t6, 0x101 -/* 0C3BF4 800C2FF4 14200002 */ bnez $at, .L800C3000 -/* 0C3BF8 800C2FF8 00000000 */ nop -/* 0C3BFC 800C2FFC A4580000 */ sh $t8, ($v0) -.L800C3000: -/* 0C3C00 800C3000 A4CF0000 */ sh $t7, ($a2) -/* 0C3C04 800C3004 84D90000 */ lh $t9, ($a2) -/* 0C3C08 800C3008 00000000 */ nop -/* 0C3C0C 800C300C 1F200006 */ bgtz $t9, .L800C3028 -/* 0C3C10 800C3010 00000000 */ nop -/* 0C3C14 800C3014 0C030B5B */ jal func_800C2D6C -/* 0C3C18 800C3018 00000000 */ nop -/* 0C3C1C 800C301C 3C048013 */ lui $a0, %hi(D_8012A7B6) # $a0, 0x8013 -/* 0C3C20 800C3020 8484A7B6 */ lh $a0, %lo(D_8012A7B6)($a0) -/* 0C3C24 800C3024 00000000 */ nop -.L800C3028: -/* 0C3C28 800C3028 10800004 */ beqz $a0, .L800C303C -/* 0C3C2C 800C302C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C3C30 800C3030 0C030AC0 */ jal func_800C2B00 -/* 0C3C34 800C3034 00000000 */ nop -/* 0C3C38 800C3038 8FBF0014 */ lw $ra, 0x14($sp) -.L800C303C: -/* 0C3C3C 800C303C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0C3C40 800C3040 03E00008 */ jr $ra -/* 0C3C44 800C3044 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C3048.s b/asm/non_matchings/unknown_0B8920/func_800C3048.s deleted file mode 100644 index 893a0f0b..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C3048.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel func_800C3048 -/* 0C3C48 800C3048 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0C3C4C 800C304C AFBF0014 */ sw $ra, 0x14($sp) -/* 0C3C50 800C3050 240EFFFF */ li $t6, -1 -/* 0C3C54 800C3054 3C018013 */ lui $at, %hi(D_8012A78C) # $at, 0x8013 -/* 0C3C58 800C3058 3C0500FF */ lui $a1, (0x00FF00FF >> 16) # lui $a1, 0xff -/* 0C3C5C 800C305C A42EA78C */ sh $t6, %lo(D_8012A78C)($at) -/* 0C3C60 800C3060 34A500FF */ ori $a1, (0x00FF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 0C3C64 800C3064 0C01C327 */ jal allocate_from_main_pool_safe -/* 0C3C68 800C3068 24040800 */ li $a0, 2048 -/* 0C3C6C 800C306C 3C038013 */ lui $v1, %hi(D_8012A798) # $v1, 0x8013 -/* 0C3C70 800C3070 2463A798 */ addiu $v1, %lo(D_8012A798) # addiu $v1, $v1, -0x5868 -/* 0C3C74 800C3074 3C048013 */ lui $a0, %hi(D_8012A780) # $a0, 0x8013 -/* 0C3C78 800C3078 24580080 */ addiu $t8, $v0, 0x80 -/* 0C3C7C 800C307C 2484A780 */ addiu $a0, %lo(D_8012A780) # addiu $a0, $a0, -0x5880 -/* 0C3C80 800C3080 270803C0 */ addiu $t0, $t8, 0x3c0 -/* 0C3C84 800C3084 AC820000 */ sw $v0, ($a0) -/* 0C3C88 800C3088 AC780000 */ sw $t8, ($v1) -/* 0C3C8C 800C308C AC680004 */ sw $t0, 4($v1) -/* 0C3C90 800C3090 3C018013 */ lui $at, %hi(D_8012A7A4) # $at, 0x8013 -/* 0C3C94 800C3094 0C030A7C */ jal func_800C29F0 -/* 0C3C98 800C3098 AC20A7A4 */ sw $zero, %lo(D_8012A7A4)($at) -/* 0C3C9C 800C309C 0C01DBCC */ jal get_size_of_asset_section -/* 0C3CA0 800C30A0 24040007 */ li $a0, 7 -/* 0C3CA4 800C30A4 00024883 */ sra $t1, $v0, 2 -/* 0C3CA8 800C30A8 252AFFFE */ addiu $t2, $t1, -2 -/* 0C3CAC 800C30AC 3C018013 */ lui $at, %hi(D_8012A790) # $at, 0x8013 -/* 0C3CB0 800C30B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0C3CB4 800C30B4 A42AA790 */ sh $t2, %lo(D_8012A790)($at) -/* 0C3CB8 800C30B8 3C01800E */ lui $at, %hi(D_800E3670) # $at, 0x800e -/* 0C3CBC 800C30BC 240B0001 */ li $t3, 1 -/* 0C3CC0 800C30C0 A02B3670 */ sb $t3, %lo(D_800E3670)($at) -/* 0C3CC4 800C30C4 03E00008 */ jr $ra -/* 0C3CC8 800C30C8 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/unknown_0B8920/func_800C30CC.s b/asm/non_matchings/unknown_0B8920/func_800C30CC.s deleted file mode 100644 index 55ed43f4..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C30CC.s +++ /dev/null @@ -1,33 +0,0 @@ -glabel func_800C30CC -/* 0C3CCC 800C30CC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C3CD0 800C30D0 AFB10018 */ sw $s1, 0x18($sp) -/* 0C3CD4 800C30D4 3C11800E */ lui $s1, %hi(D_800E3670) # $s1, 0x800e -/* 0C3CD8 800C30D8 26313670 */ addiu $s1, %lo(D_800E3670) # addiu $s1, $s1, 0x3670 -/* 0C3CDC 800C30DC 822E0000 */ lb $t6, ($s1) -/* 0C3CE0 800C30E0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C3CE4 800C30E4 11C00011 */ beqz $t6, .L800C312C -/* 0C3CE8 800C30E8 AFB00014 */ sw $s0, 0x14($sp) -/* 0C3CEC 800C30EC 3C048013 */ lui $a0, %hi(D_8012A780) # $a0, 0x8013 -/* 0C3CF0 800C30F0 8C84A780 */ lw $a0, %lo(D_8012A780)($a0) -/* 0C3CF4 800C30F4 0C01C450 */ jal free_from_memory_pool -/* 0C3CF8 800C30F8 00000000 */ nop -/* 0C3CFC 800C30FC A2200000 */ sb $zero, ($s1) -/* 0C3D00 800C3100 3C018013 */ lui $at, %hi(D_8012A789) # $at, 0x8013 -/* 0C3D04 800C3104 A020A789 */ sb $zero, %lo(D_8012A789)($at) -/* 0C3D08 800C3108 2411000A */ li $s1, 10 -/* 0C3D0C 800C310C 00008025 */ move $s0, $zero -.L800C3110: -/* 0C3D10 800C3110 0C0273EC */ jal func_8009CFB0 -/* 0C3D14 800C3114 00000000 */ nop -/* 0C3D18 800C3118 26100001 */ addiu $s0, $s0, 1 -/* 0C3D1C 800C311C 1611FFFC */ bne $s0, $s1, .L800C3110 -/* 0C3D20 800C3120 00000000 */ nop -/* 0C3D24 800C3124 0C030AAD */ jal func_800C2AB4 -/* 0C3D28 800C3128 00000000 */ nop -.L800C312C: -/* 0C3D2C 800C312C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C3D30 800C3130 8FB00014 */ lw $s0, 0x14($sp) -/* 0C3D34 800C3134 8FB10018 */ lw $s1, 0x18($sp) -/* 0C3D38 800C3138 03E00008 */ jr $ra -/* 0C3D3C 800C313C 27BD0020 */ addiu $sp, $sp, 0x20 - diff --git a/asm/non_matchings/unknown_0B8920/func_800C3158.s b/asm/non_matchings/unknown_0B8920/func_800C3158.s deleted file mode 100644 index 113fca53..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C3158.s +++ /dev/null @@ -1,41 +0,0 @@ -glabel func_800C3158 -/* 0C3D58 800C3158 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -/* 0C3D5C 800C315C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -/* 0C3D60 800C3160 44856000 */ mtc1 $a1, $f12 -/* 0C3D64 800C3164 15C00010 */ bnez $t6, .L800C31A8 -/* 0C3D68 800C3168 3C01404E */ lui $at, 0x404e -/* 0C3D6C 800C316C 3C014049 */ li $at, 0x40490000 # 3.140625 -/* 0C3D70 800C3170 44813800 */ mtc1 $at, $f7 -/* 0C3D74 800C3174 44803000 */ mtc1 $zero, $f6 -/* 0C3D78 800C3178 46006121 */ cvt.d.s $f4, $f12 -/* 0C3D7C 800C317C 46262202 */ mul.d $f8, $f4, $f6 -/* 0C3D80 800C3180 444FF800 */ cfc1 $t7, $31 -/* 0C3D84 800C3184 00000000 */ nop -/* 0C3D88 800C3188 35E10003 */ ori $at, $t7, 3 -/* 0C3D8C 800C318C 38210002 */ xori $at, $at, 2 -/* 0C3D90 800C3190 44C1F800 */ ctc1 $at, $31 -/* 0C3D94 800C3194 3C01800E */ lui $at, %hi(D_800E3678) # $at, 0x800E -/* 0C3D98 800C3198 462042A4 */ cvt.w.d $f10, $f8 -/* 0C3D9C 800C319C 44CFF800 */ ctc1 $t7, $31 -/* 0C3DA0 800C31A0 1000000F */ b .L800C31E0 -/* 0C3DA4 800C31A4 E42A3678 */ swc1 $f10, %lo(D_800E3678)($at) -.L800C31A8: -/* 0C3DA8 800C31A8 44819800 */ mtc1 $at, $f19 -/* 0C3DAC 800C31AC 44809000 */ mtc1 $zero, $f18 -/* 0C3DB0 800C31B0 46006421 */ cvt.d.s $f16, $f12 -/* 0C3DB4 800C31B4 46328102 */ mul.d $f4, $f16, $f18 -/* 0C3DB8 800C31B8 4458F800 */ cfc1 $t8, $31 -/* 0C3DBC 800C31BC 00000000 */ nop -/* 0C3DC0 800C31C0 37010003 */ ori $at, $t8, 3 -/* 0C3DC4 800C31C4 38210002 */ xori $at, $at, 2 -/* 0C3DC8 800C31C8 44C1F800 */ ctc1 $at, $31 -/* 0C3DCC 800C31CC 3C01800E */ lui $at, %hi(D_800E3678) # $at, 0x800e -/* 0C3DD0 800C31D0 462021A4 */ cvt.w.d $f6, $f4 -/* 0C3DD4 800C31D4 44D8F800 */ ctc1 $t8, $31 -/* 0C3DD8 800C31D8 E4263678 */ swc1 $f6, %lo(D_800E3678)($at) -/* 0C3DDC 800C31DC 00000000 */ nop -.L800C31E0: -/* 0C3DE0 800C31E0 3C01800E */ lui $at, %hi(D_800E367C) # $at, 0x800e -/* 0C3DE4 800C31E4 03E00008 */ jr $ra -/* 0C3DE8 800C31E8 AC24367C */ sw $a0, %lo(D_800E367C)($at) - diff --git a/asm/non_matchings/unknown_0B8920/func_800C3440.s b/asm/non_matchings/unknown_0B8920/func_800C3440.s deleted file mode 100644 index 8018a7f1..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C3440.s +++ /dev/null @@ -1,81 +0,0 @@ -glabel func_800C3440 -/* 0C4040 800C3440 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C4044 800C3444 3C0E800E */ lui $t6, %hi(D_800E3670) # $t6, 0x800e -/* 0C4048 800C3448 81CE3670 */ lb $t6, %lo(D_800E3670)($t6) -/* 0C404C 800C344C AFBF001C */ sw $ra, 0x1c($sp) -/* 0C4050 800C3450 AFB10018 */ sw $s1, 0x18($sp) -/* 0C4054 800C3454 AFB00014 */ sw $s0, 0x14($sp) -/* 0C4058 800C3458 11C0003D */ beqz $t6, .L800C3550 -/* 0C405C 800C345C AFA40020 */ sw $a0, 0x20($sp) -/* 0C4060 800C3460 0C01BAA8 */ jal is_game_paused -/* 0C4064 800C3464 00000000 */ nop -/* 0C4068 800C3468 1440000D */ bnez $v0, .L800C34A0 -/* 0C406C 800C346C 3C10800E */ lui $s0, %hi(D_800E3678) # $s0, 0x800e -/* 0C4070 800C3470 26103678 */ addiu $s0, %lo(D_800E3678) # addiu $s0, $s0, 0x3678 -/* 0C4074 800C3474 8E020000 */ lw $v0, ($s0) -/* 0C4078 800C3478 8FAF0020 */ lw $t7, 0x20($sp) -/* 0C407C 800C347C 18400008 */ blez $v0, .L800C34A0 -/* 0C4080 800C3480 004FC023 */ subu $t8, $v0, $t7 -/* 0C4084 800C3484 1F000006 */ bgtz $t8, .L800C34A0 -/* 0C4088 800C3488 AE180000 */ sw $t8, ($s0) -/* 0C408C 800C348C 3C04800E */ lui $a0, %hi(D_800E367C) # $a0, 0x800e -/* 0C4090 800C3490 8C84367C */ lw $a0, %lo(D_800E367C)($a0) -/* 0C4094 800C3494 0C030C7B */ jal func_800C31EC -/* 0C4098 800C3498 00000000 */ nop -/* 0C409C 800C349C AE000000 */ sw $zero, ($s0) -.L800C34A0: -/* 0C40A0 800C34A0 8FA40020 */ lw $a0, 0x20($sp) -/* 0C40A4 800C34A4 0C030BC7 */ jal func_800C2F1C -/* 0C40A8 800C34A8 00000000 */ nop -/* 0C40AC 800C34AC 3C088013 */ lui $t0, %hi(D_8012A789) # $t0, 0x8013 -/* 0C40B0 800C34B0 9108A789 */ lbu $t0, %lo(D_8012A789)($t0) -/* 0C40B4 800C34B4 00000000 */ nop -/* 0C40B8 800C34B8 11000026 */ beqz $t0, .L800C3554 -/* 0C40BC 800C34BC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C40C0 800C34C0 0C0168EC */ jal func_8005A3B0 -/* 0C40C4 800C34C4 00000000 */ nop -/* 0C40C8 800C34C8 3C118013 */ lui $s1, %hi(D_8012A786) # $s1, 0x8013 -/* 0C40CC 800C34CC 2631A786 */ addiu $s1, %lo(D_8012A786) # addiu $s1, $s1, -0x587a -/* 0C40D0 800C34D0 82220000 */ lb $v0, ($s1) -/* 0C40D4 800C34D4 3C108013 */ lui $s0, %hi(D_8012A785) # $s0, 0x8013 -/* 0C40D8 800C34D8 1040001B */ beqz $v0, .L800C3548 -/* 0C40DC 800C34DC 2610A785 */ addiu $s0, %lo(D_8012A785) # addiu $s0, $s0, -0x587b -/* 0C40E0 800C34E0 82090000 */ lb $t1, ($s0) -/* 0C40E4 800C34E4 8FAA0020 */ lw $t2, 0x20($sp) -/* 0C40E8 800C34E8 00000000 */ nop -/* 0C40EC 800C34EC 012A5823 */ subu $t3, $t1, $t2 -/* 0C40F0 800C34F0 A20B0000 */ sb $t3, ($s0) -/* 0C40F4 800C34F4 820C0000 */ lb $t4, ($s0) -/* 0C40F8 800C34F8 00000000 */ nop -/* 0C40FC 800C34FC 0581000E */ bgez $t4, .L800C3538 -/* 0C4100 800C3500 00000000 */ nop -.L800C3504: -/* 0C4104 800C3504 0C00322D */ jal func_8000C8B4 -/* 0C4108 800C3508 2404003C */ li $a0, 60 -/* 0C410C 800C350C 820D0000 */ lb $t5, ($s0) -/* 0C4110 800C3510 822F0000 */ lb $t7, ($s1) -/* 0C4114 800C3514 01A27021 */ addu $t6, $t5, $v0 -/* 0C4118 800C3518 A20E0000 */ sb $t6, ($s0) -/* 0C411C 800C351C 82190000 */ lb $t9, ($s0) -/* 0C4120 800C3520 25F8FFFF */ addiu $t8, $t7, -1 -/* 0C4124 800C3524 0720FFF7 */ bltz $t9, .L800C3504 -/* 0C4128 800C3528 A2380000 */ sb $t8, ($s1) -/* 0C412C 800C352C 3C028013 */ lui $v0, %hi(D_8012A786) # $v0, 0x8013 -/* 0C4130 800C3530 8042A786 */ lb $v0, %lo(D_8012A786)($v0) -/* 0C4134 800C3534 00000000 */ nop -.L800C3538: -/* 0C4138 800C3538 1C400003 */ bgtz $v0, .L800C3548 -/* 0C413C 800C353C 24080001 */ li $t0, 1 -/* 0C4140 800C3540 3C018013 */ lui $at, %hi(D_8012A784) # $at, 0x8013 -/* 0C4144 800C3544 A028A784 */ sb $t0, %lo(D_8012A784)($at) -.L800C3548: -/* 0C4148 800C3548 0C0273FB */ jal func_8009CFEC -/* 0C414C 800C354C 24040003 */ li $a0, 3 -.L800C3550: -/* 0C4150 800C3550 8FBF001C */ lw $ra, 0x1c($sp) -.L800C3554: -/* 0C4154 800C3554 8FB00014 */ lw $s0, 0x14($sp) -/* 0C4158 800C3558 8FB10018 */ lw $s1, 0x18($sp) -/* 0C415C 800C355C 03E00008 */ jr $ra -/* 0C4160 800C3560 27BD0020 */ addiu $sp, $sp, 0x20 - diff --git a/include/f3ddkr.h b/include/f3ddkr.h index 0828fcfc..5a442a2f 100644 --- a/include/f3ddkr.h +++ b/include/f3ddkr.h @@ -69,8 +69,30 @@ /****** F3DDKR display list commands ******/ +#define G_TRIN 5 #define G_DMADL 7 +#define gDkrVertices(pkt, address, no, v0) \ +{ \ + Gfx *_g = (Gfx *)(pkt); \ + \ + _g->words.w0 = (_SHIFTL(G_VTX, 24, 8) | _SHIFTL((no), 16, 8) | \ + _SHIFTL((v0*2), 0, 16)); \ + _g->words.w1 = (unsigned int)(address); \ +} + +#define TRIN_DISABLE_TEXTURE 0 +#define TRIN_ENABLE_TEXTURE 1 + +#define gDkrTriangles(pkt, address, n, t) \ +{ \ + Gfx *_g = (Gfx *)(pkt); \ + \ + _g->words.w0 = (_SHIFTL(G_TRIN, 24, 8) | _SHIFTL((n - 1), 20, 4) | \ + _SHIFTL((t), 16, 4) | _SHIFTL((n*16), 0, 16)); \ + _g->words.w1 = (unsigned int)(address); \ +} + #define numberOfGfxCommands(gfxCmds) (sizeof(gfxCmds) / sizeof(Gwords)) #define gDkrDmaDisplayList(pkt, address, numberOfCommands) \ diff --git a/src/fade_transition.c b/src/fade_transition.c new file mode 100644 index 00000000..31ddd1e1 --- /dev/null +++ b/src/fade_transition.c @@ -0,0 +1,547 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x800C0170 */ + +#include "fade_transition.h" + +#include "types.h" +#include "macros.h" +#include "f3ddkr.h" +#include "asset_sections.h" +#include "memory.h" + +/************ .data ************/ + +s32 D_800E31A0 = 0; +s32 D_800E31A4 = 0; +s32 D_800E31A8 = 0; +s32 D_800E31AC = 0; +u16 D_800E31B0 = 0; +u16 D_800E31B4 = 0; +u16 D_800E31B8 = 0; +s8 D_800E31BC = 0; +s32 *D_800E31C0[2] = { NULL, NULL }; +s32 *D_800E31C8[2] = { NULL, NULL }; +s32 D_800E31D0[2] = { 0, 0 }; + +Gfx D_800E31D8[] = { + gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTexturePersp(G_TP_NONE), + gsDPSetTextureFilter(G_TF_BILERP), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetAlphaCompare(G_AC_NONE), + gsDPSetRenderMode(G_RM_CLD_SURF, G_RM_CLD_SURF2), + gsSPEndDisplayList(), +}; + +s16 D_800E3230[28] = { + 0xFE20, 0x0078, 0xFEC0, 0x0078, 0xFF60, 0x0078, 0x0000, 0x0078, + 0x00A0, 0x0078, 0x0140, 0x0078, 0x01E0, 0x0078, 0xFE20, 0xFF88, + 0xFEC0, 0xFF88, 0xFF60, 0xFF88, 0x0000, 0xFF88, 0x00A0, 0xFF88, + 0x0140, 0xFF88, 0x01E0, 0xFF88 +}; + +s16 D_800E3268[28] = { + 0xFF60, 0x0168, 0xFF60, 0x00F0, 0xFF60, 0x0078, 0xFF60, 0x0000, + 0xFF60, 0xFF88, 0xFF60, 0xFF10, 0xFF60, 0xFF10, 0x00A0, 0x0168, + 0x00A0, 0x00F0, 0x00A0, 0x0078, 0x00A0, 0x0000, 0x00A0, 0xFF88, + 0x00A0, 0xFF10, 0x00A0, 0xFF10 +}; + +s8 D_800E32A0[12] = { + 0x00, 0x02, 0x04, 0x0E, 0x10, 0x12, 0x08, 0x0A, + 0x0C, 0x16, 0x18, 0x1A +}; + +s8 D_800E32AC[12] = { + 0x04, 0x06, 0x08, 0x12, 0x14, 0x16, 0x04, 0x06, + 0x08, 0x12, 0x14, 0x16 +}; + +s8 D_800E32B8[24] = { + 0, 3, 1, 1, 3, 4, 1, 4, + 2, 2, 4, 5, 6, 9, 7, 7, + 9, 10, 7, 10, 8, 8, 10, 11 +}; + +s8 D_800E32D0[12] = { + -1, -1, 0, -1, -1, 0, 0, -1, -1, 0, -1, -1 +}; + +s16 D_800E32DC[24] = { + 0xFCE0, 0x0078, 0xFE20, 0x0078, 0xFF60, 0x0078, 0x00A0, 0x0078, + 0x01E0, 0x0078, 0x0320, 0x0078, 0xFCE0, 0xFF88, 0xFE20, 0xFF88, + 0xFF60, 0xFF88, 0x00A0, 0xFF88, 0x01E0, 0xFF88, 0x0320, 0xFF88 +}; + +s8 D_800E330C[12] = { + 0, 2, 4, 12, 14, 8, 10, 18, 20, 22, 0, 0 +}; + +s8 D_800E3318[12] = { + 4, 6, 8, 16, 18, 4, 6, 14, 16, 18, 0, 0 +}; + +s8 D_800E3324[20] = { + 0, 1, 3, 1, 3, 4, 1, 4, 2, 5, 7, 8, 5, 8, 6, 6, 8, 9, 0, 0 +}; + +s8 D_800E3338[12] = { + -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, 0 +}; + +s16 D_800E3344[126] = { + 0xFF60, 0x00A0, 0xFF70, 0x00A0, 0xFF80, 0x00A0, 0xFF90, 0x00A0, + 0xFFA0, 0x00A0, 0xFFB0, 0x00A0, 0xFFC0, 0x00A0, 0xFFD0, 0x00A0, + 0xFFE0, 0x00A0, 0xFFF0, 0x00A0, 0x0000, 0x00A0, 0x0010, 0x00A0, + 0x0020, 0x00A0, 0x0030, 0x00A0, 0x0040, 0x00A0, 0x0050, 0x00A0, + 0x0060, 0x00A0, 0x0070, 0x00A0, 0x0080, 0x00A0, 0x0090, 0x00A0, + 0x00A0, 0x00A0, 0xFF60, 0xFF38, 0xFF70, 0xFF60, 0xFF80, 0xFF74, + 0xFF90, 0xFF7E, 0xFFA0, 0xFF74, 0xFFB0, 0xFF38, 0xFFC0, 0xFF10, + 0xFFD0, 0xFEFC, 0xFFE0, 0xFEF2, 0xFFF0, 0xFEFC, 0x0000, 0xFF24, + 0x0010, 0xFF2E, 0x0020, 0xFF38, 0x0030, 0xFF2E, 0x0040, 0xFF24, + 0x0050, 0xFEFC, 0x0060, 0xFEF2, 0x0070, 0xFEFC, 0x0080, 0xFF24, + 0x0090, 0xFF60, 0x00A0, 0xFF74, 0xFF60, 0xFEE8, 0xFF70, 0xFEE8, + 0xFF80, 0xFEE8, 0xFF90, 0xFEE8, 0xFFA0, 0xFEE8, 0xFFB0, 0xFEE8, + 0xFFC0, 0xFEE8, 0xFFD0, 0xFEE8, 0xFFE0, 0xFEE8, 0xFFF0, 0xFEE8, + 0x0000, 0xFEE8, 0x0010, 0xFEE8, 0x0020, 0xFEE8, 0x0030, 0xFEE8, + 0x0040, 0xFEE8, 0x0050, 0xFEE8, 0x0060, 0xFEE8, 0x0070, 0xFEE8, + 0x0080, 0xFEE8, 0x0090, 0xFEE8, 0x00A0, 0xFEE8 +}; + +s8 D_800E3440[92] = { + 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, + 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, + 0x0E, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x0E, + 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1A, 0x1C, + 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x1A, 0x1C, + 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x00, 0x02, + 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x54, 0x56, + 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x0E, 0x10, + 0x12, 0x14, 0x16, 0x18, 0x1A, 0x62, 0x64, 0x66, + 0x68, 0x6A, 0x6C, 0x6E, 0x1A, 0x1C, 0x1E, 0x20, + 0x22, 0x24, 0x26, 0x28, 0x6E, 0x70, 0x72, 0x74, + 0x76, 0x78, 0x7A, 0x7C +}; + +s8 D_800E349C[92] = { + 0x2A, 0x2C, 0x2E, 0x30, 0x32, 0x34, 0x36, 0x38, + 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, + 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x44, 0x62, + 0x64, 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x44, 0x46, + 0x48, 0x4A, 0x4C, 0x4E, 0x50, 0x52, 0x6E, 0x70, + 0x72, 0x74, 0x76, 0x78, 0x7A, 0x7C, 0x54, 0x56, + 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x54, 0x56, + 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x62, 0x64, + 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x62, 0x64, 0x66, + 0x68, 0x6A, 0x6C, 0x6E, 0x6E, 0x70, 0x72, 0x74, + 0x76, 0x78, 0x7A, 0x7C, 0x6E, 0x70, 0x72, 0x74, + 0x76, 0x78, 0x7A, 0x7C +}; + +s8 D_800E34F8[92] = { + 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, + 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 +}; + +s8 D_800E3554[244] = { + 0, 8, 9, 0, 9, 1, 1, 9, 10, 1, 10, 2, 2, 10, 11, 2, + 11, 3, 3, 11, 12, 3, 12, 4, 4, 12, 13, 4, 13, 5, 5, 13, + 14, 5, 14, 6, 6, 14, 15, 6, 15, 7, 0, 7, 8, 0, 8, 1, + 1, 8, 9, 1, 9, 2, 2, 9, 10, 2, 10, 3, 3, 10, 11, 3, + 11, 4, 4, 11, 12, 4, 12, 5, 5, 12, 13, 5, 13, 6, 0, 8, + 9, 0, 9, 1, 1, 9, 10, 1, 10, 2, 2, 10, 11, 2, 11, 3, + 3, 11, 12, 3, 12, 4, 4, 12, 13, 4, 13, 5, 5, 13, 14, 5, + 14, 6, 6, 14, 15, 6, 15, 7, 0, 8, 9, 0, 9, 1, 1, 9, + 10, 1, 10, 2, 2, 10, 11, 2, 11, 3, 3, 11, 12, 3, 12, 4, + 4, 12, 13, 4, 13, 5, 5, 13, 14, 5, 14, 6, 6, 14, 15, 6, + 15, 7, 0, 7, 8, 0, 8, 1, 1, 8, 9, 1, 9, 2, 2, 9, + 10, 2, 10, 3, 3, 10, 11, 3, 11, 4, 4, 11, 12, 4, 12, 5, + 5, 12, 13, 5, 13, 6, 0, 8, 9, 0, 9, 1, 1, 9, 10, 1, + 10, 2, 2, 10, 11, 2, 11, 3, 3, 11, 12, 3, 12, 4, 4, 12, + 13, 4, 13, 5, 5, 13, 14, 5, 14, 6, 6, 14, 15, 6, 15, 7, + 0, 0, 0, 0 +}; + +Gfx D_800E3648[] = { + gsDPPipeSync(), + gsSPClearGeometryMode(G_FOG), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_CLD_SURF | G_RM_CLD_SURF2), + gsSPEndDisplayList(), +}; + +/*******************************/ + +/************ .bss ************/ + +// TODO: These are currently defined in font.c; Needs to be moved here. +extern s32 gCurFaceTransition; +extern u8 gCurFadeRed; +extern u8 gCurFadeGreen; +extern u8 gCurFadeBlue; +extern u8 gCurFadeAlpha; +extern s32 gLastFadeRed; +extern s32 gLastFadeGreen; +extern s32 gLastFadeBlue; +extern s32 D_8012A744; +extern s32 D_8012A748; +extern s32 D_8012A74C; +extern f32 D_8012A750; +extern f32 D_8012A754; +extern s32 D_8012A758; +extern s32 D_8012A75C; +extern s32 D_8012A760; +extern s32 D_8012A764; +extern s32 D_8012A768; +extern s32 D_8012A76C; +extern s32 D_8012A770; +extern s32 D_8012A774; +extern s32 D_8012A778; +extern s32 D_8012A77C; + +/*****************************/ + +extern u32 osTvType; + +void func_80067F20(f32 arg0); +void func_800C0724(void); +void func_800C0834(s32); +void render_fade_fullscreen(Gfx **dlist, s32 arg1, s32 arg2); +void func_800C1130(s32); +void render_fade_barndoor_horizontal(Gfx **dlist, s32 arg1, s32 arg2); +void render_fade_barndoor_vertical(Gfx **dlist, s32 arg1, s32 arg2); +void func_800C1EE8(s32); +void render_fade_circle(Gfx **dlist, s32 arg1, s32 arg2); +void render_fade_waves(Gfx **dlist, s32 arg1, s32 arg2); +void render_fade_barndoor_diagonal(Gfx **dlist, s32 arg1, s32 arg2); +void func_800C27A0(s32); +void render_fade_disabled(Gfx **dlist, s32 arg1, s32 arg2); +void func_800C0780(FadeTransition *transition); +void func_800C0B00(FadeTransition *transition, s32, s32, s16*, s8*, s8*, s8*, s8*, s8*); +void func_800C15D4(FadeTransition *transition); +void func_800C2640(FadeTransition *transition); +void func_800C0724(void); + +void func_800C0170(void) { + D_800E31A0 = 1; +} + +void func_800C0180(void) { + D_800E31A0 = 0; +} + +#ifdef NON_MATCHING +// Regalloc issues. Uses v1 instead of v0. +s32 func_800C018C(void) { + s32 phi_v0 = (D_800E31B0 != 0); + if (phi_v0 == 0) { + phi_v0 = (D_800E31B4 != 0); + if (phi_v0 != 0) { + phi_v0 = (D_800E31BC != 0); + } + } + return phi_v0; +} +#else +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C018C.s") +#endif + +#ifdef NON_MATCHING + +// Regalloc issue. +s32 func_800C01D8(FadeTransition *transition) { + if (D_800E31A0) { + return 0; + } + func_800C0724(); + if (transition == NULL) { + return 0; + } + D_800E31B0 = transition->duration; + D_800E31B8 = transition->duration; + D_800E31B4 = transition->unk6; + D_800E31BC = !(transition->type & 0x80); + gCurFaceTransition = transition->type & 0x3F; + D_800E31A8 = transition->type & 0x40; + D_800E31A4 = 0; + if (!D_800E31BC) { + D_800E31A4 = 2; + } + if (D_800E31B0 > 0) { + gLastFadeRed = gCurFadeRed; + gLastFadeGreen = gCurFadeGreen; + gLastFadeBlue = gCurFadeBlue; + gCurFadeRed = transition->red; + gCurFadeGreen = transition->green; + gCurFadeBlue = transition->blue; + switch (gCurFaceTransition) { + case FADE_FULLSCREEN: + func_800C0780(transition); + break; + case FADE_BARNDOOR_HORIZONTAL: + func_800C0B00(transition, 0xC, 8, &D_800E3230, &D_800E32A0, &D_800E32AC, &D_800E32D0, &D_800E32D0, &D_800E32B8); + break; + case FADE_BARNDOOR_VERTICAL: + func_800C0B00(transition, 0xC, 8, &D_800E3268, &D_800E32A0, &D_800E32AC, &D_800E32D0, &D_800E32D0, &D_800E32B8); + break; + case FADE_CIRCLE: + func_800C15D4(transition); + break; + case FADE_WAVES: + func_800C0B00(transition, 0x5C, 0x50, &D_800E3344, &D_800E349C, &D_800E3440, &D_800E34F8, &D_800E34F8, &D_800E3554); + break; + case FADE_BARNDOOR_DIAGONAL: + func_800C0B00(transition, 0xA, 6, &D_800E32DC, &D_800E330C, &D_800E3318, &D_800E3338, &D_800E3338, &D_800E3324); + break; + case FADE_DISABLED: + func_800C2640(transition); + break; + } + } + return D_800E31AC; +} +#else +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C01D8.s") +#endif + +s32 func_800C0494(s32 arg0) { + if (D_800E31A4 != 0) { + D_800E31A4 = D_800E31A4 - 1; + arg0 = 0; + } else if (arg0 >= 6) { + arg0 = 5; + } + + if (D_800E31AC != 0) { + if (D_800E31B0 == 0) { + D_800E31AC = -1; + } + if ((D_800E31B0 == 0) && (D_800E31B4 == 0)) { + func_800C0724(); + } else { + if (D_800E31B0 > 0) { + D_800E31D0[0] = 1 - D_800E31D0[0]; + } + switch (gCurFaceTransition) { + case FADE_FULLSCREEN: + func_800C0834(arg0); + break; + case FADE_BARNDOOR_HORIZONTAL: + case FADE_BARNDOOR_VERTICAL: + case FADE_WAVES: + case FADE_BARNDOOR_DIAGONAL: + func_800C1130(arg0); + break; + case FADE_CIRCLE: + func_800C1EE8(arg0); + break; + case FADE_DISABLED: + func_800C27A0(arg0); + break; + } + } + } + return D_800E31AC; +} + +void render_fade_transition(s32 dlist, s32 arg1, s32 arg2) { + if (D_800E31AC != 0) { + if (osTvType == 0) { + func_80067F20(1.4f); + } else { + func_80067F20(1.2f); + } + func_80067F2C(dlist, arg1, arg2); + func_80067F20(1.0f); + switch (gCurFaceTransition) { + case FADE_FULLSCREEN: + render_fade_fullscreen(dlist, arg1, arg2); + break; + case FADE_BARNDOOR_HORIZONTAL: + render_fade_barndoor_horizontal(dlist, arg1, arg2); + break; + case FADE_BARNDOOR_VERTICAL: + render_fade_barndoor_vertical(dlist, arg1, arg2); + break; + case FADE_CIRCLE: + render_fade_circle(dlist, arg1, arg2); + break; + case FADE_WAVES: + render_fade_waves(dlist, arg1, arg2); + break; + case FADE_BARNDOOR_DIAGONAL: + render_fade_barndoor_diagonal(dlist, arg1, arg2); + break; + case FADE_DISABLED: + render_fade_disabled(dlist, arg1, arg2); + break; + } + + func_80066CDC(dlist, arg1); + } +} + +void func_800C0724(void) { + if (D_800E31C0[0] != NULL) { + free_from_memory_pool(D_800E31C0[0]); + D_800E31C0[0] = NULL; + D_800E31C0[1] = NULL; + D_800E31C8[0] = NULL; + D_800E31C8[1] = NULL; + } + D_800E31AC = 0; + D_800E31D0[0] = 0; +} + +void func_800C0780(FadeTransition *transition) { + if (transition->type & 0x80) { + D_8012A750 = 255.0f; + D_8012A754 = -255.0f / (f32) D_800E31B0; + } else { + D_8012A750 = 0.0f; + D_8012A754 = 255.0f / (f32) D_800E31B0; + } + D_800E31AC = 1; +} + +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C0834.s") + +void render_fade_fullscreen(Gfx **dlist, s32 arg1, s32 arg2) { + s32 screenSize = get_video_width_and_height_as_s32(); + gSPDisplayList((*dlist)++, D_800E31D8) + gDPSetPrimColor((*dlist)++, 0, 0, gCurFadeRed, gCurFadeGreen, gCurFadeBlue, gCurFadeAlpha) + gDPSetCombineMode((*dlist)++, G_CC_PRIMITIVE, G_CC_PRIMITIVE) + gDPFillRectangle((*dlist)++, 0, 0, screenSize & 0x3FF, (screenSize >> 16) & 0x3FF) + func_8007B3D0(dlist); +} + +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C0B00.s") +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C1130.s") + +void render_fade_barndoor_horizontal(Gfx **dlist, s32 arg1, s32 arg2) { + func_8007B3D0(); + gSPDisplayList((*dlist)++, D_800E3648) + // TODO: Need to clean this up. + gDkrVertices((*dlist)++, (s32)D_800E31C0[D_800E31D0[0]] + 0x80000000, (((s32)D_800E31C0[D_800E31D0[0]] + 0x80000000) & 6) | 0x58, 0x70) + gDkrTriangles((*dlist)++, (s32)D_800E31C8[D_800E31D0[0]] + 0x80000000, 8, TRIN_DISABLE_TEXTURE) + func_8007B3D0(dlist); +} + +// This is exactly the same as render_fade_barndoor_horizontal; I wonder what gets changed then? +void render_fade_barndoor_vertical(Gfx **dlist, s32 arg1, s32 arg2) { + func_8007B3D0(); + gSPDisplayList((*dlist)++, D_800E3648) + // TODO: Need to clean this up. + gDkrVertices((*dlist)++, (s32)D_800E31C0[D_800E31D0[0]] + 0x80000000, (((s32)D_800E31C0[D_800E31D0[0]] + 0x80000000) & 6) | 0x58, 0x70) + gDkrTriangles((*dlist)++, (s32)D_800E31C8[D_800E31D0[0]] + 0x80000000, 8, TRIN_DISABLE_TEXTURE) + func_8007B3D0(dlist); +} + +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C15D4.s") +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C1EE8.s") + +#ifdef NON_MATCHING +void render_fade_circle(Gfx **dlist, s32 arg1, s32 arg2) { + u8 *addr, *addr2; + func_8007B3D0(); + gSPDisplayList((*dlist)++, D_800E3648) + addr = (D_800E31C0[D_800E31D0[0]] + 0x80000000); + addr2 = (D_800E31C8[D_800E31D0[0]] + 0x80000000); + gDkrVertices((*dlist)++, (s32)addr, ((s32)addr & 6) | 0x88, 0xA6) + gDkrTriangles((*dlist)++, (s32)addr2, 16, TRIN_DISABLE_TEXTURE) + addr += 0xB4; + addr2 += 0x100; + gDkrVertices((*dlist)++, (s32)addr, ((s32)addr & 6) | 0x88, 0xA6) + gDkrTriangles((*dlist)++, (s32)addr2, 16, TRIN_DISABLE_TEXTURE) + addr += 0xB4; + addr2 += 0x100; + gDkrVertices((*dlist)++, (s32)addr, ((s32)addr & 6) | 0x88, 0xA6) + gDkrTriangles((*dlist)++, (s32)addr2, 16, TRIN_DISABLE_TEXTURE) + addr += 0xB4; + addr2 += 0x100; + gDkrVertices((*dlist)++, (s32)addr, ((s32)addr & 6) | 0x88, 0xA6) + gDkrTriangles((*dlist)++, (s32)addr2, 16, TRIN_DISABLE_TEXTURE) + func_8007B3D0(dlist); +} +#else +GLOBAL_ASM("asm/non_matchings/fade_transition/render_fade_circle.s") +#endif + +#if 0 // This doesn't work properly. +void render_fade_waves(Gfx **dlist, s32 arg1, s32 arg2) { + s32 i; + func_8007B3D0(); + gSPDisplayList((*dlist)++, D_800E3648) + for(i = 0; i < 6; i++) { + s32 index = D_800E31D0[0] + i; + if(i != 1 && i != 4) { + gDkrVertices((*dlist)++, (s32)D_800E31C0[index] + 0x80000000, (((s32)D_800E31C0[index] + 0x80000000) & 6) | 0x78, 0x94) + gDkrTriangles((*dlist)++, (s32)D_800E31C8[index] + 0x80000000, 14, TRIN_DISABLE_TEXTURE) + } else { + gDkrVertices((*dlist)++, (s32)D_800E31C0[index] + 0x80000000, (((s32)D_800E31C0[index] + 0x80000000) & 6) | 0x68, 0x82) + gDkrTriangles((*dlist)++, (s32)D_800E31C8[index] + 0x80000000, 12, TRIN_DISABLE_TEXTURE) + } + } + func_8007B3D0(dlist); +} +#else +GLOBAL_ASM("asm/non_matchings/fade_transition/render_fade_waves.s") +#endif + +void render_fade_barndoor_diagonal(Gfx **dlist, s32 arg1, s32 arg2) { + func_8007B3D0(); + gSPDisplayList((*dlist)++, D_800E3648) + // TODO: Need to clean this up. + gDkrVertices((*dlist)++, (s32)D_800E31C0[D_800E31D0[0]] + 0x80000000, (((s32)D_800E31C0[D_800E31D0[0]] + 0x80000000) & 6) | 0x48, 0x5E) + gDkrTriangles((*dlist)++, (s32)D_800E31C8[D_800E31D0[0]] + 0x80000000, 6, TRIN_DISABLE_TEXTURE) + func_8007B3D0(dlist); +} + +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C2640.s") + +#ifdef NON_MATCHING +void func_800C27A0(s32 arg0) { + //do { + if (D_800E31B0 > 0) { + gLastFadeRed += D_8012A744 * arg0; + gLastFadeGreen += D_8012A748 * arg0; + gLastFadeBlue += D_8012A74C * arg0; + if (arg0 >= D_800E31B0) { + gLastFadeRed = gCurFadeRed << 16; + gLastFadeGreen = gCurFadeGreen << 16; + gLastFadeBlue = gCurFadeBlue << 16; + D_800E31B0 = 0; + arg0 -= D_800E31B0; + } else { + D_800E31B0 -= arg0; + } + } else { + D_800E31B4 -= arg0; + if (D_800E31B4 != 0xFFFF) { + if ((D_800E31B4 & 0xFFFF) <= 0) { + D_800E31B4 = 0; + } + } + } + //} while(1 == 0); +} +#else +GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C27A0.s") +#endif + +void render_fade_disabled(Gfx **dlist, s32 arg1, s32 arg2) { + s32 screenSize = get_video_width_and_height_as_s32(); + gSPDisplayList((*dlist)++, D_800E31D8) + gDPSetPrimColor((*dlist)++, 0, 0, (gLastFadeRed >> 16), (gLastFadeGreen >> 16), (gLastFadeBlue >> 16), 255) + gDPSetCombineMode((*dlist)++, G_CC_PRIMITIVE, G_CC_PRIMITIVE) + gDPFillRectangle((*dlist)++, 0, 0, screenSize & 0x3FF, (screenSize >> 16) & 0x3FF) + func_8007B3D0(dlist); +} diff --git a/src/fade_transition.h b/src/fade_transition.h new file mode 100644 index 00000000..03cda451 --- /dev/null +++ b/src/fade_transition.h @@ -0,0 +1,29 @@ +#ifndef _FADE_TRANSITION_H_ +#define _FADE_TRANSITION_H_ + +#include "types.h" + +#define FADE_FULLSCREEN 0 +#define FADE_BARNDOOR_HORIZONTAL 1 +#define FADE_BARNDOOR_VERTICAL 2 +#define FADE_CIRCLE 3 +#define FADE_WAVES 4 +#define FADE_BARNDOOR_DIAGONAL 5 +#define FADE_DISABLED 6 + +#define FADE_COLOR(red, green, blue) red, green, blue +#define FADE_COLOR_BLACK FADE_COLOR(0, 0, 0) + +#define FADE_TRANSITION(type, color, duration, unk6) { type, color, duration, unk6 } + +/* Size: 8 bytes */ +typedef struct FadeTransition { + u8 type; // top 2 bits also act as flags + u8 red; + u8 green; + u8 blue; + u16 duration; + u16 unk6; +} FadeTransition; + +#endif \ No newline at end of file diff --git a/src/font.c b/src/font.c index 369daf9a..924c39ec 100644 --- a/src/font.c +++ b/src/font.c @@ -113,19 +113,21 @@ s32 D_8012A600[72]; s32 D_8012A720; s32 D_8012A724; s32 D_8012A728[2]; -s32 D_8012A730; -s8 D_8012A734; -s8 D_8012A735; -s8 D_8012A736; -s8 D_8012A737; -s32 D_8012A738; -s32 D_8012A73C; -s32 D_8012A740; + +// These should be in fade_transition.c +s32 gCurFaceTransition; +u8 gCurFadeRed; +u8 gCurFadeGreen; +u8 gCurFadeBlue; +u8 gCurFadeAlpha; +s32 gLastFadeRed; +s32 gLastFadeGreen; +s32 gLastFadeBlue; s32 D_8012A744; s32 D_8012A748; s32 D_8012A74C; -s32 D_8012A750; -s32 D_8012A754; +f32 D_8012A750; +f32 D_8012A754; s32 D_8012A758; s32 D_8012A75C; s32 D_8012A760; @@ -136,6 +138,8 @@ s32 D_8012A770; s32 D_8012A774; s32 D_8012A778; s32 D_8012A77C; + +// These should be in game_text.c s32 D_8012A780; s8 D_8012A784; s8 D_8012A785; diff --git a/src/game_text.c b/src/game_text.c new file mode 100644 index 00000000..8762797a --- /dev/null +++ b/src/game_text.c @@ -0,0 +1,214 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x800C29F0 */ + +#include "types.h" +#include "macros.h" +#include "f3ddkr.h" +#include "asset_sections.h" +#include "memory.h" + +/************ .data ************/ + +s8 D_800E3670 = 0; +s16 D_800E3674 = 0; +s32 D_800E3678 = 0; +s32 D_800E367C = 0; +s32 D_800E3680 = 1; + +/*******************************/ + +/************ .bss ************/ + +typedef struct unk8012A7C8 { + u8 *unk0; + u8 *unk4; +} unk8012A7C8; + +typedef struct unk8012A798 { + u8 *unk0; + u8 *unk4; +} unk8012A798; + +// TODO: These are currently defined in font.c; Needs to be moved here. +extern u8 *D_8012A780; +extern s8 D_8012A784; +extern s8 D_8012A785; +extern s8 D_8012A786; +extern s8 D_8012A788; +extern u8 D_8012A789; +extern s16 D_8012A78C; +extern s16 D_8012A790; +extern unk8012A798 D_8012A798; +extern s32 D_8012A7A4; +extern s16 D_8012A7A8; +extern s16 D_8012A7AA; +extern s16 D_8012A7AC; +extern s16 D_8012A7AE; +extern s16 D_8012A7B0; +extern s16 D_8012A7B2; +extern s16 D_8012A7B4; +extern s16 D_8012A7B6; +extern s16 D_8012A7BA; +extern unk8012A7C8 D_8012A7C8; +extern s32 D_8012A7D4; + +/*****************************/ + +extern u32 osTvType; + +void func_800C2F1C(s32); +void func_8005A3B0(void); +void func_800C31EC(s32); +s8 func_8000C8B4(s32); + +void func_800C29F0(void) { + D_8012A7C8.unk0 = (u8 *)allocate_from_main_pool_safe(0x780, COLOR_TAG_GREEN); + D_8012A7C8.unk4 = D_8012A7C8.unk0 + 0x3C0; + D_8012A7D4 = 0; + D_8012A7B6 = 0; + D_8012A7A8 = 0; + D_8012A7AA = 0x20; + D_8012A7BA = 0; + D_8012A7AE = 0x20; + D_8012A7B2 = 0x120; + if (osTvType == 0) { + D_8012A7B0 = 0xE0; + D_8012A7B4 = 0xF8; + } else { + D_8012A7B0 = 0xCA; + D_8012A7B4 = 0xDE; + } + func_800C56D0(6); +} + +void func_800C2AB4(void) { + free_from_memory_pool(D_8012A7C8.unk0); + D_8012A7B6 = 0; + func_800C5620(6); + func_800C5494(6); +} + + +void func_800C2AF4(s32 arg0) { + D_800E3680 = arg0; +} + +GLOBAL_ASM("asm/non_matchings/game_text/func_800C2B00.s") +GLOBAL_ASM("asm/non_matchings/game_text/func_800C2D6C.s") + +void func_800C2F1C(s32 arg0) { + if (D_800E3680 == 0) { + D_8012A7B6 = 0; + } + if (D_8012A7B6 != 0) { + if (D_8012A7AC <= 0) { + D_8012A7A8 -= arg0 * D_8012A7AA; + if ((s32) D_8012A7A8 < 0) { + D_8012A7A8 = 0; + D_8012A7B6 = 0; + func_800C5620(6); + func_800C5494(6); + } + } else { + D_8012A7A8 += arg0 * D_8012A7AA; + if (D_8012A7A8 >= 0x101) { + D_8012A7A8 = 0x100; + } + D_8012A7AC -= arg0; + if (D_8012A7AC <= 0) { + func_800C2D6C(D_8012A7B6); + } + } + } + if (D_8012A7B6 != 0) { + func_800C2B00(D_8012A7B6); + } +} + +void func_800C3048(void) { + D_8012A78C = -1; + D_8012A780 = (u8*)allocate_from_main_pool_safe(0x800, COLOR_TAG_GREEN); + D_8012A798.unk0 = D_8012A780 + 0x80; + D_8012A798.unk4 = D_8012A798.unk0 + 0x3C0; + D_8012A7A4 = 0; + func_800C29F0(); + D_8012A790 = (get_size_of_asset_section(ASSET_GAME_TEXT_TABLE) >> 2) - 2; + D_800E3670 = 1; +} + +void func_800C30CC(void) { + s32 i; + if (D_800E3670) { + free_from_memory_pool(D_8012A780); + D_800E3670 = 0; + D_8012A789 = 0; + for(i = 0; i < 10; i++) { + func_8009CFB0(); + }; + func_800C2AB4(); + } +} + +void func_800C3140(s32 arg0) { + D_800E3674 = arg0; +} + +void func_800C314C(void) { + D_800E3678 = 0; +} + +void func_800C3158(s32 arg0, f32 arg1) { + if (osTvType == 0) { + D_800E3678 = arg1 * 50.0; + } else { + D_800E3678 = arg1 * 60.0; + } + D_800E367C = arg0; +} + +GLOBAL_ASM("asm/non_matchings/game_text/func_800C31EC.s") + +s32 func_800C3400(void) { + s32 result = 0; + if (D_800E3670 != 0) { + if (D_8012A789 != 0) { + result = 1; + if (D_8012A788 != 0) { + result = 2; + } + } + } + return result; +} + +void func_800C3440(s32 arg0) { + if (D_800E3670 != 0) { + if (!is_game_paused()) { + if (D_800E3678 > 0) { + D_800E3678 -= arg0; + if (D_800E3678 <= 0) { + func_800C31EC(D_800E367C); + D_800E3678 = 0; + } + } + } + func_800C2F1C(arg0); + if (D_8012A789 != 0) { + func_8005A3B0(); + if (D_8012A786 != 0) { + D_8012A785 -= arg0; + while (D_8012A785 < 0) { + D_8012A785 += func_8000C8B4(0x3C); + D_8012A786--; + } + if (D_8012A786 <= 0) { + D_8012A784 = 1; + } + } + func_8009CFEC(3); + } + } +} + +GLOBAL_ASM("asm/non_matchings/game_text/func_800C3564.s") +GLOBAL_ASM("asm/non_matchings/game_text/func_800C38B4.s") diff --git a/src/menu.c b/src/menu.c index ec97e085..39fd53dc 100644 --- a/src/menu.c +++ b/src/menu.c @@ -3,6 +3,7 @@ #include "menu.h" #include "memory.h" +#include "fade_transition.h" #include "types.h" #include "macros.h" @@ -349,13 +350,9 @@ s32 D_800DF760 = 0x7F; s32 D_800DF764 = 0xFF; s32 D_800DF768 = 1; -// Not sure about typing with these arrays. -s16 D_800DF76C[4] = { - 0, 0, 10, -1 -}; -s16 D_800DF774[4] = { - 0, 0, 18, -1 -}; +FadeTransition D_800DF76C = FADE_TRANSITION(0, FADE_COLOR_BLACK, 10, -1); +FadeTransition D_800DF774 = FADE_TRANSITION(0, FADE_COLOR_BLACK, 18, -1); + u16 D_800DF77C[12] = { 0x8000, 0x0000, 0x0012, 0x0000, 0x00FF, 0xFFFF, 0x0012, 0xFFFF, @@ -2023,7 +2020,7 @@ s32 menu_options_loop(s32 arg0) { // Leave the option menu func_80000C98(-0x80, D_800DF460, analogX); gMenuDelay = -1; - func_800C01D8(D_800DF774); + func_800C01D8(&D_800DF774); func_80001D04(0x241, 0); } else if ((buttonsPressed & 0x9000) && D_800DF460 >= 2) { // Go to a sub-menu @@ -2193,7 +2190,7 @@ s32 menu_audio_options_loop(s32 arg0) { if (((sp40 & 0x9000) && (D_801263E0 == gOptionsMenuItemIndex + 1)) || (sp40 & 0x4000)) { gMenuDelay = -1; - func_800C01D8(D_800DF774); + func_800C01D8(&D_800DF774); if (D_801263D8 >= 0) { func_80000C98(-0x80); } @@ -2800,7 +2797,7 @@ s32 menu_magic_codes_list_loop(s32 arg0) { } if (sp48 != 0) { gMenuDelay = sp48; - func_800C01D8(D_800DF774); + func_800C01D8(&D_800DF774); func_80001D04(0x241, NULL); } if (gMenuDelay < -0x1E) { @@ -3033,7 +3030,7 @@ s32 menu_caution_loop(s32 arg0) { } else if (gIgnorePlayerInput <= 0 && get_button_inputs_from_player(0) & 0xD000) { func_80001D04(0xEF, NULL); gMenuDelay = 1; - func_800C01D8(D_800DF774); + func_800C01D8(&D_800DF774); } if (gMenuDelay < 0x14) { draw_menu_element(1, D_800DFFD8, 1.0f); diff --git a/src/menu.h b/src/menu.h index 4cb3e748..69dcfb31 100644 --- a/src/menu.h +++ b/src/menu.h @@ -172,9 +172,6 @@ extern s32 D_800DF760; extern s32 D_800DF764; extern s32 D_800DF768; -// Not sure about typing with these arrays. -extern s16 D_800DF76C[4]; -extern s16 D_800DF774[4]; extern u16 D_800DF77C[12]; extern s32 D_800DF794; diff --git a/src/unknown_06B2B0.c b/src/unknown_06B2B0.c index 6ca52e22..2fa70d5b 100644 --- a/src/unknown_06B2B0.c +++ b/src/unknown_06B2B0.c @@ -858,7 +858,7 @@ void render(void) { func_800C5620(4); func_800C5494(4); if (func_800C0494(D_800DD404) != 0) { - func_800C05C8(&D_801211F8, &D_80121208, &D_80121218); + render_fade_transition(&D_801211F8, &D_80121208, &D_80121218); } if ((D_80123520 >= 8) && (func_8006F4C8() != 0)) { func_800829F8(&D_801211F8, D_800DD404); diff --git a/src/unknown_0C0D70.c b/src/unknown_0C0D70.c deleted file mode 100644 index 21e00d2f..00000000 --- a/src/unknown_0C0D70.c +++ /dev/null @@ -1,271 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800C0170 */ - -#include "types.h" -#include "macros.h" -#include "f3ddkr.h" - -/************ .data ************/ - -s32 D_800E31A0 = 0; -s32 D_800E31A4 = 0; -s32 D_800E31A8 = 0; -s32 D_800E31AC = 0; -s32 D_800E31B0 = 0; -s32 D_800E31B4 = 0; -s32 D_800E31B8 = 0; -s32 D_800E31BC = 0; -s32 D_800E31C0 = 0; -s32 D_800E31C4 = 0; -s32 D_800E31C8 = 0; -s32 D_800E31CC = 0; -s32 D_800E31D0[2] = { 0, 0 }; - -Gfx D_800E31D8[] = { - gsDPPipeSync(), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetTextureLOD(G_TL_TILE), - gsDPSetTextureLUT(G_TT_NONE), - gsDPSetTextureDetail(G_TD_CLAMP), - gsDPSetTexturePersp(G_TP_NONE), - gsDPSetTextureFilter(G_TF_BILERP), - gsDPSetTextureConvert(G_TC_FILT), - gsDPSetAlphaCompare(G_AC_NONE), - gsDPSetRenderMode(G_RM_CLD_SURF, G_RM_CLD_SURF2), - gsSPEndDisplayList(), -}; - -s16 D_800E3230[28] = { - 0xFE20, 0x0078, 0xFEC0, 0x0078, 0xFF60, 0x0078, 0x0000, 0x0078, - 0x00A0, 0x0078, 0x0140, 0x0078, 0x01E0, 0x0078, 0xFE20, 0xFF88, - 0xFEC0, 0xFF88, 0xFF60, 0xFF88, 0x0000, 0xFF88, 0x00A0, 0xFF88, - 0x0140, 0xFF88, 0x01E0, 0xFF88 -}; - -s16 D_800E3268[28] = { - 0xFF60, 0x0168, 0xFF60, 0x00F0, 0xFF60, 0x0078, 0xFF60, 0x0000, - 0xFF60, 0xFF88, 0xFF60, 0xFF10, 0xFF60, 0xFF10, 0x00A0, 0x0168, - 0x00A0, 0x00F0, 0x00A0, 0x0078, 0x00A0, 0x0000, 0x00A0, 0xFF88, - 0x00A0, 0xFF10, 0x00A0, 0xFF10 -}; - -s8 D_800E32A0[12] = { - 0x00, 0x02, 0x04, 0x0E, 0x10, 0x12, 0x08, 0x0A, - 0x0C, 0x16, 0x18, 0x1A -}; - -s8 D_800E32AC[12] = { - 0x04, 0x06, 0x08, 0x12, 0x14, 0x16, 0x04, 0x06, - 0x08, 0x12, 0x14, 0x16 -}; - -s8 D_800E32B8[24] = { - 0, 3, 1, 1, 3, 4, 1, 4, - 2, 2, 4, 5, 6, 9, 7, 7, - 9, 10, 7, 10, 8, 8, 10, 11 -}; - -s8 D_800E32D0[12] = { - -1, -1, 0, -1, -1, 0, 0, -1, -1, 0, -1, -1 -}; - -s16 D_800E32DC[24] = { - 0xFCE0, 0x0078, 0xFE20, 0x0078, 0xFF60, 0x0078, 0x00A0, 0x0078, - 0x01E0, 0x0078, 0x0320, 0x0078, 0xFCE0, 0xFF88, 0xFE20, 0xFF88, - 0xFF60, 0xFF88, 0x00A0, 0xFF88, 0x01E0, 0xFF88, 0x0320, 0xFF88 -}; - -s8 D_800E330C[12] = { - 0, 2, 4, 12, 14, 8, 10, 18, 20, 22, 0, 0 -}; - -s8 D_800E3318[12] = { - 4, 6, 8, 16, 18, 4, 6, 14, 16, 18, 0, 0 -}; - -s8 D_800E3324[20] = { - 0, 1, 3, 1, 3, 4, 1, 4, 2, 5, 7, 8, 5, 8, 6, 6, 8, 9, 0, 0 -}; - -s8 D_800E3338[12] = { - -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, 0 -}; - -s16 D_800E3344[126] = { - 0xFF60, 0x00A0, 0xFF70, 0x00A0, 0xFF80, 0x00A0, 0xFF90, 0x00A0, - 0xFFA0, 0x00A0, 0xFFB0, 0x00A0, 0xFFC0, 0x00A0, 0xFFD0, 0x00A0, - 0xFFE0, 0x00A0, 0xFFF0, 0x00A0, 0x0000, 0x00A0, 0x0010, 0x00A0, - 0x0020, 0x00A0, 0x0030, 0x00A0, 0x0040, 0x00A0, 0x0050, 0x00A0, - 0x0060, 0x00A0, 0x0070, 0x00A0, 0x0080, 0x00A0, 0x0090, 0x00A0, - 0x00A0, 0x00A0, 0xFF60, 0xFF38, 0xFF70, 0xFF60, 0xFF80, 0xFF74, - 0xFF90, 0xFF7E, 0xFFA0, 0xFF74, 0xFFB0, 0xFF38, 0xFFC0, 0xFF10, - 0xFFD0, 0xFEFC, 0xFFE0, 0xFEF2, 0xFFF0, 0xFEFC, 0x0000, 0xFF24, - 0x0010, 0xFF2E, 0x0020, 0xFF38, 0x0030, 0xFF2E, 0x0040, 0xFF24, - 0x0050, 0xFEFC, 0x0060, 0xFEF2, 0x0070, 0xFEFC, 0x0080, 0xFF24, - 0x0090, 0xFF60, 0x00A0, 0xFF74, 0xFF60, 0xFEE8, 0xFF70, 0xFEE8, - 0xFF80, 0xFEE8, 0xFF90, 0xFEE8, 0xFFA0, 0xFEE8, 0xFFB0, 0xFEE8, - 0xFFC0, 0xFEE8, 0xFFD0, 0xFEE8, 0xFFE0, 0xFEE8, 0xFFF0, 0xFEE8, - 0x0000, 0xFEE8, 0x0010, 0xFEE8, 0x0020, 0xFEE8, 0x0030, 0xFEE8, - 0x0040, 0xFEE8, 0x0050, 0xFEE8, 0x0060, 0xFEE8, 0x0070, 0xFEE8, - 0x0080, 0xFEE8, 0x0090, 0xFEE8, 0x00A0, 0xFEE8 -}; - -s8 D_800E3440[92] = { - 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, - 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, - 0x0E, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x0E, - 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1A, 0x1C, - 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x1A, 0x1C, - 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x00, 0x02, - 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x54, 0x56, - 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x0E, 0x10, - 0x12, 0x14, 0x16, 0x18, 0x1A, 0x62, 0x64, 0x66, - 0x68, 0x6A, 0x6C, 0x6E, 0x1A, 0x1C, 0x1E, 0x20, - 0x22, 0x24, 0x26, 0x28, 0x6E, 0x70, 0x72, 0x74, - 0x76, 0x78, 0x7A, 0x7C -}; - -s8 D_800E349C[92] = { - 0x2A, 0x2C, 0x2E, 0x30, 0x32, 0x34, 0x36, 0x38, - 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, - 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x44, 0x62, - 0x64, 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x44, 0x46, - 0x48, 0x4A, 0x4C, 0x4E, 0x50, 0x52, 0x6E, 0x70, - 0x72, 0x74, 0x76, 0x78, 0x7A, 0x7C, 0x54, 0x56, - 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x54, 0x56, - 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x62, 0x64, - 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x62, 0x64, 0x66, - 0x68, 0x6A, 0x6C, 0x6E, 0x6E, 0x70, 0x72, 0x74, - 0x76, 0x78, 0x7A, 0x7C, 0x6E, 0x70, 0x72, 0x74, - 0x76, 0x78, 0x7A, 0x7C -}; - -s8 D_800E34F8[92] = { - 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, - 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, - 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 -}; - -s8 D_800E3554[244] = { - 0, 8, 9, 0, 9, 1, 1, 9, 10, 1, 10, 2, 2, 10, 11, 2, - 11, 3, 3, 11, 12, 3, 12, 4, 4, 12, 13, 4, 13, 5, 5, 13, - 14, 5, 14, 6, 6, 14, 15, 6, 15, 7, 0, 7, 8, 0, 8, 1, - 1, 8, 9, 1, 9, 2, 2, 9, 10, 2, 10, 3, 3, 10, 11, 3, - 11, 4, 4, 11, 12, 4, 12, 5, 5, 12, 13, 5, 13, 6, 0, 8, - 9, 0, 9, 1, 1, 9, 10, 1, 10, 2, 2, 10, 11, 2, 11, 3, - 3, 11, 12, 3, 12, 4, 4, 12, 13, 4, 13, 5, 5, 13, 14, 5, - 14, 6, 6, 14, 15, 6, 15, 7, 0, 8, 9, 0, 9, 1, 1, 9, - 10, 1, 10, 2, 2, 10, 11, 2, 11, 3, 3, 11, 12, 3, 12, 4, - 4, 12, 13, 4, 13, 5, 5, 13, 14, 5, 14, 6, 6, 14, 15, 6, - 15, 7, 0, 7, 8, 0, 8, 1, 1, 8, 9, 1, 9, 2, 2, 9, - 10, 2, 10, 3, 3, 10, 11, 3, 11, 4, 4, 11, 12, 4, 12, 5, - 5, 12, 13, 5, 13, 6, 0, 8, 9, 0, 9, 1, 1, 9, 10, 1, - 10, 2, 2, 10, 11, 2, 11, 3, 3, 11, 12, 3, 12, 4, 4, 12, - 13, 4, 13, 5, 5, 13, 14, 5, 14, 6, 6, 14, 15, 6, 15, 7, - 0, 0, 0, 0 -}; - -Gfx D_800E3648[] = { - gsDPPipeSync(), - gsSPClearGeometryMode(G_FOG), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_CLD_SURF | G_RM_CLD_SURF2), - gsSPEndDisplayList(), -}; - -s8 D_800E3670 = 0; -s16 D_800E3674 = 0; -s32 D_800E3678 = 0; -s32 D_800E367C = 0; -s32 D_800E3680 = 1; - -/*******************************/ - -/************ .bss ************/ - -extern s8 D_8012A788; -extern u8 D_8012A789; -extern u16 D_8012A7B6; -extern s32* D_8012A7C8; - -/*****************************/ - -void func_800C0170(void) { - D_800E31A0 = 1; -} - -void func_800C0180(void) { - D_800E31A0 = 0; -} - -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C018C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C01D8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0494.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C05C8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0724.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0780.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0834.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0A08.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C0B00.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C1130.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C13E4.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C14DC.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C15D4.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C1EE8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2274.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C23F8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2548.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2640.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C27A0.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C28E8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C29F0.s") - -void func_800C2AB4(void) { - free_from_memory_pool(D_8012A7C8); - D_8012A7B6 = (u16)0; - func_800C5620(6); - func_800C5494(6); -} - - -void func_800C2AF4(s32 arg0) { - D_800E3680 = arg0; -} - -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2B00.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2D6C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C2F1C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3048.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C30CC.s") - -void func_800C3140(s32 arg0) { - D_800E3674 = arg0; -} - -void func_800C314C(void) { - D_800E3678 = 0; -} - -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3158.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C31EC.s") - -s32 func_800C3400(void) { - s32 result = 0; - if (D_800E3670 != 0) { - if (D_8012A789 != 0) { - result = 1; - if (D_8012A788 != 0) { - result = 2; - } - } - } - return result; -} - - -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3440.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C3564.s") -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C38B4.s")