name remaining files, fix some fake matches (#245)

* splits

* split and migrate

* readwrite const

* format
This commit is contained in:
petrie911 2024-05-14 09:44:12 -05:00 committed by GitHub
parent 89f11fc142
commit 3045745789
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 308 additions and 310 deletions

View File

@ -315,6 +315,13 @@ build/src/libultra/host/%.o: OPTFLAGS := -O1 -g0
build/src/audio/%.o: OPTFLAGS := -O2 -g0
# per-file flags
build/src/audio/audio_effects.o: CFLAGS += -use_readwrite_const
build/src/audio/audio_heap.o: CFLAGS += -use_readwrite_const
build/src/audio/audio_load.o: CFLAGS += -use_readwrite_const
build/src/audio/audio_seqplayer.o: CFLAGS += -use_readwrite_const
build/src/audio/audio_playback.o: CFLAGS += -use_readwrite_const
build/src/audio/audio_synthesis.o: CFLAGS += -use_readwrite_const
build/src/libc_sprintf.o: OPTFLAGS := -O2 -g0
build/src/libc_math64.o: OPTFLAGS := -O2 -g0

View File

@ -424,17 +424,17 @@ void func_hud_80094BBC(Effect*);
void func_hud_80094D20(f32, f32);
void func_hud_80096A74(Player* player);
// fox_97F80
// fox_col1
void func_col1_80098860(PlaneF* plane, Vec3f* point, Vec3f* normal);
s32 func_col1_800988B4(Vec3f* vec, PlaneF* plane);
bool func_col1_800998FC(Vec3f* objPos, Vec3f* colliderPos, Vec3f* objVel, s32 colId, Vec3f* hitPosOut,
f32* hitAnglesOut);
// fox_A4290
// fox_col2
bool func_col2_800A3690(Vec3f* objPos, Vec3f* colliderPos, s32 colId, Vec3f* hitDataOut);
// fox_A48A0
void func_800A3CA0(void);
// fox_pause
void func_pause_800A3CA0(void);
// fox_play
bool Play_CheckMedalStatus(u16);

View File

@ -83,7 +83,7 @@ extern s32 gCallVoiceParam;
// fox_hud
extern s16 D_hud_800D1970;
// fox_A4290
// fox_col2
extern CollisionHeader D_800D2B38[];
extern CollisionHeader2 D_800D2CA0[];

View File

@ -1,7 +1,7 @@
#include "sys.h"
#include "sf64audio_provisional.h"
static char devstr[] = "Audio:Envp: overflow %f\n";
static const char devstr[] = "Audio:Envp: overflow %f\n";
void func_80013400(SequenceChannel* channel, s32 updateVolume) {
s32 i;

View File

@ -11,62 +11,62 @@ void* AudioHeap_SearchRegularCaches(s32 tableType, s32 cache, s32 id);
void* AudioHeap_SearchPermanentCache(s32 tableType, s32 id);
SampleCacheEntry* AudioHeap_AllocPersistentSampleCacheEntry(u32);
static char devstr00[] = "Warning:Kill Note %x \n";
static char devstr01[] = "Kill Voice %d (ID %d) %d\n";
static char devstr02[] = "Warning: Running Sequence's data disappear!\n";
static char devstr03[] = "%x %x %x\n";
static char devstr04[] = "Audio:Memory:Heap OverFlow : Not Allocate %d!\n";
static char devstr05[] = "%x %x %x\n";
static char devstr06[] = "Audio:Memory:Heap OverFlow : Not Allocate %d!\n";
static char devstr07[] = "Audio:Memory:DataHeap Not Allocate \n";
static char devstr08[] = "StayHeap Not Allocate %d\n";
static char devstr09[] = "AutoHeap Not Allocate %d\n";
static char devstr10[] = "Status ID0 : %d ID1 : %d\n";
static char devstr11[] = "id 0 is Stopping\n";
static char devstr12[] = "id 0 is Stop\n";
static char devstr13[] = "id 1 is Stopping\n";
static char devstr14[] = "id 1 is Stop\n";
static char devstr15[] = "WARNING: NO FREE AUTOSEQ AREA.\n";
static char devstr16[] = "WARNING: NO STOP AUTO AREA.\n";
static char devstr17[] = " AND TRY FORCE TO STOP SIDE \n";
static char devstr18[] = "Check ID0 (seq ID %d) Useing ...\n";
static char devstr19[] = "Check ID1 (seq ID %d) Useing ...\n";
static char devstr20[] = "No Free Seq area.\n";
static char devstr21[] = "CH %d: ID %d\n";
static char devstr22[] = "TWO SIDES ARE LOADING... ALLOC CANCELED.\n";
static char devstr23[] = "WARNING: Before Area Overlaid After.";
static char devstr24[] = "WARNING: After Area Overlaid Before.";
static char devstr25[] = "MEMORY:SzHeapAlloc ERROR: sza->side %d\n";
static char devstr26[] = "Audio:MEMORY:SzHeap Overflow error. (%d bytes)\n";
static char devstr27[] = "Auto Heap Unhit for ID %d\n";
static char devstr28[] = "Heap Reconstruct Start %x\n";
static char devstr29[] = "---------------------------------------TEMPO %d %f\n";
static char devstr30[] = "%f \n";
static char devstr31[] = "%f \n";
static char devstr32[] = "AHPBASE %x\n";
static char devstr33[] = "AHPCUR %x\n";
static char devstr34[] = "HeapTop %x\n";
static char devstr35[] = "SynoutRate %d / %d \n";
static char devstr36[] = "FXSIZE %d\n";
static char devstr37[] = "FXCOMP %d\n";
static char devstr38[] = "FXDOWN %d\n";
static char devstr39[] = "WaveCacheLen: %d\n";
static char devstr40[] = "SpecChange Finished\n";
static char devstr41[] = "Warning:Emem Over,not alloc %d\n";
static char devstr42[] = "Single AutoSize %d\n";
static char devstr43[] = "Single Ptr %x\n";
static char devstr44[] = "Request--------Single-Auto, %d\n";
static char devstr45[] = "Retry %x, %x, len %x\n";
static char devstr46[] = "DMAing list %d is killed.\n";
static char devstr47[] = "Try Kill %d \n";
static char devstr48[] = "Try Kill %x %x\n";
static char devstr49[] = "Try Kill %x %x %x\n";
static char devstr50[] = "Rom back %x %x \n";
static char devstr51[] = "Error sw NULL \n";
static char devstr52[] = "Request--------Single-Stay, %d\n";
static char devstr53[] = "Try Kill %d \n";
static char devstr54[] = "Try Kill %x %x\n";
static char devstr55[] = "Try Kill %x %x %x\n";
static const char devstr00[] = "Warning:Kill Note %x \n";
static const char devstr01[] = "Kill Voice %d (ID %d) %d\n";
static const char devstr02[] = "Warning: Running Sequence's data disappear!\n";
static const char devstr03[] = "%x %x %x\n";
static const char devstr04[] = "Audio:Memory:Heap OverFlow : Not Allocate %d!\n";
static const char devstr05[] = "%x %x %x\n";
static const char devstr06[] = "Audio:Memory:Heap OverFlow : Not Allocate %d!\n";
static const char devstr07[] = "Audio:Memory:DataHeap Not Allocate \n";
static const char devstr08[] = "StayHeap Not Allocate %d\n";
static const char devstr09[] = "AutoHeap Not Allocate %d\n";
static const char devstr10[] = "Status ID0 : %d ID1 : %d\n";
static const char devstr11[] = "id 0 is Stopping\n";
static const char devstr12[] = "id 0 is Stop\n";
static const char devstr13[] = "id 1 is Stopping\n";
static const char devstr14[] = "id 1 is Stop\n";
static const char devstr15[] = "WARNING: NO FREE AUTOSEQ AREA.\n";
static const char devstr16[] = "WARNING: NO STOP AUTO AREA.\n";
static const char devstr17[] = " AND TRY FORCE TO STOP SIDE \n";
static const char devstr18[] = "Check ID0 (seq ID %d) Useing ...\n";
static const char devstr19[] = "Check ID1 (seq ID %d) Useing ...\n";
static const char devstr20[] = "No Free Seq area.\n";
static const char devstr21[] = "CH %d: ID %d\n";
static const char devstr22[] = "TWO SIDES ARE LOADING... ALLOC CANCELED.\n";
static const char devstr23[] = "WARNING: Before Area Overlaid After.";
static const char devstr24[] = "WARNING: After Area Overlaid Before.";
static const char devstr25[] = "MEMORY:SzHeapAlloc ERROR: sza->side %d\n";
static const char devstr26[] = "Audio:MEMORY:SzHeap Overflow error. (%d bytes)\n";
static const char devstr27[] = "Auto Heap Unhit for ID %d\n";
static const char devstr28[] = "Heap Reconstruct Start %x\n";
static const char devstr29[] = "---------------------------------------TEMPO %d %f\n";
static const char devstr30[] = "%f \n";
static const char devstr31[] = "%f \n";
static const char devstr32[] = "AHPBASE %x\n";
static const char devstr33[] = "AHPCUR %x\n";
static const char devstr34[] = "HeapTop %x\n";
static const char devstr35[] = "SynoutRate %d / %d \n";
static const char devstr36[] = "FXSIZE %d\n";
static const char devstr37[] = "FXCOMP %d\n";
static const char devstr38[] = "FXDOWN %d\n";
static const char devstr39[] = "WaveCacheLen: %d\n";
static const char devstr40[] = "SpecChange Finished\n";
static const char devstr41[] = "Warning:Emem Over,not alloc %d\n";
static const char devstr42[] = "Single AutoSize %d\n";
static const char devstr43[] = "Single Ptr %x\n";
static const char devstr44[] = "Request--------Single-Auto, %d\n";
static const char devstr45[] = "Retry %x, %x, len %x\n";
static const char devstr46[] = "DMAing list %d is killed.\n";
static const char devstr47[] = "Try Kill %d \n";
static const char devstr48[] = "Try Kill %x %x\n";
static const char devstr49[] = "Try Kill %x %x %x\n";
static const char devstr50[] = "Rom back %x %x \n";
static const char devstr51[] = "Error sw NULL \n";
static const char devstr52[] = "Request--------Single-Stay, %d\n";
static const char devstr53[] = "Try Kill %d \n";
static const char devstr54[] = "Try Kill %x %x\n";
static const char devstr55[] = "Try Kill %x %x %x\n";
void AudioHeap_ResetLoadStatus(void) {
s32 i;

View File

@ -2,28 +2,6 @@
#include "sf64dma.h"
#include "sf64audio_provisional.h"
static char devstr00[] = "CAUTION:WAVE CACHE FULL %d";
static char D_800C4F6C[] = "SUPERDMA";
static char devstr02[] = "Bank Change... top %d lba %d\n";
static char devstr03[] = "BankCount %d\n";
static char devstr04[] = "BANK LOAD MISS! FOR %d\n";
static char devstr05[] = "BankCount %d\n";
static char devstr06[] = "Flush Start\n";
static char devstr07[] = "%d ->%d\n";
static char devstr08[] = "useflag %d\n";
static char devstr09[] = "BankCount %d\n";
static char devstr10[] = "%2x ";
static char devstr11[] = "StartSeq (Group %d,Seq %d) Process finish\n";
static char devstr12[] = "LoadCtrl, Ptr %x and Media is %d\n";
static char devstr13[] = "Load Bank, Type %d , ID %d\n";
static char devstr14[] = "get auto\n";
static char devstr15[] = "get s-auto %x\n";
static char devstr16[] = "Seq %d Write ID OK %d!\n";
static char devstr17[] = "Banknumber %d\n";
static char devstr18[] = "Bank Offset %x %d %d\n";
static char devstr19[] = "PEP Touch %x \n";
static char D_800C50E8[] = "FastCopy";
s32 D_80146D80;
s32 PAD_80146D88[2];
AudioSlowLoadBuffer gSlowLoads;
@ -86,6 +64,8 @@ void AudioLoad_DecreaseSampleDmaTtls(void) {
D_80155A50 = 0;
}
static const char devstr00[] = "CAUTION:WAVE CACHE FULL %d";
void* AudioLoad_DmaSampleData(u32 devAddr, u32 size, u32 arg2, u8* dmaIndexRef, s32 medium) {
u32 i;
SampleDma* dma;
@ -147,11 +127,30 @@ void* AudioLoad_DmaSampleData(u32 devAddr, u32 size, u32 arg2, u8* dmaIndexRef,
dma->devAddr = dmaDevAddr;
dma->sizeUnused = dma->size;
AudioLoad_Dma(&gCurAudioFrameDmaIoMsgBuf[gCurAudioFrameDmaCount++], 0, 0, dmaDevAddr, dma->ramAddr, dma->size,
&gCurAudioFrameDmaQueue, medium, D_800C4F6C);
&gCurAudioFrameDmaQueue, medium, "SUPERDMA");
*dmaIndexRef = sp38;
return devAddr - dmaDevAddr + dma->ramAddr;
}
static const char devstr02[] = "Bank Change... top %d lba %d\n";
static const char devstr03[] = "BankCount %d\n";
static const char devstr04[] = "BANK LOAD MISS! FOR %d\n";
static const char devstr05[] = "BankCount %d\n";
static const char devstr06[] = "Flush Start\n";
static const char devstr07[] = "%d ->%d\n";
static const char devstr08[] = "useflag %d\n";
static const char devstr09[] = "BankCount %d\n";
static const char devstr10[] = "%2x ";
static const char devstr11[] = "StartSeq (Group %d,Seq %d) Process finish\n";
static const char devstr12[] = "LoadCtrl, Ptr %x and Media is %d\n";
static const char devstr13[] = "Load Bank, Type %d , ID %d\n";
static const char devstr14[] = "get auto\n";
static const char devstr15[] = "get s-auto %x\n";
static const char devstr16[] = "Seq %d Write ID OK %d!\n";
static const char devstr17[] = "Banknumber %d\n";
static const char devstr18[] = "Bank Offset %x %d %d\n";
static const char devstr19[] = "PEP Touch %x \n";
void AudioLoad_InitSampleDmaBuffers(s32 numNotes) {
s32 i;
u8* dma;
@ -632,8 +631,6 @@ void AudioLoad_RelocateFont(s32 fontId, u32 fontBaseAddr, void* relocData) {
gSoundFontList[fontId].instruments = (u32) &fontDataPtrs[1];
}
static char D_800C50F4[] = "FastCopy";
void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium) {
size = ALIGN16(size);
osInvalDCache(ramAddr, size);
@ -641,14 +638,14 @@ void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium) {
if (size < 0x400) {
break;
}
AudioLoad_Dma(&gSyncDmaIoMsg, 1, 0, devAddr, ramAddr, 0x400, &gSyncDmaQueue, medium, D_800C50E8);
AudioLoad_Dma(&gSyncDmaIoMsg, 1, 0, devAddr, ramAddr, 0x400, &gSyncDmaQueue, medium, "FastCopy");
MQ_WAIT_FOR_MESG(&gSyncDmaQueue, NULL);
size -= 0x400;
devAddr += 0x400;
ramAddr += 0x400;
}
if (size != 0) {
AudioLoad_Dma(&gSyncDmaIoMsg, 1, 0, devAddr, ramAddr, size, &gSyncDmaQueue, medium, D_800C50F4);
AudioLoad_Dma(&gSyncDmaIoMsg, 1, 0, devAddr, ramAddr, size, &gSyncDmaQueue, medium, "FastCopy");
MQ_WAIT_FOR_MESG(&gSyncDmaQueue, NULL);
}
}
@ -660,11 +657,11 @@ void AudioLoad_SyncDmaUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediu
func_8000FC8C(func_8000FC7C(unkMediumParam, &addr), addr, ramAddr, size);
}
static char devstr22[] = "Error: Cannot DMA Media [%d]\n";
static char devstr23[] = "Warning: size not align 16 %x (%s)\n";
static char devstr24[] = "Load Bank BG, Type %d , ID %d\n";
static char devstr25[] = "get auto\n";
static char devstr26[] = "get s-auto %x\n";
static const char devstr22[] = "Error: Cannot DMA Media [%d]\n";
static const char devstr23[] = "Warning: size not align 16 %x (%s)\n";
static const char devstr24[] = "Load Bank BG, Type %d , ID %d\n";
static const char devstr25[] = "get auto\n";
static const char devstr26[] = "get s-auto %x\n";
s32 AudioLoad_Dma(OSIoMesg* mesg, u32 priority, s32 direction, u32 devAddr, void* ramAddr, u32 size,
OSMesgQueue* retQueue, s32 medium, const char* dmaType) {
@ -805,17 +802,17 @@ void AudioLoad_ProcessLoads(s32 resetStatus) {
AudioLoad_ProcessAsyncLoads(resetStatus);
}
static char devstr27[] = "Clear Workarea %x -%x size %x \n";
static char devstr28[] = "AudioHeap is %x\n";
static char devstr29[] = "Heap reset.Synth Change %x \n";
static char devstr30[] = "Heap %x %x %x\n";
static char devstr31[] = "Main Heap Initialize.\n";
static char devstr32[] = "%d :WaveA %d WaveB %d Inst %d,Perc %d\n";
static char devstr33[] = "---------- Init Completed. ------------\n";
static char devstr34[] = " Syndrv :[%6d]\n";
static char devstr35[] = " Seqdrv :[%6d]\n";
static char devstr36[] = " audiodata :[%6d]\n";
static char devstr37[] = "---------------------------------------\n";
static const char devstr27[] = "Clear Workarea %x -%x size %x \n";
static const char devstr28[] = "AudioHeap is %x\n";
static const char devstr29[] = "Heap reset.Synth Change %x \n";
static const char devstr30[] = "Heap %x %x %x\n";
static const char devstr31[] = "Main Heap Initialize.\n";
static const char devstr32[] = "%d :WaveA %d WaveB %d Inst %d,Perc %d\n";
static const char devstr33[] = "---------- Init Completed. ------------\n";
static const char devstr34[] = " Syndrv :[%6d]\n";
static const char devstr35[] = " Seqdrv :[%6d]\n";
static const char devstr36[] = " audiodata :[%6d]\n";
static const char devstr37[] = "---------------------------------------\n";
void AudioLoad_Init(void) {
s32 pad[14];
@ -903,9 +900,9 @@ void AudioLoad_Init(void) {
func_800168BC();
}
static char devstr38[] = "Entry--- %d %d\n";
static char devstr39[] = "---Block LPS here\n";
static char devstr40[] = "===Block LPS end\n";
static const char devstr38[] = "Entry--- %d %d\n";
static const char devstr39[] = "---Block LPS here\n";
static const char devstr40[] = "===Block LPS end\n";
s32 AudioLoad_SlowLoadSample(s32 fontId, u8 instId, s8* status) {
Sample* sample;
AudioSlowLoad* slowLoad;
@ -1025,21 +1022,20 @@ void AudioLoad_ProcessSlowLoads(s32 resetStatus) {
}
}
static char D_800C52F4[] = "SLOWCOPY";
static char devstr42[] = "Req: Src %x Dest %x Len %x,media %d,retcode %d\n";
static char devstr43[] = "Remain Size %d\n";
static char devstr44[] = "---Block BG here\n";
static char devstr45[] = "===Block BG end\n";
static char devstr46[] = "Retcode %x\n";
static char devstr47[] = "Other Type: Not Write ID.\n";
void AudioLoad_DmaSlowCopy(AudioSlowLoad* slowLoad, s32 size) {
osInvalDCache(slowLoad->curRamAddr, size);
osCreateMesgQueue(&slowLoad->mesgQueue, &slowLoad->msg, 1);
AudioLoad_Dma(&slowLoad->ioMesg, 0, 0, slowLoad->curDevAddr, slowLoad->curRamAddr, size, &slowLoad->mesgQueue,
slowLoad->medium, D_800C52F4);
slowLoad->medium, "SLOWCOPY");
}
static const char devstr42[] = "Req: Src %x Dest %x Len %x,media %d,retcode %d\n";
static const char devstr43[] = "Remain Size %d\n";
static const char devstr44[] = "---Block BG here\n";
static const char devstr45[] = "===Block BG end\n";
static const char devstr46[] = "Retcode %x\n";
static const char devstr47[] = "Other Type: Not Write ID.\n";
void AudioLoad_DmaSlowCopyUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam) {
s32 addr = devAddr;
@ -1184,8 +1180,7 @@ void AudioLoad_ProcessAsyncLoad(AudioAsyncLoad* asyncLoad, s32 resetStatus) {
}
}
static char devstr48[] = "BGLOAD:Error: dma length 0\n";
static char D_800C53AC[] = "BGCOPY";
static const char devstr48[] = "BGLOAD:Error: dma length 0\n";
void AudioLoad_AsyncDma(AudioAsyncLoad* asyncLoad, u32 size) {
size = ALIGN16(size);
@ -1193,7 +1188,7 @@ void AudioLoad_AsyncDma(AudioAsyncLoad* asyncLoad, u32 size) {
osCreateMesgQueue(&asyncLoad->mesgQueue, &asyncLoad->msg, 1);
if (size) {}
AudioLoad_Dma(&asyncLoad->ioMesg, 0, 0, asyncLoad->curDevAddr, asyncLoad->curRamAddr, size, &asyncLoad->mesgQueue,
asyncLoad->medium, D_800C53AC);
asyncLoad->medium, "BGCOPY");
}
void AudioLoad_AsyncDmaUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam) {
@ -1203,8 +1198,8 @@ void AudioLoad_AsyncDmaUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMedi
func_8000FC8C(func_8000FC7C(unkMediumParam, &addr), addr, ramAddr, size);
}
static char devstr50[] = "Error: Already wavetable is touched %x.\n";
static char devstr51[] = "Touch Warning: Length zero %x\n";
static const char devstr50[] = "Error: Already wavetable is touched %x.\n";
static const char devstr51[] = "Touch Warning: Length zero %x\n";
void AudioLoad_RelocateSample(TunedSample* tSample, u32 fontDataAddr, SampleBankRelocInfo* relocInfo) {
void* reloc;
@ -1238,11 +1233,11 @@ void AudioLoad_RelocateSample(TunedSample* tSample, u32 fontDataAddr, SampleBank
}
}
static char devstr52[] = "It's busy now!!!!! %d\n";
static char devstr53[] = "BG LOAD BUFFER is OVER.\n";
static char devstr54[] = "Warning: Length zero %x\n";
static char devstr55[] = "Wave Load %d \n";
static char devstr56[] = "Total Bg Wave Load %d \n";
static const char devstr52[] = "It's busy now!!!!! %d\n";
static const char devstr53[] = "BG LOAD BUFFER is OVER.\n";
static const char devstr54[] = "Warning: Length zero %x\n";
static const char devstr55[] = "Wave Load %d \n";
static const char devstr56[] = "Total Bg Wave Load %d \n";
s32 AudioLoad_RelocateFontAndPreloadSamples(s32 fontId, u32 fontDataAddr, SampleBankRelocInfo* relocData, s32 isAsync) {
s32 i;
@ -1333,15 +1328,15 @@ s32 AudioLoad_RelocateFontAndPreloadSamples(s32 fontId, u32 fontDataAddr, Sample
}
}
// static char devstr55[] = "Wave Load %d \n";
// static char devstr56[] = "Total Bg Wave Load %d \n";
// static char devstr57[] = "Receive %d\n";
// static const char devstr55[] = "Wave Load %d \n";
// static const char devstr56[] = "Total Bg Wave Load %d \n";
// static const char devstr57[] = "Receive %d\n";
static char devstr57[] = "Receive %d\n";
static char devstr58[] = "============Error: Magic is Broken after loading.\n";
static char devstr59[] = "Remain DMA: %d\n";
static char devstr60[] = "N start %d\n";
static char devstr61[] = "============Error: Magic is Broken: %x\n";
static const char devstr57[] = "Receive %d\n";
static const char devstr58[] = "============Error: Magic is Broken after loading.\n";
static const char devstr59[] = "Remain DMA: %d\n";
static const char devstr60[] = "N start %d\n";
static const char devstr61[] = "============Error: Magic is Broken: %x\n";
s32 AudioLoad_ProcessSamplePreloads(s32 resetStatus) {
Sample* sample;
@ -1417,8 +1412,8 @@ s32 AudioLoad_AddToSampleSet(Sample* sample, s32 numSamples, Sample** sampleSet)
return numSamples;
}
static char devstr62[] = "Error: No Handle.\n";
static char devstr63[] = "Success: %x\n";
static const char devstr62[] = "Error: No Handle.\n";
static const char devstr63[] = "Success: %x\n";
s32 AudioLoad_GetSamplesForFont(s32 fontId, Sample** sampleSet) {
s32 i;

View File

@ -1,37 +1,37 @@
#include "sys.h"
#include "sf64audio_provisional.h"
static char devstr00[] = "Audio: setvol: volume minus %f\n";
static char devstr01[] = "Audio: setvol: volume overflow %f\n";
static char devstr02[] = "Audio: setpitch: pitch zero or minus %f\n";
static char devstr03[] = "Audio: voiceman: No bank error %d\n";
static char devstr04[] = "Audio: voiceman: progNo. overflow %d,%d\n";
static char devstr05[] = "ptr2 %x\n";
static char devstr06[] = "Audio: voiceman: progNo. undefined %d,%d\n";
static char devstr07[] = "Audio: voiceman: No bank error %d\n";
static char devstr08[] = "Audio: voiceman: Percussion Overflow %d,%d\n";
static char devstr09[] = "Audio: voiceman: Percussion table pointer (bank %d) is irregular %x.\n";
static char devstr10[] = "Audio: voiceman: Percpointer NULL %d,%d\n";
static char devstr11[] = "--4 %x\n";
static char devstr12[] = "----------------------Double-Error CH: %x %f\n";
static char devstr13[] = "----------------------Double-Error NT: %x\n";
static char devstr14[] = "CAUTION:SUB IS SEPARATED FROM GROUP\n";
static char devstr15[] = "CAUTION:PAUSE EMERGENCY\n";
static char devstr16[] = "Error:Wait Track disappear\n";
static char devstr17[] = "NoteOff Comes during wait release %x (note %x)\n";
static char devstr18[] = "Slow Release Batting\n";
static const char devstr00[] = "Audio: setvol: volume minus %f\n";
static const char devstr01[] = "Audio: setvol: volume overflow %f\n";
static const char devstr02[] = "Audio: setpitch: pitch zero or minus %f\n";
static const char devstr03[] = "Audio: voiceman: No bank error %d\n";
static const char devstr04[] = "Audio: voiceman: progNo. overflow %d,%d\n";
static const char devstr05[] = "ptr2 %x\n";
static const char devstr06[] = "Audio: voiceman: progNo. undefined %d,%d\n";
static const char devstr07[] = "Audio: voiceman: No bank error %d\n";
static const char devstr08[] = "Audio: voiceman: Percussion Overflow %d,%d\n";
static const char devstr09[] = "Audio: voiceman: Percussion table pointer (bank %d) is irregular %x.\n";
static const char devstr10[] = "Audio: voiceman: Percpointer NULL %d,%d\n";
static const char devstr11[] = "--4 %x\n";
static const char devstr12[] = "----------------------Double-Error CH: %x %f\n";
static const char devstr13[] = "----------------------Double-Error NT: %x\n";
static const char devstr14[] = "CAUTION:SUB IS SEPARATED FROM GROUP\n";
static const char devstr15[] = "CAUTION:PAUSE EMERGENCY\n";
static const char devstr16[] = "Error:Wait Track disappear\n";
static const char devstr17[] = "NoteOff Comes during wait release %x (note %x)\n";
static const char devstr18[] = "Slow Release Batting\n";
u8 sSamplesPerWavePeriod[] = { 64, 32, 16, 8 };
static char devstr19[] = "Audio:Wavemem: Bad voiceno (%d)\n";
static char devstr20[] = "Audio: C-Alloc : Dealloc voice is NULL\n";
static char devstr21[] = "Alloc Error:Dim voice-Alloc %d";
static char devstr22[] = "Error:Same List Add\n";
static char devstr23[] = "Already Cut\n";
static char devstr24[] = "Audio: C-Alloc : lowerPrio is NULL\n";
static char devstr25[] = "Intterupt UseStop %d (Kill %d)\n";
static char devstr26[] = "Intterupt RelWait %d (Kill %d)\n";
static char devstr27[] = "Drop Voice (Prio %x)\n";
static const char devstr19[] = "Audio:Wavemem: Bad voiceno (%d)\n";
static const char devstr20[] = "Audio: C-Alloc : Dealloc voice is NULL\n";
static const char devstr21[] = "Alloc Error:Dim voice-Alloc %d";
static const char devstr22[] = "Error:Same List Add\n";
static const char devstr23[] = "Already Cut\n";
static const char devstr24[] = "Audio: C-Alloc : lowerPrio is NULL\n";
static const char devstr25[] = "Intterupt UseStop %d (Kill %d)\n";
static const char devstr26[] = "Intterupt RelWait %d (Kill %d)\n";
static const char devstr27[] = "Drop Voice (Prio %x)\n";
void func_80011C58(Note* note, f32);
void func_8001268C(SequenceLayer* layer);

View File

@ -1,37 +1,37 @@
#include "sys.h"
#include "sf64audio_provisional.h"
static char devstr00[] = "Audio:Track:Warning: No Free Notetrack\n";
static char devstr01[] = "SUBTRACK DIM\n";
static char devstr02[] = "Audio:Track: Warning :SUBTRACK had been stolen by other Group.\n";
static char devstr03[] = "SEQID %d,BANKID %d\n";
static char devstr04[] = "ERR:SUBTRACK %d NOT ALLOCATED\n";
static char devstr05[] = "Stop Release\n";
static char devstr06[] = "Error:Same List Add\n";
static char devstr07[] = "Wait Time out!\n";
static char devstr08[] = "Macro Level Over Error!\n";
static char devstr09[] = "Macro Level Over Error!\n";
static char devstr10[] = "WARNING: NPRG: cannot change %d\n";
static char devstr11[] = "Audio:Track:NOTE:UNDEFINED NOTE COM. %x\n";
static char devstr12[] = "Audio: Note:Velocity Error %d\n";
static char devstr13[] = "Error: Subtrack no prg.\n";
static char devstr14[] = "ERR %x\n";
static char devstr15[] = "Error: Your assignchannel is stolen.\n";
static char devstr16[] = "Audio:Track :Call Macro Level Over Error!\n";
static char devstr17[] = "Audio:Track :Loops Macro Level Over Error!\n";
static char devstr18[] = "SUB:ERR:BANK %d NOT CACHED.\n";
static char devstr19[] = "SUB:ERR:BANK %d NOT CACHED.\n";
static char devstr20[] = "Audio:Track: CTBLCALL Macro Level Over Error!\n";
static char devstr21[] = "Set Noise %d\n";
static char devstr22[] = "[%2x] \n";
static char devstr23[] = "Err :Sub %x ,address %x:Undefined SubTrack Function %x";
static char devstr24[] = "VoiceLoad Error Bank:%d,Prog:%d\n";
static char devstr25[] = "Disappear Sequence or Bank %d\n";
static char devstr26[] = "[FIN] group.\n";
static char devstr27[] = "Macro Level Over Error!\n";
static char devstr28[] = "Macro Level Over Error!\n";
static char devstr29[] = "Group:Undefine upper C0h command (%x)\n";
static char devstr30[] = "Group:Undefined Command\n";
static const char devstr00[] = "Audio:Track:Warning: No Free Notetrack\n";
static const char devstr01[] = "SUBTRACK DIM\n";
static const char devstr02[] = "Audio:Track: Warning :SUBTRACK had been stolen by other Group.\n";
static const char devstr03[] = "SEQID %d,BANKID %d\n";
static const char devstr04[] = "ERR:SUBTRACK %d NOT ALLOCATED\n";
static const char devstr05[] = "Stop Release\n";
static const char devstr06[] = "Error:Same List Add\n";
static const char devstr07[] = "Wait Time out!\n";
static const char devstr08[] = "Macro Level Over Error!\n";
static const char devstr09[] = "Macro Level Over Error!\n";
static const char devstr10[] = "WARNING: NPRG: cannot change %d\n";
static const char devstr11[] = "Audio:Track:NOTE:UNDEFINED NOTE COM. %x\n";
static const char devstr12[] = "Audio: Note:Velocity Error %d\n";
static const char devstr13[] = "Error: Subtrack no prg.\n";
static const char devstr14[] = "ERR %x\n";
static const char devstr15[] = "Error: Your assignchannel is stolen.\n";
static const char devstr16[] = "Audio:Track :Call Macro Level Over Error!\n";
static const char devstr17[] = "Audio:Track :Loops Macro Level Over Error!\n";
static const char devstr18[] = "SUB:ERR:BANK %d NOT CACHED.\n";
static const char devstr19[] = "SUB:ERR:BANK %d NOT CACHED.\n";
static const char devstr20[] = "Audio:Track: CTBLCALL Macro Level Over Error!\n";
static const char devstr21[] = "Set Noise %d\n";
static const char devstr22[] = "[%2x] \n";
static const char devstr23[] = "Err :Sub %x ,address %x:Undefined SubTrack Function %x";
static const char devstr24[] = "VoiceLoad Error Bank:%d,Prog:%d\n";
static const char devstr25[] = "Disappear Sequence or Bank %d\n";
static const char devstr26[] = "[FIN] group.\n";
static const char devstr27[] = "Macro Level Over Error!\n";
static const char devstr28[] = "Macro Level Over Error!\n";
static const char devstr29[] = "Group:Undefine upper C0h command (%x)\n";
static const char devstr30[] = "Group:Undefined Command\n";
void func_800145BC(AudioListItem* list, AudioListItem* item);
void* func_800145FC(AudioListItem* list);

View File

@ -16,16 +16,16 @@ f32 D_80146D68;
f32 D_80146D6C;
f32 D_80146D70;
static char devstr0[] = "Table Remake\n";
static char devstr1[] = "-------------------Undefined Ctype \n";
static char devstr2[] = "Error? Limit OVER %d in %d\n";
static char devstr3[] = "";
static char devstr4[] = "Get %x %x\n";
static char devstr5[] = "Break %x %d %d \n";
static char devstr6[] = "Terminate-Canceled Channel %d,Phase %d\n";
static char devstr7[] = "S->W\n";
static char devstr8[] = "W->S\n";
static char devstr9[] = "S-Resample Pitch %x (old %d -> delay %d)\n";
static const char devstr0[] = "Table Remake\n";
static const char devstr1[] = "-------------------Undefined Ctype \n";
static const char devstr2[] = "Error? Limit OVER %d in %d\n";
static const char devstr3[] = "";
static const char devstr4[] = "Get %x %x\n";
static const char devstr5[] = "Break %x %d %d \n";
static const char devstr6[] = "Terminate-Canceled Channel %d,Phase %d\n";
static const char devstr7[] = "S->W\n";
static const char devstr8[] = "W->S\n";
static const char devstr9[] = "S-Resample Pitch %x (old %d -> delay %d)\n";
void func_80009A2C(s32 updateIndex, s32 noteIndex);
void func_80009AAC(s32 updateIndex);

View File

@ -1,6 +1,12 @@
#include "global.h"
void func_800846F0(FrameBuffer* arg0) {
/*
* File: fox_blur.c
* System: Blur
* Description: Some unused blurring code.
*/
void func_blur_800846F0(FrameBuffer* arg0) {
s32 i;
s32 j;
u16* var_v0;

View File

@ -1,6 +1,6 @@
#include "global.h"
#include "fox_A4290_colheaders.c"
#include "fox_colheaders.c"
bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* colHeader, Vec3f* hitDataOut);
bool func_col2_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* normOut);

View File

@ -199,63 +199,66 @@ void Game_InitFullViewport(void) {
}
void Game_InitViewport(Gfx** dList, u8 camCount, u8 camIndex) {
if ((camCount != 1) && (camCount == 4)) {
switch (camIndex) {
case 0:
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2;
gViewport->vp.vtrans[3] = 0;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH / 2,
SCREEN_HEIGHT / 2);
break;
case 1:
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * gVsViewScale * 2;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2;
gViewport->vp.vtrans[3] = 0;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_MARGIN,
SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT / 2);
break;
case 2:
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * gVsViewScale * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2;
gViewport->vp.vtrans[3] = 0;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2,
SCREEN_HEIGHT - SCREEN_MARGIN);
break;
case 3:
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * gVsViewScale * 2;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * gVsViewScale * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2;
gViewport->vp.vtrans[3] = 0;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2,
SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT - SCREEN_MARGIN);
break;
default:
Game_InitFullViewport();
break;
}
} else {
Game_InitFullViewport();
if (1) {}
switch (camCount) {
case 4:
switch (camIndex) {
case 0:
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2;
gViewport->vp.vtrans[3] = 0;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH / 2,
SCREEN_HEIGHT / 2);
break;
case 1:
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * gVsViewScale * 2;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2;
gViewport->vp.vtrans[3] = 0;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_MARGIN,
SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT / 2);
break;
case 2:
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * gVsViewScale * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2;
gViewport->vp.vtrans[3] = 0;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2,
SCREEN_HEIGHT - SCREEN_MARGIN);
break;
case 3:
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * gVsViewScale * 2;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * gVsViewScale * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2;
gViewport->vp.vtrans[3] = 0;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2,
SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT - SCREEN_MARGIN);
break;
default:
Game_InitFullViewport();
break;
}
break;
case 1:
default:
Game_InitFullViewport();
break;
}
gSPViewport((*dList)++, gViewport++);
}
@ -289,7 +292,7 @@ void Game_Draw(s32 playerNum) {
break;
case DRAW_UNK_7:
gPlayerNum = playerNum;
func_800A3CA0();
func_pause_800A3CA0();
break;
case DRAW_ENDING:
Background_DrawStarfield();
@ -570,28 +573,7 @@ void Game_Update(void) {
}
Wipe_Draw(WIPE_CIRCULAR, gCircleWipeFrame);
// {
// static mode = 0;
// if(gControllerPress[gMainController].button & L_TRIG) {
// mode = 1 - mode;
// }
// if(gControllerHold[gMainController].button & L_TRIG) {
// if(mode) {
// gCircleWipeFrame++;
// } else {
// gCircleWipeFrame--;
// }
// if(gCircleWipeFrame > 41) {
// gCircleWipeFrame = 41;
// } else if (gCircleWipeFrame < 0) {
// gCircleWipeFrame = 0;
// }
// }
// RCP_SetupDL(&gMasterDisp, 0x53);
// gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
// Graphics_Printf("FADE PROGRESS: %d", gCircleWipeFrame);
// Graphics_DisplaySmallText(14, 9, 1.0f, 1.0f, D_801619A0);
// }
if (!partialFill) {
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, gFillScreenRed,
gFillScreenGreen, gFillScreenBlue, gFillScreenAlpha);

View File

@ -1,6 +1,12 @@
#include "global.h"
void func_800A3CA0(void) {
/*
* File: fox_pause.c
* System: Pause
* Description: Some unused pause code.
*/
void func_pause_800A3CA0(void) {
Matrix_Push(&gGfxMatrix);
Matrix_LookAt(gGfxMatrix, gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ, 0.0f, 1.0f, 0.0f,
MTXF_APPLY);
@ -9,10 +15,11 @@ void func_800A3CA0(void) {
Matrix_RotateX(gGfxMatrix, gControllerPress[gPlayerNum].stick_y * M_DTOR, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_23();
// Missing DList
Matrix_Pop(&gGfxMatrix);
}
void func_800A3E00(void) {
void func_pause_800A3E00(void) {
switch (D_ctx_80177868) {
case 0:
if (gNextGameStateTimer == 0) {

View File

@ -271,10 +271,13 @@ void Graphics_ThreadEntry(void* arg0) {
gSPEndDisplayList(gMasterDisp++);
}
MQ_WAIT_FOR_MESG(&gGfxTaskMesgQueue, NULL);
Graphics_SetTask();
if (gFillScreen == 0) {
if (!gFillScreen) {
osViSwapBuffer(&gFrameBuffers[(gSysFrameCount - 1) % 3]);
}
Fault_SetFrameBuffer(&gFrameBuffers[(gSysFrameCount - 1) % 3], SCREEN_WIDTH, 16);
visPerFrame = MIN(gVIsPerFrame, 4);

View File

@ -6,7 +6,6 @@
- {start: 0x40, type: textbin, name: ipl3}
- {start: 0x1000, type: asm, vram: 0x80000400, name: entry}
- name: main
type: code
start: 0x1050
@ -136,13 +135,13 @@
- [0x68190, c, engine/fox_enmy2]
- [0x74BE0, c, engine/fox_effect]
- [0x81D10, c, engine/fox_fade]
- [0x82090, c, engine/fox_852F0]
- [0x82090, c, engine/fox_blur]
- [0x822D0, c, engine/fox_hud]
- [0x94EA0, c, engine/fox_97F80]
- [0x94EA0, c, engine/fox_col1]
- [0x974A0, c, engine/fox_std_lib]
- [0x9F480, c, engine/fox_game]
- [0xA1250, c, engine/fox_A4290]
- [0xA1860, c, engine/fox_A48A0]
- [0xA1250, c, engine/fox_col2]
- [0xA1860, c, engine/fox_pause]
- [0xA1B10, c, engine/fox_play]
- [0xB69E0, c, engine/fox_rcp]
- [0xB8370, c, engine/fox_radio]
@ -216,7 +215,7 @@
- [0xCF110, data, engine/fox_hud]
- [0xCFD60, data, engine/fox_std_lib]
- [0xD0160, data, engine/fox_game]
- [0xD0220, data, engine/fox_A4290]
- [0xD0220, data, engine/fox_col2]
- [0xD0850, data, engine/fox_play]
- [0xD0A80, data, engine/fox_context]
- [0xD0AB0, data, engine/fox_rcp]
@ -241,11 +240,11 @@
- [0xDDE20, .rodata, engine/fox_effect]
- [0xDE2E0, .rodata, engine/fox_fade]
- [0xDE310, .rodata, engine/fox_hud]
- [0xDECB0, .rodata, engine/fox_97F80]
- [0xDECB0, .rodata, engine/fox_col1]
- [0xDECC0, .rodata, engine/fox_std_lib]
- [0xDED20, .rodata, engine/fox_game]
- [0xDEDA0, .rodata, engine/fox_A4290]
- [0xDEDB0, .rodata, engine/fox_A48A0]
- [0xDEDA0, .rodata, engine/fox_col2]
- [0xDEDB0, .rodata, engine/fox_pause]
- [0xDEDC0, .rodata, engine/fox_play]
- [0xDF6C0, .rodata, engine/fox_radio]
- [0xDFD20, .rodata, engine/fox_versus]

View File

@ -6,7 +6,6 @@
- {start: 0x40, type: textbin, name: ipl3}
- {start: 0x1000, type: asm, vram: 0x80000400, name: entry}
- name: main
type: code
start: 0x1050
@ -189,13 +188,13 @@
- [0x6B3B0, c, engine/fox_enmy2]
- [0x77E40, c, engine/fox_effect]
- [0x84F70, c, engine/fox_fade]
- [0x852F0, c, engine/fox_852F0]
- [0x852F0, c, engine/fox_blur]
- [0x85530, c, engine/fox_hud]
- [0x97F80, c, engine/fox_97F80]
- [0x97F80, c, engine/fox_col1]
- [0x9A580, c, engine/fox_std_lib]
- [0xA24B0, c, engine/fox_game]
- [0xA4290, c, engine/fox_A4290]
- [0xA48A0, c, engine/fox_A48A0]
- [0xA4290, c, engine/fox_col2]
- [0xA48A0, c, engine/fox_pause]
- [0xA4B50, c, engine/fox_play]
- [0xB99D0, c, engine/fox_rcp]
- [0xBB360, c, engine/fox_radio]
@ -297,7 +296,7 @@
- [0xD2570, .data, engine/fox_hud]
- [0xD31D0, .data, engine/fox_std_lib]
- [0xD3460, .data, engine/fox_game]
- [0xD3520, .data, engine/fox_A4290]
- [0xD3520, .data, engine/fox_col2]
- [0xD3B50, .data, engine/fox_play]
- [0xD3D80, .data, engine/fox_context]
- [0xD3DB0, .data, engine/fox_rcp]
@ -321,11 +320,11 @@
- [0xD7E30, .rodata, engine/fox_effect]
- [0xD82F0, .rodata, engine/fox_fade]
- [0xD8320, .rodata, engine/fox_hud]
- [0xD8DE0, .rodata, engine/fox_97F80]
- [0xD8DE0, .rodata, engine/fox_col1]
- [0xD8DF0, .rodata, engine/fox_std_lib]
- [0xD8E50, .rodata, engine/fox_game]
- [0xD8ED0, .rodata, engine/fox_A4290]
- [0xD8EE0, .rodata, engine/fox_A48A0]
- [0xD8ED0, .rodata, engine/fox_col2]
- [0xD8EE0, .rodata, engine/fox_pause]
- [0xD8EF0, .rodata, engine/fox_play]
- [0xD97F0, .rodata, engine/fox_radio]
- [0xD9E50, .rodata, engine/fox_versus]
@ -391,7 +390,7 @@
- { 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: 0x80161950, name: engine/fox_col1 }
- { 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 }