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 build/src/audio/%.o: OPTFLAGS := -O2 -g0
# per-file flags # 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_sprintf.o: OPTFLAGS := -O2 -g0
build/src/libc_math64.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_80094D20(f32, f32);
void func_hud_80096A74(Player* player); void func_hud_80096A74(Player* player);
// fox_97F80 // fox_col1
void func_col1_80098860(PlaneF* plane, Vec3f* point, Vec3f* normal); void func_col1_80098860(PlaneF* plane, Vec3f* point, Vec3f* normal);
s32 func_col1_800988B4(Vec3f* vec, PlaneF* plane); s32 func_col1_800988B4(Vec3f* vec, PlaneF* plane);
bool func_col1_800998FC(Vec3f* objPos, Vec3f* colliderPos, Vec3f* objVel, s32 colId, Vec3f* hitPosOut, bool func_col1_800998FC(Vec3f* objPos, Vec3f* colliderPos, Vec3f* objVel, s32 colId, Vec3f* hitPosOut,
f32* hitAnglesOut); f32* hitAnglesOut);
// fox_A4290 // fox_col2
bool func_col2_800A3690(Vec3f* objPos, Vec3f* colliderPos, s32 colId, Vec3f* hitDataOut); bool func_col2_800A3690(Vec3f* objPos, Vec3f* colliderPos, s32 colId, Vec3f* hitDataOut);
// fox_A48A0 // fox_pause
void func_800A3CA0(void); void func_pause_800A3CA0(void);
// fox_play // fox_play
bool Play_CheckMedalStatus(u16); bool Play_CheckMedalStatus(u16);

View File

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

View File

@ -1,7 +1,7 @@
#include "sys.h" #include "sys.h"
#include "sf64audio_provisional.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) { void func_80013400(SequenceChannel* channel, s32 updateVolume) {
s32 i; s32 i;

View File

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

View File

@ -2,28 +2,6 @@
#include "sf64dma.h" #include "sf64dma.h"
#include "sf64audio_provisional.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 D_80146D80;
s32 PAD_80146D88[2]; s32 PAD_80146D88[2];
AudioSlowLoadBuffer gSlowLoads; AudioSlowLoadBuffer gSlowLoads;
@ -86,6 +64,8 @@ void AudioLoad_DecreaseSampleDmaTtls(void) {
D_80155A50 = 0; 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) { void* AudioLoad_DmaSampleData(u32 devAddr, u32 size, u32 arg2, u8* dmaIndexRef, s32 medium) {
u32 i; u32 i;
SampleDma* dma; SampleDma* dma;
@ -147,11 +127,30 @@ void* AudioLoad_DmaSampleData(u32 devAddr, u32 size, u32 arg2, u8* dmaIndexRef,
dma->devAddr = dmaDevAddr; dma->devAddr = dmaDevAddr;
dma->sizeUnused = dma->size; dma->sizeUnused = dma->size;
AudioLoad_Dma(&gCurAudioFrameDmaIoMsgBuf[gCurAudioFrameDmaCount++], 0, 0, dmaDevAddr, dma->ramAddr, dma->size, AudioLoad_Dma(&gCurAudioFrameDmaIoMsgBuf[gCurAudioFrameDmaCount++], 0, 0, dmaDevAddr, dma->ramAddr, dma->size,
&gCurAudioFrameDmaQueue, medium, D_800C4F6C); &gCurAudioFrameDmaQueue, medium, "SUPERDMA");
*dmaIndexRef = sp38; *dmaIndexRef = sp38;
return devAddr - dmaDevAddr + dma->ramAddr; 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) { void AudioLoad_InitSampleDmaBuffers(s32 numNotes) {
s32 i; s32 i;
u8* dma; u8* dma;
@ -632,8 +631,6 @@ void AudioLoad_RelocateFont(s32 fontId, u32 fontBaseAddr, void* relocData) {
gSoundFontList[fontId].instruments = (u32) &fontDataPtrs[1]; gSoundFontList[fontId].instruments = (u32) &fontDataPtrs[1];
} }
static char D_800C50F4[] = "FastCopy";
void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium) { void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium) {
size = ALIGN16(size); size = ALIGN16(size);
osInvalDCache(ramAddr, size); osInvalDCache(ramAddr, size);
@ -641,14 +638,14 @@ void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium) {
if (size < 0x400) { if (size < 0x400) {
break; 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); MQ_WAIT_FOR_MESG(&gSyncDmaQueue, NULL);
size -= 0x400; size -= 0x400;
devAddr += 0x400; devAddr += 0x400;
ramAddr += 0x400; ramAddr += 0x400;
} }
if (size != 0) { 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); 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); func_8000FC8C(func_8000FC7C(unkMediumParam, &addr), addr, ramAddr, size);
} }
static char devstr22[] = "Error: Cannot DMA Media [%d]\n"; static const char devstr22[] = "Error: Cannot DMA Media [%d]\n";
static char devstr23[] = "Warning: size not align 16 %x (%s)\n"; static const char devstr23[] = "Warning: size not align 16 %x (%s)\n";
static char devstr24[] = "Load Bank BG, Type %d , ID %d\n"; static const char devstr24[] = "Load Bank BG, Type %d , ID %d\n";
static char devstr25[] = "get auto\n"; static const char devstr25[] = "get auto\n";
static char devstr26[] = "get s-auto %x\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, s32 AudioLoad_Dma(OSIoMesg* mesg, u32 priority, s32 direction, u32 devAddr, void* ramAddr, u32 size,
OSMesgQueue* retQueue, s32 medium, const char* dmaType) { OSMesgQueue* retQueue, s32 medium, const char* dmaType) {
@ -805,17 +802,17 @@ void AudioLoad_ProcessLoads(s32 resetStatus) {
AudioLoad_ProcessAsyncLoads(resetStatus); AudioLoad_ProcessAsyncLoads(resetStatus);
} }
static char devstr27[] = "Clear Workarea %x -%x size %x \n"; static const char devstr27[] = "Clear Workarea %x -%x size %x \n";
static char devstr28[] = "AudioHeap is %x\n"; static const char devstr28[] = "AudioHeap is %x\n";
static char devstr29[] = "Heap reset.Synth Change %x \n"; static const char devstr29[] = "Heap reset.Synth Change %x \n";
static char devstr30[] = "Heap %x %x %x\n"; static const char devstr30[] = "Heap %x %x %x\n";
static char devstr31[] = "Main Heap Initialize.\n"; static const char devstr31[] = "Main Heap Initialize.\n";
static char devstr32[] = "%d :WaveA %d WaveB %d Inst %d,Perc %d\n"; static const char devstr32[] = "%d :WaveA %d WaveB %d Inst %d,Perc %d\n";
static char devstr33[] = "---------- Init Completed. ------------\n"; static const char devstr33[] = "---------- Init Completed. ------------\n";
static char devstr34[] = " Syndrv :[%6d]\n"; static const char devstr34[] = " Syndrv :[%6d]\n";
static char devstr35[] = " Seqdrv :[%6d]\n"; static const char devstr35[] = " Seqdrv :[%6d]\n";
static char devstr36[] = " audiodata :[%6d]\n"; static const char devstr36[] = " audiodata :[%6d]\n";
static char devstr37[] = "---------------------------------------\n"; static const char devstr37[] = "---------------------------------------\n";
void AudioLoad_Init(void) { void AudioLoad_Init(void) {
s32 pad[14]; s32 pad[14];
@ -903,9 +900,9 @@ void AudioLoad_Init(void) {
func_800168BC(); func_800168BC();
} }
static char devstr38[] = "Entry--- %d %d\n"; static const char devstr38[] = "Entry--- %d %d\n";
static char devstr39[] = "---Block LPS here\n"; static const char devstr39[] = "---Block LPS here\n";
static char devstr40[] = "===Block LPS end\n"; static const char devstr40[] = "===Block LPS end\n";
s32 AudioLoad_SlowLoadSample(s32 fontId, u8 instId, s8* status) { s32 AudioLoad_SlowLoadSample(s32 fontId, u8 instId, s8* status) {
Sample* sample; Sample* sample;
AudioSlowLoad* slowLoad; 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) { void AudioLoad_DmaSlowCopy(AudioSlowLoad* slowLoad, s32 size) {
osInvalDCache(slowLoad->curRamAddr, size); osInvalDCache(slowLoad->curRamAddr, size);
osCreateMesgQueue(&slowLoad->mesgQueue, &slowLoad->msg, 1); osCreateMesgQueue(&slowLoad->mesgQueue, &slowLoad->msg, 1);
AudioLoad_Dma(&slowLoad->ioMesg, 0, 0, slowLoad->curDevAddr, slowLoad->curRamAddr, size, &slowLoad->mesgQueue, 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) { void AudioLoad_DmaSlowCopyUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam) {
s32 addr = devAddr; s32 addr = devAddr;
@ -1184,8 +1180,7 @@ void AudioLoad_ProcessAsyncLoad(AudioAsyncLoad* asyncLoad, s32 resetStatus) {
} }
} }
static char devstr48[] = "BGLOAD:Error: dma length 0\n"; static const char devstr48[] = "BGLOAD:Error: dma length 0\n";
static char D_800C53AC[] = "BGCOPY";
void AudioLoad_AsyncDma(AudioAsyncLoad* asyncLoad, u32 size) { void AudioLoad_AsyncDma(AudioAsyncLoad* asyncLoad, u32 size) {
size = ALIGN16(size); size = ALIGN16(size);
@ -1193,7 +1188,7 @@ void AudioLoad_AsyncDma(AudioAsyncLoad* asyncLoad, u32 size) {
osCreateMesgQueue(&asyncLoad->mesgQueue, &asyncLoad->msg, 1); osCreateMesgQueue(&asyncLoad->mesgQueue, &asyncLoad->msg, 1);
if (size) {} if (size) {}
AudioLoad_Dma(&asyncLoad->ioMesg, 0, 0, asyncLoad->curDevAddr, asyncLoad->curRamAddr, size, &asyncLoad->mesgQueue, 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) { 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); func_8000FC8C(func_8000FC7C(unkMediumParam, &addr), addr, ramAddr, size);
} }
static char devstr50[] = "Error: Already wavetable is touched %x.\n"; static const char devstr50[] = "Error: Already wavetable is touched %x.\n";
static char devstr51[] = "Touch Warning: Length zero %x\n"; static const char devstr51[] = "Touch Warning: Length zero %x\n";
void AudioLoad_RelocateSample(TunedSample* tSample, u32 fontDataAddr, SampleBankRelocInfo* relocInfo) { void AudioLoad_RelocateSample(TunedSample* tSample, u32 fontDataAddr, SampleBankRelocInfo* relocInfo) {
void* reloc; void* reloc;
@ -1238,11 +1233,11 @@ void AudioLoad_RelocateSample(TunedSample* tSample, u32 fontDataAddr, SampleBank
} }
} }
static char devstr52[] = "It's busy now!!!!! %d\n"; static const char devstr52[] = "It's busy now!!!!! %d\n";
static char devstr53[] = "BG LOAD BUFFER is OVER.\n"; static const char devstr53[] = "BG LOAD BUFFER is OVER.\n";
static char devstr54[] = "Warning: Length zero %x\n"; static const char devstr54[] = "Warning: Length zero %x\n";
static char devstr55[] = "Wave Load %d \n"; static const char devstr55[] = "Wave Load %d \n";
static char devstr56[] = "Total Bg 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 AudioLoad_RelocateFontAndPreloadSamples(s32 fontId, u32 fontDataAddr, SampleBankRelocInfo* relocData, s32 isAsync) {
s32 i; s32 i;
@ -1333,15 +1328,15 @@ s32 AudioLoad_RelocateFontAndPreloadSamples(s32 fontId, u32 fontDataAddr, Sample
} }
} }
// static char devstr55[] = "Wave Load %d \n"; // static const char devstr55[] = "Wave Load %d \n";
// static char devstr56[] = "Total Bg Wave Load %d \n"; // static const char devstr56[] = "Total Bg Wave Load %d \n";
// static char devstr57[] = "Receive %d\n"; // static const char devstr57[] = "Receive %d\n";
static char devstr57[] = "Receive %d\n"; static const char devstr57[] = "Receive %d\n";
static char devstr58[] = "============Error: Magic is Broken after loading.\n"; static const char devstr58[] = "============Error: Magic is Broken after loading.\n";
static char devstr59[] = "Remain DMA: %d\n"; static const char devstr59[] = "Remain DMA: %d\n";
static char devstr60[] = "N start %d\n"; static const char devstr60[] = "N start %d\n";
static char devstr61[] = "============Error: Magic is Broken: %x\n"; static const char devstr61[] = "============Error: Magic is Broken: %x\n";
s32 AudioLoad_ProcessSamplePreloads(s32 resetStatus) { s32 AudioLoad_ProcessSamplePreloads(s32 resetStatus) {
Sample* sample; Sample* sample;
@ -1417,8 +1412,8 @@ s32 AudioLoad_AddToSampleSet(Sample* sample, s32 numSamples, Sample** sampleSet)
return numSamples; return numSamples;
} }
static char devstr62[] = "Error: No Handle.\n"; static const char devstr62[] = "Error: No Handle.\n";
static char devstr63[] = "Success: %x\n"; static const char devstr63[] = "Success: %x\n";
s32 AudioLoad_GetSamplesForFont(s32 fontId, Sample** sampleSet) { s32 AudioLoad_GetSamplesForFont(s32 fontId, Sample** sampleSet) {
s32 i; s32 i;

View File

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

View File

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

View File

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

View File

@ -1,6 +1,12 @@
#include "global.h" #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 i;
s32 j; s32 j;
u16* var_v0; u16* var_v0;

View File

@ -1,6 +1,6 @@
#include "global.h" #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_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* colHeader, Vec3f* hitDataOut);
bool func_col2_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* normOut); 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) { void Game_InitViewport(Gfx** dList, u8 camCount, u8 camIndex) {
if ((camCount != 1) && (camCount == 4)) { switch (camCount) {
switch (camIndex) { case 4:
case 0: switch (camIndex) {
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2; case 0:
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2; gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2; gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[3] = 0; gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - gVsViewScale) * 2; gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - gVsViewScale) * 2; gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2; gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[3] = 0; gViewport->vp.vtrans[2] = G_MAXZ / 2;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH / 2, gViewport->vp.vtrans[3] = 0;
SCREEN_HEIGHT / 2); gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_MARGIN, SCREEN_WIDTH / 2,
break; SCREEN_HEIGHT / 2);
case 1: break;
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2; case 1:
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2; gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2; gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[3] = 0; gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * gVsViewScale * 2; gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - gVsViewScale) * 2; gViewport->vp.vtrans[0] = SCREEN_WIDTH * gVsViewScale * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2; gViewport->vp.vtrans[1] = SCREEN_HEIGHT * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[3] = 0; gViewport->vp.vtrans[2] = G_MAXZ / 2;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_MARGIN, gViewport->vp.vtrans[3] = 0;
SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT / 2); gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_MARGIN,
break; SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT / 2);
case 2: break;
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2; case 2:
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2; gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2; gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[3] = 0; gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - gVsViewScale) * 2; gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * gVsViewScale * 2; gViewport->vp.vtrans[0] = SCREEN_WIDTH * (2.0f - gVsViewScale) * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2; gViewport->vp.vtrans[1] = SCREEN_HEIGHT * gVsViewScale * 2;
gViewport->vp.vtrans[3] = 0; gViewport->vp.vtrans[2] = G_MAXZ / 2;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2, gViewport->vp.vtrans[3] = 0;
SCREEN_HEIGHT - SCREEN_MARGIN); gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_MARGIN, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2,
break; SCREEN_HEIGHT - SCREEN_MARGIN);
case 3: break;
gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2; case 3:
gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2; gViewport->vp.vscale[0] = SCREEN_WIDTH * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[2] = G_MAXZ / 2; gViewport->vp.vscale[1] = SCREEN_HEIGHT * (gVsViewScale - 1.0f) * 2;
gViewport->vp.vscale[3] = 0; gViewport->vp.vscale[2] = G_MAXZ / 2;
gViewport->vp.vtrans[0] = SCREEN_WIDTH * gVsViewScale * 2; gViewport->vp.vscale[3] = 0;
gViewport->vp.vtrans[1] = SCREEN_HEIGHT * gVsViewScale * 2; gViewport->vp.vtrans[0] = SCREEN_WIDTH * gVsViewScale * 2;
gViewport->vp.vtrans[2] = G_MAXZ / 2; gViewport->vp.vtrans[1] = SCREEN_HEIGHT * gVsViewScale * 2;
gViewport->vp.vtrans[3] = 0; gViewport->vp.vtrans[2] = G_MAXZ / 2;
gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2, gViewport->vp.vtrans[3] = 0;
SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT - SCREEN_MARGIN); gDPSetScissor((*dList)++, G_SC_NON_INTERLACE, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2,
break; SCREEN_WIDTH - SCREEN_MARGIN, SCREEN_HEIGHT - SCREEN_MARGIN);
default: break;
Game_InitFullViewport(); default:
break; Game_InitFullViewport();
} break;
} else { }
Game_InitFullViewport(); break;
if (1) {} case 1:
default:
Game_InitFullViewport();
break;
} }
gSPViewport((*dList)++, gViewport++); gSPViewport((*dList)++, gViewport++);
} }
@ -289,7 +292,7 @@ void Game_Draw(s32 playerNum) {
break; break;
case DRAW_UNK_7: case DRAW_UNK_7:
gPlayerNum = playerNum; gPlayerNum = playerNum;
func_800A3CA0(); func_pause_800A3CA0();
break; break;
case DRAW_ENDING: case DRAW_ENDING:
Background_DrawStarfield(); Background_DrawStarfield();
@ -570,28 +573,7 @@ void Game_Update(void) {
} }
Wipe_Draw(WIPE_CIRCULAR, gCircleWipeFrame); 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) { if (!partialFill) {
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, gFillScreenRed, Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, gFillScreenRed,
gFillScreenGreen, gFillScreenBlue, gFillScreenAlpha); gFillScreenGreen, gFillScreenBlue, gFillScreenAlpha);

View File

@ -1,6 +1,12 @@
#include "global.h" #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_Push(&gGfxMatrix);
Matrix_LookAt(gGfxMatrix, gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ, 0.0f, 1.0f, 0.0f, Matrix_LookAt(gGfxMatrix, gCsCamEyeX, gCsCamEyeY, gCsCamEyeZ, gCsCamAtX, gCsCamAtY, gCsCamAtZ, 0.0f, 1.0f, 0.0f,
MTXF_APPLY); MTXF_APPLY);
@ -9,10 +15,11 @@ void func_800A3CA0(void) {
Matrix_RotateX(gGfxMatrix, gControllerPress[gPlayerNum].stick_y * M_DTOR, MTXF_APPLY); Matrix_RotateX(gGfxMatrix, gControllerPress[gPlayerNum].stick_y * M_DTOR, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp); Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_23(); RCP_SetupDL_23();
// Missing DList
Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix);
} }
void func_800A3E00(void) { void func_pause_800A3E00(void) {
switch (D_ctx_80177868) { switch (D_ctx_80177868) {
case 0: case 0:
if (gNextGameStateTimer == 0) { if (gNextGameStateTimer == 0) {

View File

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

View File

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

View File

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