From ac41c180a9e68d31d18cfc57b46032f4ccaa052a Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Wed, 3 Apr 2024 09:30:50 -0500 Subject: [PATCH] Reorganizaton of main (#199) * reorganize main * more names * libc --- Makefile | 19 +- include/gfx.h | 2 +- include/variables.h | 8 +- linker_scripts/us/symbol_addrs.txt | 2 +- linker_scripts/us/symbol_addrs_assets.txt | 8 +- linker_scripts/us/symbol_addrs_nlib_vars.txt | 16 +- src/{main/sys_1FA60.c => 1FA60.c} | 0 src/{main => audio}/audio_context.c | 0 src/{main => audio}/audio_effects.c | 0 src/{main => audio}/audio_general.c | 0 src/{main => audio}/audio_heap.c | 0 src/{main => audio}/audio_load.c | 0 src/{main => audio}/audio_playback.c | 0 src/{main => audio}/audio_seqplayer.c | 0 src/{main => audio}/audio_synthesis.c | 6 +- .../audiotables.c => audio/audio_tables.c} | 0 src/{main => audio}/audio_thread.c | 0 src/{main => audio}/note_data.c | 0 src/{main => audio}/wave_samples.c | 0 src/{main/fox_buffers.c => buffers.c} | 0 src/{main => }/dmatable.c | 0 src/{main => engine}/fox_360.c | 0 src/{main => engine}/fox_852F0.c | 0 src/{main => engine}/fox_97F80.c | 0 src/{main => engine}/fox_A4290.c | 0 src/{main => engine}/fox_A4290_colheaders.c | 0 src/{main => engine}/fox_A48A0.c | 0 src/{main => engine}/fox_beam.c | 0 src/{main => engine}/fox_bg.c | 0 src/{main => engine}/fox_boss.c | 0 src/{main => engine}/fox_context.c | 0 src/{main => engine}/fox_demo.c | 0 src/{main => engine}/fox_display.c | 0 src/{main => engine}/fox_edata.c | 2 +- .../fox_edata_info.c} | 0 src/{main => engine}/fox_edisplay.c | 0 src/{main => engine}/fox_effect.c | 0 src/{main => engine}/fox_enmy.c | 0 src/{main => engine}/fox_enmy2.c | 0 src/{main => engine}/fox_fade.c | 0 src/{main => engine}/fox_game.c | 4 +- src/{main => engine}/fox_hud.c | 0 src/{main => engine}/fox_load.c | 0 src/{main => engine}/fox_load_inits.c | 0 src/{main => engine}/fox_message.c | 4 +- src/engine/fox_msg_palette.c | 32 + src/{main => engine}/fox_play.c | 0 src/{main => engine}/fox_radio.c | 0 src/{main => engine}/fox_rcp.c | 106 +-- src/engine/fox_rcp_init.c | 16 + src/{main => engine}/fox_rcp_setup.c | 2 +- src/{main => engine}/fox_reset.c | 0 src/{main => engine}/fox_save.c | 0 src/{main/gfx_data.c => engine/fox_shapes.c} | 195 +---- src/{main => engine}/fox_std_lib.c | 0 src/{main => engine}/fox_tank.c | 2 +- src/{main => engine}/fox_versus.c | 0 src/engine/fox_wheels.c | 166 +++++ src/{main/sys_math64.c => libc_math64.c} | 0 src/{main/sys_sprintf.c => libc_sprintf.c} | 0 src/overlays/ovl_i5/fox_ma.c | 2 +- src/{main => sys}/sys_fault.c | 0 src/{main => sys}/sys_joybus.c | 0 src/{main => sys}/sys_lib.c | 0 src/{main => sys}/sys_lights.c | 0 src/{main => sys}/sys_main.c | 0 src/{main => sys}/sys_math.c | 0 src/{main => sys}/sys_matrix.c | 0 src/{main => sys}/sys_memory.c | 0 src/{main => sys}/sys_save.c | 0 src/{main => sys}/sys_timer.c | 0 yamls/us/main.yaml | 697 +++++++++--------- yamls/us/overlays.yaml | 5 +- 73 files changed, 653 insertions(+), 641 deletions(-) rename src/{main/sys_1FA60.c => 1FA60.c} (100%) rename src/{main => audio}/audio_context.c (100%) rename src/{main => audio}/audio_effects.c (100%) rename src/{main => audio}/audio_general.c (100%) rename src/{main => audio}/audio_heap.c (100%) rename src/{main => audio}/audio_load.c (100%) rename src/{main => audio}/audio_playback.c (100%) rename src/{main => audio}/audio_seqplayer.c (100%) rename src/{main => audio}/audio_synthesis.c (99%) rename src/{main/audiotables.c => audio/audio_tables.c} (100%) rename src/{main => audio}/audio_thread.c (100%) rename src/{main => audio}/note_data.c (100%) rename src/{main => audio}/wave_samples.c (100%) rename src/{main/fox_buffers.c => buffers.c} (100%) rename src/{main => }/dmatable.c (100%) rename src/{main => engine}/fox_360.c (100%) rename src/{main => engine}/fox_852F0.c (100%) rename src/{main => engine}/fox_97F80.c (100%) rename src/{main => engine}/fox_A4290.c (100%) rename src/{main => engine}/fox_A4290_colheaders.c (100%) rename src/{main => engine}/fox_A48A0.c (100%) rename src/{main => engine}/fox_beam.c (100%) rename src/{main => engine}/fox_bg.c (100%) rename src/{main => engine}/fox_boss.c (100%) rename src/{main => engine}/fox_context.c (100%) rename src/{main => engine}/fox_demo.c (100%) rename src/{main => engine}/fox_display.c (100%) rename src/{main => engine}/fox_edata.c (96%) rename src/{main/fox_edata_1C.c => engine/fox_edata_info.c} (100%) rename src/{main => engine}/fox_edisplay.c (100%) rename src/{main => engine}/fox_effect.c (100%) rename src/{main => engine}/fox_enmy.c (100%) rename src/{main => engine}/fox_enmy2.c (100%) rename src/{main => engine}/fox_fade.c (100%) rename src/{main => engine}/fox_game.c (99%) rename src/{main => engine}/fox_hud.c (100%) rename src/{main => engine}/fox_load.c (100%) rename src/{main => engine}/fox_load_inits.c (100%) rename src/{main => engine}/fox_message.c (97%) create mode 100644 src/engine/fox_msg_palette.c rename src/{main => engine}/fox_play.c (100%) rename src/{main => engine}/fox_radio.c (100%) rename src/{main => engine}/fox_rcp.c (56%) create mode 100644 src/engine/fox_rcp_init.c rename src/{main => engine}/fox_rcp_setup.c (99%) rename src/{main => engine}/fox_reset.c (100%) rename src/{main => engine}/fox_save.c (100%) rename src/{main/gfx_data.c => engine/fox_shapes.c} (57%) rename src/{main => engine}/fox_std_lib.c (100%) rename src/{main => engine}/fox_tank.c (99%) rename src/{main => engine}/fox_versus.c (100%) create mode 100644 src/engine/fox_wheels.c rename src/{main/sys_math64.c => libc_math64.c} (100%) rename src/{main/sys_sprintf.c => libc_sprintf.c} (100%) rename src/{main => sys}/sys_fault.c (100%) rename src/{main => sys}/sys_joybus.c (100%) rename src/{main => sys}/sys_lib.c (100%) rename src/{main => sys}/sys_lights.c (100%) rename src/{main => sys}/sys_main.c (100%) rename src/{main => sys}/sys_math.c (100%) rename src/{main => sys}/sys_matrix.c (100%) rename src/{main => sys}/sys_memory.c (100%) rename src/{main => sys}/sys_save.c (100%) rename src/{main => sys}/sys_timer.c (100%) diff --git a/Makefile b/Makefile index 333ddf3e..efb8e7b9 100644 --- a/Makefile +++ b/Makefile @@ -253,22 +253,13 @@ build/src/libultra/gu/%.o: OPTFLAGS := -O3 -g0 build/src/libultra/io/%.o: OPTFLAGS := -O1 -g0 build/src/libultra/os/%.o: OPTFLAGS := -O1 -g0 build/src/libultra/rmon/%.o: OPTFLAGS := -O1 -g0 +build/src/libultra/debug/%.o: OPTFLAGS := -O1 -g0 +build/src/libultra/host/%.o: OPTFLAGS := -O1 -g0 +build/src/audio/%.o: OPTFLAGS := -O2 -g0 # per-file flags -build/src/main/audio_synthesis.o: OPTFLAGS := -O2 -g0 -build/src/main/audio_seqplayer.o: OPTFLAGS := -O2 -g0 -build/src/main/audio_effects.o: OPTFLAGS := -O2 -g0 -build/src/main/audio_playback.o: OPTFLAGS := -O2 -g0 -build/src/main/audio_load.o: OPTFLAGS := -O2 -g0 -build/src/main/audio_general.o: OPTFLAGS := -O2 -g0 -build/src/main/audio_heap.o: OPTFLAGS := -O2 -g0 -build/src/main/audio_thread.o: OPTFLAGS := -O2 -g0 -build/src/main/sys_sprintf.o: OPTFLAGS := -O2 -g0 -build/src/main/sys_math64.o: OPTFLAGS := -O2 -g0 - -build/src/libultra/debug/kdebugserver.o: OPTFLAGS := -O1 -g0 - -build/src/libultra/host/readhost.o: OPTFLAGS := -O1 -g0 +build/src/libc_sprintf.o: OPTFLAGS := -O2 -g0 +build/src/libc_math64.o: OPTFLAGS := -O2 -g0 build/src/libultra/libc/ldiv.o: OPTFLAGS := -O2 -g0 build/src/libultra/libc/string.o: OPTFLAGS := -O2 -g0 diff --git a/include/gfx.h b/include/gfx.h index ee8bb1c5..c6a0f440 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -293,7 +293,7 @@ typedef enum SetupDL { /* 0x58 */ SETUPDL_MAX } SetupDL; -extern Gfx gSetupDLs[SETUPDL_MAX][9]; // 0x800D31B0 +extern Gfx gRcpSetupDLs[SETUPDL_MAX][9]; // 0x800D31B0 extern u8 D_80178580[]; extern void* D_80178710; diff --git a/include/variables.h b/include/variables.h index 43bd51a7..9ed05f22 100644 --- a/include/variables.h +++ b/include/variables.h @@ -191,13 +191,13 @@ extern s32 sUnlockOnFoot; // sUnlockOnFoot extern s32 D_versus_80178768[]; // gfx_data -extern u16 D_Unk_800DACB8[][32]; +extern u16 D_Tex_800DACB8[][32]; extern u16 D_Tex_800D99F8[]; -extern u16 D_Tex_800DBA20[]; -extern Gfx D_Gfx_800DBAA0[]; +extern u16 gTextCharPalettes[]; +extern Gfx gRcpInitDL[]; extern Gfx D_Gfx_800DAC20[]; extern Gfx D_Gfx_800D9688[]; -extern u8 D_Unk_800DB4B8[]; +extern u8 D_Tex_800DB4B8[]; extern Gfx D_Gfx_800D94D0[]; diff --git a/linker_scripts/us/symbol_addrs.txt b/linker_scripts/us/symbol_addrs.txt index ac960417..d69e11a9 100644 --- a/linker_scripts/us/symbol_addrs.txt +++ b/linker_scripts/us/symbol_addrs.txt @@ -71,7 +71,7 @@ D_edata_800CC124 = 0x800CC124;//type:u8 D_boss_800C9E90 = 0x800C9E90;//size:0x70 D_play_800D3180 = 0x800D3180; // size:0x20 -gSetupDLs = 0x800D31B0; // size:0x18C0 +gRcpSetupDLs = 0x800D31B0; // size:0x18C0 D_edisplay_800CFCA0 = 0x800CFCA0; diff --git a/linker_scripts/us/symbol_addrs_assets.txt b/linker_scripts/us/symbol_addrs_assets.txt index 5cd8fa45..9ae8fb9b 100644 --- a/linker_scripts/us/symbol_addrs_assets.txt +++ b/linker_scripts/us/symbol_addrs_assets.txt @@ -10,11 +10,11 @@ D_Gfx_800DAB28 = 0x800DAB28; // type:Gfx D_Gfx_800DAB80 = 0x800DAB80; // type:Gfx D_Gfx_800DAC20 = 0x800DAC20; // type:Gfx D_Gfx_800DACA0 = 0x800DACA0; // type:Gfx -D_Gfx_800DBAA0 = 0x800DBAA0; // type:Gfx +gRcpInitDL = 0x800DBAA0; // type:Gfx D_Tex_800DA1F8 = 0x800DA1F8; D_Tex_800D99F8 = 0x800D99F8; -D_Tex_800DBA20 = 0x800DBA20; +gTextCharPalettes = 0x800DBA20; D_Vtx_800D94A0 = 0x800D94A0; D_Vtx_800D94E8 = 0x800D94E8; @@ -29,8 +29,8 @@ D_Vtx_800DAB40 = 0x800DAB40; D_Vtx_800DABE0 = 0x800DABE0; D_Vtx_800DAC80 = 0x800DAC80; -D_Unk_800DACB8 = 0x800DACB8; -D_Unk_800DB4B8 = 0x800DB4B8; +D_Tex_800DACB8 = 0x800DACB8; +D_Tex_800DB4B8 = 0x800DB4B8; D_Unk_800D96E8 = 0x800D96E8; // type:s16 gSawtoothWaveSample = 0x800DBB10; // size:0x200 type:s16 diff --git a/linker_scripts/us/symbol_addrs_nlib_vars.txt b/linker_scripts/us/symbol_addrs_nlib_vars.txt index 2cb46a53..41d531c8 100644 --- a/linker_scripts/us/symbol_addrs_nlib_vars.txt +++ b/linker_scripts/us/symbol_addrs_nlib_vars.txt @@ -131,12 +131,12 @@ gDmaTable = 0x80178A70; //size:0x5A0 D_80178A70 = 0x80178A78; //ignore:true // buffers -gDramStack = 0x80281000; //size:0x400 segment:fox_buffers defined:true -gOSYieldData = 0x80281400; //size:0xC00 segment:fox_buffers defined:true -gZBuffer = 0x80282000; //size:0x25800 segment:fox_buffers defined:true -gTaskOutputBuffer = 0x802A7800; //size:0x30000 name_end:gTaskOutputBufferEnd segment:fox_buffers defined:true -gAudioHeap = 0x802D7800; //size:0xB0000 segment:fox_buffers defined:true -gTextureRenderBuffer = 0x80387800; //size:0x7880 segment:fox_buffers defined:true -gFillBuffer = 0x8038F080; //size:0x780 segment:fox_buffers defined:true -gFrameBuffers = 0x8038F800; //size:0x70800 segment:fox_buffers defined:true +gDramStack = 0x80281000; //size:0x400 segment:buffers defined:true +gOSYieldData = 0x80281400; //size:0xC00 segment:buffers defined:true +gZBuffer = 0x80282000; //size:0x25800 segment:buffers defined:true +gTaskOutputBuffer = 0x802A7800; //size:0x30000 name_end:gTaskOutputBufferEnd segment:buffers defined:true +gAudioHeap = 0x802D7800; //size:0xB0000 segment:buffers defined:true +gTextureRenderBuffer = 0x80387800; //size:0x7880 segment:buffers defined:true +gFillBuffer = 0x8038F080; //size:0x780 segment:buffers defined:true +gFrameBuffers = 0x8038F800; //size:0x70800 segment:buffers defined:true D_8038F300 = 0x8038F300; //ignore:true diff --git a/src/main/sys_1FA60.c b/src/1FA60.c similarity index 100% rename from src/main/sys_1FA60.c rename to src/1FA60.c diff --git a/src/main/audio_context.c b/src/audio/audio_context.c similarity index 100% rename from src/main/audio_context.c rename to src/audio/audio_context.c diff --git a/src/main/audio_effects.c b/src/audio/audio_effects.c similarity index 100% rename from src/main/audio_effects.c rename to src/audio/audio_effects.c diff --git a/src/main/audio_general.c b/src/audio/audio_general.c similarity index 100% rename from src/main/audio_general.c rename to src/audio/audio_general.c diff --git a/src/main/audio_heap.c b/src/audio/audio_heap.c similarity index 100% rename from src/main/audio_heap.c rename to src/audio/audio_heap.c diff --git a/src/main/audio_load.c b/src/audio/audio_load.c similarity index 100% rename from src/main/audio_load.c rename to src/audio/audio_load.c diff --git a/src/main/audio_playback.c b/src/audio/audio_playback.c similarity index 100% rename from src/main/audio_playback.c rename to src/audio/audio_playback.c diff --git a/src/main/audio_seqplayer.c b/src/audio/audio_seqplayer.c similarity index 100% rename from src/main/audio_seqplayer.c rename to src/audio/audio_seqplayer.c diff --git a/src/main/audio_synthesis.c b/src/audio/audio_synthesis.c similarity index 99% rename from src/main/audio_synthesis.c rename to src/audio/audio_synthesis.c index c5d70994..b2a38b8a 100644 --- a/src/main/audio_synthesis.c +++ b/src/audio/audio_synthesis.c @@ -345,7 +345,7 @@ void func_80008780(f32* arg0, s32 arg1, f32* arg2) { } } #else -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/audio_synthesis/func_80008780.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/audio/audio_synthesis/func_80008780.s") #endif #ifdef NON_MATCHING @@ -474,7 +474,7 @@ void func_80009124(s16** arg0) { } #else void func_80009124(s16** arg0); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/audio_synthesis/func_80009124.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/audio/audio_synthesis/func_80009124.s") #endif void func_80009504(s16* arg0, UnkStruct_800097A8* arg1) { @@ -1122,7 +1122,7 @@ Acmd* func_8000A700(s32 noteIndex, NoteSubEu* noteSub, NoteSynthesisState* synth return aList; } #else -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/audio_synthesis/func_8000A700.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/audio/audio_synthesis/func_8000A700.s") #endif Acmd* func_8000B3F0(Acmd* aList, NoteSubEu* noteSub, NoteSynthesisState* synthState, s32 numSamplesToLoad) { diff --git a/src/main/audiotables.c b/src/audio/audio_tables.c similarity index 100% rename from src/main/audiotables.c rename to src/audio/audio_tables.c diff --git a/src/main/audio_thread.c b/src/audio/audio_thread.c similarity index 100% rename from src/main/audio_thread.c rename to src/audio/audio_thread.c diff --git a/src/main/note_data.c b/src/audio/note_data.c similarity index 100% rename from src/main/note_data.c rename to src/audio/note_data.c diff --git a/src/main/wave_samples.c b/src/audio/wave_samples.c similarity index 100% rename from src/main/wave_samples.c rename to src/audio/wave_samples.c diff --git a/src/main/fox_buffers.c b/src/buffers.c similarity index 100% rename from src/main/fox_buffers.c rename to src/buffers.c diff --git a/src/main/dmatable.c b/src/dmatable.c similarity index 100% rename from src/main/dmatable.c rename to src/dmatable.c diff --git a/src/main/fox_360.c b/src/engine/fox_360.c similarity index 100% rename from src/main/fox_360.c rename to src/engine/fox_360.c diff --git a/src/main/fox_852F0.c b/src/engine/fox_852F0.c similarity index 100% rename from src/main/fox_852F0.c rename to src/engine/fox_852F0.c diff --git a/src/main/fox_97F80.c b/src/engine/fox_97F80.c similarity index 100% rename from src/main/fox_97F80.c rename to src/engine/fox_97F80.c diff --git a/src/main/fox_A4290.c b/src/engine/fox_A4290.c similarity index 100% rename from src/main/fox_A4290.c rename to src/engine/fox_A4290.c diff --git a/src/main/fox_A4290_colheaders.c b/src/engine/fox_A4290_colheaders.c similarity index 100% rename from src/main/fox_A4290_colheaders.c rename to src/engine/fox_A4290_colheaders.c diff --git a/src/main/fox_A48A0.c b/src/engine/fox_A48A0.c similarity index 100% rename from src/main/fox_A48A0.c rename to src/engine/fox_A48A0.c diff --git a/src/main/fox_beam.c b/src/engine/fox_beam.c similarity index 100% rename from src/main/fox_beam.c rename to src/engine/fox_beam.c diff --git a/src/main/fox_bg.c b/src/engine/fox_bg.c similarity index 100% rename from src/main/fox_bg.c rename to src/engine/fox_bg.c diff --git a/src/main/fox_boss.c b/src/engine/fox_boss.c similarity index 100% rename from src/main/fox_boss.c rename to src/engine/fox_boss.c diff --git a/src/main/fox_context.c b/src/engine/fox_context.c similarity index 100% rename from src/main/fox_context.c rename to src/engine/fox_context.c diff --git a/src/main/fox_demo.c b/src/engine/fox_demo.c similarity index 100% rename from src/main/fox_demo.c rename to src/engine/fox_demo.c diff --git a/src/main/fox_display.c b/src/engine/fox_display.c similarity index 100% rename from src/main/fox_display.c rename to src/engine/fox_display.c diff --git a/src/main/fox_edata.c b/src/engine/fox_edata.c similarity index 96% rename from src/main/fox_edata.c rename to src/engine/fox_edata.c index b692f50f..ef1ff097 100644 --- a/src/main/fox_edata.c +++ b/src/engine/fox_edata.c @@ -1,6 +1,6 @@ #include "global.h" -#include "fox_edata_1C.c" +#include "fox_edata_info.c" f32* D_edata_800CF964[] = { NULL }; diff --git a/src/main/fox_edata_1C.c b/src/engine/fox_edata_info.c similarity index 100% rename from src/main/fox_edata_1C.c rename to src/engine/fox_edata_info.c diff --git a/src/main/fox_edisplay.c b/src/engine/fox_edisplay.c similarity index 100% rename from src/main/fox_edisplay.c rename to src/engine/fox_edisplay.c diff --git a/src/main/fox_effect.c b/src/engine/fox_effect.c similarity index 100% rename from src/main/fox_effect.c rename to src/engine/fox_effect.c diff --git a/src/main/fox_enmy.c b/src/engine/fox_enmy.c similarity index 100% rename from src/main/fox_enmy.c rename to src/engine/fox_enmy.c diff --git a/src/main/fox_enmy2.c b/src/engine/fox_enmy2.c similarity index 100% rename from src/main/fox_enmy2.c rename to src/engine/fox_enmy2.c diff --git a/src/main/fox_fade.c b/src/engine/fox_fade.c similarity index 100% rename from src/main/fox_fade.c rename to src/engine/fox_fade.c diff --git a/src/main/fox_game.c b/src/engine/fox_game.c similarity index 99% rename from src/main/fox_game.c rename to src/engine/fox_game.c index b9537167..de2f1120 100644 --- a/src/main/fox_game.c +++ b/src/engine/fox_game.c @@ -142,7 +142,7 @@ bool func_game_800A1B6C(void) { } void func_game_800A1C14(Gfx** arg0) { - gSPDisplayList((*arg0)++, D_Gfx_800DBAA0); + gSPDisplayList((*arg0)++, gRcpInitDL); gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 8, 8, SCREEN_WIDTH - 8, SCREEN_HEIGHT - 8); gDPSetDepthImage((*arg0)++, &gZBuffer); gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, &gZBuffer); @@ -166,7 +166,7 @@ void func_game_800A1C14(Gfx** arg0) { } void func_game_800A1E68(Gfx** arg0) { - gSPDisplayList((*arg0)++, D_Gfx_800DBAA0); + gSPDisplayList((*arg0)++, gRcpInitDL); gDPSetScissor((*arg0)++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT * 3); gDPSetFillColor((*arg0)++, FILL_COLOR(0x0001)); gDPSetColorImage((*arg0)++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, gFrameBuffers[0].data); diff --git a/src/main/fox_hud.c b/src/engine/fox_hud.c similarity index 100% rename from src/main/fox_hud.c rename to src/engine/fox_hud.c diff --git a/src/main/fox_load.c b/src/engine/fox_load.c similarity index 100% rename from src/main/fox_load.c rename to src/engine/fox_load.c diff --git a/src/main/fox_load_inits.c b/src/engine/fox_load_inits.c similarity index 100% rename from src/main/fox_load_inits.c rename to src/engine/fox_load_inits.c diff --git a/src/main/fox_message.c b/src/engine/fox_message.c similarity index 97% rename from src/main/fox_message.c rename to src/engine/fox_message.c index 9168a04c..0277cc17 100644 --- a/src/main/fox_message.c +++ b/src/engine/fox_message.c @@ -66,7 +66,7 @@ bool Message_DisplayText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 len) gDPSetPrimColor((*gfxPtr)++, 0x00, 0x00, 255, 255, 255, 255); gDPSetTextureLUT((*gfxPtr)++, G_TT_RGBA16); - gDPLoadTLUT((*gfxPtr)++, 64, 0x100, D_Tex_800DBA20); + gDPLoadTLUT((*gfxPtr)++, 64, 0x100, gTextCharPalettes); // bug: if the for loop is skipped, print is never initialized for (i = 0; msgPtr[i] != MSGCHAR_END && i < len; i++) { @@ -117,7 +117,7 @@ void Message_DisplayScrollingText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 i; gDPSetTextureLUT((*gfxPtr)++, G_TT_RGBA16); - gDPLoadTLUT((*gfxPtr)++, 64, 0x100, D_Tex_800DBA20); + gDPLoadTLUT((*gfxPtr)++, 64, 0x100, gTextCharPalettes); for (i = 0; msgPtr[i] != 0 && i < len; i++) { switch (msgPtr[i]) { diff --git a/src/engine/fox_msg_palette.c b/src/engine/fox_msg_palette.c new file mode 100644 index 00000000..687f857d --- /dev/null +++ b/src/engine/fox_msg_palette.c @@ -0,0 +1,32 @@ +#include "gfx.h" + +// clang-format off + +u16 gTextCharPalettes[4][16] = { + { + 0x0000, 0xFFFF, 0x0000, 0xFFFF, + 0x0000, 0xFFFF, 0x0000, 0xFFFF, + 0x0000, 0xFFFF, 0x0000, 0xFFFF, + 0x0000, 0xFFFF, 0x0000, 0xFFFF, + }, + { + 0x0000, 0x0000, 0xFFFF, 0xFFFF, + 0x0000, 0x0000, 0xFFFF, 0xFFFF, + 0x0000, 0x0000, 0xFFFF, 0xFFFF, + 0x0000, 0x0000, 0xFFFF, 0xFFFF, + }, + { + 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + }, + { + 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + } +}; + +// clang-format on diff --git a/src/main/fox_play.c b/src/engine/fox_play.c similarity index 100% rename from src/main/fox_play.c rename to src/engine/fox_play.c diff --git a/src/main/fox_radio.c b/src/engine/fox_radio.c similarity index 100% rename from src/main/fox_radio.c rename to src/engine/fox_radio.c diff --git a/src/main/fox_rcp.c b/src/engine/fox_rcp.c similarity index 56% rename from src/main/fox_rcp.c rename to src/engine/fox_rcp.c index 2cff7f57..d59a1c5f 100644 --- a/src/main/fox_rcp.c +++ b/src/engine/fox_rcp.c @@ -6,7 +6,7 @@ u8 D_80178580[0x190]; void* D_80178710; void RCP_SetupDL(Gfx** gfxP, s16 i) { - gSPDisplayList((*gfxP)++, &((Gfx*) gSetupDLs)[i * 9]); + gSPDisplayList((*gfxP)++, &((Gfx*) gRcpSetupDLs)[i * 9]); } void RCP_SetFog(Gfx** gfxP, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { @@ -21,241 +21,241 @@ void dummy_800B8F10(void) { } void RCP_SetupDL_0(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_0]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_0]); } void RCP_SetupDL_1(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_1]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_1]); } void RCP_SetupDL_11(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_11]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_11]); } void RCP_SetupDL_12(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_12]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_12]); } void RCP_SetupDL_2(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_2]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_2]); } void RCP_SetupDL_3(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_3]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_3]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_4(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_4]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_4]); } void RCP_SetupDL_7(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_7]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_7]); } void RCP_SetupDL_9(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_9]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_9]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_8(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_8]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_8]); } void RCP_SetupDL_13(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_13]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_13]); } void RCP_SetupDL_14(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_14]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_14]); } void RCP_SetupDL_17(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_17]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_17]); } void RCP_SetupDL_36(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_36]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_36]); } void RCP_SetupDL_52(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_52]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_52]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_62(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_62]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_62]); } void RCP_SetupDL_37(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_37]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_37]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_18(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_18]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_18]); } void RCP_SetupDL_20(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_20]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_20]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_19(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_19]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_19]); } void RCP_SetupDL_21(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_21]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_21]); } void RCP_SetupDL_33(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_33]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_33]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_34(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_34]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_34]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_40(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_40]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_40]); } void RCP_SetupDL_42(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_42]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_42]); } void RCP_SetupDL_43(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_43]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_43]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_60(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_60]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_60]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_47(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_47]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_47]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_66(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_66]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_66]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_55(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_55]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_55]); } void RCP_SetupDL_57(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_57]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_57]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_45(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_45]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_45]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_46(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_46]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_46]); } void RCP_SetupDL_41(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_41]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_41]); } void RCP_SetupDL_64(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_64]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_64]); } void RCP_SetupDL_64_2(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_64]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_64]); } void RCP_SetupDL_23(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_23]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_23]); } void RCP_SetupDL_29(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_29]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_29]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_30(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_30]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_30]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } void RCP_SetupDL_27(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_27]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_27]); } void RCP_SetupDL_32(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_32]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_32]); } void RCP_SetupDL_73(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_73]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_73]); } void RCP_SetupDL_76(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_76]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_76]); } void RCP_SetupDL_74(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_74]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_74]); } void RCP_SetupDL_78(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_78]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_78]); } void RCP_SetupDL_81(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_81]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_81]); } void RCP_SetupDL_48(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_48]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_48]); } void RCP_SetupDL_68(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_68]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_68]); } void RCP_SetupDL_49(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_49]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_49]); } void RCP_SetupDL_44(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_44]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_44]); } void RCP_SetupDL_50(void) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_50]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_50]); } void RCP_SetupDL_61(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) { - gSPDisplayList(gMasterDisp++, gSetupDLs[SETUPDL_61]); + gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_61]); gDPSetFogColor(gMasterDisp++, r, g, b, a); gSPFogPosition(gMasterDisp++, near, far); } diff --git a/src/engine/fox_rcp_init.c b/src/engine/fox_rcp_init.c new file mode 100644 index 00000000..b37cc58a --- /dev/null +++ b/src/engine/fox_rcp_init.c @@ -0,0 +1,16 @@ +#include "gfx.h" + +Gfx gRcpInitDL[] = { + gsDPPipeSync(), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | + G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH), + gsSPSetOtherMode(G_SETOTHERMODE_L, G_MDSFT_ALPHACOMPARE, 3, G_AC_NONE | G_ZS_PIXEL), + gsDPSetRenderMode(G_RM_NOOP, G_RM_NOOP2), + gsSPSetOtherModeHi(G_AD_NOISE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | + G_TD_CLAMP | G_TP_PERSP | G_CYC_FILL | G_PM_NPRIMITIVE), + gsSPClipRatio(FRUSTRATIO_1), + gsSPEndDisplayList(), +}; diff --git a/src/main/fox_rcp_setup.c b/src/engine/fox_rcp_setup.c similarity index 99% rename from src/main/fox_rcp_setup.c rename to src/engine/fox_rcp_setup.c index c96c31df..1623f140 100644 --- a/src/main/fox_rcp_setup.c +++ b/src/engine/fox_rcp_setup.c @@ -1,6 +1,6 @@ #include "gfx.h" -Gfx gSetupDLs[][9] = { +Gfx gRcpSetupDLs[][9] = { { gsDPPipeSync(), gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | diff --git a/src/main/fox_reset.c b/src/engine/fox_reset.c similarity index 100% rename from src/main/fox_reset.c rename to src/engine/fox_reset.c diff --git a/src/main/fox_save.c b/src/engine/fox_save.c similarity index 100% rename from src/main/fox_save.c rename to src/engine/fox_save.c diff --git a/src/main/gfx_data.c b/src/engine/fox_shapes.c similarity index 57% rename from src/main/gfx_data.c rename to src/engine/fox_shapes.c index 3c173160..9b13a370 100644 --- a/src/main/gfx_data.c +++ b/src/engine/fox_shapes.c @@ -130,7 +130,6 @@ Gfx D_Gfx_800D9990[] = { gsSPEndDisplayList(), }; -// u16 D_Tex_800D99F8[32][32]; ? u16 D_Tex_800D99F8[1024] = { // used in fox_hud 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, @@ -208,7 +207,7 @@ u16 D_Tex_800D99F8[1024] = { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, }; -// u16 D_Tex_800DA1F8[32][32]; ? + u16 D_Tex_800DA1F8[1024] = { 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, @@ -363,195 +362,3 @@ Gfx D_Gfx_800DAC20[] = { gsSP1Triangle(0, 3, 2, 0), gsSPEndDisplayList(), }; - -Vtx D_Vtx_800DAC80[] = { - VTX(0, 0, 0, 0, 0, 0, 0, 0, 255), - VTX(0, 0, -1, 0, 1984, 0, 0, 0, 255), -}; - -Gfx D_Gfx_800DACA0[] = { - // unused - gsSPVertex(D_Vtx_800DAC80, 2, 0), - gsSPLine3D(0, 1, 0), - gsSPEndDisplayList(), -}; - -// u16 D_Unk_800DACB8[32][32]; ? -u16 D_Unk_800DACB8[] = { - // used in fox_tank for landmaster wheels - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x4A51, 0x4A51, 0x4A51, 0x4A51, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x7BDD, 0x7BDD, - 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x7BDD, - 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, 0xD671, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, - 0x294B, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0001, 0x0001, 0x318D, 0x0843, 0x0843, 0x0843, 0xD671, - 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, - 0x318D, 0x1085, 0x1085, 0x0843, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x18C7, - 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, - 0x0001, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, - 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, - 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x294B, 0x4A51, 0x1085, 0x1085, 0x318D, - 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x39CF, - 0x6B17, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x2909, - 0x1085, 0x0843, 0x420F, 0x420F, 0x739B, 0x739B, 0x1085, 0x2107, 0x420F, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, - 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, - 0x0843, 0x18C7, 0x18C7, 0x1085, 0x2109, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x41CF, 0x2107, 0x318D, - 0x318D, 0x1085, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, - 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x739B, 0x1085, 0x1085, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, - 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, - 0x0001, 0x6B5B, 0x6B5B, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, - 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, - 0x39CF, 0x420F, 0x0001, 0x0001, 0x6B5B, 0xFFFF, 0xFFFF, 0x6B5B, 0x0001, 0x0001, 0x739B, 0x6B17, 0x4A51, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x294B, 0x39CF, 0x420F, 0x0001, 0x0001, 0x6B5B, 0xFFFF, 0xFFFF, 0x6B5B, 0x0001, 0x0001, - 0x739B, 0x6B17, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, - 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, 0x0001, 0x6B5B, - 0x6B5B, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, - 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x0843, 0x0843, - 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x1085, 0x1085, 0x318D, 0x318D, - 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, - 0x0843, 0x18C7, 0x18C7, 0x1085, 0x2109, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x41CF, 0x2107, 0x318D, - 0x318D, 0x1085, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, - 0x7BDD, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x2909, 0x1085, 0x0843, 0x420F, 0x420F, 0x739B, 0x739B, - 0x1085, 0x2107, 0x420F, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, - 0x0843, 0x39CF, 0x6B17, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, - 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, - 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x294B, 0x4A51, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, - 0x318D, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, - 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, - 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, - 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0843, - 0x0843, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x0843, 0x0843, 0xD671, 0x4A51, 0x4A51, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, - 0x294B, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0001, 0x0001, 0x318D, 0x0843, 0x0843, 0x0843, 0xD671, - 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x7BDD, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, - 0xD671, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, - 0x7BDD, 0x7BDD, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, - 0x0001, 0x0001, -}; - -// u8 D_Unk_800DB4B8[32][32] ? -u8 D_Unk_800DB4B8[] = { - // used in fox_ma - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, - 0x09, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0B, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x0F, 0x14, 0x15, 0x0C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x16, 0x17, 0x0E, 0x0F, - 0x0F, 0x10, 0x12, 0x18, 0x18, 0x19, 0x0F, 0x1A, 0x1B, 0x1C, 0x0C, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x0C, 0x0D, 0x1D, 0x1E, 0x0F, 0x0F, 0x1F, 0x20, 0x20, 0x20, 0x20, - 0x1F, 0x21, 0x22, 0x0D, 0x23, 0x23, 0x24, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x25, 0x09, 0x26, 0x27, 0x14, 0x1A, 0x28, 0x0F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x0F, 0x29, 0x2A, 0x2B, 0x15, - 0x17, 0x2C, 0x2D, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x09, 0x2F, 0x30, 0x03, 0x31, 0x32, - 0x21, 0x0F, 0x33, 0x1F, 0x20, 0x20, 0x1F, 0x33, 0x28, 0x34, 0x30, 0x35, 0x36, 0x37, 0x34, 0x38, 0x39, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x15, 0x3A, 0x3B, 0x3C, 0x3C, 0x05, 0x34, 0x28, 0x0F, 0x0F, 0x33, 0x1F, 0x1F, - 0x33, 0x3C, 0x3D, 0x3E, 0x10, 0x3F, 0x04, 0x40, 0x3C, 0x41, 0x14, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x16, - 0x42, 0x34, 0x43, 0x1F, 0x1F, 0x3C, 0x3C, 0x44, 0x45, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x3C, 0x3C, 0x40, 0x3D, 0x45, - 0x1F, 0x1F, 0x45, 0x3D, 0x3B, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x25, 0x36, 0x40, 0x46, 0x12, 0x45, 0x1F, - 0x3C, 0x3C, 0x47, 0x45, 0x45, 0x45, 0x45, 0x3C, 0x45, 0x45, 0x28, 0x45, 0x46, 0x12, 0x45, 0x1F, 0x45, 0x48, 0x26, - 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x0A, 0x26, 0x49, 0x3D, 0x46, 0x4A, 0x12, 0x1F, 0x3C, 0x4B, 0x45, 0x4C, 0x4D, 0x4D, - 0x4D, 0x4D, 0x4C, 0x45, 0x45, 0x45, 0x4E, 0x4F, 0x12, 0x1F, 0x44, 0x49, 0x16, 0x0A, 0x0B, 0x00, 0x00, 0x0C, 0x16, - 0x15, 0x42, 0x34, 0x3C, 0x50, 0x4E, 0x3C, 0x3C, 0x3C, 0x51, 0x20, 0x20, 0x52, 0x53, 0x52, 0x20, 0x20, 0x54, 0x45, - 0x45, 0x4E, 0x4E, 0x45, 0x55, 0x2F, 0x56, 0x26, 0x1C, 0x0C, 0x16, 0x57, 0x58, 0x49, 0x59, 0x10, 0x40, 0x3D, 0x3C, - 0x3C, 0x3C, 0x18, 0x52, 0x53, 0x46, 0x5A, 0x5A, 0x46, 0x53, 0x52, 0x20, 0x5B, 0x45, 0x45, 0x45, 0x45, 0x3D, 0x5C, - 0x35, 0x5D, 0x58, 0x01, 0x27, 0x5E, 0x5F, 0x3D, 0x60, 0x05, 0x47, 0x3D, 0x61, 0x62, 0x18, 0x4D, 0x4E, 0x63, 0x64, - 0x65, 0x65, 0x66, 0x67, 0x4E, 0x4D, 0x20, 0x54, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x68, 0x69, 0x6A, 0x3F, - 0x6B, 0x11, 0x1F, 0x6C, 0x3D, 0x3D, 0x0F, 0x6D, 0x20, 0x5A, 0x4A, 0x65, 0x12, 0x6E, 0x6E, 0x12, 0x6F, 0x70, 0x5A, - 0x20, 0x71, 0x45, 0x45, 0x45, 0x72, 0x1F, 0x11, 0x48, 0x45, 0x31, 0x73, 0x72, 0x11, 0x20, 0x20, 0x1F, 0x03, 0x3D, - 0x62, 0x20, 0x4D, 0x63, 0x74, 0x75, 0x3E, 0x4B, 0x4B, 0x76, 0x77, 0x78, 0x67, 0x4D, 0x20, 0x79, 0x45, 0x72, 0x1F, - 0x20, 0x20, 0x11, 0x48, 0x60, 0x7A, 0x11, 0x18, 0x20, 0x20, 0x20, 0x74, 0x3D, 0x19, 0x20, 0x4E, 0x4A, 0x7B, 0x76, - 0x45, 0x45, 0x45, 0x45, 0x76, 0x7C, 0x70, 0x7D, 0x20, 0x19, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x12, 0x7E, 0x07, - 0x11, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x3D, 0x7F, 0x20, 0x4E, 0x80, 0x81, 0x3E, 0x45, 0x45, 0x45, 0x45, 0x3E, 0x7B, - 0x80, 0x7D, 0x20, 0x19, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x7F, 0x04, 0x82, 0x83, 0x12, 0x20, 0x20, 0x1F, 0x6C, - 0x3D, 0x7F, 0x20, 0x4D, 0x84, 0x85, 0x6E, 0x3F, 0x3C, 0x3C, 0x3F, 0x6E, 0x86, 0x4A, 0x4D, 0x18, 0x62, 0x45, 0x72, - 0x1F, 0x20, 0x20, 0x1F, 0x72, 0x60, 0x59, 0x87, 0x6E, 0x12, 0x11, 0x6C, 0x3D, 0x47, 0x88, 0x6D, 0x20, 0x5A, 0x89, - 0x8A, 0x75, 0x72, 0x72, 0x7F, 0x8B, 0x80, 0x5A, 0x20, 0x6D, 0x8C, 0x45, 0x45, 0x72, 0x1F, 0x1F, 0x72, 0x45, 0x32, - 0x2F, 0x87, 0x87, 0x3D, 0x4B, 0x47, 0x44, 0x45, 0x8D, 0x19, 0x18, 0x52, 0x5A, 0x70, 0x8E, 0x8B, 0x8B, 0x6F, 0x8F, - 0x5A, 0x52, 0x18, 0x7F, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x04, 0x30, 0x90, 0x15, 0x2A, 0x91, 0x92, 0x28, 0x44, - 0x45, 0x45, 0x45, 0x45, 0x19, 0x18, 0x52, 0x50, 0x93, 0x94, 0x94, 0x93, 0x50, 0x52, 0x18, 0x7F, 0x45, 0x45, 0x45, - 0x45, 0x3D, 0x55, 0x33, 0x42, 0x58, 0x17, 0x95, 0x23, 0x17, 0x96, 0x60, 0x43, 0x3C, 0x1F, 0x11, 0x3C, 0x45, 0x7F, - 0x20, 0x20, 0x52, 0x53, 0x53, 0x52, 0x20, 0x97, 0x98, 0x45, 0x45, 0x11, 0x11, 0x45, 0x34, 0x36, 0x14, 0x15, 0x16, - 0x23, 0x00, 0x0C, 0x26, 0x22, 0x04, 0x45, 0x5A, 0x12, 0x45, 0x11, 0x45, 0x45, 0x98, 0x6D, 0x20, 0x20, 0x20, 0x20, - 0x99, 0x4B, 0x45, 0x45, 0x67, 0x12, 0x45, 0x1F, 0x3D, 0x29, 0x2A, 0x1C, 0x0A, 0x0B, 0x00, 0x0B, 0x9A, 0x14, 0x9B, - 0x45, 0x46, 0x4A, 0x12, 0x1F, 0x45, 0x45, 0x45, 0x45, 0x5B, 0x98, 0x19, 0x19, 0x45, 0x45, 0x45, 0x45, 0x46, 0x4A, - 0x12, 0x1F, 0x45, 0x60, 0x90, 0x23, 0x0B, 0x00, 0x00, 0x0B, 0x0C, 0x9C, 0x37, 0x45, 0x3C, 0x50, 0x50, 0x3C, 0x45, - 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3C, 0x5F, 0x5F, 0x45, 0x50, 0x50, 0x45, 0x45, 0x9D, 0x9E, 0x9F, - 0x00, 0x00, 0x00, 0x0B, 0x0C, 0x23, 0x1B, 0x10, 0x45, 0x45, 0x45, 0x43, 0x04, 0x43, 0x45, 0x45, 0x72, 0x1F, 0x1F, - 0x72, 0x45, 0x43, 0x60, 0x82, 0x05, 0x45, 0x45, 0x3C, 0x04, 0x6B, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0C, - 0x09, 0xA0, 0x60, 0x3F, 0x60, 0x10, 0x98, 0x5F, 0x45, 0x72, 0x1F, 0x20, 0x20, 0x1F, 0x45, 0x44, 0x05, 0x33, 0x30, - 0x73, 0x03, 0x83, 0x0E, 0xA1, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA2, 0x1C, 0x17, 0x14, 0x90, 0x49, - 0xA3, 0xA4, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x45, 0x40, 0x3B, 0x6A, 0x27, 0x27, 0x58, 0x0D, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xA5, 0x0A, 0x1C, 0x9C, 0xA6, 0xA7, 0x76, 0x45, 0x1F, 0x20, 0x20, - 0x20, 0x20, 0x1F, 0x45, 0x05, 0xA8, 0x15, 0x23, 0x23, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0C, 0x16, 0x26, 0x27, 0xA8, 0x45, 0x72, 0x1F, 0x20, 0x20, 0x1F, 0x72, 0x44, 0x10, 0x5E, - 0x1C, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, - 0x0A, 0x09, 0x90, 0x68, 0x45, 0x72, 0x98, 0x98, 0x72, 0x45, 0x10, 0x1B, 0xA9, 0x23, 0xAA, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x3A, 0x49, 0x05, - 0x76, 0x3E, 0x10, 0x30, 0x27, 0x15, 0x0B, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -u16 D_Unk_800DB8B8[] = { - // unused - 0x08D1, 0x3219, 0x7425, 0xADB1, 0xDF3B, 0xD6F9, 0xD739, 0xC675, 0x8CEB, 0x4ADF, 0x2197, 0x1113, 0x1955, 0x429F, - 0x9531, 0xE77F, 0xBE35, 0x8429, 0x94AB, 0xCE79, 0x7429, 0x5321, 0x321B, 0x5B65, 0x0843, 0xAD73, 0xB637, 0x84AD, - 0x3A5D, 0x6C29, 0xADF7, 0x7BE5, 0x0001, 0xCEFB, 0x8CEF, 0x29D9, 0x2195, 0x3A5B, 0x429D, 0x5B63, 0xDF3D, 0xA5B3, - 0x6BE7, 0x52E1, 0x5363, 0x42DF, 0x0911, 0x7427, 0x9D2F, 0x8CED, 0x9D71, 0xADB3, 0xC677, 0x94ED, 0x952F, 0xB635, - 0x846B, 0x325B, 0x7C29, 0xADF3, 0xF7BF, 0xEF7D, 0xD6B9, 0xDEFB, 0xE77D, 0xE73D, 0x84AB, 0xEFBD, 0xF7FF, 0xFFFF, - 0x0849, 0xEFBF, 0xC635, 0x8CAB, 0x3195, 0xEF7F, 0x739F, 0x0005, 0x084B, 0x39D5, 0x0009, 0x1087, 0x0003, 0x0007, - 0xB5B5, 0xCEB7, 0x4A9D, 0x4AE1, 0x63A5, 0x952D, 0x108B, 0xD6BB, 0xBE33, 0x8469, 0x94EF, 0xE73B, 0xCEB9, 0xE7BF, - 0xC639, 0x2111, 0x529B, 0x6321, 0x4A5B, 0x210F, 0xB639, 0x63A3, 0x7C69, 0xADB5, 0xB5B1, 0x4A55, 0xAD71, 0x5ADD, - 0x3193, 0x4A57, 0xBDF3, 0xA5B1, 0x73A5, 0xA52D, 0xCE77, 0xA52F, 0x6B63, 0xD6BD, 0xB633, 0x94AD, 0x8C6B, 0x0847, - 0xCEF9, 0x9CEF, 0x39D7, 0x9CED, 0xB5F3, 0xB5F5, 0x2951, 0x8427, 0x7BE7, 0xCF3F, 0xBE39, 0x4217, 0x73A3, 0x6B61, - 0xDF3F, 0xDF7F, 0x5ADF, 0x2953, 0x7C6B, 0x9D73, 0xC6BB, 0x108D, 0x18CF, 0x29D7, 0xA5B5, 0x18C7, 0xBDF5, 0x5299, - 0x21D9, 0xD6FB, 0x5323, 0xC6B9, 0x742B, 0x1155, 0x6BE9, 0x5BA5, 0x21D7, 0x9D2D, 0xDEF9, 0x1997, 0x5B21, 0x6BE5, - 0xA571, 0x63A7, 0x0913, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0x0000, 0x0000, 0x0000, 0x0000, // File split? -}; - -u16 D_Tex_800DBA20[0x40] = { - // used in fox_msg - 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, - 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, - 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, - 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, -}; - -Gfx D_Gfx_800DBAA0[] = { - // used in fox_game - gsDPPipeSync(), - gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | - G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH), - gsSPSetOtherMode(G_SETOTHERMODE_L, G_MDSFT_ALPHACOMPARE, 3, G_AC_NONE | G_ZS_PIXEL), - gsDPSetRenderMode(G_RM_NOOP, G_RM_NOOP2), - gsSPSetOtherModeHi(G_AD_NOISE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | - G_TD_CLAMP | G_TP_PERSP | G_CYC_FILL | G_PM_NPRIMITIVE), - gsSPClipRatio(FRUSTRATIO_1), - gsSPEndDisplayList(), -}; diff --git a/src/main/fox_std_lib.c b/src/engine/fox_std_lib.c similarity index 100% rename from src/main/fox_std_lib.c rename to src/engine/fox_std_lib.c diff --git a/src/main/fox_tank.c b/src/engine/fox_tank.c similarity index 99% rename from src/main/fox_tank.c rename to src/engine/fox_tank.c index ea9376bd..90acd396 100644 --- a/src/main/fox_tank.c +++ b/src/engine/fox_tank.c @@ -491,7 +491,7 @@ void func_tank_80044868(Player* player) { func_tank_80043280(D_landmaster_3005EA8, D_TI_6009BB8, gGameFrameCount * -55.0f); } if ((gCurrentLevel == LEVEL_MACBETH) && (player->state_1C8 == PLAYERSTATE_1C8_7)) { - func_tank_80043280(D_landmaster_3005EA8, *D_Unk_800DACB8, gGameFrameCount * -55.0f); + func_tank_80043280(D_landmaster_3005EA8, *D_Tex_800DACB8, gGameFrameCount * -55.0f); } } if (player->unk_0D0 > 10.0f) { diff --git a/src/main/fox_versus.c b/src/engine/fox_versus.c similarity index 100% rename from src/main/fox_versus.c rename to src/engine/fox_versus.c diff --git a/src/engine/fox_wheels.c b/src/engine/fox_wheels.c new file mode 100644 index 00000000..bdd10f0e --- /dev/null +++ b/src/engine/fox_wheels.c @@ -0,0 +1,166 @@ +#include "gfx.h" + +Vtx D_Vtx_800DAC80[] = { + VTX(0, 0, 0, 0, 0, 0, 0, 0, 255), + VTX(0, 0, -1, 0, 1984, 0, 0, 0, 255), +}; + +Gfx D_Gfx_800DACA0[] = { + // unused + gsSPVertex(D_Vtx_800DAC80, 2, 0), + gsSPLine3D(0, 1, 0), + gsSPEndDisplayList(), +}; + +u16 D_Tex_800DACB8[] = { + // used in fox_tank for landmaster wheels + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x4A51, 0x4A51, 0x4A51, 0x4A51, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x7BDD, 0x7BDD, + 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x7BDD, + 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, 0xD671, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, + 0x294B, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0001, 0x0001, 0x318D, 0x0843, 0x0843, 0x0843, 0xD671, + 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, + 0x318D, 0x1085, 0x1085, 0x0843, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x18C7, + 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, + 0x0001, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, + 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, + 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x294B, 0x4A51, 0x1085, 0x1085, 0x318D, + 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x39CF, + 0x6B17, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x2909, + 0x1085, 0x0843, 0x420F, 0x420F, 0x739B, 0x739B, 0x1085, 0x2107, 0x420F, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, + 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, + 0x0843, 0x18C7, 0x18C7, 0x1085, 0x2109, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x41CF, 0x2107, 0x318D, + 0x318D, 0x1085, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, + 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x739B, 0x1085, 0x1085, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, + 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, + 0x0001, 0x6B5B, 0x6B5B, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, + 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, + 0x39CF, 0x420F, 0x0001, 0x0001, 0x6B5B, 0xFFFF, 0xFFFF, 0x6B5B, 0x0001, 0x0001, 0x739B, 0x6B17, 0x4A51, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x294B, 0x39CF, 0x420F, 0x0001, 0x0001, 0x6B5B, 0xFFFF, 0xFFFF, 0x6B5B, 0x0001, 0x0001, + 0x739B, 0x6B17, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, + 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, 0x0001, 0x6B5B, + 0x6B5B, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, + 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x0843, 0x0843, + 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x1085, 0x1085, 0x318D, 0x318D, + 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, + 0x0843, 0x18C7, 0x18C7, 0x1085, 0x2109, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x41CF, 0x2107, 0x318D, + 0x318D, 0x1085, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, + 0x7BDD, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x2909, 0x1085, 0x0843, 0x420F, 0x420F, 0x739B, 0x739B, + 0x1085, 0x2107, 0x420F, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, + 0x0843, 0x39CF, 0x6B17, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, + 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, + 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x294B, 0x4A51, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, + 0x318D, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, + 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, + 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, + 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0843, + 0x0843, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x0843, 0x0843, 0xD671, 0x4A51, 0x4A51, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, + 0x294B, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0001, 0x0001, 0x318D, 0x0843, 0x0843, 0x0843, 0xD671, + 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x7BDD, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, + 0xD671, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, + 0x7BDD, 0x7BDD, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, +}; + +u8 D_Tex_800DB4B8[] = { + // used in fox_ma for train wheels + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0B, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x0F, 0x14, 0x15, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x16, 0x17, 0x0E, 0x0F, + 0x0F, 0x10, 0x12, 0x18, 0x18, 0x19, 0x0F, 0x1A, 0x1B, 0x1C, 0x0C, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x0C, 0x0D, 0x1D, 0x1E, 0x0F, 0x0F, 0x1F, 0x20, 0x20, 0x20, 0x20, + 0x1F, 0x21, 0x22, 0x0D, 0x23, 0x23, 0x24, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x25, 0x09, 0x26, 0x27, 0x14, 0x1A, 0x28, 0x0F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x0F, 0x29, 0x2A, 0x2B, 0x15, + 0x17, 0x2C, 0x2D, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x09, 0x2F, 0x30, 0x03, 0x31, 0x32, + 0x21, 0x0F, 0x33, 0x1F, 0x20, 0x20, 0x1F, 0x33, 0x28, 0x34, 0x30, 0x35, 0x36, 0x37, 0x34, 0x38, 0x39, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x15, 0x3A, 0x3B, 0x3C, 0x3C, 0x05, 0x34, 0x28, 0x0F, 0x0F, 0x33, 0x1F, 0x1F, + 0x33, 0x3C, 0x3D, 0x3E, 0x10, 0x3F, 0x04, 0x40, 0x3C, 0x41, 0x14, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x16, + 0x42, 0x34, 0x43, 0x1F, 0x1F, 0x3C, 0x3C, 0x44, 0x45, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x3C, 0x3C, 0x40, 0x3D, 0x45, + 0x1F, 0x1F, 0x45, 0x3D, 0x3B, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x25, 0x36, 0x40, 0x46, 0x12, 0x45, 0x1F, + 0x3C, 0x3C, 0x47, 0x45, 0x45, 0x45, 0x45, 0x3C, 0x45, 0x45, 0x28, 0x45, 0x46, 0x12, 0x45, 0x1F, 0x45, 0x48, 0x26, + 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x0A, 0x26, 0x49, 0x3D, 0x46, 0x4A, 0x12, 0x1F, 0x3C, 0x4B, 0x45, 0x4C, 0x4D, 0x4D, + 0x4D, 0x4D, 0x4C, 0x45, 0x45, 0x45, 0x4E, 0x4F, 0x12, 0x1F, 0x44, 0x49, 0x16, 0x0A, 0x0B, 0x00, 0x00, 0x0C, 0x16, + 0x15, 0x42, 0x34, 0x3C, 0x50, 0x4E, 0x3C, 0x3C, 0x3C, 0x51, 0x20, 0x20, 0x52, 0x53, 0x52, 0x20, 0x20, 0x54, 0x45, + 0x45, 0x4E, 0x4E, 0x45, 0x55, 0x2F, 0x56, 0x26, 0x1C, 0x0C, 0x16, 0x57, 0x58, 0x49, 0x59, 0x10, 0x40, 0x3D, 0x3C, + 0x3C, 0x3C, 0x18, 0x52, 0x53, 0x46, 0x5A, 0x5A, 0x46, 0x53, 0x52, 0x20, 0x5B, 0x45, 0x45, 0x45, 0x45, 0x3D, 0x5C, + 0x35, 0x5D, 0x58, 0x01, 0x27, 0x5E, 0x5F, 0x3D, 0x60, 0x05, 0x47, 0x3D, 0x61, 0x62, 0x18, 0x4D, 0x4E, 0x63, 0x64, + 0x65, 0x65, 0x66, 0x67, 0x4E, 0x4D, 0x20, 0x54, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x68, 0x69, 0x6A, 0x3F, + 0x6B, 0x11, 0x1F, 0x6C, 0x3D, 0x3D, 0x0F, 0x6D, 0x20, 0x5A, 0x4A, 0x65, 0x12, 0x6E, 0x6E, 0x12, 0x6F, 0x70, 0x5A, + 0x20, 0x71, 0x45, 0x45, 0x45, 0x72, 0x1F, 0x11, 0x48, 0x45, 0x31, 0x73, 0x72, 0x11, 0x20, 0x20, 0x1F, 0x03, 0x3D, + 0x62, 0x20, 0x4D, 0x63, 0x74, 0x75, 0x3E, 0x4B, 0x4B, 0x76, 0x77, 0x78, 0x67, 0x4D, 0x20, 0x79, 0x45, 0x72, 0x1F, + 0x20, 0x20, 0x11, 0x48, 0x60, 0x7A, 0x11, 0x18, 0x20, 0x20, 0x20, 0x74, 0x3D, 0x19, 0x20, 0x4E, 0x4A, 0x7B, 0x76, + 0x45, 0x45, 0x45, 0x45, 0x76, 0x7C, 0x70, 0x7D, 0x20, 0x19, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x12, 0x7E, 0x07, + 0x11, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x3D, 0x7F, 0x20, 0x4E, 0x80, 0x81, 0x3E, 0x45, 0x45, 0x45, 0x45, 0x3E, 0x7B, + 0x80, 0x7D, 0x20, 0x19, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x7F, 0x04, 0x82, 0x83, 0x12, 0x20, 0x20, 0x1F, 0x6C, + 0x3D, 0x7F, 0x20, 0x4D, 0x84, 0x85, 0x6E, 0x3F, 0x3C, 0x3C, 0x3F, 0x6E, 0x86, 0x4A, 0x4D, 0x18, 0x62, 0x45, 0x72, + 0x1F, 0x20, 0x20, 0x1F, 0x72, 0x60, 0x59, 0x87, 0x6E, 0x12, 0x11, 0x6C, 0x3D, 0x47, 0x88, 0x6D, 0x20, 0x5A, 0x89, + 0x8A, 0x75, 0x72, 0x72, 0x7F, 0x8B, 0x80, 0x5A, 0x20, 0x6D, 0x8C, 0x45, 0x45, 0x72, 0x1F, 0x1F, 0x72, 0x45, 0x32, + 0x2F, 0x87, 0x87, 0x3D, 0x4B, 0x47, 0x44, 0x45, 0x8D, 0x19, 0x18, 0x52, 0x5A, 0x70, 0x8E, 0x8B, 0x8B, 0x6F, 0x8F, + 0x5A, 0x52, 0x18, 0x7F, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x04, 0x30, 0x90, 0x15, 0x2A, 0x91, 0x92, 0x28, 0x44, + 0x45, 0x45, 0x45, 0x45, 0x19, 0x18, 0x52, 0x50, 0x93, 0x94, 0x94, 0x93, 0x50, 0x52, 0x18, 0x7F, 0x45, 0x45, 0x45, + 0x45, 0x3D, 0x55, 0x33, 0x42, 0x58, 0x17, 0x95, 0x23, 0x17, 0x96, 0x60, 0x43, 0x3C, 0x1F, 0x11, 0x3C, 0x45, 0x7F, + 0x20, 0x20, 0x52, 0x53, 0x53, 0x52, 0x20, 0x97, 0x98, 0x45, 0x45, 0x11, 0x11, 0x45, 0x34, 0x36, 0x14, 0x15, 0x16, + 0x23, 0x00, 0x0C, 0x26, 0x22, 0x04, 0x45, 0x5A, 0x12, 0x45, 0x11, 0x45, 0x45, 0x98, 0x6D, 0x20, 0x20, 0x20, 0x20, + 0x99, 0x4B, 0x45, 0x45, 0x67, 0x12, 0x45, 0x1F, 0x3D, 0x29, 0x2A, 0x1C, 0x0A, 0x0B, 0x00, 0x0B, 0x9A, 0x14, 0x9B, + 0x45, 0x46, 0x4A, 0x12, 0x1F, 0x45, 0x45, 0x45, 0x45, 0x5B, 0x98, 0x19, 0x19, 0x45, 0x45, 0x45, 0x45, 0x46, 0x4A, + 0x12, 0x1F, 0x45, 0x60, 0x90, 0x23, 0x0B, 0x00, 0x00, 0x0B, 0x0C, 0x9C, 0x37, 0x45, 0x3C, 0x50, 0x50, 0x3C, 0x45, + 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3C, 0x5F, 0x5F, 0x45, 0x50, 0x50, 0x45, 0x45, 0x9D, 0x9E, 0x9F, + 0x00, 0x00, 0x00, 0x0B, 0x0C, 0x23, 0x1B, 0x10, 0x45, 0x45, 0x45, 0x43, 0x04, 0x43, 0x45, 0x45, 0x72, 0x1F, 0x1F, + 0x72, 0x45, 0x43, 0x60, 0x82, 0x05, 0x45, 0x45, 0x3C, 0x04, 0x6B, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0C, + 0x09, 0xA0, 0x60, 0x3F, 0x60, 0x10, 0x98, 0x5F, 0x45, 0x72, 0x1F, 0x20, 0x20, 0x1F, 0x45, 0x44, 0x05, 0x33, 0x30, + 0x73, 0x03, 0x83, 0x0E, 0xA1, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA2, 0x1C, 0x17, 0x14, 0x90, 0x49, + 0xA3, 0xA4, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x45, 0x40, 0x3B, 0x6A, 0x27, 0x27, 0x58, 0x0D, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xA5, 0x0A, 0x1C, 0x9C, 0xA6, 0xA7, 0x76, 0x45, 0x1F, 0x20, 0x20, + 0x20, 0x20, 0x1F, 0x45, 0x05, 0xA8, 0x15, 0x23, 0x23, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0C, 0x16, 0x26, 0x27, 0xA8, 0x45, 0x72, 0x1F, 0x20, 0x20, 0x1F, 0x72, 0x44, 0x10, 0x5E, + 0x1C, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, + 0x0A, 0x09, 0x90, 0x68, 0x45, 0x72, 0x98, 0x98, 0x72, 0x45, 0x10, 0x1B, 0xA9, 0x23, 0xAA, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x3A, 0x49, 0x05, + 0x76, 0x3E, 0x10, 0x30, 0x27, 0x15, 0x0B, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +u16 D_TLUT_800DB4B8[] = { + // 176 color palette for above. Duplicate of D_MA_6023788 + 0x08D1, 0x3219, 0x7425, 0xADB1, 0xDF3B, 0xD6F9, 0xD739, 0xC675, 0x8CEB, 0x4ADF, 0x2197, 0x1113, 0x1955, 0x429F, + 0x9531, 0xE77F, 0xBE35, 0x8429, 0x94AB, 0xCE79, 0x7429, 0x5321, 0x321B, 0x5B65, 0x0843, 0xAD73, 0xB637, 0x84AD, + 0x3A5D, 0x6C29, 0xADF7, 0x7BE5, 0x0001, 0xCEFB, 0x8CEF, 0x29D9, 0x2195, 0x3A5B, 0x429D, 0x5B63, 0xDF3D, 0xA5B3, + 0x6BE7, 0x52E1, 0x5363, 0x42DF, 0x0911, 0x7427, 0x9D2F, 0x8CED, 0x9D71, 0xADB3, 0xC677, 0x94ED, 0x952F, 0xB635, + 0x846B, 0x325B, 0x7C29, 0xADF3, 0xF7BF, 0xEF7D, 0xD6B9, 0xDEFB, 0xE77D, 0xE73D, 0x84AB, 0xEFBD, 0xF7FF, 0xFFFF, + 0x0849, 0xEFBF, 0xC635, 0x8CAB, 0x3195, 0xEF7F, 0x739F, 0x0005, 0x084B, 0x39D5, 0x0009, 0x1087, 0x0003, 0x0007, + 0xB5B5, 0xCEB7, 0x4A9D, 0x4AE1, 0x63A5, 0x952D, 0x108B, 0xD6BB, 0xBE33, 0x8469, 0x94EF, 0xE73B, 0xCEB9, 0xE7BF, + 0xC639, 0x2111, 0x529B, 0x6321, 0x4A5B, 0x210F, 0xB639, 0x63A3, 0x7C69, 0xADB5, 0xB5B1, 0x4A55, 0xAD71, 0x5ADD, + 0x3193, 0x4A57, 0xBDF3, 0xA5B1, 0x73A5, 0xA52D, 0xCE77, 0xA52F, 0x6B63, 0xD6BD, 0xB633, 0x94AD, 0x8C6B, 0x0847, + 0xCEF9, 0x9CEF, 0x39D7, 0x9CED, 0xB5F3, 0xB5F5, 0x2951, 0x8427, 0x7BE7, 0xCF3F, 0xBE39, 0x4217, 0x73A3, 0x6B61, + 0xDF3F, 0xDF7F, 0x5ADF, 0x2953, 0x7C6B, 0x9D73, 0xC6BB, 0x108D, 0x18CF, 0x29D7, 0xA5B5, 0x18C7, 0xBDF5, 0x5299, + 0x21D9, 0xD6FB, 0x5323, 0xC6B9, 0x742B, 0x1155, 0x6BE9, 0x5BA5, 0x21D7, 0x9D2D, 0xDEF9, 0x1997, 0x5B21, 0x6BE5, + 0xA571, 0x63A7, 0x0913, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, +}; diff --git a/src/main/sys_math64.c b/src/libc_math64.c similarity index 100% rename from src/main/sys_math64.c rename to src/libc_math64.c diff --git a/src/main/sys_sprintf.c b/src/libc_sprintf.c similarity index 100% rename from src/main/sys_sprintf.c rename to src/libc_sprintf.c diff --git a/src/overlays/ovl_i5/fox_ma.c b/src/overlays/ovl_i5/fox_ma.c index a52a14a0..615b3339 100644 --- a/src/overlays/ovl_i5/fox_ma.c +++ b/src/overlays/ovl_i5/fox_ma.c @@ -419,7 +419,7 @@ void Macbeth_80199F8C(Actor* actor) { void Macbeth_8019A128(void) { Macbeth_80199C20(D_MA_6023228, 16, 16, 0, 8); - Macbeth_80199A40(D_MA_6023388, D_Unk_800DB4B8, gGameFrameCount * -20.0f); + Macbeth_80199A40(D_MA_6023388, D_Tex_800DB4B8, gGameFrameCount * -20.0f); } void Macbeth_8019A198(Actor* actor) { diff --git a/src/main/sys_fault.c b/src/sys/sys_fault.c similarity index 100% rename from src/main/sys_fault.c rename to src/sys/sys_fault.c diff --git a/src/main/sys_joybus.c b/src/sys/sys_joybus.c similarity index 100% rename from src/main/sys_joybus.c rename to src/sys/sys_joybus.c diff --git a/src/main/sys_lib.c b/src/sys/sys_lib.c similarity index 100% rename from src/main/sys_lib.c rename to src/sys/sys_lib.c diff --git a/src/main/sys_lights.c b/src/sys/sys_lights.c similarity index 100% rename from src/main/sys_lights.c rename to src/sys/sys_lights.c diff --git a/src/main/sys_main.c b/src/sys/sys_main.c similarity index 100% rename from src/main/sys_main.c rename to src/sys/sys_main.c diff --git a/src/main/sys_math.c b/src/sys/sys_math.c similarity index 100% rename from src/main/sys_math.c rename to src/sys/sys_math.c diff --git a/src/main/sys_matrix.c b/src/sys/sys_matrix.c similarity index 100% rename from src/main/sys_matrix.c rename to src/sys/sys_matrix.c diff --git a/src/main/sys_memory.c b/src/sys/sys_memory.c similarity index 100% rename from src/main/sys_memory.c rename to src/sys/sys_memory.c diff --git a/src/main/sys_save.c b/src/sys/sys_save.c similarity index 100% rename from src/main/sys_save.c rename to src/sys/sys_save.c diff --git a/src/main/sys_timer.c b/src/sys/sys_timer.c similarity index 100% rename from src/main/sys_timer.c rename to src/sys/sys_timer.c diff --git a/yamls/us/main.yaml b/yamls/us/main.yaml index 1a1bc861..65663cee 100644 --- a/yamls/us/main.yaml +++ b/yamls/us/main.yaml @@ -8,7 +8,6 @@ - name: main type: code - dir: main start: 0x1050 vram: 0x80000450 bss_size: 0x9B1F0 @@ -19,386 +18,388 @@ - [0x02010, textbin, f3dex] # Nintendo libraries - - [0x03440, c, sys_joybus] - - [0x03A80, c, sys_lib] - - [0x041D0, c, sys_lights] - - [0x04650, c, sys_main] - - [0x05A20, c, sys_math] - - [0x06280, c, sys_matrix] - - [0x07B20, c, sys_memory] - - [0x07B60, c, sys_timer] - - [0x07D30, c, sys_save] - - [0x07FC0, c, sys_fault] + - [0x03440, c, sys/sys_joybus] + - [0x03A80, c, sys/sys_lib] + - [0x041D0, c, sys/sys_lights] + - [0x04650, c, sys/sys_main] + - [0x05A20, c, sys/sys_math] + - [0x06280, c, sys/sys_matrix] + - [0x07B20, c, sys/sys_memory] + - [0x07B60, c, sys/sys_timer] + - [0x07D30, c, sys/sys_save] + - [0x07FC0, c, sys/sys_fault] - - [0x08CC0, c, audio_synthesis] - - [0x0C870, c, audio_heap] - - [0x0F0A0, c, audio_load] - - [0x12490, c, audio_playback] - - [0x14000, c, audio_effects] - - [0x14AA0, c, audio_seqplayer] - - [0x17650, c, audio_general] - - [0x1EB50, c, audio_thread] + - [0x08CC0, c, audio/audio_synthesis] + - [0x0C870, c, audio/audio_heap] + - [0x0F0A0, c, audio/audio_load] + - [0x12490, c, audio/audio_playback] + - [0x14000, c, audio/audio_effects] + - [0x14AA0, c, audio/audio_seqplayer] + - [0x17650, c, audio/audio_general] + - [0x1EB50, c, audio/audio_thread] - - [0x1FA60, c, sys_1FA60] # May be blanked out osDriveRomInit - - [0x1FA70, hasm, sys_mio0] - - [0x1FB10, hasm, sys_rdramcheck] - - [0x1FBC0, textbin, sys_alt_ipl3] - - [0x205E0, c, sys_sprintf] - - [0x206B0, c, sys_math64] - - [0x20A60, hasm, sys_fp_text] + - [0x1FA60, c, 1FA60] # May be blanked out osDriveRomInit + - [0x1FA70, hasm, mio0] + - [0x1FB10, hasm, rdramcheck] + - [0x1FBC0, textbin, alt_ipl3] + - [0x205E0, c, libc_sprintf] + - [0x206B0, c, libc_math64] + - [0x20A60, hasm, libc_math64_fp] # Libultra - - [0x20BC0, c, ../libultra/io/controller] - - [0x20F80, c, ../libultra/io/contreaddata] - - [0x211E0, c, ../libultra/os/recvmesg] - - [0x21320, c, ../libultra/os/sendmesg] - - [0x21470, c, ../libultra/io/contquery] - - [0x21520, c, ../libultra/io/motor] - - [0x21B40, c, ../libultra/gu/perspective] - - [0x21DD0, c, ../libultra/gu/lookat] - - [0x22100, c, ../libultra/gu/ortho] - - [0x222C0, hasm, ../libultra/os/invalicache] - - [0x22340, hasm, ../libultra/os/invaldcache] - - [0x223F0, c, ../libultra/io/pidma] - - [0x22500, c, ../libultra/io/viblack] - - [0x22570, hasm, ../libultra/os/writebackdcacheall] - - [0x225A0, c, ../libultra/io/viswapbuf] - - [0x225F0, c, ../libultra/io/virepeatline] - - [0x22660, hasm, ../libultra/os/parameter] - - [0x226C0, c, ../libultra/io/visetmode] - - [0x22730, c, ../libultra/io/visetspecial] - - [0x228F0, c, ../libultra/os/createmesgqueue] - - [0x22920, c, ../libultra/os/seteventmesg] - - [0x22990, c, ../libultra/io/visetevent] - - [0x22A00, c, ../libultra/io/sptaskyielded] - - [0x22A80, c, ../libultra/io/sptaskyield] - - [0x22AA0, c, ../libultra/io/sptask] - - [0x22D90, c, ../libultra/io/dpsetstat] - - [0x22DA0, c, ../libultra/os/createthread] - - [0x22EF0, c, ../libultra/os/startthread] - - [0x23040, c, ../libultra/io/vimgr] - - [0x233A0, c, ../libultra/io/pimgr] - - [0x23680, c, ../libultra/os/setthreadpri] - - [0x23760, c, ../libultra/os/initialize] - - [0x23C00, c, ../libultra/os/gettime] - - [0x23C90, c, ../libultra/gu/sinf] - - [0x23E50, c, ../libultra/gu/cosf] - - [0x23FC0, c, ../libultra/gu/sqrtf] - - [0x23FD0, c, ../libultra/os/settimer] - - [0x240B0, c, ../libultra/io/conteepread] - - [0x243B0, c, ../libultra/io/conteepwrite] - - [0x24890, c, ../libultra/libc/ll] - - [0x24B50, c, ../libultra/io/conteepprobe] - - [0x24BC0, c, ../libultra/libc/string] - - [0x24C60, c, ../libultra/libc/xprintf] - - [0x25920, c, ../libultra/os/settime] - - [0x25950, c, ../libultra/os/getactivequeue] - - [0x25960, c, ../libultra/io/aisetfreq] - - [0x25AC0, c, ../libultra/io/cartrominit] - - [0x25BB0, c, ../libultra/io/epidma] - - [0x25C90, c, ../libultra/io/aigetlen] - - [0x25CA0, c, ../libultra/io/aisetnextbuf] - - [0x25D50, hasm, ../libultra/os/getcount] - - [0x25D60, c, ../libultra/io/sirawdma] - - [0x25E10, c, ../libultra/io/siacs] - - [0x25ED0, hasm, ../libultra/os/interrupt] - - [0x25F10, c, ../libultra/os/thread] - - [0x25F50, hasm, ../libultra/os/exceptasm] - - [0x26CD0, c, ../libultra/io/pfsisplug] - - [0x27040, c, ../libultra/io/crc] - - [0x271C0, c, ../libultra/io/contramwrite] - - [0x27540, c, ../libultra/io/contramread] - - [0x278D0, c, ../libultra/gu/mtxutil] - - [0x27B40, c, ../libultra/os/jammesg] - - [0x27C90, c, ../libultra/io/pigetcmdq] - - [0x27CC0, c, ../libultra/io/vi] - - [0x27E00, c, ../libultra/io/spgetstat] - - [0x27E10, c, ../libultra/io/spsetstat] - - [0x27E20, hasm, ../libultra/libc/bcopy] - - [0x28130, c, ../libultra/os/virtualtophysical] - - [0x281B0, hasm, ../libultra/os/writebackdcache] - - [0x28230, c, ../libultra/io/spsetpc] - - [0x28270, c, ../libultra/io/sprawdma] - - [0x28300, c, ../libultra/io/sp] - - [0x28330, c, ../libultra/os/timerintr] - - [0x28800, c, ../libultra/os/getthreadpri] - - [0x28820, c, ../libultra/io/vigetcurrcontext] - - [0x28830, c, ../libultra/io/viswapcontext] - - [0x28B90, c, ../libultra/io/leodiskinit] - - [0x28C90, c, ../libultra/io/piacs] - - [0x28D50, c, ../libultra/io/pirawdma] - - [0x28E30, c, ../libultra/io/epirawdma] - - [0x29060, c, ../libultra/io/devmgr] - - [0x294F0, c, ../libultra/os/rdbsend] - - [0x297B0, hasm, ../libultra/os/setsr] - - [0x297C0, hasm, ../libultra/os/getsr] - - [0x297D0, hasm, ../libultra/os/setfpccsr] - - [0x297E0, c, ../libultra/io/sirawread] - - [0x29830, c, ../libultra/io/sirawwrite] - - [0x29880, hasm, ../libultra/os/maptlbrdb] - - [0x298E0, c, ../libultra/io/pirawread] - - [0x29940, hasm, ../libultra/libc/bzero] - - [0x299E0, c, ../libultra/libc/xlitob] - - [0x29C80, c, ../libultra/libc/xldtob] - - [0x2A740, c, ../libultra/io/ai] - - [0x2A770, c, ../libultra/io/si] - - [0x2A7A0, c, ../libultra/debug/kdebugserver] - - [0x2AAB0, c, ../libultra/host/readhost] - - [0x2AB80, c, ../libultra/rmon/rmonsio] - - [0x2AD80, c, ../libultra/os/initrdb] - - [0x2AE10, c, ../libultra/io/leointerrupt] - - [0x2B690, hasm, ../libultra/os/setintmask] - - [0x2B730, c, ../libultra/os/destroythread] - - [0x2B830, c, ../libultra/io/pfsgetstatus] - - [0x2B940, hasm, ../libultra/os/probetlb] - - [0x2BA00, hasm, ../libultra/os/setcompare] - - [0x2BA10, c, ../libultra/os/resetglobalintmask] - - [0x2BA70, c, ../libultra/io/epirawwrite] - - [0x2BAC0, c, ../libultra/io/epirawread] - - [0x2BB10, c, ../libultra/os/setglobalintmask] - - [0x2BB60, c, ../libultra/os/yieldthread] - - [0x2BBB0, c, ../libultra/libc/ldiv] - - [0x2BD40, hasm, ../libultra/os/getcause] - - [0x2BD50, c, ../libultra/rmon/rmoncmds] - - [0x2BDF0, c, ../libultra/rmon/rmonmem] - - [0x2C700, c, ../libultra/rmon/rmontask] - - [0x2D170, c, ../libultra/rmon/rmonmisc] - - [0x2D300, c, ../libultra/rmon/rmonregs] - - [0x2DF00, c, ../libultra/rmon/rmonbrk] - - [0x2E9E0, c, ../libultra/rmon/rmonmain] - - [0x2EDE0, c, ../libultra/io/sprawwrite] - - [0x2EE30, c, ../libultra/io/sprawread] - - [0x2EE80, c, ../libultra/os/stopthread] - - [0x2EF40, hasm, ../libultra/rmon/rmonrcp] + - [0x20BC0, c, libultra/io/controller] + - [0x20F80, c, libultra/io/contreaddata] + - [0x211E0, c, libultra/os/recvmesg] + - [0x21320, c, libultra/os/sendmesg] + - [0x21470, c, libultra/io/contquery] + - [0x21520, c, libultra/io/motor] + - [0x21B40, c, libultra/gu/perspective] + - [0x21DD0, c, libultra/gu/lookat] + - [0x22100, c, libultra/gu/ortho] + - [0x222C0, hasm, libultra/os/invalicache] + - [0x22340, hasm, libultra/os/invaldcache] + - [0x223F0, c, libultra/io/pidma] + - [0x22500, c, libultra/io/viblack] + - [0x22570, hasm, libultra/os/writebackdcacheall] + - [0x225A0, c, libultra/io/viswapbuf] + - [0x225F0, c, libultra/io/virepeatline] + - [0x22660, hasm, libultra/os/parameter] + - [0x226C0, c, libultra/io/visetmode] + - [0x22730, c, libultra/io/visetspecial] + - [0x228F0, c, libultra/os/createmesgqueue] + - [0x22920, c, libultra/os/seteventmesg] + - [0x22990, c, libultra/io/visetevent] + - [0x22A00, c, libultra/io/sptaskyielded] + - [0x22A80, c, libultra/io/sptaskyield] + - [0x22AA0, c, libultra/io/sptask] + - [0x22D90, c, libultra/io/dpsetstat] + - [0x22DA0, c, libultra/os/createthread] + - [0x22EF0, c, libultra/os/startthread] + - [0x23040, c, libultra/io/vimgr] + - [0x233A0, c, libultra/io/pimgr] + - [0x23680, c, libultra/os/setthreadpri] + - [0x23760, c, libultra/os/initialize] + - [0x23C00, c, libultra/os/gettime] + - [0x23C90, c, libultra/gu/sinf] + - [0x23E50, c, libultra/gu/cosf] + - [0x23FC0, c, libultra/gu/sqrtf] + - [0x23FD0, c, libultra/os/settimer] + - [0x240B0, c, libultra/io/conteepread] + - [0x243B0, c, libultra/io/conteepwrite] + - [0x24890, c, libultra/libc/ll] + - [0x24B50, c, libultra/io/conteepprobe] + - [0x24BC0, c, libultra/libc/string] + - [0x24C60, c, libultra/libc/xprintf] + - [0x25920, c, libultra/os/settime] + - [0x25950, c, libultra/os/getactivequeue] + - [0x25960, c, libultra/io/aisetfreq] + - [0x25AC0, c, libultra/io/cartrominit] + - [0x25BB0, c, libultra/io/epidma] + - [0x25C90, c, libultra/io/aigetlen] + - [0x25CA0, c, libultra/io/aisetnextbuf] + - [0x25D50, hasm, libultra/os/getcount] + - [0x25D60, c, libultra/io/sirawdma] + - [0x25E10, c, libultra/io/siacs] + - [0x25ED0, hasm, libultra/os/interrupt] + - [0x25F10, c, libultra/os/thread] + - [0x25F50, hasm, libultra/os/exceptasm] + - [0x26CD0, c, libultra/io/pfsisplug] + - [0x27040, c, libultra/io/crc] + - [0x271C0, c, libultra/io/contramwrite] + - [0x27540, c, libultra/io/contramread] + - [0x278D0, c, libultra/gu/mtxutil] + - [0x27B40, c, libultra/os/jammesg] + - [0x27C90, c, libultra/io/pigetcmdq] + - [0x27CC0, c, libultra/io/vi] + - [0x27E00, c, libultra/io/spgetstat] + - [0x27E10, c, libultra/io/spsetstat] + - [0x27E20, hasm, libultra/libc/bcopy] + - [0x28130, c, libultra/os/virtualtophysical] + - [0x281B0, hasm, libultra/os/writebackdcache] + - [0x28230, c, libultra/io/spsetpc] + - [0x28270, c, libultra/io/sprawdma] + - [0x28300, c, libultra/io/sp] + - [0x28330, c, libultra/os/timerintr] + - [0x28800, c, libultra/os/getthreadpri] + - [0x28820, c, libultra/io/vigetcurrcontext] + - [0x28830, c, libultra/io/viswapcontext] + - [0x28B90, c, libultra/io/leodiskinit] + - [0x28C90, c, libultra/io/piacs] + - [0x28D50, c, libultra/io/pirawdma] + - [0x28E30, c, libultra/io/epirawdma] + - [0x29060, c, libultra/io/devmgr] + - [0x294F0, c, libultra/os/rdbsend] + - [0x297B0, hasm, libultra/os/setsr] + - [0x297C0, hasm, libultra/os/getsr] + - [0x297D0, hasm, libultra/os/setfpccsr] + - [0x297E0, c, libultra/io/sirawread] + - [0x29830, c, libultra/io/sirawwrite] + - [0x29880, hasm, libultra/os/maptlbrdb] + - [0x298E0, c, libultra/io/pirawread] + - [0x29940, hasm, libultra/libc/bzero] + - [0x299E0, c, libultra/libc/xlitob] + - [0x29C80, c, libultra/libc/xldtob] + - [0x2A740, c, libultra/io/ai] + - [0x2A770, c, libultra/io/si] + - [0x2A7A0, c, libultra/debug/kdebugserver] + - [0x2AAB0, c, libultra/host/readhost] + - [0x2AB80, c, libultra/rmon/rmonsio] + - [0x2AD80, c, libultra/os/initrdb] + - [0x2AE10, c, libultra/io/leointerrupt] + - [0x2B690, hasm, libultra/os/setintmask] + - [0x2B730, c, libultra/os/destroythread] + - [0x2B830, c, libultra/io/pfsgetstatus] + - [0x2B940, hasm, libultra/os/probetlb] + - [0x2BA00, hasm, libultra/os/setcompare] + - [0x2BA10, c, libultra/os/resetglobalintmask] + - [0x2BA70, c, libultra/io/epirawwrite] + - [0x2BAC0, c, libultra/io/epirawread] + - [0x2BB10, c, libultra/os/setglobalintmask] + - [0x2BB60, c, libultra/os/yieldthread] + - [0x2BBB0, c, libultra/libc/ldiv] + - [0x2BD40, hasm, libultra/os/getcause] + - [0x2BD50, c, libultra/rmon/rmoncmds] + - [0x2BDF0, c, libultra/rmon/rmonmem] + - [0x2C700, c, libultra/rmon/rmontask] + - [0x2D170, c, libultra/rmon/rmonmisc] + - [0x2D300, c, libultra/rmon/rmonregs] + - [0x2DF00, c, libultra/rmon/rmonbrk] + - [0x2E9E0, c, libultra/rmon/rmonmain] + - [0x2EDE0, c, libultra/io/sprawwrite] + - [0x2EE30, c, libultra/io/sprawread] + - [0x2EE80, c, libultra/os/stopthread] + - [0x2EF40, hasm, libultra/rmon/rmonrcp] # Game engine - - [0x2EFE0, c, fox_360] - - [0x36930, c, fox_beam] - - [0x3E6F0, c, fox_bg] - - [0x43AC0, c, fox_boss] - - [0x43E80, c, fox_tank] - - [0x496C0, c, fox_demo] - - [0x52730, c, fox_display] - - [0x59780, c, fox_load] - - [0x5A0F0, c, fox_edata] - - [0x5A2C0, c, fox_edisplay] - - [0x61B30, c, fox_enmy] - - [0x6B3B0, c, fox_enmy2] - - [0x77E40, c, fox_effect] - - [0x84F70, c, fox_fade] - - [0x852F0, c, fox_852F0] - - [0x85530, c, fox_hud] - - [0x97F80, c, fox_97F80] - - [0x9A580, c, fox_std_lib] - - [0xA24B0, c, fox_game] - - [0xA4290, c, fox_A4290] - - [0xA48A0, c, fox_A48A0] - - [0xA4B50, c, fox_play] - - [0xB99D0, c, fox_rcp] - - [0xBB360, c, fox_radio] - - [0xBD0B0, c, fox_reset] - - [0xBD360, c, fox_versus] - - [0xC3430, c, fox_message] - - [0xC3BB0, c, fox_save] + - [0x2EFE0, c, engine/fox_360] + - [0x36930, c, engine/fox_beam] + - [0x3E6F0, c, engine/fox_bg] + - [0x43AC0, c, engine/fox_boss] + - [0x43E80, c, engine/fox_tank] + - [0x496C0, c, engine/fox_demo] + - [0x52730, c, engine/fox_display] + - [0x59780, c, engine/fox_load] + - [0x5A0F0, c, engine/fox_edata] + - [0x5A2C0, c, engine/fox_edisplay] + - [0x61B30, c, engine/fox_enmy] + - [0x6B3B0, c, engine/fox_enmy2] + - [0x77E40, c, engine/fox_effect] + - [0x84F70, c, engine/fox_fade] + - [0x852F0, c, engine/fox_852F0] + - [0x85530, c, engine/fox_hud] + - [0x97F80, c, engine/fox_97F80] + - [0x9A580, c, engine/fox_std_lib] + - [0xA24B0, c, engine/fox_game] + - [0xA4290, c, engine/fox_A4290] + - [0xA48A0, c, engine/fox_A48A0] + - [0xA4B50, c, engine/fox_play] + - [0xB99D0, c, engine/fox_rcp] + - [0xBB360, c, engine/fox_radio] + - [0xBD0B0, c, engine/fox_reset] + - [0xBD360, c, engine/fox_versus] + - [0xC3430, c, engine/fox_message] + - [0xC3BB0, c, engine/fox_save] # DATA - Microcode - [0xC3EE0, data, aspmain] - - [0xC4210, .data, audiotables] + - [0xC4210, .data, audio/audio_tables] - [0xC49D0, data, f3dex] # DATA - Nintendo Libraries - - [0xC51D0, .data, sys_main] - - [0xC51E0, .data, sys_math] - - [0xC5220, .data, sys_matrix] - - [0xC52F0, .data, sys_fault] - - [0xC54D0, .data, audio_synthesis] - - [0xC55B0, .data, audio_heap] - - [0xC5B50, .data, audio_load] - - [0xC6120, .data, audio_playback] # could be C6110? - - [0xC6500, .data, audio_effects] - - [0xC6520, .data, audio_seqplayer] - - [0xC68E0, .data, audio_general] - - [0xC80D0, .data, audio_context] - - [0xC8850, .data, audio_thread] - - [0xC8880, .data, sys_sprintf] + - [0xC51D0, .data, sys/sys_main] + - [0xC51E0, .data, sys/sys_math] + - [0xC5220, .data, sys/sys_matrix] + - [0xC52F0, .data, sys/sys_fault] + - [0xC54D0, .data, audio/audio_synthesis] + - [0xC55B0, .data, audio/audio_heap] + - [0xC5B50, .data, audio/audio_load] + - [0xC6120, .data, audio/audio_playback] # could be C6110? + - [0xC6500, .data, audio/audio_effects] + - [0xC6520, .data, audio/audio_seqplayer] + - [0xC68E0, .data, audio/audio_general] + - [0xC80D0, .data, audio/audio_context] + - [0xC8850, .data, audio/audio_thread] + - [0xC8880, .data, libc_sprintf] # DATA - Libultra - - [0xC88C0, .data, ../libultra/io/controller] - - [0xC88D0, .data, ../libultra/vimodes/vimodentsclan1] - - [0xC8920, .data, ../libultra/vimodes/vimodepallan1] - - [0xC8970, .data, ../libultra/vimodes/vimodempallan1] - - [0xC89DC, .data, ../libultra/io/vimgr] - - [0xC89E0, .data, ../libultra/io/pimgr] - - [0xC8A10, .data, ../libultra/os/initialize] - - [0xC8A30, .data, ../libultra/libc/xprintf] - - [0xC8A80, .data, ../libultra/io/aisetnextbuf] - - [0xC8A90, .data, ../libultra/io/siacs] - - [0xC8AA0, .data, ../libultra/os/thread] - - [0xC8AC0, data, ../libultra/os/exceptasm] - - [0xC8AE0, .data, ../libultra/io/vi] - - [0xC8B50, .data, ../libultra/os/timerintr] - - [0xC8B60, .data, ../libultra/io/piacs] - - [0xC8B70, .data, ../libultra/os/rdbsend] - - [0xC8B80, .data, ../libultra/libc/xlitob] - - [0xC8BB0, .data, ../libultra/debug/kdebugserver] - - [0xC8BC0, .data, ../libultra/host/readhost] - - [0xC8BD0, .data, ../libultra/rmon/rmoncmds] - - [0xC8CB0, .data, ../libultra/rmon/rmonmain] + - [0xC88C0, .data, libultra/io/controller] + - [0xC88D0, .data, libultra/vimodes/vimodentsclan1] + - [0xC8920, .data, libultra/vimodes/vimodepallan1] + - [0xC8970, .data, libultra/vimodes/vimodempallan1] + - [0xC89DC, .data, libultra/io/vimgr] + - [0xC89E0, .data, libultra/io/pimgr] + - [0xC8A10, .data, libultra/os/initialize] + - [0xC8A30, .data, libultra/libc/xprintf] + - [0xC8A80, .data, libultra/io/aisetnextbuf] + - [0xC8A90, .data, libultra/io/siacs] + - [0xC8AA0, .data, libultra/os/thread] + - [0xC8AC0, data, libultra/os/exceptasm] + - [0xC8AE0, .data, libultra/io/vi] + - [0xC8B50, .data, libultra/os/timerintr] + - [0xC8B60, .data, libultra/io/piacs] + - [0xC8B70, .data, libultra/os/rdbsend] + - [0xC8B80, .data, libultra/libc/xlitob] + - [0xC8BB0, .data, libultra/debug/kdebugserver] + - [0xC8BC0, .data, libultra/host/readhost] + - [0xC8BD0, .data, libultra/rmon/rmoncmds] + - [0xC8CB0, .data, libultra/rmon/rmonmain] # RODATA - Nintendo Libraries - - [0xC8CC0, .rodata, sys_math] - - [0xC8D10, .rodata, sys_matrix] - - [0xC8D20, .rodata, sys_save] - - [0xC8E40, .rodata, sys_fault] - - [0xC9220, .rodata, audio_synthesis] - - [0xC9260, .rodata, audio_heap] - - [0xC9280, .rodata, audio_load] - - [0xC92C0, .rodata, audio_playback] - - [0xC92EC, .rodata, audio_effects] - - [0xC9320, .rodata, audio_seqplayer] - - [0xC99D0, .rodata, audio_general] - - [0xC9CF0, .rodata, audio_thread] - - [0xC9F10, .rodata, sys_math64] + - [0xC8CC0, .rodata, sys/sys_math] + - [0xC8D10, .rodata, sys/sys_matrix] + - [0xC8D20, .rodata, sys/sys_save] + - [0xC8E40, .rodata, sys/sys_fault] + - [0xC9220, .rodata, audio/audio_synthesis] + - [0xC9260, .rodata, audio/audio_heap] + - [0xC9280, .rodata, audio/audio_load] + - [0xC92C0, .rodata, audio/audio_playback] + - [0xC92EC, .rodata, audio/audio_effects] + - [0xC9320, .rodata, audio/audio_seqplayer] + - [0xC99D0, .rodata, audio/audio_general] + - [0xC9CF0, .rodata, audio/audio_thread] + - [0xC9F10, .rodata, libc_math64] # RODATA - Libultra - - [0xC9F30, .rodata, ../libultra/gu/perspective] - - [0xC9F40, .rodata, ../libultra/gu/sinf] - - [0xC9F90, .rodata, ../libultra/gu/cosf] - - [0xC9FE0, .rodata, ../libultra/libc/xprintf] - - [0xCA0E0, rodata, ../libultra/os/exceptasm] - - [0xCA150, .rodata, ../libultra/io/devmgr] - - [0xCA170, rodata, ../libultra/gu/libm_vals] - - [0xCA180, .rodata, ../libultra/libc/xldtob] - - [0xCA1E0, rodata, ../libultra/os/setintmask] - - [0xCA260, .rodata, ../libultra/rmon/rmonmem] - - [0xCA330, .rodata, ../libultra/rmon/rmontask] - - [0xCA3D0, .rodata, ../libultra/rmon/rmonmisc] - - [0xCA400, .rodata, ../libultra/rmon/rmonregs] - - [0xCA480, .rodata, ../libultra/rmon/rmonbrk] - - [0xCA650, rodata, ../libultra/rmon/rmonrcp] + - [0xC9F30, .rodata, libultra/gu/perspective] + - [0xC9F40, .rodata, libultra/gu/sinf] + - [0xC9F90, .rodata, libultra/gu/cosf] + - [0xC9FE0, .rodata, libultra/libc/xprintf] + - [0xCA0E0, rodata, libultra/os/exceptasm] + - [0xCA150, .rodata, libultra/io/devmgr] + - [0xCA170, rodata, libultra/gu/libm_vals] + - [0xCA180, .rodata, libultra/libc/xldtob] + - [0xCA1E0, rodata, libultra/os/setintmask] + - [0xCA260, .rodata, libultra/rmon/rmonmem] + - [0xCA330, .rodata, libultra/rmon/rmontask] + - [0xCA3D0, .rodata, libultra/rmon/rmonmisc] + - [0xCA400, .rodata, libultra/rmon/rmonregs] + - [0xCA480, .rodata, libultra/rmon/rmonbrk] + - [0xCA650, rodata, libultra/rmon/rmonrcp] # DATA - game engine - - [0xCA690, .data, fox_360] - - [0xCA7C0, .data, fox_beam] - - [0xCA830, .data, fox_bg] - - [0xCAA90, .data, fox_boss] - - [0xCAB00, .data, fox_tank] - - [0xCAB60, .data, fox_demo] - - [0xCAE20, .data, fox_display] - - [0xCAFB0, .data, fox_load] - - [0xCCA70, .data, fox_edata] - - [0xD0570, .data, fox_edisplay] - - [0xD09A0, .data, fox_enmy] - - [0xD0B80, .data, fox_enmy2] - - [0xD20E0, .data, fox_effect] - - [0xD2570, .data, fox_hud] - - [0xD31D0, .data, fox_std_lib] - - [0xD3460, .data, fox_game] - - [0xD3520, .data, fox_A4290] - - [0xD3B50, .data, fox_play] - - [0xD3D80, .data, fox_context] - - [0xD3DB0, .data, fox_rcp] - - [0xD5670, .data, fox_radio] - - [0xD5680, .data, fox_reset] - - [0xD5690, .data, fox_versus] - - [0xD5910, .data, fox_save] + - [0xCA690, .data, engine/fox_360] + - [0xCA7C0, .data, engine/fox_beam] + - [0xCA830, .data, engine/fox_bg] + - [0xCAA90, .data, engine/fox_boss] + - [0xCAB00, .data, engine/fox_tank] + - [0xCAB60, .data, engine/fox_demo] + - [0xCAE20, .data, engine/fox_display] + - [0xCAFB0, .data, engine/fox_load] + - [0xCCA70, .data, engine/fox_edata] + - [0xD0570, .data, engine/fox_edisplay] + - [0xD09A0, .data, engine/fox_enmy] + - [0xD0B80, .data, engine/fox_enmy2] + - [0xD20E0, .data, engine/fox_effect] + - [0xD2570, .data, engine/fox_hud] + - [0xD31D0, .data, engine/fox_std_lib] + - [0xD3460, .data, engine/fox_game] + - [0xD3520, .data, engine/fox_A4290] + - [0xD3B50, .data, engine/fox_play] + - [0xD3D80, .data, engine/fox_context] + - [0xD3DB0, .data, engine/fox_rcp] + - [0xD5670, .data, engine/fox_radio] + - [0xD5680, .data, engine/fox_reset] + - [0xD5690, .data, engine/fox_versus] + - [0xD5910, .data, engine/fox_save] # RODATA - game engine - - [0xD5A10, .rodata, fox_360] - - [0xD5CF0, .rodata, fox_beam] - - [0xD5F90, .rodata, fox_bg] - - [0xD61D0, .rodata, fox_boss] - - [0xD61F0, .rodata, fox_tank] - - [0xD6350, .rodata, fox_demo] - - [0xD69A0, .rodata, fox_display] - - [0xD6BA0, .rodata, fox_load] - - [0xD6C20, .rodata, fox_edisplay] - - [0xD6FD0, .rodata, fox_enmy] - - [0xD7650, .rodata, fox_enmy2] - - [0xD7E30, .rodata, fox_effect] - - [0xD82F0, .rodata, fox_fade] - - [0xD8320, .rodata, fox_hud] - - [0xD8DE0, .rodata, fox_97F80] - - [0xD8DF0, .rodata, fox_std_lib] - - [0xD8E50, .rodata, fox_game] - - [0xD8ED0, .rodata, fox_A4290] - - [0xD8EE0, .rodata, fox_A48A0] - - [0xD8EF0, .rodata, fox_play] - - [0xD97F0, .rodata, fox_radio] - - [0xD9E50, .rodata, fox_versus] - - [0xD9F60, .rodata, fox_message] - - [0xDA030, .rodata, fox_save] + - [0xD5A10, .rodata, engine/fox_360] + - [0xD5CF0, .rodata, engine/fox_beam] + - [0xD5F90, .rodata, engine/fox_bg] + - [0xD61D0, .rodata, engine/fox_boss] + - [0xD61F0, .rodata, engine/fox_tank] + - [0xD6350, .rodata, engine/fox_demo] + - [0xD69A0, .rodata, engine/fox_display] + - [0xD6BA0, .rodata, engine/fox_load] + - [0xD6C20, .rodata, engine/fox_edisplay] + - [0xD6FD0, .rodata, engine/fox_enmy] + - [0xD7650, .rodata, engine/fox_enmy2] + - [0xD7E30, .rodata, engine/fox_effect] + - [0xD82F0, .rodata, engine/fox_fade] + - [0xD8320, .rodata, engine/fox_hud] + - [0xD8DE0, .rodata, engine/fox_97F80] + - [0xD8DF0, .rodata, engine/fox_std_lib] + - [0xD8E50, .rodata, engine/fox_game] + - [0xD8ED0, .rodata, engine/fox_A4290] + - [0xD8EE0, .rodata, engine/fox_A48A0] + - [0xD8EF0, .rodata, engine/fox_play] + - [0xD97F0, .rodata, engine/fox_radio] + - [0xD9E50, .rodata, engine/fox_versus] + - [0xD9F60, .rodata, engine/fox_message] + - [0xDA030, .rodata, engine/fox_save] # Common assets - - [0xDA0A0, .data, gfx_data] - - [0xDC710, .data, wave_samples] - - [0xDD330, .data, note_data] + - [0xDA0A0, .data, engine/fox_shapes] + - [0xDA830, .data, engine/fox_wheels] + - [0xDB5D0, .data, engine/fox_msg_palette] + - [0xDB650, .data, engine/fox_rcp_init] + - [0xDC710, .data, audio/wave_samples] + - [0xDD330, .data, audio/note_data] # Nintendo Library bss - - { start: 0xDE480, type: .bss, vram: 0x800DD880, name: sys_joybus } - - { type: .bss, vram: 0x800DDAA0, name: sys_main } - - { type: .bss, vram: 0x8013B3A0, name: sys_math } - - { type: .bss, vram: 0x8013B3C0, name: sys_matrix } - - { type: .bss, vram: 0x8013C3D0, name: sys_memory } - - { type: .bss, vram: 0x80144BE0, name: sys_timer } - - { type: .bss, vram: 0x80144F60, name: sys_save } - - { type: .bss, vram: 0x80145360, name: sys_fault } - - { type: .bss, vram: 0x80145D40, name: audio_synthesis } - - { type: .bss, vram: 0x80146D80, name: audio_heap } - - { type: .bss, vram: 0x80146D90, name: audio_load } - - { type: .bss, vram: 0x80146E60, name: audio_general } - - { type: .bss, vram: 0x8014BA40, name: audio_context } - - { type: .bss, vram: 0x80155DA0, name: audio_thread } + - { start: 0xDE480, type: .bss, vram: 0x800DD880, name: sys/sys_joybus } + - { type: .bss, vram: 0x800DDAA0, name: sys/sys_main } + - { type: .bss, vram: 0x8013B3A0, name: sys/sys_math } + - { type: .bss, vram: 0x8013B3C0, name: sys/sys_matrix } + - { type: .bss, vram: 0x8013C3D0, name: sys/sys_memory } + - { type: .bss, vram: 0x80144BE0, name: sys/sys_timer } + - { type: .bss, vram: 0x80144F60, name: sys/sys_save } + - { type: .bss, vram: 0x80145360, name: sys/sys_fault } + - { type: .bss, vram: 0x80145D40, name: audio/audio_synthesis } + - { type: .bss, vram: 0x80146D80, name: audio/audio_heap } + - { type: .bss, vram: 0x80146D90, name: audio/audio_load } + - { type: .bss, vram: 0x80146E60, name: audio/audio_general } + - { type: .bss, vram: 0x8014BA40, name: audio/audio_context } + - { type: .bss, vram: 0x80155DA0, name: audio/audio_thread } # Libultra bss - - { type: .bss, vram: 0x80156620, name: ../libultra/io/controller } - - { type: .bss, vram: 0x801566B0, name: ../libultra/io/motor } - - { type: .bss, vram: 0x801568F0, name: ../libultra/os/seteventmesg } - - { type: .bss, vram: 0x801569B0, name: ../libultra/io/sptask } - - { type: .bss, vram: 0x801569F0, name: ../libultra/io/vimgr } - - { type: .bss, vram: 0x80157C10, name: ../libultra/io/pimgr } - - { type: .bss, vram: 0x801593D0, name: ../libultra/os/initialize } - - { type: .bss, vram: 0x801593E0, name: ../libultra/io/conteepread } - - { type: .bss, vram: 0x80159420, name: ../libultra/io/cartrominit } - - { type: .bss, vram: 0x801594A0, name: ../libultra/io/siacs } - - { type: .bss, vram: 0x801594C0, name: ../libultra/io/pfsisplug } - - { type: .bss, vram: 0x80159500, name: ../libultra/os/timerintr } - - { type: .bss, vram: 0x80159560, name: ../libultra/io/leodiskinit } - - { type: .bss, vram: 0x801595E0, name: ../libultra/io/piacs } - - { type: .bss, vram: 0x80159600, name: ../libultra/debug/kdebugserver } - - { type: .bss, vram: 0x801597C0, name: ../libultra/host/readhost } - - { type: .bss, vram: 0x801597F0, name: ../libultra/rmon/rmonsio } - - { type: .bss, vram: 0x8015A010, name: ../libultra/os/initrdb } - - { type: .bss, vram: 0x8015A030, name: ../libultra/io/leointerrupt } - - { type: .bss, vram: 0x8015B030, name: ../libultra/rmon/rmonmem } - - { type: .bss, vram: 0x8015B130, name: ../libultra/rmon/rmonmisc } - - { type: .bss, vram: 0x8015F350, name: ../libultra/rmon/rmonregs } - - { type: .bss, vram: 0x8015F370, name: ../libultra/rmon/rmonbrk } - - { type: .bss, vram: 0x8015F480, name: ../libultra/rmon/rmonmain } + - { type: .bss, vram: 0x80156620, name: libultra/io/controller } + - { type: .bss, vram: 0x801566B0, name: libultra/io/motor } + - { type: .bss, vram: 0x801568F0, name: libultra/os/seteventmesg } + - { type: .bss, vram: 0x801569B0, name: libultra/io/sptask } + - { type: .bss, vram: 0x801569F0, name: libultra/io/vimgr } + - { type: .bss, vram: 0x80157C10, name: libultra/io/pimgr } + - { type: .bss, vram: 0x801593D0, name: libultra/os/initialize } + - { type: .bss, vram: 0x801593E0, name: libultra/io/conteepread } + - { type: .bss, vram: 0x80159420, name: libultra/io/cartrominit } + - { type: .bss, vram: 0x801594A0, name: libultra/io/siacs } + - { type: .bss, vram: 0x801594C0, name: libultra/io/pfsisplug } + - { type: .bss, vram: 0x80159500, name: libultra/os/timerintr } + - { type: .bss, vram: 0x80159560, name: libultra/io/leodiskinit } + - { type: .bss, vram: 0x801595E0, name: libultra/io/piacs } + - { type: .bss, vram: 0x80159600, name: libultra/debug/kdebugserver } + - { type: .bss, vram: 0x801597C0, name: libultra/host/readhost } + - { type: .bss, vram: 0x801597F0, name: libultra/rmon/rmonsio } + - { type: .bss, vram: 0x8015A010, name: libultra/os/initrdb } + - { type: .bss, vram: 0x8015A030, name: libultra/io/leointerrupt } + - { type: .bss, vram: 0x8015B030, name: libultra/rmon/rmonmem } + - { type: .bss, vram: 0x8015B130, name: libultra/rmon/rmonmisc } + - { type: .bss, vram: 0x8015F350, name: libultra/rmon/rmonregs } + - { type: .bss, vram: 0x8015F370, name: libultra/rmon/rmonbrk } + - { type: .bss, vram: 0x8015F480, name: libultra/rmon/rmonmain } # Game engine bss - - { type: .bss, vram: 0x8015F900, name: fox_360 } - - { type: .bss, vram: 0x8015F950, name: fox_beam } - - { type: .bss, vram: 0x8015F960, name: fox_bg } - - { type: .bss, vram: 0x801613A0, name: fox_boss } - - { type: .bss, vram: 0x801613B0, name: fox_display } - - { type: .bss, vram: 0x801615D0, name: fox_edisplay } - - { type: .bss, vram: 0x80161670, name: fox_enmy } - - { type: .bss, vram: 0x80161690, name: fox_enmy2 } - - { type: .bss, vram: 0x801616A0, name: fox_hud } - - { type: .bss, vram: 0x80161950, name: fox_97F80 } - - { type: .bss, vram: 0x801619A0, name: fox_std_lib } - - { type: .bss, vram: 0x80161A10, name: fox_game } - - { type: .bss, vram: 0x80161A50, name: fox_play } - - { type: .bss, vram: 0x80161A70, name: fox_context} - - { type: .bss, vram: 0x80178580, name: fox_rcp } - - { type: .bss, vram: 0x80178720, name: fox_radio } - - { type: .bss, vram: 0x80178750, name: fox_versus } - - { type: .bss, vram: 0x80178870, name: fox_save } + - { type: .bss, vram: 0x8015F900, name: engine/fox_360 } + - { type: .bss, vram: 0x8015F950, name: engine/fox_beam } + - { type: .bss, vram: 0x8015F960, name: engine/fox_bg } + - { type: .bss, vram: 0x801613A0, name: engine/fox_boss } + - { type: .bss, vram: 0x801613B0, name: engine/fox_display } + - { type: .bss, vram: 0x801615D0, name: engine/fox_edisplay } + - { type: .bss, vram: 0x80161670, name: engine/fox_enmy } + - { type: .bss, vram: 0x80161690, name: engine/fox_enmy2 } + - { type: .bss, vram: 0x801616A0, name: engine/fox_hud } + - { type: .bss, vram: 0x80161950, name: engine/fox_97F80 } + - { type: .bss, vram: 0x801619A0, name: engine/fox_std_lib } + - { type: .bss, vram: 0x80161A10, name: engine/fox_game } + - { type: .bss, vram: 0x80161A50, name: engine/fox_play } + - { type: .bss, vram: 0x80161A70, name: engine/fox_context} + - { type: .bss, vram: 0x80178580, name: engine/fox_rcp } + - { type: .bss, vram: 0x80178720, name: engine/fox_radio } + - { type: .bss, vram: 0x80178750, name: engine/fox_versus } + - { type: .bss, vram: 0x80178870, name: engine/fox_save } - name: dma_table type: code - dir: main start: 0xDE480 vram: 0x80178A70 follows_vram: main diff --git a/yamls/us/overlays.yaml b/yamls/us/overlays.yaml index a82a57be..3c868211 100644 --- a/yamls/us/overlays.yaml +++ b/yamls/us/overlays.yaml @@ -225,14 +225,13 @@ - [0xEFFA50, .data, fox_unused] - { start: 0xEFFAE0, type: .bss, vram: 0x801875C0, name: fox_unused } - - name: fox_buffers + - name: buffers exclusive_ram_id: buffer type: code - dir: main start: 0xEFFAE0 vram: 0x80281000 bss_size: 0x17F000 subsegments: - - { start: 0xEFFAE0, type: .bss, vram: 0x80281000, name: fox_buffers } + - { start: 0xEFFAE0, type: .bss, vram: 0x80281000, name: buffers } - [0xEFFAE0] \ No newline at end of file