From 731f363dfc11d603f814f67a8ac5711688b91d8c Mon Sep 17 00:00:00 2001 From: Alejandro Javier Asenjo Nitti Date: Tue, 6 Feb 2024 21:23:57 -0300 Subject: [PATCH] fox_versus symbols --- include/fox_versus_assets.h | 37 +++++++++++++++++++++++++++++ linker_scripts/us/undefined_syms.ld | 17 +++++++++++++ src/main/fox_versus.c | 29 +++++++++------------- 3 files changed, 65 insertions(+), 18 deletions(-) create mode 100644 include/fox_versus_assets.h diff --git a/include/fox_versus_assets.h b/include/fox_versus_assets.h new file mode 100644 index 00000000..423f7b5d --- /dev/null +++ b/include/fox_versus_assets.h @@ -0,0 +1,37 @@ +#ifndef FOX_VERSUS_ASSETS_H +#define FOX_VERSUS_ASSETS_H + +#include "global.h" + +extern u8 D_30087A0[]; +extern u8 D_3008EC0[]; +extern u8 D_3009990[]; +extern u8 D_3006040[]; +extern u8 D_30076C0[]; +extern u8 D_300B3F0[]; +extern u8 D_3004F60[]; + +extern u16 D_3008DE0[]; +extern u16 D_30098C0[]; +extern u16 D_300A390[]; +extern u16 D_3006A68[]; +extern u16 D_3008598[]; +extern u16 D_300C458[]; +extern u16 D_3005E38[]; + +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_5000280[]; +extern u8 D_5000380[]; +extern u8 D_5000400[]; +extern u8 D_5000480[]; +extern u8 D_500A5F0[]; +extern u8 D_500A6E0[]; +extern u8 D_500A7D0[]; + +#endif diff --git a/linker_scripts/us/undefined_syms.ld b/linker_scripts/us/undefined_syms.ld index 0f8b7279..3b497ebf 100644 --- a/linker_scripts/us/undefined_syms.ld +++ b/linker_scripts/us/undefined_syms.ld @@ -882,6 +882,23 @@ D_9005380 = 0x09005380; D_90075A0 = 0x090075A0; D_9004230 = 0x09004230; +// fox_versus + +D_30087A0 = 0x030087A0; +D_3008DE0 = 0x03008DE0; +D_3008EC0 = 0x03008EC0; +D_30098C0 = 0x030098C0; +D_3009990 = 0x03009990; +D_300A390 = 0x0300A390; +D_3006A68 = 0x03006A68; +D_3008598 = 0x03008598; +D_300C458 = 0x0300C458; +D_3005E38 = 0x03005E38; +D_3006040 = 0x03006040; +D_30076C0 = 0x030076C0; +D_300B3F0 = 0x0300B3F0; +D_3004F60 = 0x03004F60; + // fox_hud, to be ordered later D_101C170 = 0x0101C170; D_101C000 = 0x0101C000; diff --git a/src/main/fox_versus.c b/src/main/fox_versus.c index 9ba68b96..b8d5a371 100644 --- a/src/main/fox_versus.c +++ b/src/main/fox_versus.c @@ -38,8 +38,7 @@ s32 D_80178850[4]; OSTime D_80178860; OSTime D_80178868; -extern u8 D_5000200[]; -extern u8 D_5000300[]; +#include "fox_versus_assets.h" s32 D_800D4A90 = 0; s32 D_800D4A94 = 0; @@ -96,8 +95,8 @@ void func_800BC8D8(f32 xPos, f32 yPos, f32 scale) { } void func_800BC9DC(f32 xPos, f32 yPos, f32 scale, s32 yScale) { - u16* D_800D4AA4[] = { (u16*) 0x03008DE0, (u16*) 0x030098C0, (u16*) 0x0300A390 }; - u8* D_800D4ABC[] = { (u8*) 0x030087A0, (u8*) 0x03008EC0, (u8*) 0x03009990 }; + u16* D_800D4AA4[] = { D_3008DE0, D_30098C0, D_300A390 }; + u8* D_800D4ABC[] = { D_30087A0, D_3008EC0, D_3009990 }; s32 D_800D4AB0[] = { 40, 64, 64 }; s32 i; @@ -119,8 +118,8 @@ void func_800BCB44(f32 xPos, f32 yPos, f32 scale) { } void func_800BCC48(f32 xPos, f32 yPos, f32 xScale, f32 yScale, s32 arg4) { - u16* D_800D4AC8[] = { (u16*) 0x03006A68, (u16*) 0x03008598, (u16*) 0x0300C458, (u16*) 0x03005E38 }; - u8* D_800D4AD8[] = { (u8*) 0x03006040, (u8*) 0x030076C0, (u8*) 0x0300B3F0, (u8*) 0x03004F60 }; + u16* D_800D4AC8[] = { D_3006A68, D_3008598, D_300C458, D_3005E38 }; + u8* D_800D4AD8[] = { D_3006040, D_30076C0, D_300B3F0, D_3004F60 }; s32 D_800D4AE8[] = { 104, 152, 168, 152 }; s32 i; @@ -207,10 +206,8 @@ 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, D_5000300, (u8*) 0x05000380, (u8*) 0x05000400, (u8*) 0x05000480, - }; + u8* D_800D4AF8[] = { D_5000000, D_5000080, D_5000100, D_5000180, D_5000200, + D_5000280, D_5000300, D_5000380, D_5000400, D_5000480 }; bool var_s2 = false; s32 i = 1000; s32 j; @@ -238,10 +235,8 @@ 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, D_5000300, (u8*) 0x05000380, (u8*) 0x05000400, (u8*) 0x05000480, - }; + u8* D_800D4B20[] = { D_5000000, D_5000080, D_5000100, D_5000180, D_5000200, + D_5000280, D_5000300, D_5000380, D_5000400, D_5000480 }; s32 i; for (i = 10; i != 1; i /= 10) { @@ -266,10 +261,8 @@ void func_800BDA54(f32 xPos, f32 yPos) { } void func_800BDAA0(f32 xPos, f32 yPos, s32 arg2, s32 arg3, s32 arg4) { - u8* D_800D4B48[] = { - (u8*) D_5009F60, (u8*) D_500A050, (u8*) D_500A140, (u8*) D_500A230, (u8*) D_500A320, - (u8*) D_500A410, (u8*) D_500A500, (u8*) 0x0500A5F0, (u8*) 0x0500A6E0, (u8*) 0x0500A7D0, - }; + u8* D_800D4B48[] = { D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, + D_500A410, D_500A500, D_500A5F0, D_500A6E0, D_500A7D0 }; s32 i = 1000; s32 temp1; s32 temp2;