Reorganizaton of main (#199)

* reorganize main

* more names

* libc
This commit is contained in:
petrie911 2024-04-03 09:30:50 -05:00 committed by GitHub
parent 5f2b690a2b
commit ac41c180a9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
73 changed files with 653 additions and 641 deletions

View File

@ -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

View File

@ -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;

View File

@ -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[];

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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) {

View File

@ -1,6 +1,6 @@
#include "global.h"
#include "fox_edata_1C.c"
#include "fox_edata_info.c"
f32* D_edata_800CF964[] = { NULL };

View File

@ -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);

View File

@ -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]) {

View File

@ -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

View File

@ -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);
}

16
src/engine/fox_rcp_init.c Normal file
View File

@ -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(),
};

View File

@ -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 |

View File

@ -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(),
};

View File

@ -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) {

166
src/engine/fox_wheels.c Normal file
View File

@ -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,
};

View File

@ -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) {

View File

@ -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

View File

@ -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]