From a58c3050d2042adf70e360f31fe3b802b26cb526 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Fri, 16 Jul 2021 19:32:46 -0500 Subject: [PATCH] Lots of progress with naming files --- .../func_800AE530.s | 0 .../func_800AE728.s | 0 .../func_800AEE14.s | 0 .../func_800AEEB8.s | 0 .../func_800AEF88.s | 0 .../func_800AF024.s | 0 .../func_800AF0A4.s | 0 .../func_800AF0F0.s | 0 .../func_800AF134.s | 0 .../func_800AF1E0.s | 0 .../func_800AF29C.s | 0 .../func_800AF404.s | 0 .../func_800AF52C.s | 0 .../func_800AF6E4.s | 0 .../func_800AF714.s | 0 .../func_800AFC3C.s | 0 .../func_800AFE5C.s | 0 .../func_800B0010.s | 0 .../func_800B03C0.s | 0 .../func_800B0698.s | 0 .../func_800B0BAC.s | 0 .../func_800B1130.s | 0 .../func_800B1CB8.s | 0 .../func_800B2040.s | 0 .../func_800B2260.s | 0 .../func_800B22FC.s | 0 .../func_800B263C.s | 0 .../func_800B26E0.s | 0 .../func_800B2FBC.s | 0 .../func_800B3140.s | 0 .../func_800B3240.s | 0 .../func_800B3358.s | 0 .../func_800B34B0.s | 0 .../func_800B3564.s | 0 .../func_800B3740.s | 0 .../func_800B3E64.s | 0 .../func_800B4668.s | 0 .../func_800B46BC.s | 0 .../func_800B4940.s | 0 .../func_800B4A14.s} | 6 +- .../func_800B5F78.s | 0 .../func_800B63F4.s | 0 .../func_800B653C.s | 0 .../func_800B695C.s | 0 .../func_800B69FC.s | 0 .../render_printf.s | 0 .../set_render_printf_position.s | 0 .../{unknown_0AEE70 => printf}/sprintf.s | 0 .../func_800B6F50.s | 0 .../func_800B71B0.s | 0 .../func_800B7460.s | 0 .../render_epc_lock_up_display.s | 0 .../{unknown_0AEE70 => thread0_epc}/thread0.s | 0 .../unknown_09F8F0/func_800A0B74.s | 28 -- .../unknown_09F8F0/func_800A83B4.s | 43 --- .../unknown_09F8F0/func_800A8458.s | 9 - .../unknown_09F8F0/func_800AB1D4.s | 9 - .../unknown_09F8F0/func_800ACF60.s | 17 - .../unknown_0AEE70/func_800B5E88.s | 23 -- .../set_render_printf_background_color.s | 44 --- .../unknown_0AEE70/set_render_printf_color.s | 43 --- include/structs.h | 15 + src/{unknown_0AEE70.c => particles.c} | 63 ++-- src/printf.c | 150 ++++++++ src/{unknown_0B7A50.c => thread0_epc.c} | 10 +- src/unknown_09F8F0.c | 331 +++--------------- src/unknown_0ABDF0.c | 314 +++++++++++++++++ src/unknown_0B3D40.c | 78 ----- 68 files changed, 564 insertions(+), 619 deletions(-) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AE530.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AE728.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AEE14.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AEEB8.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AEF88.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF024.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF0A4.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF0F0.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF134.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF1E0.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF29C.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF404.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF52C.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF6E4.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AF714.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AFC3C.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800AFE5C.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B0010.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B03C0.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B0698.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B0BAC.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B1130.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B1CB8.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B2040.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B2260.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B22FC.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B263C.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B26E0.s (100%) rename asm/non_matchings/{unknown_0AEE70 => particles}/func_800B2FBC.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B3140.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B3240.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B3358.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B34B0.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B3564.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B3740.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B3E64.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B4668.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B46BC.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B4940.s (100%) rename asm/non_matchings/{unknown_0AEE70/func_800B4A08.s => printf/func_800B4A14.s} (73%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B5F78.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B63F4.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B653C.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B695C.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/func_800B69FC.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/render_printf.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/set_render_printf_position.s (100%) rename asm/non_matchings/{unknown_0AEE70 => printf}/sprintf.s (100%) rename asm/non_matchings/{unknown_0AEE70 => thread0_epc}/func_800B6F50.s (100%) rename asm/non_matchings/{unknown_0AEE70 => thread0_epc}/func_800B71B0.s (100%) rename asm/non_matchings/{unknown_0AEE70 => thread0_epc}/func_800B7460.s (100%) rename asm/non_matchings/{unknown_0AEE70 => thread0_epc}/render_epc_lock_up_display.s (100%) rename asm/non_matchings/{unknown_0AEE70 => thread0_epc}/thread0.s (100%) delete mode 100644 asm/non_matchings/unknown_09F8F0/func_800A0B74.s delete mode 100644 asm/non_matchings/unknown_09F8F0/func_800A83B4.s delete mode 100644 asm/non_matchings/unknown_09F8F0/func_800A8458.s delete mode 100644 asm/non_matchings/unknown_09F8F0/func_800AB1D4.s delete mode 100644 asm/non_matchings/unknown_09F8F0/func_800ACF60.s delete mode 100644 asm/non_matchings/unknown_0AEE70/func_800B5E88.s delete mode 100644 asm/non_matchings/unknown_0AEE70/set_render_printf_background_color.s delete mode 100644 asm/non_matchings/unknown_0AEE70/set_render_printf_color.s rename src/{unknown_0AEE70.c => particles.c} (80%) create mode 100644 src/printf.c rename src/{unknown_0B7A50.c => thread0_epc.c} (97%) create mode 100644 src/unknown_0ABDF0.c delete mode 100644 src/unknown_0B3D40.c diff --git a/asm/non_matchings/unknown_0AEE70/func_800AE530.s b/asm/non_matchings/particles/func_800AE530.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AE530.s rename to asm/non_matchings/particles/func_800AE530.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AE728.s b/asm/non_matchings/particles/func_800AE728.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AE728.s rename to asm/non_matchings/particles/func_800AE728.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AEE14.s b/asm/non_matchings/particles/func_800AEE14.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AEE14.s rename to asm/non_matchings/particles/func_800AEE14.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AEEB8.s b/asm/non_matchings/particles/func_800AEEB8.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AEEB8.s rename to asm/non_matchings/particles/func_800AEEB8.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AEF88.s b/asm/non_matchings/particles/func_800AEF88.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AEF88.s rename to asm/non_matchings/particles/func_800AEF88.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF024.s b/asm/non_matchings/particles/func_800AF024.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF024.s rename to asm/non_matchings/particles/func_800AF024.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF0A4.s b/asm/non_matchings/particles/func_800AF0A4.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF0A4.s rename to asm/non_matchings/particles/func_800AF0A4.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF0F0.s b/asm/non_matchings/particles/func_800AF0F0.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF0F0.s rename to asm/non_matchings/particles/func_800AF0F0.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF134.s b/asm/non_matchings/particles/func_800AF134.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF134.s rename to asm/non_matchings/particles/func_800AF134.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF1E0.s b/asm/non_matchings/particles/func_800AF1E0.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF1E0.s rename to asm/non_matchings/particles/func_800AF1E0.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF29C.s b/asm/non_matchings/particles/func_800AF29C.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF29C.s rename to asm/non_matchings/particles/func_800AF29C.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF404.s b/asm/non_matchings/particles/func_800AF404.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF404.s rename to asm/non_matchings/particles/func_800AF404.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF52C.s b/asm/non_matchings/particles/func_800AF52C.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF52C.s rename to asm/non_matchings/particles/func_800AF52C.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF6E4.s b/asm/non_matchings/particles/func_800AF6E4.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF6E4.s rename to asm/non_matchings/particles/func_800AF6E4.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AF714.s b/asm/non_matchings/particles/func_800AF714.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AF714.s rename to asm/non_matchings/particles/func_800AF714.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AFC3C.s b/asm/non_matchings/particles/func_800AFC3C.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AFC3C.s rename to asm/non_matchings/particles/func_800AFC3C.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800AFE5C.s b/asm/non_matchings/particles/func_800AFE5C.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800AFE5C.s rename to asm/non_matchings/particles/func_800AFE5C.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B0010.s b/asm/non_matchings/particles/func_800B0010.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B0010.s rename to asm/non_matchings/particles/func_800B0010.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B03C0.s b/asm/non_matchings/particles/func_800B03C0.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B03C0.s rename to asm/non_matchings/particles/func_800B03C0.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B0698.s b/asm/non_matchings/particles/func_800B0698.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B0698.s rename to asm/non_matchings/particles/func_800B0698.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B0BAC.s b/asm/non_matchings/particles/func_800B0BAC.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B0BAC.s rename to asm/non_matchings/particles/func_800B0BAC.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B1130.s b/asm/non_matchings/particles/func_800B1130.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B1130.s rename to asm/non_matchings/particles/func_800B1130.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B1CB8.s b/asm/non_matchings/particles/func_800B1CB8.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B1CB8.s rename to asm/non_matchings/particles/func_800B1CB8.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B2040.s b/asm/non_matchings/particles/func_800B2040.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B2040.s rename to asm/non_matchings/particles/func_800B2040.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B2260.s b/asm/non_matchings/particles/func_800B2260.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B2260.s rename to asm/non_matchings/particles/func_800B2260.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B22FC.s b/asm/non_matchings/particles/func_800B22FC.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B22FC.s rename to asm/non_matchings/particles/func_800B22FC.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B263C.s b/asm/non_matchings/particles/func_800B263C.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B263C.s rename to asm/non_matchings/particles/func_800B263C.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B26E0.s b/asm/non_matchings/particles/func_800B26E0.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B26E0.s rename to asm/non_matchings/particles/func_800B26E0.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B2FBC.s b/asm/non_matchings/particles/func_800B2FBC.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B2FBC.s rename to asm/non_matchings/particles/func_800B2FBC.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B3140.s b/asm/non_matchings/printf/func_800B3140.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B3140.s rename to asm/non_matchings/printf/func_800B3140.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B3240.s b/asm/non_matchings/printf/func_800B3240.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B3240.s rename to asm/non_matchings/printf/func_800B3240.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B3358.s b/asm/non_matchings/printf/func_800B3358.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B3358.s rename to asm/non_matchings/printf/func_800B3358.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B34B0.s b/asm/non_matchings/printf/func_800B34B0.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B34B0.s rename to asm/non_matchings/printf/func_800B34B0.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B3564.s b/asm/non_matchings/printf/func_800B3564.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B3564.s rename to asm/non_matchings/printf/func_800B3564.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B3740.s b/asm/non_matchings/printf/func_800B3740.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B3740.s rename to asm/non_matchings/printf/func_800B3740.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B3E64.s b/asm/non_matchings/printf/func_800B3E64.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B3E64.s rename to asm/non_matchings/printf/func_800B3E64.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B4668.s b/asm/non_matchings/printf/func_800B4668.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B4668.s rename to asm/non_matchings/printf/func_800B4668.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B46BC.s b/asm/non_matchings/printf/func_800B46BC.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B46BC.s rename to asm/non_matchings/printf/func_800B46BC.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B4940.s b/asm/non_matchings/printf/func_800B4940.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B4940.s rename to asm/non_matchings/printf/func_800B4940.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B4A08.s b/asm/non_matchings/printf/func_800B4A14.s similarity index 73% rename from asm/non_matchings/unknown_0AEE70/func_800B4A08.s rename to asm/non_matchings/printf/func_800B4A14.s index aa79000a..6b50dcf3 100644 --- a/asm/non_matchings/unknown_0AEE70/func_800B4A08.s +++ b/asm/non_matchings/printf/func_800B4A14.s @@ -1,8 +1,4 @@ -glabel func_800B4A08 -/* 0B5608 800B4A08 3C01800E */ lui $at, %hi(D_800E2EF0) # $at, 0x800e -/* 0B560C 800B4A0C 03E00008 */ jr $ra -/* 0B5610 800B4A10 AC242EF0 */ sw $a0, %lo(D_800E2EF0)($at) - +glabel func_800B4A14 /* 0B5614 800B4A14 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0B5618 800B4A18 AFBF0014 */ sw $ra, 0x14($sp) /* 0B561C 800B4A1C AFA60028 */ sw $a2, 0x28($sp) diff --git a/asm/non_matchings/unknown_0AEE70/func_800B5F78.s b/asm/non_matchings/printf/func_800B5F78.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B5F78.s rename to asm/non_matchings/printf/func_800B5F78.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B63F4.s b/asm/non_matchings/printf/func_800B63F4.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B63F4.s rename to asm/non_matchings/printf/func_800B63F4.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B653C.s b/asm/non_matchings/printf/func_800B653C.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B653C.s rename to asm/non_matchings/printf/func_800B653C.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B695C.s b/asm/non_matchings/printf/func_800B695C.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B695C.s rename to asm/non_matchings/printf/func_800B695C.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B69FC.s b/asm/non_matchings/printf/func_800B69FC.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B69FC.s rename to asm/non_matchings/printf/func_800B69FC.s diff --git a/asm/non_matchings/unknown_0AEE70/render_printf.s b/asm/non_matchings/printf/render_printf.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/render_printf.s rename to asm/non_matchings/printf/render_printf.s diff --git a/asm/non_matchings/unknown_0AEE70/set_render_printf_position.s b/asm/non_matchings/printf/set_render_printf_position.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/set_render_printf_position.s rename to asm/non_matchings/printf/set_render_printf_position.s diff --git a/asm/non_matchings/unknown_0AEE70/sprintf.s b/asm/non_matchings/printf/sprintf.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/sprintf.s rename to asm/non_matchings/printf/sprintf.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B6F50.s b/asm/non_matchings/thread0_epc/func_800B6F50.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B6F50.s rename to asm/non_matchings/thread0_epc/func_800B6F50.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B71B0.s b/asm/non_matchings/thread0_epc/func_800B71B0.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B71B0.s rename to asm/non_matchings/thread0_epc/func_800B71B0.s diff --git a/asm/non_matchings/unknown_0AEE70/func_800B7460.s b/asm/non_matchings/thread0_epc/func_800B7460.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/func_800B7460.s rename to asm/non_matchings/thread0_epc/func_800B7460.s diff --git a/asm/non_matchings/unknown_0AEE70/render_epc_lock_up_display.s b/asm/non_matchings/thread0_epc/render_epc_lock_up_display.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/render_epc_lock_up_display.s rename to asm/non_matchings/thread0_epc/render_epc_lock_up_display.s diff --git a/asm/non_matchings/unknown_0AEE70/thread0.s b/asm/non_matchings/thread0_epc/thread0.s similarity index 100% rename from asm/non_matchings/unknown_0AEE70/thread0.s rename to asm/non_matchings/thread0_epc/thread0.s diff --git a/asm/non_matchings/unknown_09F8F0/func_800A0B74.s b/asm/non_matchings/unknown_09F8F0/func_800A0B74.s deleted file mode 100644 index 63e0a66c..00000000 --- a/asm/non_matchings/unknown_09F8F0/func_800A0B74.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_800A0B74 -/* 0A1774 800A0B74 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0A1778 800A0B78 AFB10018 */ sw $s1, 0x18($sp) -/* 0A177C 800A0B7C AFB00014 */ sw $s0, 0x14($sp) -/* 0A1780 800A0B80 3C10800E */ lui $s0, %hi(D_800E2770) # $s0, 0x800e -/* 0A1784 800A0B84 3C11800E */ lui $s1, %hi(D_800E2790) # $s1, 0x800e -/* 0A1788 800A0B88 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A178C 800A0B8C 26312790 */ addiu $s1, %lo(D_800E2790) # addiu $s1, $s1, 0x2790 -/* 0A1790 800A0B90 26102770 */ addiu $s0, %lo(D_800E2770) # addiu $s0, $s0, 0x2770 -.L800A0B94: -/* 0A1794 800A0B94 8E040004 */ lw $a0, 4($s0) -/* 0A1798 800A0B98 00000000 */ nop -/* 0A179C 800A0B9C 10800005 */ beqz $a0, .L800A0BB4 -/* 0A17A0 800A0BA0 00000000 */ nop -/* 0A17A4 800A0BA4 0C001223 */ jal func_8000488C -/* 0A17A8 800A0BA8 00000000 */ nop -/* 0A17AC 800A0BAC AE000004 */ sw $zero, 4($s0) -/* 0A17B0 800A0BB0 A2000002 */ sb $zero, 2($s0) -.L800A0BB4: -/* 0A17B4 800A0BB4 26100010 */ addiu $s0, $s0, 0x10 -/* 0A17B8 800A0BB8 1611FFF6 */ bne $s0, $s1, .L800A0B94 -/* 0A17BC 800A0BBC 00000000 */ nop -/* 0A17C0 800A0BC0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A17C4 800A0BC4 8FB00014 */ lw $s0, 0x14($sp) -/* 0A17C8 800A0BC8 8FB10018 */ lw $s1, 0x18($sp) -/* 0A17CC 800A0BCC 03E00008 */ jr $ra -/* 0A17D0 800A0BD0 27BD0020 */ addiu $sp, $sp, 0x20 - diff --git a/asm/non_matchings/unknown_09F8F0/func_800A83B4.s b/asm/non_matchings/unknown_09F8F0/func_800A83B4.s deleted file mode 100644 index 7f83a6d7..00000000 --- a/asm/non_matchings/unknown_09F8F0/func_800A83B4.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel func_800A83B4 -/* 0A8FB4 800A83B4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A8FB8 800A83B8 AFBF0024 */ sw $ra, 0x24($sp) -/* 0A8FBC 800A83BC AFB00020 */ sw $s0, 0x20($sp) -/* 0A8FC0 800A83C0 8C8E0038 */ lw $t6, 0x38($a0) -/* 0A8FC4 800A83C4 3C018012 */ lui $at, %hi(D_80126D54) # $at, 0x8012 -/* 0A8FC8 800A83C8 000EC402 */ srl $t8, $t6, 0x10 -/* 0A8FCC 800A83CC A0386D54 */ sb $t8, %lo(D_80126D54)($at) -/* 0A8FD0 800A83D0 8C990038 */ lw $t9, 0x38($a0) -/* 0A8FD4 800A83D4 3C018012 */ lui $at, %hi(D_80126D55) # $at, 0x8012 -/* 0A8FD8 800A83D8 00194A02 */ srl $t1, $t9, 8 -/* 0A8FDC 800A83DC A0296D55 */ sb $t1, %lo(D_80126D55)($at) -/* 0A8FE0 800A83E0 8C8B0038 */ lw $t3, 0x38($a0) -/* 0A8FE4 800A83E4 3C018012 */ lui $at, %hi(D_80126D56) # $at, 0x8012 -/* 0A8FE8 800A83E8 00808025 */ move $s0, $a0 -/* 0A8FEC 800A83EC A02B6D56 */ sb $t3, %lo(D_80126D56)($at) -/* 0A8FF0 800A83F0 8C840020 */ lw $a0, 0x20($a0) -/* 0A8FF4 800A83F4 27A7002C */ addiu $a3, $sp, 0x2c -/* 0A8FF8 800A83F8 3C058012 */ lui $a1, %hi(D_80126D1C) # $a1, 0x8012 -/* 0A8FFC 800A83FC 3C068012 */ lui $a2, %hi(D_80126D20) # $a2, 0x8012 -/* 0A9000 800A8400 24C66D20 */ addiu $a2, %lo(D_80126D20) # addiu $a2, $a2, 0x6d20 -/* 0A9004 800A8404 24A56D1C */ addiu $a1, %lo(D_80126D1C) # addiu $a1, $a1, 0x6d1c -/* 0A9008 800A8408 AFA70010 */ sw $a3, 0x10($sp) -/* 0A900C 800A840C 0C01F238 */ jal func_8007C8E0 -/* 0A9010 800A8410 AFA70014 */ sw $a3, 0x14($sp) -/* 0A9014 800A8414 8E040020 */ lw $a0, 0x20($s0) -/* 0A9018 800A8418 3C068012 */ lui $a2, %hi(D_80126D14) # $a2, 0x8012 -/* 0A901C 800A841C 3C078012 */ lui $a3, %hi(D_80126D18) # $a3, 0x8012 -/* 0A9020 800A8420 27AC002C */ addiu $t4, $sp, 0x2c -/* 0A9024 800A8424 AFAC0010 */ sw $t4, 0x10($sp) -/* 0A9028 800A8428 24E76D18 */ addiu $a3, %lo(D_80126D18) # addiu $a3, $a3, 0x6d18 -/* 0A902C 800A842C 24C66D14 */ addiu $a2, %lo(D_80126D14) # addiu $a2, $a2, 0x6d14 -/* 0A9030 800A8430 0C01F29A */ jal func_8007CA68 -/* 0A9034 800A8434 00002825 */ move $a1, $zero -/* 0A9038 800A8438 8E040020 */ lw $a0, 0x20($s0) -/* 0A903C 800A843C 0C01F04B */ jal func_8007C12C -/* 0A9040 800A8440 24050001 */ li $a1, 1 -/* 0A9044 800A8444 AE020020 */ sw $v0, 0x20($s0) -/* 0A9048 800A8448 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A904C 800A844C 8FB00020 */ lw $s0, 0x20($sp) -/* 0A9050 800A8450 03E00008 */ jr $ra -/* 0A9054 800A8454 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/unknown_09F8F0/func_800A8458.s b/asm/non_matchings/unknown_09F8F0/func_800A8458.s deleted file mode 100644 index 445756b8..00000000 --- a/asm/non_matchings/unknown_09F8F0/func_800A8458.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_800A8458 -/* 0A9058 800A8458 3C0E8012 */ lui $t6, %hi(D_80126D0C) # $t6, 0x8012 -/* 0A905C 800A845C 8DCE6D0C */ lw $t6, %lo(D_80126D0C)($t6) -/* 0A9060 800A8460 3C02800E */ lui $v0, %hi(D_800E27A4) # $v0, 0x800e -/* 0A9064 800A8464 004E1021 */ addu $v0, $v0, $t6 -/* 0A9068 800A8468 804227A4 */ lb $v0, %lo(D_800E27A4)($v0) -/* 0A906C 800A846C 03E00008 */ jr $ra -/* 0A9070 800A8470 00000000 */ nop - diff --git a/asm/non_matchings/unknown_09F8F0/func_800AB1D4.s b/asm/non_matchings/unknown_09F8F0/func_800AB1D4.s deleted file mode 100644 index 9c9d0471..00000000 --- a/asm/non_matchings/unknown_09F8F0/func_800AB1D4.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_800AB1D4 -/* 0ABDD4 800AB1D4 240F0001 */ li $t7, 1 -/* 0ABDD8 800AB1D8 01E4C023 */ subu $t8, $t7, $a0 -/* 0ABDDC 800AB1DC 3C018012 */ lui $at, %hi(D_80126CD2) # $at, 0x8012 -/* 0ABDE0 800AB1E0 AFA40000 */ sw $a0, ($sp) -/* 0ABDE4 800AB1E4 03E00008 */ jr $ra -/* 0ABDE8 800AB1E8 A0386CD2 */ sb $t8, %lo(D_80126CD2)($at) - -/* 0ABDEC 800AB1EC 00000000 */ nop diff --git a/asm/non_matchings/unknown_09F8F0/func_800ACF60.s b/asm/non_matchings/unknown_09F8F0/func_800ACF60.s deleted file mode 100644 index 6947b020..00000000 --- a/asm/non_matchings/unknown_09F8F0/func_800ACF60.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel func_800ACF60 -/* 0ADB60 800ACF60 3C03800E */ lui $v1, %hi(D_800E2A88) # $v1, 0x800e -/* 0ADB64 800ACF64 24632A88 */ addiu $v1, %lo(D_800E2A88) # addiu $v1, $v1, 0x2a88 -/* 0ADB68 800ACF68 8C620000 */ lw $v0, ($v1) -/* 0ADB6C 800ACF6C 00000000 */ nop -/* 0ADB70 800ACF70 28410010 */ slti $at, $v0, 0x10 -/* 0ADB74 800ACF74 10200006 */ beqz $at, .L800ACF90 -/* 0ADB78 800ACF78 00027080 */ sll $t6, $v0, 2 -/* 0ADB7C 800ACF7C 3C018012 */ lui $at, %hi(D_80127C40) # $at, 0x8012 -/* 0ADB80 800ACF80 002E0821 */ addu $at, $at, $t6 -/* 0ADB84 800ACF84 AC247C40 */ sw $a0, %lo(D_80127C40)($at) -/* 0ADB88 800ACF88 244F0001 */ addiu $t7, $v0, 1 -/* 0ADB8C 800ACF8C AC6F0000 */ sw $t7, ($v1) -.L800ACF90: -/* 0ADB90 800ACF90 03E00008 */ jr $ra -/* 0ADB94 800ACF94 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0AEE70/func_800B5E88.s b/asm/non_matchings/unknown_0AEE70/func_800B5E88.s deleted file mode 100644 index f8719df7..00000000 --- a/asm/non_matchings/unknown_0AEE70/func_800B5E88.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_800B5E88 -/* 0B6A88 800B5E88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B6A8C 800B5E8C AFBF0014 */ sw $ra, 0x14($sp) -/* 0B6A90 800B5E90 0C01EB9D */ jal func_8007AE74 -/* 0B6A94 800B5E94 00002025 */ move $a0, $zero -/* 0B6A98 800B5E98 3C018012 */ lui $at, %hi(D_80127CA0) # $at, 0x8012 -/* 0B6A9C 800B5E9C AC227CA0 */ sw $v0, %lo(D_80127CA0)($at) -/* 0B6AA0 800B5EA0 0C01EB9D */ jal func_8007AE74 -/* 0B6AA4 800B5EA4 24040001 */ li $a0, 1 -/* 0B6AA8 800B5EA8 3C018012 */ lui $at, %hi(D_80127CA4) # $at, 0x8012 -/* 0B6AAC 800B5EAC AC227CA4 */ sw $v0, %lo(D_80127CA4)($at) -/* 0B6AB0 800B5EB0 0C01EB9D */ jal func_8007AE74 -/* 0B6AB4 800B5EB4 24040002 */ li $a0, 2 -/* 0B6AB8 800B5EB8 3C018012 */ lui $at, %hi(D_80127CA8) # $at, 0x8012 -/* 0B6ABC 800B5EBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B6AC0 800B5EC0 AC227CA8 */ sw $v0, %lo(D_80127CA8)($at) -/* 0B6AC4 800B5EC4 3C0E8012 */ lui $t6, %hi(D_80127CD8) # $t6, 0x8012 -/* 0B6AC8 800B5EC8 25CE7CD8 */ addiu $t6, %lo(D_80127CD8) # addiu $t6, $t6, 0x7cd8 -/* 0B6ACC 800B5ECC 3C018013 */ lui $at, %hi(D_801285D8) # $at, 0x8013 -/* 0B6AD0 800B5ED0 AC2E85D8 */ sw $t6, %lo(D_801285D8)($at) -/* 0B6AD4 800B5ED4 03E00008 */ jr $ra -/* 0B6AD8 800B5ED8 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/unknown_0AEE70/set_render_printf_background_color.s b/asm/non_matchings/unknown_0AEE70/set_render_printf_background_color.s deleted file mode 100644 index 57107330..00000000 --- a/asm/non_matchings/unknown_0AEE70/set_render_printf_background_color.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel set_render_printf_background_color -/* 0B6EB4 800B62B4 3C028013 */ lui $v0, %hi(D_801285D8) # $v0, 0x8013 -/* 0B6EB8 800B62B8 244285D8 */ addiu $v0, %lo(D_801285D8) # addiu $v0, $v0, -0x7a28 -/* 0B6EBC 800B62BC 8C490000 */ lw $t1, ($v0) -/* 0B6EC0 800B62C0 AFA40000 */ sw $a0, ($sp) -/* 0B6EC4 800B62C4 AFA50004 */ sw $a1, 4($sp) -/* 0B6EC8 800B62C8 AFA60008 */ sw $a2, 8($sp) -/* 0B6ECC 800B62CC AFA7000C */ sw $a3, 0xc($sp) -/* 0B6ED0 800B62D0 24080085 */ li $t0, 133 -/* 0B6ED4 800B62D4 A1280000 */ sb $t0, ($t1) -/* 0B6ED8 800B62D8 8C4A0000 */ lw $t2, ($v0) -/* 0B6EDC 800B62DC 00A07825 */ move $t7, $a1 -/* 0B6EE0 800B62E0 254B0001 */ addiu $t3, $t2, 1 -/* 0B6EE4 800B62E4 AC4B0000 */ sw $t3, ($v0) -/* 0B6EE8 800B62E8 A1640000 */ sb $a0, ($t3) -/* 0B6EEC 800B62EC 8C4D0000 */ lw $t5, ($v0) -/* 0B6EF0 800B62F0 01E02825 */ move $a1, $t7 -/* 0B6EF4 800B62F4 25AE0001 */ addiu $t6, $t5, 1 -/* 0B6EF8 800B62F8 00C0C025 */ move $t8, $a2 -/* 0B6EFC 800B62FC AC4E0000 */ sw $t6, ($v0) -/* 0B6F00 800B6300 03003025 */ move $a2, $t8 -/* 0B6F04 800B6304 A1C50000 */ sb $a1, ($t6) -/* 0B6F08 800B6308 8C580000 */ lw $t8, ($v0) -/* 0B6F0C 800B630C 00E0C825 */ move $t9, $a3 -/* 0B6F10 800B6310 03203825 */ move $a3, $t9 -/* 0B6F14 800B6314 27190001 */ addiu $t9, $t8, 1 -/* 0B6F18 800B6318 AC590000 */ sw $t9, ($v0) -/* 0B6F1C 800B631C A3260000 */ sb $a2, ($t9) -/* 0B6F20 800B6320 8C490000 */ lw $t1, ($v0) -/* 0B6F24 800B6324 00000000 */ nop -/* 0B6F28 800B6328 252A0001 */ addiu $t2, $t1, 1 -/* 0B6F2C 800B632C AC4A0000 */ sw $t2, ($v0) -/* 0B6F30 800B6330 A1470000 */ sb $a3, ($t2) -/* 0B6F34 800B6334 8C4C0000 */ lw $t4, ($v0) -/* 0B6F38 800B6338 00000000 */ nop -/* 0B6F3C 800B633C 258D0001 */ addiu $t5, $t4, 1 -/* 0B6F40 800B6340 AC4D0000 */ sw $t5, ($v0) -/* 0B6F44 800B6344 A1A00000 */ sb $zero, ($t5) -/* 0B6F48 800B6348 8C4F0000 */ lw $t7, ($v0) -/* 0B6F4C 800B634C 00000000 */ nop -/* 0B6F50 800B6350 25F80001 */ addiu $t8, $t7, 1 -/* 0B6F54 800B6354 03E00008 */ jr $ra -/* 0B6F58 800B6358 AC580000 */ sw $t8, ($v0) - diff --git a/asm/non_matchings/unknown_0AEE70/set_render_printf_color.s b/asm/non_matchings/unknown_0AEE70/set_render_printf_color.s deleted file mode 100644 index 3ed2daeb..00000000 --- a/asm/non_matchings/unknown_0AEE70/set_render_printf_color.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel set_render_printf_color -/* 0B6E0C 800B620C 3C028013 */ lui $v0, %hi(D_801285D8) # $v0, 0x8013 -/* 0B6E10 800B6210 244285D8 */ addiu $v0, %lo(D_801285D8) # addiu $v0, $v0, -0x7a28 -/* 0B6E14 800B6214 8C490000 */ lw $t1, ($v0) -/* 0B6E18 800B6218 AFA40000 */ sw $a0, ($sp) -/* 0B6E1C 800B621C AFA50004 */ sw $a1, 4($sp) -/* 0B6E20 800B6220 AFA60008 */ sw $a2, 8($sp) -/* 0B6E24 800B6224 AFA7000C */ sw $a3, 0xc($sp) -/* 0B6E28 800B6228 24080081 */ li $t0, 129 -/* 0B6E2C 800B622C A1280000 */ sb $t0, ($t1) -/* 0B6E30 800B6230 8C4A0000 */ lw $t2, ($v0) -/* 0B6E34 800B6234 00A07825 */ move $t7, $a1 -/* 0B6E38 800B6238 254B0001 */ addiu $t3, $t2, 1 -/* 0B6E3C 800B623C AC4B0000 */ sw $t3, ($v0) -/* 0B6E40 800B6240 A1640000 */ sb $a0, ($t3) -/* 0B6E44 800B6244 8C4D0000 */ lw $t5, ($v0) -/* 0B6E48 800B6248 01E02825 */ move $a1, $t7 -/* 0B6E4C 800B624C 25AE0001 */ addiu $t6, $t5, 1 -/* 0B6E50 800B6250 00C0C025 */ move $t8, $a2 -/* 0B6E54 800B6254 AC4E0000 */ sw $t6, ($v0) -/* 0B6E58 800B6258 03003025 */ move $a2, $t8 -/* 0B6E5C 800B625C A1C50000 */ sb $a1, ($t6) -/* 0B6E60 800B6260 8C580000 */ lw $t8, ($v0) -/* 0B6E64 800B6264 00E0C825 */ move $t9, $a3 -/* 0B6E68 800B6268 03203825 */ move $a3, $t9 -/* 0B6E6C 800B626C 27190001 */ addiu $t9, $t8, 1 -/* 0B6E70 800B6270 AC590000 */ sw $t9, ($v0) -/* 0B6E74 800B6274 A3260000 */ sb $a2, ($t9) -/* 0B6E78 800B6278 8C490000 */ lw $t1, ($v0) -/* 0B6E7C 800B627C 00000000 */ nop -/* 0B6E80 800B6280 252A0001 */ addiu $t2, $t1, 1 -/* 0B6E84 800B6284 AC4A0000 */ sw $t2, ($v0) -/* 0B6E88 800B6288 A1470000 */ sb $a3, ($t2) -/* 0B6E8C 800B628C 8C4C0000 */ lw $t4, ($v0) -/* 0B6E90 800B6290 00000000 */ nop -/* 0B6E94 800B6294 258D0001 */ addiu $t5, $t4, 1 -/* 0B6E98 800B6298 AC4D0000 */ sw $t5, ($v0) -/* 0B6E9C 800B629C A1A00000 */ sb $zero, ($t5) -/* 0B6EA0 800B62A0 8C4F0000 */ lw $t7, ($v0) -/* 0B6EA4 800B62A4 00000000 */ nop -/* 0B6EA8 800B62A8 25F80001 */ addiu $t8, $t7, 1 -/* 0B6EAC 800B62AC 03E00008 */ jr $ra -/* 0B6EB0 800B62B0 AC580000 */ sw $t8, ($v0) diff --git a/include/structs.h b/include/structs.h index 4506e0b5..3b4c4c89 100644 --- a/include/structs.h +++ b/include/structs.h @@ -330,6 +330,21 @@ typedef struct ObjectModel { /* 0x48 */ s16 numberOfAnimations; } ObjectModel; +typedef struct LevelModel { +/* 0x00 */ TextureInfo *textures; +/* 0x04 */ s32 *segments; +/* 0x08 */ s32 *segmentsBoundingBoxes; +/* 0x0C */ s32 unkC; +/* 0x10 */ s32 *segmentsBitfields; +/* 0x14 */ s32 *segmentsBspTree; +/* 0x18 */ s16 numberOfTextures; +/* 0x1A */ s16 numberOfSegments; + u8 pad1C[4]; +/* 0x20 */ s32 unk20; + u8 pad24[0x14]; +/* 0x38 */ u32 unk38; +} LevelModel; + typedef struct Object_3C { u8 pad0[0x8]; s8 unk8; diff --git a/src/unknown_0AEE70.c b/src/particles.c similarity index 80% rename from src/unknown_0AEE70.c rename to src/particles.c index 26c578ff..808fc40f 100644 --- a/src/unknown_0AEE70.c +++ b/src/particles.c @@ -6,9 +6,10 @@ /************ .rodata ************/ +// Need to move this to the correct file when we figure out where the lens flare code is. const char D_800E87F0[] = "\nMaximum limit of %d lens flare switches, per level, has been exceeded."; -// File Boundary! Not sure where the split occurs though. +// This is most likely a file boundary. Not sure where the split occurs though. const int D_800E8838[2] = { 0, 0 }; const char D_800E8840[] = "\n\nUnknown trigger type in initParticleTrigger %d, Max %d.\n\n"; @@ -281,33 +282,35 @@ void func_800AE490(void) { } } -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AE530.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AE728.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AEE14.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AEEB8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AEF88.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF024.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF0A4.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF0F0.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF134.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF1E0.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF29C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF404.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF52C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF6E4.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AF714.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AFC3C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800AFE5C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B0010.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B03C0.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B0698.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B0BAC.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B1130.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B1CB8.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B2040.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B2260.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B22FC.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B263C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B26E0.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B2FBC.s") +// Particles +GLOBAL_ASM("asm/non_matchings/particles/func_800AE530.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AE728.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AEE14.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AEEB8.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AEF88.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF024.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF0A4.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF0F0.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF134.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF1E0.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF29C.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF404.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF52C.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF6E4.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AF714.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AFC3C.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800AFE5C.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B0010.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B03C0.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B0698.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B0BAC.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B1130.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B1CB8.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B2040.s") + +GLOBAL_ASM("asm/non_matchings/particles/func_800B2260.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B22FC.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B263C.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B26E0.s") +GLOBAL_ASM("asm/non_matchings/particles/func_800B2FBC.s") diff --git a/src/printf.c b/src/printf.c new file mode 100644 index 00000000..03898b14 --- /dev/null +++ b/src/printf.c @@ -0,0 +1,150 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x800B3140 */ + +#include "types.h" +#include "macros.h" +#include "f3ddkr.h" + +#define RENDER_PRINTF_CMD_ARG_BYTE(val) *D_801285D8 = val; D_801285D8++; +#define RENDER_PRINTF_CMD_ARG_SHORT(val) RENDER_PRINTF_CMD_ARG_BYTE(val) RENDER_PRINTF_CMD_ARG_BYTE(val >> 8) + +#define RENDER_PRINTF_CMD_END RENDER_PRINTF_CMD_ARG_BYTE(0) + +#define RENDER_PRINTF_CMD_SET_COLOR(red, green, blue, alpha) \ + RENDER_PRINTF_CMD_ARG_BYTE(0x81) \ + RENDER_PRINTF_CMD_ARG_BYTE(red) \ + RENDER_PRINTF_CMD_ARG_BYTE(green) \ + RENDER_PRINTF_CMD_ARG_BYTE(blue) \ + RENDER_PRINTF_CMD_ARG_BYTE(alpha) \ + RENDER_PRINTF_CMD_END + +#define RENDER_PRINTF_CMD_SET_POSITION(x, y) \ + RENDER_PRINTF_CMD_ARG_BYTE(0x82) \ + RENDER_PRINTF_CMD_ARG_SHORT(x) \ + RENDER_PRINTF_CMD_ARG_SHORT(y) \ + RENDER_PRINTF_CMD_END + +#define RENDER_PRINTF_CMD_SET_BACKGROUND_COLOR(red, green, blue, alpha) \ + RENDER_PRINTF_CMD_ARG_BYTE(0x85) \ + RENDER_PRINTF_CMD_ARG_BYTE(red) \ + RENDER_PRINTF_CMD_ARG_BYTE(green) \ + RENDER_PRINTF_CMD_ARG_BYTE(blue) \ + RENDER_PRINTF_CMD_ARG_BYTE(alpha) \ + RENDER_PRINTF_CMD_END + +/************ .data ************/ + +s32 D_800E2EF0 = 0; + +u8 D_800E2EF4[196] = { + 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0F, 0x11, 0x15, 0x17, 0x1F, 0x21, 0x27, 0x29, 0x2B, 0x2D, 0x2F, + 0x31, 0x33, 0x35, 0x38, 0x3A, 0x3F, 0x41, 0x43, 0x45, 0x48, 0x4A, 0x4B, 0x4D, 0x50, 0x52, 0x56, + 0x58, 0x5B, 0x5D, 0x62, 0x64, 0x68, 0x6A, 0x6F, 0x71, 0x76, 0x78, 0x7D, 0x7F, 0x84, 0x86, 0x8B, + 0x8D, 0x92, 0x94, 0x96, 0x98, 0x9A, 0x9D, 0xA2, 0xA5, 0xA9, 0xAB, 0xB0, 0xB3, 0xB8, 0x00, 0x01, + 0x00, 0x09, 0x0B, 0x11, 0x13, 0x19, 0x1B, 0x21, 0x23, 0x29, 0x2B, 0x31, 0x33, 0x38, 0x3A, 0x41, + 0x43, 0x49, 0x4B, 0x4C, 0x4E, 0x53, 0x55, 0x5B, 0x5D, 0x62, 0x64, 0x6B, 0x6D, 0x73, 0x75, 0x7B, + 0x7D, 0x83, 0x85, 0x8B, 0x8D, 0x93, 0x95, 0x9B, 0x9D, 0xA3, 0xA5, 0xAA, 0xAC, 0xB2, 0xB4, 0xBC, + 0xBE, 0xC4, 0xC6, 0xCC, 0xCE, 0xD3, 0xD5, 0xD7, 0xD9, 0xDC, 0xDE, 0xE0, 0xE2, 0xE7, 0xE9, 0xEF, + 0x00, 0x01, 0x03, 0x08, 0x09, 0x0F, 0x11, 0x16, 0x18, 0x1D, 0x1F, 0x24, 0x26, 0x28, 0x2A, 0x2F, + 0x31, 0x36, 0x38, 0x39, 0x3B, 0x3D, 0x3F, 0x43, 0x45, 0x46, 0x48, 0x4F, 0x51, 0x56, 0x58, 0x5D, + 0x5F, 0x64, 0x66, 0x6B, 0x6C, 0x70, 0x72, 0x77, 0x79, 0x7C, 0x7E, 0x82, 0x84, 0x89, 0x8B, 0x92, + 0x94, 0x99, 0x9B, 0xA0, 0xA2, 0xA6, 0xA8, 0xAB, 0xAD, 0xAE, 0xB0, 0xB3, 0xB5, 0xB9, 0xB5, 0xB9, + 0x00, 0x00, 0x00, 0x00 +}; + +Gfx D_800E2FB8[] = { + 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_XLU_SURF, G_RM_XLU_SURF2), + gsDPSetEnvColor(255, 255, 255, 255), + gsDPSetPrimColor(0, 0, 0, 0, 0, 0), + gsSPEndDisplayList(), +}; + +/*******************************/ + +/************ .rodata ************/ + +const char D_800E8C00[] = "0123456789abcdefghijklmnopqrstuvwxyz"; +const char D_800E8C28[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +const char D_800E8C50[] = ""; +const char D_800E8C54[] = "(null)"; +const char D_800E8C5C[] = "(nil)"; +const char D_800E8C64[] = "*** diPrintf Error *** ---> Out of string space. (Print less text!)\n"; + +/*********************************/ + +/************ .bss ************/ + +extern s32 D_80127CA0; +extern s32 D_80127CA4; +extern s32 D_80127CA8; +extern u8 D_80127CD8[576]; +extern u8 *D_801285D8; + +/******************************/ + +GLOBAL_ASM("asm/non_matchings/printf/func_800B3140.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B3240.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B3358.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B34B0.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B3564.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B3740.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B3E64.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B4668.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B46BC.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B4940.s") + +void func_800B4A08(s32 arg0) { + D_800E2EF0 = arg0; +} + +#ifdef NON_MATCHING +// Unused. +// Regalloc issues. I can't get sprintf to work properly. +void func_800B4A14(char* arg0, s32 arg1, s32 arg2, s32 arg3) { + sprintf(arg0, &arg2); +} +#else +GLOBAL_ASM("asm/non_matchings/printf/func_800B4A14.s") +#endif + +GLOBAL_ASM("asm/non_matchings/printf/sprintf.s") + +void func_800B5E88(void) { + D_80127CA0 = func_8007AE74(0); + D_80127CA4 = func_8007AE74(1); + D_80127CA8 = func_8007AE74(2); + D_801285D8 = &D_80127CD8[0]; +} + +GLOBAL_ASM("asm/non_matchings/printf/render_printf.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B5F78.s") + +void set_render_printf_color(u8 red, u8 green, u8 blue, u8 alpha) { + RENDER_PRINTF_CMD_SET_COLOR(red, green, blue, alpha) +} + +void set_render_printf_background_color(u8 red, u8 green, u8 blue, u8 alpha) { + RENDER_PRINTF_CMD_SET_BACKGROUND_COLOR(red, green, blue, alpha) +} + +#ifdef NON_MATCHING +void set_render_printf_position(u16 xpos, u16 ypos) { + RENDER_PRINTF_CMD_SET_POSITION(xpos, ypos) +} +#else +GLOBAL_ASM("asm/non_matchings/printf/set_render_printf_position.s") +#endif + +GLOBAL_ASM("asm/non_matchings/printf/func_800B63F4.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B653C.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B695C.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B69FC.s") diff --git a/src/unknown_0B7A50.c b/src/thread0_epc.c similarity index 97% rename from src/unknown_0B7A50.c rename to src/thread0_epc.c index 1c01c5fb..a97dffb2 100644 --- a/src/unknown_0B7A50.c +++ b/src/thread0_epc.c @@ -170,7 +170,7 @@ void func_800B6F50(void) { } } #else -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B6F50.s") +GLOBAL_ASM("asm/non_matchings/thread0_epc/func_800B6F50.s") #endif #ifdef NON_MATCHING @@ -201,7 +201,7 @@ void thread0(s32 arg0) { // Has regalloc issues } } #else -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/thread0.s") +GLOBAL_ASM("asm/non_matchings/thread0_epc/thread0.s") #endif /* Unknown Size, might be epcInfo? */ @@ -239,10 +239,10 @@ void func_800B7144(void) { } } -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B71B0.s") +GLOBAL_ASM("asm/non_matchings/thread0_epc/func_800B71B0.s") #if 1 -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B7460.s") +GLOBAL_ASM("asm/non_matchings/thread0_epc/func_800B7460.s") #else void func_800B7460(s32 *epc, s32 size, s32 mask) { @@ -322,7 +322,7 @@ void func_800B77D4(s32 arg0) { #if 1 -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/render_epc_lock_up_display.s") +GLOBAL_ASM("asm/non_matchings/thread0_epc/render_epc_lock_up_display.s") #else void render_epc_lock_up_display(void) { char *sp50[3]; diff --git a/src/unknown_09F8F0.c b/src/unknown_09F8F0.c index 94d0e26c..f6be8cf1 100644 --- a/src/unknown_09F8F0.c +++ b/src/unknown_09F8F0.c @@ -16,11 +16,6 @@ typedef struct { s8 unk4C; } unk80126D60; -typedef struct { - s16 unk0; - s16 unk2; -} unk80127BF8; - extern u32 osTvType; /************ .data ************/ @@ -134,10 +129,20 @@ u16 D_800E2684[118] = { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000 }; -// This is probably not right. -u8 D_800E2770[32] = { - 0, 0xFD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +/* Size: 0x10 bytes */ +typedef struct unk800E2770 { + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + s32 unk4; + s32 unk8; + s32 unkC; +} unk800E2770; + +unk800E2770 D_800E2770[2] = { + { 0, 0xFD, 0, 0, 0, 0, 0 }, + { 0, 0xFF, 0, 0, 0, 0, 0 }, }; s8 D_800E2790 = 1; @@ -189,182 +194,6 @@ s32 D_800E283C[5] = { 0x00000000 }; -// D_800E28D8 is also unk800E2850 - -/* Size: 0x2C Bytes */ -typedef struct unk800E2850 { - s32 unk0; - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - s32 unk20; - s16 unk24; - s16 unk26; - s16 unk28; - s16 unk2A; -} unk800E2850; - -unk800E2850 D_800E2850[3] = { - { 0, 0x40, 0, 0xFE000000, 0xFE000000, 0xFE000000, 0x03FFFFFF, 0x03FFFFFF, 0x03FFFFFF, 4, 4, 8, 8 }, - { 0, 0x100, 1, 0xFE000000, 0xFE000000, 0xFE000000, 0x03FFFFFF, 0x03FFFFFF, 0x03FFFFFF, 4, 4, 8, 8 }, - { 0, 0x08, 2, 0xFE000000, 0xFE000000, 0xFE000000, 0x03FFFFFF, 0x03FFFFFF, 0x03FFFFFF, 4, 4, 8, 8 } -}; - -s32 D_800E28D4 = 0; - -unk800E2850 D_800E28D8 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - -// Not sure about typing for the following. -s32 D_800E2904 = 0; -s32 D_800E2908 = 0; -s32 D_800E290C = 0; -s32 D_800E2910 = 0; -s32 D_800E2914[2] = { 0, 0 }; -s32 D_800E291C = 0; -s32 D_800E2920[2] = { 0, 0 }; - -Gfx D_800E2928[] = { - 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(), -}; - -/* Size: 0x10 Bytes */ -typedef struct unk800E2980 { - s32 unk0; - u16 unk4; - u16 unk6; - f32 unk8; - f32 unkC; -} unk800E2980; - -unk800E2980 D_800E2980[2] = { - { 1, 0xFFFF, 0xC090, 3.0f, 0.0f }, - { 0, 0, 0, 0.0f, 0.0f } -}; - -unk800E2980 D_800E29A0[4] = { - { 3, 0xFFFF, 0x0090, 0.75f, -32.0f }, - { 2, 0x0050, 0xFF60, 0.8f, -96.0f }, - { 2, 0x00FF, 0x0090, 0.75f, -192.0f }, - { 0, 0, 0, 0.0f, 0.0f } -}; - -unk800E2980 D_800E29E0[5] = { - { 3, 0xFF80, 0x1490, 0.65f, -64.0f }, - { 2, 0xFFFF, 0xFF90, 1.0f, -128.0f }, - { 3, 0xFFFF, 0x8090, 0.5f, -176.0f }, - { 3, 0xFF28, 0x2890, 0.75f, -224.0f }, - { 0, 0, 0, 0.0f, 0.0f } -}; - -unk800E2980 D_800E2A30[5] = { - { 3, 0xFF80, 0xFF80, 0.5f, -64.0f }, - { 1, 0xFFFF, 0xC090, 0.75f, -128.0f }, - { 2, 0xFF28, 0x0080, 0.6f, -176.0f }, - { 1, 0xFFC0, 0xFF90, 0.75f, -224.0f }, - { 0, 0, 0, 0.0f, 0.0f } -}; - -s32 D_800E2A80 = 0; -s32 D_800E2A84 = 1; -s32 D_800E2A88 = 0; -f32 D_800E2A8C = -200.0f; -f32 D_800E2A90 = 200.0f; -f32 D_800E2A94 = 200.0f; -f32 D_800E2A98 = 200.0f; -f32 D_800E2A9C = 200.0f; -f32 D_800E2AA0 = -200.0f; -f32 D_800E2AA4 = -200.0f; -f32 D_800E2AA8 = -200.0f; - -s16 D_800E2AAC[80] = { - 0, 0, 0, -1, -1, 0, 0, 0, - -1, -1, 0, 0, 0, -1, -1, 0, - 0, 0, -1, -1, 0, 0, 0, -1, - -1, 0, 0, 0, -1, -1, 0, 0, - 0, -1, -1, 0, 0, 0, -1, -1, - 0, 0, 0, -1, -1, 0, 0, 0, - -1, -1, 0, 0, 0, -1, -1, 0, - 0, 0, -1, -1, 0, 0, 0, -1, - -1, 0, 0, 0, -1, -1, 0, 0, - 0, -1, -1, 0, 0, 0, -1, -1 -}; - -/* Size: 0x1C Bytes */ -typedef struct unk800E2B4C { - s32 unk0; - s16 unk4; - s16 unk6; - f32 unk8; - f32 unkC; - f32 unk10; - f32 unk14; - s16 unk18; - s16 unk1A; -} unk800E2B4C; - -unk800E2B4C D_800E2B4C[8] = { - { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, - { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, - { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, - { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, - { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, - { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, - { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, - { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 } -}; - -/* Size: 0x18 Bytes */ -typedef struct unk800E2C2C { - s32 unk0; - s16 unk4; - s16 unk6; - s32 unk8; - s32 unkC; - s16 unk10; - s16 unk12; - s16 unk14; - s16 unk16; -} unk800E2C2C; - -unk800E2C2C D_800E2C2C[2] = { - { 0, 0x400, 0x400, 0x000AFFC4, 0, 0x80FF, 0xFF80, 0x80FF, 0x8000 }, - { 0, 0x600, 0x600, 0x0020FF40, 0, 0xFFFF, 0xFF00, 0x80FF, 0xFF00 } -}; - -s32 D_800E2C5C = 0; -s32 D_800E2C60 = 0x00010000; -s32 D_800E2C64 = 0; -s32 D_800E2C68 = 0x00010000; -s32 D_800E2C6C = 0x00010000; -s32 D_800E2C70 = 0; -s32 D_800E2C74 = 0x00010000; -s32 D_800E2C78 = 0; -s32 D_800E2C7C = 0; -s32 D_800E2C80 = 0; -s32 D_800E2C84 = 0; -s32 D_800E2C88 = 0; -s32 D_800E2C8C = 0; -s32 D_800E2C90 = 0; -s32 D_800E2C94 = 0; - -s16 D_800E2C98[4] = { - 0x40FF, 0xFFFF, 0x0005, 0x0002 -}; - /*******************************/ /************ .bss ************/ @@ -440,29 +269,13 @@ s32 D_8012718C; s32 D_80127190; s32 D_80127194; s32 D_80127198[6]; + +// ???? s32 D_801271B0[640]; -s32 D_80127BB0; -s32 D_80127BB4; -s32 D_80127BB8[16]; -unk80127BF8 D_80127BF8; -s32 D_80127BFC; -s32 D_80127C00; -s32 D_80127C04; -s32 D_80127C08; -s32 D_80127C0C; -s32 D_80127C10; -s32 D_80127C14; -s32 D_80127C18; -s32 D_80127C1C; -s32 D_80127C20; -s32 D_80127C24; -s32 D_80127C28; -s32 D_80127C2C; -s32 D_80127C30[4]; -s32 D_80127C40[16]; /******************************/ + GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_8009ECF0.s") GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_8009F034.s") GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A003C.s") @@ -472,7 +285,18 @@ u8 func_800A0190(void) { } GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A01A0.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A0B74.s") + +void func_800A0B74(void) { + s32 i; + for(i = 0; i < 2; i++) { + if (D_800E2770[i].unk4 != 0) { + func_8000488C(D_800E2770[i].unk4); + D_800E2770[i].unk4 = 0; + D_800E2770[i].unk2 = 0; + } + } +} + GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A0BD4.s") typedef struct { @@ -605,8 +429,21 @@ GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A7520.s") GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A7A60.s") GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A7B68.s") GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A7FBC.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A83B4.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A8458.s") + +void func_800A83B4(LevelModel *model) { + s32 sp2C; + D_80126D54 = (model->unk38 >> 16) & 0xFF; + D_80126D55 = (model->unk38 >> 8) & 0xFF; + D_80126D56 = model->unk38 & 0xFF; + func_8007C8E0(model->unk20, &D_80126D1C, &D_80126D20, &sp2C, &sp2C, &sp2C); + func_8007CA68(model->unk20, 0, &D_80126D14, &D_80126D18, &sp2C); + model->unk20 = func_8007C12C(model->unk20, 1); +} + +s8 func_800A8458(void) { + return D_800E27A4[D_80126D0C]; +} + GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A8474.s") GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AA3EC.s") GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AA600.s") @@ -627,82 +464,6 @@ void func_800AB1C8(void) { D_80126CD4 = 0; } -/* Last function of file */ -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB1D4.s") -//void func_800AB1D4(s32 arg0) { -// D_80126CD2 = arg0 - 1; -//} - -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB1F0.s") - -void func_800AB308(s16 arg0, s16 arg1) { - if (D_80127BF8.unk2 < D_80127BF8.unk0) { - D_80127BF8.unk0 = arg0; - D_80127BF8.unk2 = arg1; - } else { - D_80127BF8.unk0 = arg1; - D_80127BF8.unk2 = arg0; - } +void func_800AB1D4(u8 arg0) { + D_80126CD2 = 1 - arg0; } - -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB35C.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB4A8.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ABB34.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ABC5C.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ABE68.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC0C8.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC21C.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC5A4.s") - -void func_800AC880(s32 arg0) { - if (arg0 == D_800E2A80) { - D_800E2A80 = 0; - D_800E2A84 = 1; - } -} - -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC8A8.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACA20.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACF60.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACF98.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD030.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD144.s") - -void func_800AD220(void) { - if (D_800E2C2C[0].unkC != 0) { - func_8007B2BC(D_800E2C2C[0].unkC); - D_800E2C88 = 0; - } - - if (D_800E2C2C[1].unkC != 0) { - func_8007B2BC(D_800E2C2C[1].unkC); - D_800E2C88 = 0; - } - - if (D_800E2C8C != 0) { - func_8007CCB0(D_800E2C8C); - D_800E2C8C = 0; - } - - if (D_800E2C94 != 0) { - func_800096F8(D_800E2C94); - D_800E2C94 = 0; - } - - D_800E2C5C = 0; -} - -void func_800AD2C4(s32 arg0, s32 arg1, f32 arg2) { - D_800E2C78 = osTvType == 0 ? 50.0 * arg2 : 60.0 * arg2; - D_800E2C68 = arg0; - D_800E2C64 = (D_800E2C68 - D_800E2C60) / D_800E2C78; - D_800E2C74 = arg1; - D_800E2C70 = (D_800E2C74 - D_800E2C6C) / D_800E2C78; -} - -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD40C.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD4B8.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD658.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ADAB8.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ADBC8.s") -GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ADCBC.s") diff --git a/src/unknown_0ABDF0.c b/src/unknown_0ABDF0.c new file mode 100644 index 00000000..ecd4b618 --- /dev/null +++ b/src/unknown_0ABDF0.c @@ -0,0 +1,314 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x800AB1F0 */ + +#include "types.h" +#include "macros.h" +#include "structs.h" +#include "f3ddkr.h" + +typedef struct { + s16 unk0; + s16 unk2; +} unk80127BF8; + +extern u32 osTvType; + +/************ .data ************/ + +/* Size: 0x2C Bytes */ +typedef struct unk800E2850 { + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; + s32 unk1C; + s32 unk20; + s16 unk24; + s16 unk26; + s16 unk28; + s16 unk2A; +} unk800E2850; + +unk800E2850 D_800E2850[3] = { + { 0, 0x40, 0, 0xFE000000, 0xFE000000, 0xFE000000, 0x03FFFFFF, 0x03FFFFFF, 0x03FFFFFF, 4, 4, 8, 8 }, + { 0, 0x100, 1, 0xFE000000, 0xFE000000, 0xFE000000, 0x03FFFFFF, 0x03FFFFFF, 0x03FFFFFF, 4, 4, 8, 8 }, + { 0, 0x08, 2, 0xFE000000, 0xFE000000, 0xFE000000, 0x03FFFFFF, 0x03FFFFFF, 0x03FFFFFF, 4, 4, 8, 8 } +}; + +s32 D_800E28D4 = 0; + +unk800E2850 D_800E28D8 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + +// Not sure about typing for the following. +s32 D_800E2904 = 0; +s32 D_800E2908 = 0; +s32 D_800E290C = 0; +s32 D_800E2910 = 0; +s32 D_800E2914[2] = { 0, 0 }; +s32 D_800E291C = 0; +s32 D_800E2920[2] = { 0, 0 }; + +Gfx D_800E2928[] = { + 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(), +}; + +/* Size: 0x10 Bytes */ +typedef struct unk800E2980 { + s32 unk0; + u16 unk4; + u16 unk6; + f32 unk8; + f32 unkC; +} unk800E2980; + +unk800E2980 D_800E2980[2] = { + { 1, 0xFFFF, 0xC090, 3.0f, 0.0f }, + { 0, 0, 0, 0.0f, 0.0f } +}; + +unk800E2980 D_800E29A0[4] = { + { 3, 0xFFFF, 0x0090, 0.75f, -32.0f }, + { 2, 0x0050, 0xFF60, 0.8f, -96.0f }, + { 2, 0x00FF, 0x0090, 0.75f, -192.0f }, + { 0, 0, 0, 0.0f, 0.0f } +}; + +unk800E2980 D_800E29E0[5] = { + { 3, 0xFF80, 0x1490, 0.65f, -64.0f }, + { 2, 0xFFFF, 0xFF90, 1.0f, -128.0f }, + { 3, 0xFFFF, 0x8090, 0.5f, -176.0f }, + { 3, 0xFF28, 0x2890, 0.75f, -224.0f }, + { 0, 0, 0, 0.0f, 0.0f } +}; + +unk800E2980 D_800E2A30[5] = { + { 3, 0xFF80, 0xFF80, 0.5f, -64.0f }, + { 1, 0xFFFF, 0xC090, 0.75f, -128.0f }, + { 2, 0xFF28, 0x0080, 0.6f, -176.0f }, + { 1, 0xFFC0, 0xFF90, 0.75f, -224.0f }, + { 0, 0, 0, 0.0f, 0.0f } +}; + +s32 D_800E2A80 = 0; +s32 D_800E2A84 = 1; +s32 D_800E2A88 = 0; +f32 D_800E2A8C = -200.0f; +f32 D_800E2A90 = 200.0f; +f32 D_800E2A94 = 200.0f; +f32 D_800E2A98 = 200.0f; +f32 D_800E2A9C = 200.0f; +f32 D_800E2AA0 = -200.0f; +f32 D_800E2AA4 = -200.0f; +f32 D_800E2AA8 = -200.0f; + +s16 D_800E2AAC[80] = { + 0, 0, 0, -1, -1, 0, 0, 0, + -1, -1, 0, 0, 0, -1, -1, 0, + 0, 0, -1, -1, 0, 0, 0, -1, + -1, 0, 0, 0, -1, -1, 0, 0, + 0, -1, -1, 0, 0, 0, -1, -1, + 0, 0, 0, -1, -1, 0, 0, 0, + -1, -1, 0, 0, 0, -1, -1, 0, + 0, 0, -1, -1, 0, 0, 0, -1, + -1, 0, 0, 0, -1, -1, 0, 0, + 0, -1, -1, 0, 0, 0, -1, -1 +}; + +/* Size: 0x1C Bytes */ +typedef struct unk800E2B4C { + s32 unk0; + s16 unk4; + s16 unk6; + f32 unk8; + f32 unkC; + f32 unk10; + f32 unk14; + s16 unk18; + s16 unk1A; +} unk800E2B4C; + +unk800E2B4C D_800E2B4C[8] = { + { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, + { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, + { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, + { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, + { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, + { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, + { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 }, + { 0, 0, 0, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0 } +}; + +/* Size: 0x18 Bytes */ +typedef struct unk800E2C2C { + s32 unk0; + s16 unk4; + s16 unk6; + s32 unk8; + s32 unkC; + s16 unk10; + s16 unk12; + s16 unk14; + s16 unk16; +} unk800E2C2C; + +unk800E2C2C D_800E2C2C[2] = { + { 0, 0x400, 0x400, 0x000AFFC4, 0, 0x80FF, 0xFF80, 0x80FF, 0x8000 }, + { 0, 0x600, 0x600, 0x0020FF40, 0, 0xFFFF, 0xFF00, 0x80FF, 0xFF00 } +}; + +s32 D_800E2C5C = 0; +s32 D_800E2C60 = 0x00010000; +s32 D_800E2C64 = 0; +s32 D_800E2C68 = 0x00010000; +s32 D_800E2C6C = 0x00010000; +s32 D_800E2C70 = 0; +s32 D_800E2C74 = 0x00010000; +s32 D_800E2C78 = 0; +s32 D_800E2C7C = 0; +s32 D_800E2C80 = 0; +s32 D_800E2C84 = 0; +s32 D_800E2C88 = 0; +s32 D_800E2C8C = 0; +s32 D_800E2C90 = 0; +s32 D_800E2C94 = 0; + +s16 D_800E2C98[4] = { + 0x40FF, 0xFFFF, 0x0005, 0x0002 +}; + +/*******************************/ + +/************ .bss ************/ + +s32 D_80127BB0; +s32 D_80127BB4; +s32 D_80127BB8[16]; +unk80127BF8 D_80127BF8; +s32 D_80127BFC; +s32 D_80127C00; +s32 D_80127C04; +s32 D_80127C08; +s32 D_80127C0C; +s32 D_80127C10; +s32 D_80127C14; +s32 D_80127C18; +s32 D_80127C1C; +s32 D_80127C20; +s32 D_80127C24; +s32 D_80127C28; +s32 D_80127C2C; +s32 D_80127C30[4]; +s32 D_80127C40[16]; + +/******************************/ + +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB1F0.s") + +void func_800AB308(s16 arg0, s16 arg1) { + if (D_80127BF8.unk2 < D_80127BF8.unk0) { + D_80127BF8.unk0 = arg0; + D_80127BF8.unk2 = arg1; + } else { + D_80127BF8.unk0 = arg1; + D_80127BF8.unk2 = arg0; + } +} + +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB35C.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB4A8.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ABB34.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ABC5C.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ABE68.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC0C8.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC21C.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC5A4.s") + +void func_800AC880(s32 arg0) { + if (arg0 == D_800E2A80) { + D_800E2A80 = 0; + D_800E2A84 = 1; + } +} + +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC8A8.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACA20.s") + +void func_800ACF60(s32 arg0) { + if (D_800E2A88 < 0x10) { + D_80127C40[D_800E2A88] = arg0; + D_800E2A88++; + } +} + +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACF98.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD030.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD144.s") + +void func_800AD220(void) { + if (D_800E2C2C[0].unkC != 0) { + func_8007B2BC(D_800E2C2C[0].unkC); + D_800E2C88 = 0; + } + + if (D_800E2C2C[1].unkC != 0) { + func_8007B2BC(D_800E2C2C[1].unkC); + D_800E2C88 = 0; + } + + if (D_800E2C8C != 0) { + func_8007CCB0(D_800E2C8C); + D_800E2C8C = 0; + } + + if (D_800E2C94 != 0) { + func_800096F8(D_800E2C94); + D_800E2C94 = 0; + } + + D_800E2C5C = 0; +} + +void func_800AD2C4(s32 arg0, s32 arg1, f32 arg2) { + D_800E2C78 = osTvType == 0 ? 50.0 * arg2 : 60.0 * arg2; + D_800E2C68 = arg0; + D_800E2C64 = (D_800E2C68 - D_800E2C60) / D_800E2C78; + D_800E2C74 = arg1; + D_800E2C70 = (D_800E2C74 - D_800E2C6C) / D_800E2C78; +} + +#ifdef NON_MATCHING +void func_800AD40C(void) { + s16 a, b; + if (D_800E2C5C && !func_80066210()) { + a = ((-D_800E2C60 * 38) >> 16) + 1018; + b = ((-D_800E2C60 * 20) >> 16) + 1023; + func_80030664(0, a, b, 28, 15, 36); + } +} + +// Unused. +void func_800AD4AC(s32 arg0) { + D_800E2C6C = arg0; +} +#else +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD40C.s") +#endif + +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD4B8.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD658.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ADAB8.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ADBC8.s") +GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ADCBC.s") diff --git a/src/unknown_0B3D40.c b/src/unknown_0B3D40.c deleted file mode 100644 index 4552977c..00000000 --- a/src/unknown_0B3D40.c +++ /dev/null @@ -1,78 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x800B3140 */ - -#include "types.h" -#include "macros.h" -#include "f3ddkr.h" - -/************ .data ************/ - -s32 D_800E2EF0 = 0; - -u8 D_800E2EF4[196] = { - 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0F, 0x11, 0x15, 0x17, 0x1F, 0x21, 0x27, 0x29, 0x2B, 0x2D, 0x2F, - 0x31, 0x33, 0x35, 0x38, 0x3A, 0x3F, 0x41, 0x43, 0x45, 0x48, 0x4A, 0x4B, 0x4D, 0x50, 0x52, 0x56, - 0x58, 0x5B, 0x5D, 0x62, 0x64, 0x68, 0x6A, 0x6F, 0x71, 0x76, 0x78, 0x7D, 0x7F, 0x84, 0x86, 0x8B, - 0x8D, 0x92, 0x94, 0x96, 0x98, 0x9A, 0x9D, 0xA2, 0xA5, 0xA9, 0xAB, 0xB0, 0xB3, 0xB8, 0x00, 0x01, - 0x00, 0x09, 0x0B, 0x11, 0x13, 0x19, 0x1B, 0x21, 0x23, 0x29, 0x2B, 0x31, 0x33, 0x38, 0x3A, 0x41, - 0x43, 0x49, 0x4B, 0x4C, 0x4E, 0x53, 0x55, 0x5B, 0x5D, 0x62, 0x64, 0x6B, 0x6D, 0x73, 0x75, 0x7B, - 0x7D, 0x83, 0x85, 0x8B, 0x8D, 0x93, 0x95, 0x9B, 0x9D, 0xA3, 0xA5, 0xAA, 0xAC, 0xB2, 0xB4, 0xBC, - 0xBE, 0xC4, 0xC6, 0xCC, 0xCE, 0xD3, 0xD5, 0xD7, 0xD9, 0xDC, 0xDE, 0xE0, 0xE2, 0xE7, 0xE9, 0xEF, - 0x00, 0x01, 0x03, 0x08, 0x09, 0x0F, 0x11, 0x16, 0x18, 0x1D, 0x1F, 0x24, 0x26, 0x28, 0x2A, 0x2F, - 0x31, 0x36, 0x38, 0x39, 0x3B, 0x3D, 0x3F, 0x43, 0x45, 0x46, 0x48, 0x4F, 0x51, 0x56, 0x58, 0x5D, - 0x5F, 0x64, 0x66, 0x6B, 0x6C, 0x70, 0x72, 0x77, 0x79, 0x7C, 0x7E, 0x82, 0x84, 0x89, 0x8B, 0x92, - 0x94, 0x99, 0x9B, 0xA0, 0xA2, 0xA6, 0xA8, 0xAB, 0xAD, 0xAE, 0xB0, 0xB3, 0xB5, 0xB9, 0xB5, 0xB9, - 0x00, 0x00, 0x00, 0x00 -}; - -Gfx D_800E2FB8[] = { - 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_XLU_SURF, G_RM_XLU_SURF2), - gsDPSetEnvColor(255, 255, 255, 255), - gsDPSetPrimColor(0, 0, 0, 0, 0, 0), - gsSPEndDisplayList(), -}; - -/*******************************/ - -/************ .rodata ************/ - -const char D_800E8C00[] = "0123456789abcdefghijklmnopqrstuvwxyz"; -const char D_800E8C28[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; -const char D_800E8C50[] = ""; -const char D_800E8C54[] = "(null)"; -const char D_800E8C5C[] = "(nil)"; -const char D_800E8C64[] = "*** diPrintf Error *** ---> Out of string space. (Print less text!)\n"; - -/*********************************/ - -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B3140.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B3240.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B3358.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B34B0.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B3564.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B3740.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B3E64.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B4668.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B46BC.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B4940.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B4A08.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/sprintf.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B5E88.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/render_printf.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B5F78.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/set_render_printf_color.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/set_render_printf_background_color.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/set_render_printf_position.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B63F4.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B653C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B695C.s") -GLOBAL_ASM("asm/non_matchings/unknown_0AEE70/func_800B69FC.s")