From 1d90a928ec16d40c7a2c65f989bd08824d05e694 Mon Sep 17 00:00:00 2001 From: Alejandro Javier Asenjo Nitti Date: Tue, 6 Feb 2024 17:45:24 -0300 Subject: [PATCH] fox_std_lib symbols --- include/assets.h | 2 - include/fox_std_lib_assets.h | 124 ++++++++++++++++++++++++++++ linker_scripts/us/undefined_syms.ld | 103 ++++++++++++++++++++++- src/main/fox_hud.c | 6 +- src/main/fox_std_lib.c | 45 +++++----- src/main/fox_versus.c | 7 +- src/overlays/ovl_menu/fox_title.c | 3 + 7 files changed, 258 insertions(+), 32 deletions(-) create mode 100644 include/fox_std_lib_assets.h diff --git a/include/assets.h b/include/assets.h index c7542f2f..adb89943 100644 --- a/include/assets.h +++ b/include/assets.h @@ -271,9 +271,7 @@ extern u8 D_5000000[]; extern u8 D_5000080[]; extern u8 D_5000100[]; extern u8 D_5000180[]; -extern u16 D_5000200[]; extern u8 D_5000280[]; -extern u16 D_5000300[]; extern u8 D_5000380[]; extern u8 D_5000400[]; extern u8 D_5000480[]; diff --git a/include/fox_std_lib_assets.h b/include/fox_std_lib_assets.h new file mode 100644 index 00000000..869f48cb --- /dev/null +++ b/include/fox_std_lib_assets.h @@ -0,0 +1,124 @@ +#ifndef FOX_STD_LIB_ASSETS_H +#define FOX_STD_LIB_ASSETS_H + +#include "global.h" + +extern u8 D_5008020[]; +extern u8 D_5008110[]; +extern u8 D_5008200[]; +extern u8 D_50082F0[]; +extern u8 D_50083E0[]; +extern u8 D_50084D0[]; +extern u8 D_50085C0[]; +extern u8 D_50086B0[]; +extern u8 D_50087A0[]; +extern u8 D_5008890[]; +extern u8 D_5008980[]; +extern u8 D_5008A70[]; +extern u8 D_5008B60[]; +extern u8 D_5008C50[]; +extern u8 D_5008D40[]; +extern u8 D_5008E30[]; +extern u8 D_5008F20[]; +extern u8 D_5009010[]; +extern u8 D_5009100[]; +extern u8 D_50091F0[]; +extern u8 D_50092E0[]; +extern u8 D_50093D0[]; +extern u8 D_50094C0[]; +extern u8 D_50096A0[]; +extern u8 D_5009880[]; +extern u8 D_5009A60[]; +extern u8 D_5009DB0[]; +extern u8 D_5009F60[]; +extern u8 D_500A050[]; +extern u8 D_500A140[]; +extern u8 D_500A230[]; +extern u8 D_500A320[]; +extern u8 D_500A410[]; +extern u8 D_500A500[]; +extern u8 D_500A5F0[]; +extern u8 D_500A6E0[]; +extern u8 D_500A7D0[]; +extern u8 D_5009B50[]; +extern u8 D_5009C40[]; +extern u8 D_5009970[]; + +extern u8 D_50070C0[]; +extern u8 D_5007100[]; +extern u8 D_5007180[]; +extern u8 D_50071C0[]; +extern u8 D_5007200[]; +extern u8 D_5007510[]; +extern u8 D_5007550[]; +extern u8 D_5007590[]; +extern u8 D_50075D0[]; +extern u8 D_5007610[]; +extern u8 D_5007650[]; +extern u8 D_5007F60[]; +extern u8 D_5007FA0[]; +extern u8 D_5007FE0[]; +extern u8 D_5009D30[]; +extern u8 D_5009D70[]; +extern u8 D_5009EA0[]; +extern u8 D_5009EE0[]; +extern u8 D_5009F20[]; +extern u8 D_500B380[]; +extern u8 D_500B440[]; +extern u8 D_500B480[]; +extern u8 D_500B4C0[]; +extern u8 D_500B500[]; +extern u8 D_500B540[]; +extern u8 D_500B5C0[]; +extern u8 D_5007140[]; +extern u8 D_500B400[]; +extern u8 D_500B580[]; +extern u8 D_500B3C0[]; +extern u8 D_5000000[]; +extern u8 D_5000080[]; +extern u8 D_5000100[]; +extern u8 D_5000180[]; +extern u8 D_5000200[]; +extern u8 D_5000280[]; +extern u8 D_5000300[]; +extern u8 D_5000380[]; +extern u8 D_5000400[]; +extern u8 D_5000480[]; +extern u8 D_500A5F0[]; +extern u8 D_500A6E0[]; +extern u8 D_500A7D0[]; + +extern u8 D_5000000[]; +extern u8 D_5000080[]; +extern u8 D_5000100[]; +extern u8 D_5000180[]; +extern u8 D_5000200[]; +extern u8 D_5000280[]; +extern u8 D_5000300[]; +extern u8 D_5000380[]; +extern u8 D_5000400[]; +extern u8 D_5000480[]; + +extern u8 D_1010660[]; +extern u8 D_10106B0[]; +extern u8 D_1010700[]; +extern u8 D_1010750[]; +extern u8 D_10107A0[]; +extern u8 D_10107F0[]; +extern u8 D_1010840[]; +extern u8 D_1010890[]; +extern u8 D_10108E0[]; +extern u8 D_1010930[]; + +extern u16 D_10106A0[]; +extern u16 D_10106F0[]; +extern u16 D_1010740[]; +extern u16 D_1010790[]; +extern u16 D_10107E0[]; +extern u16 D_1010830[]; +extern u16 D_1010880[]; +extern u16 D_10108D0[]; +extern u16 D_1010920[]; +extern u16 D_1010970[]; + +#endif diff --git a/linker_scripts/us/undefined_syms.ld b/linker_scripts/us/undefined_syms.ld index 6c640dae..df7e5cbc 100644 --- a/linker_scripts/us/undefined_syms.ld +++ b/linker_scripts/us/undefined_syms.ld @@ -1091,4 +1091,105 @@ D_601B8F0 = 0x0601B8F0; D_601B3B0 = 0x0601B3B0; D_601B1C0 = 0x0601B1C0; D_6011660 = 0x06011660; -D_TEX_6011660 = 0x06011660; \ No newline at end of file +D_TEX_6011660 = 0x06011660; +D_5008020 = 0x05008020; +D_5008110 = 0x05008110; +D_5008200 = 0x05008200; +D_50082F0 = 0x050082F0; +D_50083E0 = 0x050083E0; +D_50084D0 = 0x050084D0; +D_50085C0 = 0x050085C0; +D_50086B0 = 0x050086B0; +D_50087A0 = 0x050087A0; +D_5008890 = 0x05008890; +D_5008980 = 0x05008980; +D_5008A70 = 0x05008A70; +D_5008B60 = 0x05008B60; +D_5008C50 = 0x05008C50; +D_5008D40 = 0x05008D40; +D_5008E30 = 0x05008E30; +D_5008F20 = 0x05008F20; +D_5009010 = 0x05009010; +D_5009100 = 0x05009100; +D_50091F0 = 0x050091F0; +D_50092E0 = 0x050092E0; +D_50093D0 = 0x050093D0; +D_50094C0 = 0x050094C0; +D_50096A0 = 0x050096A0; +D_5009880 = 0x05009880; +D_5009A60 = 0x05009A60; +D_5009DB0 = 0x05009DB0; +D_5009F60 = 0x05009F60; +D_500A050 = 0x0500A050; +D_500A140 = 0x0500A140; +D_500A230 = 0x0500A230; +D_500A320 = 0x0500A320; +D_500A410 = 0x0500A410; +D_500A500 = 0x0500A500; +D_500A5F0 = 0x0500A5F0; +D_500A6E0 = 0x0500A6E0; +D_500A7D0 = 0x0500A7D0; +D_5009B50 = 0x05009B50; +D_5009C40 = 0x05009C40; +D_5009970 = 0x05009970; +D_50070C0 = 0x050070C0; +D_5007100 = 0x05007100; +D_5007180 = 0x05007180; +D_50071C0 = 0x050071C0; +D_5007200 = 0x05007200; +D_5007510 = 0x05007510; +D_5007550 = 0x05007550; +D_5007590 = 0x05007590; +D_50075D0 = 0x050075D0; +D_5007610 = 0x05007610; +D_5007650 = 0x05007650; +D_5007F60 = 0x05007F60; +D_5007FA0 = 0x05007FA0; +D_5007FE0 = 0x05007FE0; +D_5009D30 = 0x05009D30; +D_5009D70 = 0x05009D70; +D_5009EA0 = 0x05009EA0; +D_5009EE0 = 0x05009EE0; +D_5009F20 = 0x05009F20; +D_500B380 = 0x0500B380; +D_500B440 = 0x0500B440; +D_500B480 = 0x0500B480; +D_500B4C0 = 0x0500B4C0; +D_500B500 = 0x0500B500; +D_500B540 = 0x0500B540; +D_500B5C0 = 0x0500B5C0; +D_5007140 = 0x05007140; +D_500B400 = 0x0500B400; +D_500B580 = 0x0500B580; +D_500B3C0 = 0x0500B3C0; +D_5000000 = 0x05000000; +D_5000080 = 0x05000080; +D_5000100 = 0x05000100; +D_5000180 = 0x05000180; +D_5000200 = 0x05000200; +D_5000280 = 0x05000280; +D_5000300 = 0x05000300; +D_5000380 = 0x05000380; +D_5000400 = 0x05000400; +D_5000480 = 0x05000480; + +D_1010660 = 0x01010660; +D_10106B0 = 0x010106B0; +D_1010700 = 0x01010700; +D_1010750 = 0x01010750; +D_10107A0 = 0x010107A0; +D_10107F0 = 0x010107F0; +D_1010840 = 0x01010840; +D_1010890 = 0x01010890; +D_10108E0 = 0x010108E0; +D_1010930 = 0x01010930; +D_10106A0 = 0x010106A0; +D_10106F0 = 0x010106F0; +D_1010740 = 0x01010740; +D_1010790 = 0x01010790; +D_10107E0 = 0x010107E0; +D_1010830 = 0x01010830; +D_1010880 = 0x01010880; +D_10108D0 = 0x010108D0; +D_1010920 = 0x01010920; +D_1010970 = 0x01010970; diff --git a/src/main/fox_hud.c b/src/main/fox_hud.c index 0db27a6b..94b3ad21 100644 --- a/src/main/fox_hud.c +++ b/src/main/fox_hud.c @@ -107,6 +107,8 @@ extern Gfx D_101B480[]; extern Gfx D_101B310[]; extern Gfx D_101B1A0[]; extern u16 D_3000120[]; +extern u16 D_5000200[]; +extern u16 D_5000300[]; extern u8 D_5000500[]; extern u8 D_5001110[]; extern u8 D_5001750[]; @@ -2742,8 +2744,8 @@ void func_8008C104(u16* texture, u16* arg1) { void func_8008C390(f32 arg0, f32 arg1, f32 arg2, s32 arg3) { u16* D_800D1EC0[] = { - (u16*) D_5000000, (u16*) D_5000080, (u16*) D_5000100, (u16*) D_5000180, (u16*) D_5000200, - (u16*) D_5000280, (u16*) D_5000300, (u16*) D_5000380, (u16*) D_5000400, (u16*) D_5000480, + (u16*) D_5000000, (u16*) D_5000080, (u16*) D_5000100, (u16*) D_5000180, D_5000200, + (u16*) D_5000280, D_5000300, (u16*) D_5000380, (u16*) D_5000400, (u16*) D_5000480, }; s32 i; diff --git a/src/main/fox_std_lib.c b/src/main/fox_std_lib.c index bf6d8ec6..ea250da2 100644 --- a/src/main/fox_std_lib.c +++ b/src/main/fox_std_lib.c @@ -2,6 +2,8 @@ char D_801619A0[100]; +#include "fox_std_lib_assets.h" + char* Graphics_ClearPrintBuffer(char* buf, s32 fill, s32 len) { s32 i; char* ptr = buf; @@ -765,14 +767,10 @@ u16* Graphics_SetupTextureRender(Gfx** gfxPtr, u8 width, u8 height) { } void Graphics_DisplayHUDNumber(s32 xPos, s32 yPos, s32 number) { - void* hudNumberTex[] = { - 0x01010660, 0x010106B0, 0x01010700, 0x01010750, 0x010107A0, - 0x010107F0, 0x01010840, 0x01010890, 0x010108E0, 0x01010930, - }; - void* hudNumberPal[] = { - 0x010106A0, 0x010106F0, 0x01010740, 0x01010790, 0x010107E0, - 0x01010830, 0x01010880, 0x010108D0, 0x01010920, 0x01010970, - }; + u8* hudNumberTex[] = { D_1010660, D_10106B0, D_1010700, D_1010750, D_10107A0, + D_10107F0, D_1010840, D_1010890, D_10108E0, D_1010930 }; + u16* hudNumberPal[] = { D_10106A0, D_10106F0, D_1010740, D_1010790, D_10107E0, + D_1010830, D_1010880, D_10108D0, D_1010920, D_1010970 }; s32 place; s32 startNumber = false; @@ -791,10 +789,8 @@ void Graphics_DisplayHUDNumber(s32 xPos, s32 yPos, s32 number) { 1.0f); } -void* sSmallNumberTex[] = { - 0x05000000, 0x05000080, 0x05000100, 0x05000180, D_5000200, - 0x05000280, D_5000300, 0x05000380, 0x05000400, 0x05000480, -}; +u8* sSmallNumberTex[] = { D_5000000, D_5000080, D_5000100, D_5000180, D_5000200, + D_5000280, D_5000300, D_5000380, D_5000400, D_5000480 }; void Graphics_DisplaySmallNumber(s32 xPos, s32 yPos, s32 number) { s32 place; @@ -818,22 +814,21 @@ char sLargeChars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ. 0123456789st-"; u8 sLargeCharWidths[] = { 15, 14, 14, 13, 13, 13, 14, 14, 5, 12, 14, 12, 16, 14, 15, 13, 16, 14, 13, 13, 13, 16, 17, 17, 16, 13, 5, 16, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 9, 14, 0 }; void* sLargeCharTex[] = { - 0x05008020, 0x05008110, 0x05008200, 0x050082F0, 0x050083E0, 0x050084D0, 0x050085C0, 0x050086B0, 0x050087A0, - 0x05008890, 0x05008980, 0x05008A70, 0x05008B60, 0x05008C50, 0x05008D40, 0x05008E30, 0x05008F20, 0x05009010, - 0x05009100, 0x050091F0, 0x050092E0, 0x050093D0, 0x050094C0, 0x050096A0, 0x05009880, 0x05009A60, 0x05009DB0, - NULL, D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, D_500A410, D_500A500, 0x0500A5F0, - 0x0500A6E0, 0x0500A7D0, 0x05009B50, 0x05009C40, 0x05009970, + D_5008020, D_5008110, D_5008200, D_50082F0, D_50083E0, D_50084D0, D_50085C0, D_50086B0, D_50087A0, + D_5008890, D_5008980, D_5008A70, D_5008B60, D_5008C50, D_5008D40, D_5008E30, D_5008F20, D_5009010, + D_5009100, D_50091F0, D_50092E0, D_50093D0, D_50094C0, D_50096A0, D_5009880, D_5009A60, D_5009DB0, + NULL, D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, D_500A410, D_500A500, D_500A5F0, + D_500A6E0, D_500A7D0, D_5009B50, D_5009C40, D_5009970, }; void* sLargeNumberTex[] = { - D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, D_500A410, D_500A500, 0x0500A5F0, 0x0500A6E0, 0x0500A7D0, -}; -void* sSmallCharTex[] = { - NULL, 0x050070C0, 0x05007100, 0x05007180, 0x050071C0, 0x05007200, 0x05007510, 0x05007550, 0x05007590, - 0x050075D0, 0x05007610, 0x05007650, 0x05007F60, 0x05007FA0, 0x05007FE0, 0x05009D30, 0x05009D70, 0x05009EA0, - 0x05009EE0, 0x05009F20, 0x0500B380, 0x0500B440, 0x0500B480, 0x0500B4C0, 0x0500B500, 0x0500B540, 0x0500B5C0, - 0x05007140, 0x0500B400, 0x0500B580, 0x0500B3C0, 0x05000000, 0x05000080, 0x05000100, 0x05000180, D_5000200, - 0x05000280, D_5000300, 0x05000380, 0x05000400, 0x05000480, + D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, D_500A410, D_500A500, D_500A5F0, D_500A6E0, D_500A7D0, }; +void* sSmallCharTex[] = { NULL, D_50070C0, D_5007100, D_5007180, D_50071C0, D_5007200, D_5007510, + D_5007550, D_5007590, D_50075D0, D_5007610, D_5007650, D_5007F60, D_5007FA0, + D_5007FE0, D_5009D30, D_5009D70, D_5009EA0, D_5009EE0, D_5009F20, D_500B380, + D_500B440, D_500B480, D_500B4C0, D_500B500, D_500B540, D_500B5C0, D_5007140, + D_500B400, D_500B580, D_500B3C0, D_5000000, D_5000080, D_5000100, D_5000180, + D_5000200, D_5000280, D_5000300, D_5000380, D_5000400, D_5000480 }; void Graphics_DisplayLargeText(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) { u32 charIndex; diff --git a/src/main/fox_versus.c b/src/main/fox_versus.c index 0da9edff..9ba68b96 100644 --- a/src/main/fox_versus.c +++ b/src/main/fox_versus.c @@ -38,6 +38,9 @@ s32 D_80178850[4]; OSTime D_80178860; OSTime D_80178868; +extern u8 D_5000200[]; +extern u8 D_5000300[]; + s32 D_800D4A90 = 0; s32 D_800D4A94 = 0; s32 D_800D4A98 = 0; @@ -206,7 +209,7 @@ void func_800BD3A8(f32 xPos, f32 yPos) { void func_800BD4D4(f32 xPos, f32 yPos, s32 arg2) { u8* D_800D4AF8[] = { (u8*) 0x05000000, (u8*) 0x05000080, (u8*) 0x05000100, (u8*) 0x05000180, (u8*) D_5000200, - (u8*) 0x05000280, (u8*) D_5000300, (u8*) 0x05000380, (u8*) 0x05000400, (u8*) 0x05000480, + (u8*) 0x05000280, D_5000300, (u8*) 0x05000380, (u8*) 0x05000400, (u8*) 0x05000480, }; bool var_s2 = false; s32 i = 1000; @@ -237,7 +240,7 @@ void func_800BD76C(f32 xPos, f32 yPos) { void func_800BD7C4(f32 xPos, f32 yPos, s32 arg2) { u8* D_800D4B20[] = { (u8*) 0x05000000, (u8*) 0x05000080, (u8*) 0x05000100, (u8*) 0x05000180, (u8*) D_5000200, - (u8*) 0x05000280, (u8*) D_5000300, (u8*) 0x05000380, (u8*) 0x05000400, (u8*) 0x05000480, + (u8*) 0x05000280, D_5000300, (u8*) 0x05000380, (u8*) 0x05000400, (u8*) 0x05000480, }; s32 i; diff --git a/src/overlays/ovl_menu/fox_title.c b/src/overlays/ovl_menu/fox_title.c index d551bdba..78c6192f 100644 --- a/src/overlays/ovl_menu/fox_title.c +++ b/src/overlays/ovl_menu/fox_title.c @@ -158,6 +158,9 @@ f32 D_menu_801B907C; f32 D_menu_801B9080; f32 D_menu_801B9084; +extern u8 D_5000200[]; +extern u8 D_5000300[]; + typedef struct { /* 0x00 */ Animation* unk_0; /* 0x04 */ Animation* unk_4;