diff --git a/include/functions.h b/include/functions.h index 63255443dc..575b3c4aa2 100644 --- a/include/functions.h +++ b/include/functions.h @@ -4,43 +4,37 @@ #include "z64.h" #include "macros.h" -void bootproc(void); -void Main_ThreadEntry(void* arg); void Idle_ThreadEntry(void* arg); -void ViConfig_UpdateVi(u32 black); -void ViConfig_UpdateBlack(void); + #if !PLATFORM_IQUE void Yaz0_Decompress(uintptr_t romStart, u8* dst, size_t size); #else void gzip_decompress(uintptr_t romStart, u8* dst, size_t size); #endif + #if DEBUG_FEATURES void isPrintfInit(void); #endif void rmonPrintf(const char* fmt, ...); + #if DEBUG_FEATURES void* is_proutSyncPrintf(void* arg, const char* str, size_t count); NORETURN void func_80002384(const char* exp, const char* file, int line); #endif + OSPiHandle* osDriveRomInit(void); + void Mio0_Decompress(u8* src, u8* dst); void FlagSet_Update(PlayState* play); -void SaveContext_Init(void); - void* MemCpy(void* dest, const void* src, s32 len); -void MapMark_Init(PlayState* play); -void MapMark_ClearPointers(PlayState* play); -void MapMark_Draw(PlayState* play); -void Sched_FlushTaskQueue(void); - -void PlayerCall_InitFuncPtrs(void); void TransitionTile_Destroy(TransitionTile* this); TransitionTile* TransitionTile_Init(TransitionTile* this, s32 cols, s32 rows); void TransitionTile_Draw(TransitionTile* this, Gfx** gfxP); void TransitionTile_Update(TransitionTile* this); + void TransitionTriforce_Start(void* thisx); void* TransitionTriforce_Init(void* thisx); void TransitionTriforce_Destroy(void* thisx); @@ -49,6 +43,7 @@ void TransitionTriforce_SetColor(void* thisx, u32 color); void TransitionTriforce_SetType(void* thisx, s32 type); void TransitionTriforce_Draw(void* thisx, Gfx** gfxP); s32 TransitionTriforce_IsDone(void* thisx); + void TransitionWipe_Start(void* thisx); void* TransitionWipe_Init(void* thisx); void TransitionWipe_Destroy(void* thisx); @@ -57,6 +52,7 @@ void TransitionWipe_Draw(void* thisx, Gfx** gfxP); s32 TransitionWipe_IsDone(void* thisx); void TransitionWipe_SetType(void* thisx, s32 type); void TransitionWipe_SetColor(void* thisx, u32 color); + void TransitionCircle_Start(void* thisx); void* TransitionCircle_Init(void* thisx); void TransitionCircle_Destroy(void* thisx); @@ -66,6 +62,7 @@ s32 TransitionCircle_IsDone(void* thisx); void TransitionCircle_SetType(void* thisx, s32 type); void TransitionCircle_SetColor(void* thisx, u32 color); void TransitionCircle_SetUnkColor(void* thisx, u32 color); + void TransitionFade_Start(void* thisx); void* TransitionFade_Init(void* thisx); void TransitionFade_Destroy(void* thisx); @@ -75,22 +72,6 @@ s32 TransitionFade_IsDone(void* thisx); void TransitionFade_SetColor(void* thisx, u32 color); void TransitionFade_SetType(void* thisx, s32 type); -void PreRender_SetValuesSave(PreRender* this, u32 width, u32 height, void* fbuf, void* zbuf, void* cvg); -void PreRender_Init(PreRender* this); -void PreRender_SetValues(PreRender* this, u32 width, u32 height, void* fbuf, void* zbuf); -void PreRender_Destroy(PreRender* this); -void func_800C170C(PreRender* this, Gfx** gfxP, void* buf, void* bufSave, u32 r, u32 g, u32 b, u32 a); -void func_800C1AE8(PreRender* this, Gfx** gfxP, void* fbuf, void* fbufSave); -void PreRender_SaveZBuffer(PreRender* this, Gfx** gfxP); -void PreRender_SaveFramebuffer(PreRender* this, Gfx** gfxP); -void PreRender_DrawCoverage(PreRender* this, Gfx** gfxP); -void PreRender_RestoreZBuffer(PreRender* this, Gfx** gfxP); -void func_800C213C(PreRender* this, Gfx** gfxP); -void PreRender_RestoreFramebuffer(PreRender* this, Gfx** gfxP); -void PreRender_CopyImageRegion(PreRender* this, Gfx** gfxP); -void PreRender_ApplyFilters(PreRender* this); -void Graph_ThreadEntry(void*); - void SysCfb_Init(s32 n64dd); void* SysCfb_GetFbPtr(s32 idx); void* SysCfb_GetFbEnd(void); @@ -102,6 +83,4 @@ void SystemHeap_Init(void* start, u32 size); f32 absf(f32); -void Regs_InitData(PlayState* play); - #endif diff --git a/include/gfx.h b/include/gfx.h index a4c17281ca..51aa8580da 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -119,4 +119,6 @@ void Graph_CloseDisps(Gfx** dispRefs, GraphicsContext* gfxCtx, const char* file, #endif +void Graph_ThreadEntry(void*); + #endif diff --git a/include/libc64/malloc.h b/include/libc64/malloc.h index 25233c51c5..02540e3530 100644 --- a/include/libc64/malloc.h +++ b/include/libc64/malloc.h @@ -32,5 +32,6 @@ void SystemArena_Display(void); #endif extern Arena gSystemArena; +extern s32 gSystemArenaLogSeverity; #endif diff --git a/include/prerender.h b/include/prerender.h index 4231234a8d..0674fac020 100644 --- a/include/prerender.h +++ b/include/prerender.h @@ -26,4 +26,19 @@ typedef struct PreRender { /* 0x4C */ u32 unk_4C; } PreRender; // size = 0x50 +void PreRender_SetValuesSave(PreRender* this, u32 width, u32 height, void* fbuf, void* zbuf, void* cvg); +void PreRender_Init(PreRender* this); +void PreRender_SetValues(PreRender* this, u32 width, u32 height, void* fbuf, void* zbuf); +void PreRender_Destroy(PreRender* this); +void func_800C170C(PreRender* this, Gfx** gfxP, void* buf, void* bufSave, u32 r, u32 g, u32 b, u32 a); +void func_800C1AE8(PreRender* this, Gfx** gfxP, void* fbuf, void* fbufSave); +void PreRender_SaveZBuffer(PreRender* this, Gfx** gfxP); +void PreRender_SaveFramebuffer(PreRender* this, Gfx** gfxP); +void PreRender_DrawCoverage(PreRender* this, Gfx** gfxP); +void PreRender_RestoreZBuffer(PreRender* this, Gfx** gfxP); +void func_800C213C(PreRender* this, Gfx** gfxP); +void PreRender_RestoreFramebuffer(PreRender* this, Gfx** gfxP); +void PreRender_CopyImageRegion(PreRender* this, Gfx** gfxP); +void PreRender_ApplyFilters(PreRender* this); + #endif diff --git a/include/regs.h b/include/regs.h index 6eccca7701..8ea4e058ec 100644 --- a/include/regs.h +++ b/include/regs.h @@ -4,6 +4,8 @@ #include "ultra64.h" #include "versions.h" +struct PlayState; + #define REG_GROUPS 29 // number of REG groups, i.e. REG, SREG, OREG, etc. #define REG_PAGES 6 #define REGS_PER_PAGE 16 @@ -410,6 +412,8 @@ typedef struct RegEditor { /* 0x14 */ s16 data[REG_GROUPS * REGS_PER_GROUP]; // Accessed through *REG macros, see regs.h } RegEditor; // size = 0x15D4 +void Regs_InitData(struct PlayState* play); + extern RegEditor* gRegEditor; #endif diff --git a/include/sched.h b/include/sched.h index 2d20e7ec09..bf204bc6d9 100644 --- a/include/sched.h +++ b/include/sched.h @@ -69,6 +69,7 @@ typedef struct Scheduler { void Sched_Notify(Scheduler* sc); void Sched_Init(Scheduler* sc, void* stack, OSPri priority, u8 viModeType, UNK_TYPE arg4, IrqMgr* irqMgr); +void Sched_FlushTaskQueue(void); extern Scheduler gScheduler; diff --git a/include/variables.h b/include/variables.h index 612b3051b1..845826b664 100644 --- a/include/variables.h +++ b/include/variables.h @@ -27,13 +27,8 @@ extern u32 __osBbSramSize; extern u32 __osBbSramAddress; extern u32 __osBbHackFlags; -extern s8 D_80009430; -extern vu8 gViConfigBlack; -extern u8 gViConfigAdditionalScanLines; -extern u32 gViConfigFeatures; -extern f32 gViConfigXScale; -extern f32 gViConfigYScale; extern OSPiHandle* gCartHandle; + extern u32 __osPiAccessQueueEnabled; extern OSViMode osViModePalLan1; extern s32 osViClock; @@ -53,9 +48,11 @@ extern OSViContext* __osViCurr; extern OSViContext* __osViNext; extern OSViMode osViModeFpalLan1; extern u32 __additional_scanline; + extern const char gBuildCreator[]; extern const char gBuildDate[]; extern const char gBuildMakeOption[]; + extern OSMesgQueue gPiMgrCmdQueue; extern OSViMode gViConfigMode; extern u8 gViConfigModeType; @@ -72,7 +69,6 @@ extern s16 gSpoilingItemReverts[3]; // 4 16-colors palettes extern u64 gMojiFontTLUTs[4][4]; // original name: "moji_tlut" extern u64 gMojiFontTex[]; // original name: "font_ff" -extern u8 gBossMarkState; extern s16* gWaveSamples[9]; extern f32 gBendPitchOneOctaveFrequencies[256]; @@ -126,7 +122,6 @@ extern u8 gSoundModeList[]; extern u8 gAudioSpecId; extern u8 D_80133418; extern AudioSpec gAudioSpecs[18]; -extern s32 gSystemArenaLogSeverity; extern u8 __osPfsInodeCacheBank; extern s32 __osPfsLastChannel; @@ -139,6 +134,7 @@ extern u8 gSequenceTable[]; extern AudioTable gSampleBankTable; extern struct MapData* gMapData; +extern u8 gBossMarkState; extern f32 gBossMarkScale; extern u32 D_8016139C; extern PauseMapMarksData* gLoadedPauseMarkDataTable; diff --git a/include/vi_mode.h b/include/vi_mode.h index 89de610a88..5c2f1bace2 100644 --- a/include/vi_mode.h +++ b/include/vi_mode.h @@ -42,4 +42,14 @@ void ViMode_Init(ViMode* viMode); void ViMode_Destroy(ViMode* viMode); void ViMode_Update(ViMode* viMode, Input* input); +void ViConfig_UpdateVi(u32 black); +void ViConfig_UpdateBlack(void); + +extern s8 D_80009430; +extern vu8 gViConfigBlack; +extern u8 gViConfigAdditionalScanLines; +extern u32 gViConfigFeatures; +extern f32 gViConfigXScale; +extern f32 gViConfigYScale; + #endif diff --git a/include/z64map_mark.h b/include/z64map_mark.h index 0c55efa3ae..b566491118 100644 --- a/include/z64map_mark.h +++ b/include/z64map_mark.h @@ -3,6 +3,8 @@ #include "ultra64.h" +struct PlayState; + #define MAP_MARK_NONE -1 #define MAP_MARK_CHEST 0 #define MAP_MARK_BOSS 1 @@ -20,6 +22,10 @@ typedef struct MapMarkIconData { typedef MapMarkIconData MapMarkData[3]; // size = 0x72 +void MapMark_Init(struct PlayState* play); +void MapMark_ClearPointers(struct PlayState* play); +void MapMark_Draw(struct PlayState* play); + extern MapMarkData* gMapMarkDataTable[]; #endif diff --git a/include/z64save.h b/include/z64save.h index 5edfc35d92..af03e8ca6f 100644 --- a/include/z64save.h +++ b/include/z64save.h @@ -996,6 +996,7 @@ typedef enum IngoRaceState { #define EVENTINF_30 0x30 +void SaveContext_Init(void); extern SaveContext gSaveContext; diff --git a/src/boot/idle.c b/src/boot/idle.c index be4c9f7cbf..e24ab4ede3 100644 --- a/src/boot/idle.c +++ b/src/boot/idle.c @@ -5,6 +5,7 @@ #include "stackcheck.h" #include "terminal.h" #include "versions.h" +#include "vi_mode.h" #include "z64thread.h" #include "global.h" diff --git a/src/boot/z_locale.c b/src/boot/z_locale.c index f54be014ba..46d65042df 100644 --- a/src/boot/z_locale.c +++ b/src/boot/z_locale.c @@ -5,6 +5,7 @@ #include "region.h" #include "terminal.h" #include "versions.h" +#include "vi_mode.h" #include "z_locale.h" #include "macros.h" diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c index 7cbf009946..e8581b6a53 100644 --- a/src/boot/z_std_dma.c +++ b/src/boot/z_std_dma.c @@ -35,8 +35,8 @@ #include "global.h" -#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.2:12 pal-1.0:10 pal-1.1:10" +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.2:20" \ + "pal-1.0:18 pal-1.1:18" StackEntry sDmaMgrStackInfo; OSMesgQueue sDmaMgrMsgQueue; diff --git a/src/code/graph.c b/src/code/graph.c index 4fc7a56ac9..a20c64e1fe 100644 --- a/src/code/graph.c +++ b/src/code/graph.c @@ -21,6 +21,7 @@ #include "title_setup_state.h" #include "ucode_disas.h" #include "versions.h" +#include "vi_mode.h" #include "z_game_dlftbls.h" #include "z64audio.h" #include "z64save.h" diff --git a/src/code/main.c b/src/code/main.c index 8a52882d07..fffc72194d 100644 --- a/src/code/main.c +++ b/src/code/main.c @@ -16,6 +16,7 @@ extern struct IrqMgr gIrqMgr; #include "audiomgr.h" #include "debug_arena.h" #include "fault.h" +#include "gfx.h" #include "padmgr.h" #include "prenmi_buff.h" #include "regs.h" @@ -34,7 +35,7 @@ extern struct IrqMgr gIrqMgr; #include "global.h" #pragma increment_block_number "gc-eu:32 gc-eu-mq:32 gc-jp:32 gc-jp-ce:32 gc-jp-mq:32 gc-us:32 gc-us-mq:32 ique-cn:32" \ - "ntsc-1.0:13 ntsc-1.1:13 ntsc-1.2:13 pal-1.0:11 pal-1.1:11" + "ntsc-1.0:6 ntsc-1.1:6 ntsc-1.2:6 pal-1.0:4 pal-1.1:4" extern u8 _buffersSegmentEnd[]; diff --git a/src/code/sched.c b/src/code/sched.c index 4fb5a33760..561a283709 100644 --- a/src/code/sched.c +++ b/src/code/sched.c @@ -47,6 +47,7 @@ #include "sched.h" #include "speed_meter.h" #include "versions.h" +#include "vi_mode.h" #include "z64thread.h" #include "macros.h" diff --git a/src/code/title_setup.c b/src/code/title_setup.c index ba259e72a1..cf736cf8ef 100644 --- a/src/code/title_setup.c +++ b/src/code/title_setup.c @@ -1,6 +1,8 @@ #include "console_logo_state.h" #include "setup_state.h" +#include "z64save.h" + #include "global.h" void Setup_InitImpl(SetupState* this) { diff --git a/src/code/z_camera.c b/src/code/z_camera.c index 79516f0171..8582519cd3 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -3658,7 +3658,7 @@ s32 Camera_KeepOn3(Camera* camera) { } #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ique-cn:128 ntsc-1.0:95 ntsc-1.1:95 ntsc-1.2:95 pal-1.0:93 pal-1.1:93" + "ique-cn:128 ntsc-1.0:102 ntsc-1.1:102 ntsc-1.2:102 pal-1.0:100 pal-1.1:100" s32 Camera_KeepOn4(Camera* camera) { static Vec3f D_8015BD50; diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c index cacd46abe3..2803e5299c 100644 --- a/src/code/z_kaleido_scope_call.c +++ b/src/code/z_kaleido_scope_call.c @@ -1,5 +1,5 @@ -#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ique-cn:128 ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144 pal-1.0:144 pal-1.1:144" +#pragma increment_block_number "gc-eu:144 gc-eu-mq:144 gc-jp:144 gc-jp-ce:144 gc-jp-mq:144 gc-us:144 gc-us-mq:144" \ + "ique-cn:144 ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144 pal-1.0:144 pal-1.1:144" #include "libu64/debug.h" #include "kaleido_manager.h" diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c index 78371084b5..3283cd62f0 100644 --- a/src/code/z_map_exp.c +++ b/src/code/z_map_exp.c @@ -9,6 +9,7 @@ #include "sfx.h" #include "sys_matrix.h" #include "terminal.h" +#include "z64map_mark.h" #include "z64play.h" #include "z64player.h" #include "z64save.h" diff --git a/src/code/z_play.c b/src/code/z_play.c index 13ce984512..cc041ecafd 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -40,7 +40,7 @@ #include "global.h" #pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ - "ntsc-1.0:224 ntsc-1.1:224 ntsc-1.2:224 pal-1.0:224 pal-1.1:224" + "ntsc-1.0:240 ntsc-1.1:240 ntsc-1.2:240 pal-1.0:240 pal-1.1:240" TransitionTile gTransitionTile; s32 gTransitionTileState; diff --git a/src/code/z_prenmi.c b/src/code/z_prenmi.c index bda115d462..f232fca10f 100644 --- a/src/code/z_prenmi.c +++ b/src/code/z_prenmi.c @@ -4,6 +4,7 @@ #include "regs.h" #include "terminal.h" #include "versions.h" +#include "vi_mode.h" #include "macros.h" #include "global.h"