diff --git a/include/functions.h b/include/functions.h index d861112d49..2876248fdb 100644 --- a/include/functions.h +++ b/include/functions.h @@ -235,10 +235,6 @@ void SysCfb_Init(s32 n64dd); void* SysCfb_GetFbPtr(s32 idx); void* SysCfb_GetFbEnd(void); -u64* SysUcode_GetUCodeBoot(void); -size_t SysUcode_GetUCodeBootSize(void); -u64* SysUcode_GetUCode(void); -u64* SysUcode_GetUCodeData(void); NORETURN void func_800D31A0(void); void func_800D31F0(void); void func_800D3210(void); @@ -264,8 +260,6 @@ void DebugArena_Display(void); void RcpUtils_PrintRegisterStatus(void); void RcpUtils_Reset(void); void* Overlay_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd); -void MtxConv_F2L(Mtx* m1, MtxF* m2); -void MtxConv_L2F(MtxF* m1, Mtx* m2); void Overlay_Relocate(void* allocatedRamAddr, OverlayRelocationSection* ovlRelocs, void* vramStart); size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd, void* allocatedRamAddr); // ? func_800FC800(?); diff --git a/include/libu64/mtxuty-cvt.h b/include/libu64/mtxuty-cvt.h new file mode 100644 index 0000000000..d6ad4fe571 --- /dev/null +++ b/include/libu64/mtxuty-cvt.h @@ -0,0 +1,9 @@ +#ifndef LIBU64_MTXUTY_CVT_H +#define LIBU64_MTXUTY_CVT_H + +#include "ultra64.h" + +void MtxConv_F2L(Mtx* m1, MtxF* m2); +void MtxConv_L2F(MtxF* m1, Mtx* m2); + +#endif \ No newline at end of file diff --git a/include/sys_ucode.h b/include/sys_ucode.h new file mode 100644 index 0000000000..fa690d4784 --- /dev/null +++ b/include/sys_ucode.h @@ -0,0 +1,11 @@ +#ifndef SYS_UCODE_H +#define SYS_UCODE_H + +#include "ultra64.h" + +u64* SysUcode_GetUCodeBoot(void); +size_t SysUcode_GetUCodeBootSize(void); +u64* SysUcode_GetUCode(void); +u64* SysUcode_GetUCodeData(void); + +#endif diff --git a/include/z64.h b/include/z64.h index f0ac7d547a..6025909d8d 100644 --- a/include/z64.h +++ b/include/z64.h @@ -94,33 +94,6 @@ #define SCREEN_WIDTH 320 #define SCREEN_HEIGHT 240 -#define THREAD_PRI_IDLE_INIT 10 -#define THREAD_PRI_MAIN_INIT 10 -#define THREAD_PRI_DMAMGR_LOW 10 // Used when decompressing files -#define THREAD_PRI_GRAPH 11 -#define THREAD_PRI_AUDIOMGR 12 -#define THREAD_PRI_N64DD 13 -#define THREAD_PRI_DDMSG 13 -#define THREAD_PRI_PADMGR 14 -#define THREAD_PRI_MAIN 15 -#define THREAD_PRI_SCHED 15 -#define THREAD_PRI_DMAMGR 16 -#define THREAD_PRI_IRQMGR 17 -#define THREAD_PRI_FAULT_CLIENT (OS_PRIORITY_APPMAX - 1) -#define THREAD_PRI_FAULT OS_PRIORITY_APPMAX - -#define THREAD_ID_IDLE 1 -#define THREAD_ID_FAULT 2 -#define THREAD_ID_MAIN 3 -#define THREAD_ID_GRAPH 4 -#define THREAD_ID_SCHED 5 -#define THREAD_ID_PADMGR 7 -#define THREAD_ID_N64DD 8 -#define THREAD_ID_DDMSG 9 -#define THREAD_ID_AUDIOMGR 10 -#define THREAD_ID_DMAMGR 18 -#define THREAD_ID_IRQMGR 19 - typedef enum LensMode { /* 0 */ LENS_MODE_SHOW_ACTORS, // lens actors are invisible by default, and shown by using lens (for example, invisible enemies) /* 1 */ LENS_MODE_HIDE_ACTORS // lens actors are visible by default, and hidden by using lens (for example, fake walls) diff --git a/include/z64thread.h b/include/z64thread.h new file mode 100644 index 0000000000..c4ab827b42 --- /dev/null +++ b/include/z64thread.h @@ -0,0 +1,33 @@ +#ifndef Z64THREAD_H +#define Z64THREAD_H + +#include "ultra64.h" + +#define THREAD_ID_IDLE 1 +#define THREAD_ID_FAULT 2 +#define THREAD_ID_MAIN 3 +#define THREAD_ID_GRAPH 4 +#define THREAD_ID_SCHED 5 +#define THREAD_ID_PADMGR 7 +#define THREAD_ID_N64DD 8 +#define THREAD_ID_DDMSG 9 +#define THREAD_ID_AUDIOMGR 10 +#define THREAD_ID_DMAMGR 18 +#define THREAD_ID_IRQMGR 19 + +#define THREAD_PRI_IDLE_INIT 10 +#define THREAD_PRI_MAIN_INIT 10 +#define THREAD_PRI_DMAMGR_LOW 10 // Used when decompressing files +#define THREAD_PRI_GRAPH 11 +#define THREAD_PRI_AUDIOMGR 12 +#define THREAD_PRI_N64DD 13 +#define THREAD_PRI_DDMSG 13 +#define THREAD_PRI_PADMGR 14 +#define THREAD_PRI_MAIN 15 +#define THREAD_PRI_SCHED 15 +#define THREAD_PRI_DMAMGR 16 +#define THREAD_PRI_IRQMGR 17 +#define THREAD_PRI_FAULT_CLIENT (OS_PRIORITY_APPMAX - 1) +#define THREAD_PRI_FAULT OS_PRIORITY_APPMAX + +#endif diff --git a/src/boot/boot_main.c b/src/boot/boot_main.c index 0c1eeea49e..409f97e530 100644 --- a/src/boot/boot_main.c +++ b/src/boot/boot_main.c @@ -4,6 +4,7 @@ #if PLATFORM_N64 #include "cic6105.h" #endif +#include "z64thread.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:128" diff --git a/src/boot/idle.c b/src/boot/idle.c index 508fd16c4e..b1a6dd2c3b 100644 --- a/src/boot/idle.c +++ b/src/boot/idle.c @@ -2,6 +2,7 @@ #include "stack.h" #include "terminal.h" #include "versions.h" +#include "z64thread.h" #pragma increment_block_number "gc-eu:64 gc-eu-mq:64 gc-jp:64 gc-jp-ce:64 gc-jp-mq:64 gc-us:64 gc-us-mq:64 ntsc-1.2:64" diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c index 38da143aed..9b572b6a12 100644 --- a/src/boot/z_std_dma.c +++ b/src/boot/z_std_dma.c @@ -26,6 +26,7 @@ #if PLATFORM_N64 #include "n64dd.h" #endif +#include "z64thread.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:62 pal-1.0:60 pal-1.1:60" diff --git a/src/code/fault_gc.c b/src/code/fault_gc.c index 59f95d17ff..19fa7f6059 100644 --- a/src/code/fault_gc.c +++ b/src/code/fault_gc.c @@ -48,6 +48,7 @@ #include "fault.h" #include "stack.h" #include "terminal.h" +#include "z64thread.h" void Fault_Init(void); void Fault_SetOsSyncPrintfEnabled(u32 enabled); diff --git a/src/code/fault_n64.c b/src/code/fault_n64.c index 720307c0a1..373c20ef97 100644 --- a/src/code/fault_n64.c +++ b/src/code/fault_n64.c @@ -5,6 +5,7 @@ #include "libc64/os_malloc.h" #include "stack.h" #include "terminal.h" +#include "z64thread.h" #pragma increment_block_number "ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192" diff --git a/src/code/graph.c b/src/code/graph.c index 046e04d374..c77ef71087 100644 --- a/src/code/graph.c +++ b/src/code/graph.c @@ -1,5 +1,6 @@ #include "global.h" #include "fault.h" +#include "sys_ucode.h" #include "terminal.h" #include "ucode_disas.h" #include "versions.h" diff --git a/src/code/irqmgr.c b/src/code/irqmgr.c index 59d7a41cfa..b90d5df7b7 100644 --- a/src/code/irqmgr.c +++ b/src/code/irqmgr.c @@ -35,6 +35,7 @@ #include "global.h" #include "terminal.h" #include "versions.h" +#include "z64thread.h" vu32 gIrqMgrResetStatus = IRQ_RESET_STATUS_IDLE; volatile OSTime sIrqMgrResetTime = 0; diff --git a/src/code/main.c b/src/code/main.c index cce2e666eb..b584351fe8 100644 --- a/src/code/main.c +++ b/src/code/main.c @@ -22,6 +22,7 @@ extern struct IrqMgr gIrqMgr; #include "cic6105.h" #include "n64dd.h" #endif +#include "z64thread.h" #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" \ "ntsc-1.0:122 ntsc-1.1:122 ntsc-1.2:122 pal-1.0:120 pal-1.1:120" diff --git a/src/code/sched.c b/src/code/sched.c index b22f38b402..3c4199aefe 100644 --- a/src/code/sched.c +++ b/src/code/sched.c @@ -42,6 +42,7 @@ #include "global.h" #include "fault.h" #include "versions.h" +#include "z64thread.h" #define RSP_DONE_MSG 667 #define RDP_DONE_MSG 668 diff --git a/src/code/sys_ucode.c b/src/code/sys_ucode.c index 2be2566e84..3e4ad8cbf6 100644 --- a/src/code/sys_ucode.c +++ b/src/code/sys_ucode.c @@ -1,4 +1,4 @@ -#include "global.h" +#include "ultra64.h" u64* sDefaultGSPUCodeText = gspF3DZEX2_NoN_PosLight_fifoTextStart; u64* sDefaultGSPUCodeData = gspF3DZEX2_NoN_PosLight_fifoDataStart; diff --git a/src/code/ucode_disas.c b/src/code/ucode_disas.c index ecfc7d7ac4..0684dcd5dc 100644 --- a/src/code/ucode_disas.c +++ b/src/code/ucode_disas.c @@ -1,5 +1,10 @@ -#include "global.h" #include "ucode_disas.h" +#include "ultra64.h" +#include "ultra64/gs2dex.h" +#include "libu64/mtxuty-cvt.h" +#include "segmented_address.h" + +#include "macros.h" #if DEBUG_FEATURES diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 37a370557d..85775feff6 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -1,13 +1,30 @@ -#include "global.h" +#include "libc64/math64.h" #include "fault.h" +#include "gfx.h" +#include "gfx_setupdl.h" #include "quake.h" #include "rand.h" +#include "regs.h" +#include "rumble.h" +#include "segmented_address.h" +#include "sfx.h" +#include "sys_math.h" +#include "sys_matrix.h" #include "terminal.h" #include "versions.h" +#include "z_lib.h" +#include "zelda_arena.h" +#include "z64effect.h" +#include "z64light.h" #include "z64horse.h" +#include "z64play.h" +#include "z64skin_matrix.h" + +//#include "global.h" #include "overlays/actors/ovl_Arms_Hook/z_arms_hook.h" #include "overlays/actors/ovl_En_Part/z_en_part.h" + #include "assets/objects/gameplay_keep/gameplay_keep.h" #include "assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h" #include "assets/objects/object_bdoor/object_bdoor.h" diff --git a/src/code/z_jpeg.c b/src/code/z_jpeg.c index 86a97183aa..81e2999462 100644 --- a/src/code/z_jpeg.c +++ b/src/code/z_jpeg.c @@ -1,6 +1,12 @@ #include "global.h" +#include "ultra64.h" +#include "attributes.h" +#include "jpeg.h" +#include "sys_ucode.h" #include "terminal.h" +#include "macros.h" + #define MARKER_ESCAPE 0x00 #define MARKER_SOI 0xD8 #define MARKER_SOF 0xC0 diff --git a/src/code/z_nulltask.c b/src/code/z_nulltask.c index 1f7dae689e..42ba3d86f9 100644 --- a/src/code/z_nulltask.c +++ b/src/code/z_nulltask.c @@ -1,4 +1,5 @@ -#include "global.h" +#include "ultra64.h" +#include "sched.h" /** * Blocks the current thread until all queued scheduler tasks have completed. diff --git a/src/code/z_room.c b/src/code/z_room.c index 0c5d37f551..0655fafcad 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -1,5 +1,6 @@ #include "global.h" #include "fault.h" +#include "sys_ucode.h" #include "terminal.h" #include "versions.h" #include "line_numbers.h" diff --git a/src/libu64/mtxuty-cvt.c b/src/libu64/mtxuty-cvt.c index 10f88f7827..6fa038be13 100644 --- a/src/libu64/mtxuty-cvt.c +++ b/src/libu64/mtxuty-cvt.c @@ -1,4 +1,8 @@ -#include "global.h" +#include "ultra64.h" +#include "libu64/debug.h" +#include "libu64/mtxuty-cvt.h" + +#include "macros.h" void MtxConv_F2L(Mtx* m1, MtxF* m2) { s32 i; diff --git a/src/overlays/actors/ovl_En_Part/z_en_part.c b/src/overlays/actors/ovl_En_Part/z_en_part.c index 215442f52e..a742fde32a 100644 --- a/src/overlays/actors/ovl_En_Part/z_en_part.c +++ b/src/overlays/actors/ovl_En_Part/z_en_part.c @@ -7,6 +7,7 @@ #include "z_en_part.h" #include "assets/objects/object_tite/object_tite.h" #include "assets/objects/object_ik/object_ik.h" +#include "global.h" #define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED diff --git a/src/overlays/actors/ovl_En_Part/z_en_part.h b/src/overlays/actors/ovl_En_Part/z_en_part.h index 3502d80a80..405e795e75 100644 --- a/src/overlays/actors/ovl_En_Part/z_en_part.h +++ b/src/overlays/actors/ovl_En_Part/z_en_part.h @@ -2,11 +2,11 @@ #define Z_EN_PART_H #include "ultra64.h" -#include "global.h" +#include "z64actor.h" struct EnPart; -typedef void (*EnPartActionFunc)(struct EnPart*, PlayState*); +typedef void (*EnPartActionFunc)(struct EnPart*, struct PlayState*); typedef struct EnPart { /* 0x000 */ Actor actor; diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.c index 232e7ae3fe..63b08448b3 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.c @@ -1,5 +1,7 @@ #include "z_kaleido_scope.h" +#include "sys_ucode.h" #include "versions.h" + #include "assets/textures/icon_item_24_static/icon_item_24_static.h" #if OOT_NTSC #include "assets/textures/icon_item_jpn_static/icon_item_jpn_static.h"