diff options
| author | Dragorn421 <Dragorn421@users.noreply.github.com> | 2024-09-08 00:47:22 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-07 16:47:22 -0600 |
| commit | 2e2b2e2c7a59bd3544de5e73f72a03b947ec8ab3 (patch) | |
| tree | f8b347b1649933af455a23aee0bb31f67af1fbc1 /include | |
| parent | e982c44721a76972de0e16a971e6447fc68f3f67 (diff) | |
[headers] Move padmgr, scheduler, irqmgr symbols to respective headers; add segmented_address.h (#1681)
* [headers] Move padmgr, scheduler symbols to respective headers
* fix revealed header problems
* Fix bss
* review
* bss
* segmented_address.h
---------
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/audiomgr.h | 2 | ||||
| -rw-r--r-- | include/idle.h | 2 | ||||
| -rw-r--r-- | include/irqmgr.h | 4 | ||||
| -rw-r--r-- | include/main.h | 10 | ||||
| -rw-r--r-- | include/padmgr.h | 4 | ||||
| -rw-r--r-- | include/scheduler.h | 4 | ||||
| -rw-r--r-- | include/segmented_address.h | 12 | ||||
| -rw-r--r-- | include/z64.h | 1 | ||||
| -rw-r--r-- | include/z64player.h | 2 |
9 files changed, 25 insertions, 16 deletions
diff --git a/include/audiomgr.h b/include/audiomgr.h index 23a6ef7bf..c9780d377 100644 --- a/include/audiomgr.h +++ b/include/audiomgr.h @@ -7,7 +7,7 @@ #include "scheduler.h" #include "z64audio.h" -typedef struct { +typedef struct AudioMgr { /* 0x000 */ IrqMgr* irqMgr; /* 0x004 */ Scheduler* sched; /* 0x008 */ OSScTask audioTask; diff --git a/include/idle.h b/include/idle.h index 86efabe90..f00c0a4c0 100644 --- a/include/idle.h +++ b/include/idle.h @@ -2,9 +2,7 @@ #define IDLE_H #include "ultra64.h" -#include "irqmgr.h" -extern IrqMgr gIrqMgr; extern OSMesgQueue gPiMgrCmdQueue; extern OSViMode gViConfigMode; extern u8 gViConfigModeType; diff --git a/include/irqmgr.h b/include/irqmgr.h index 576f390bf..d6c464327 100644 --- a/include/irqmgr.h +++ b/include/irqmgr.h @@ -15,7 +15,7 @@ typedef struct IrqMgrClient { /* 0x4 */ OSMesgQueue* queue; } IrqMgrClient; // size = 0x8 -typedef struct { +typedef struct IrqMgr { /* 0x000 */ OSScMsg retraceMsg; /* 0x020 */ OSScMsg prenmiMsg; /* 0x040 */ OSScMsg nmiMsg; @@ -29,6 +29,8 @@ typedef struct { /* 0x278 */ OSTime retraceTime; } IrqMgr; // size = 0x280 +extern IrqMgr gIrqMgr; + extern vs32 gIrqMgrResetStatus; extern volatile OSTime sIrqMgrResetTime; extern volatile OSTime gIrqMgrRetraceTime; diff --git a/include/main.h b/include/main.h index e6f8f9f55..b52f34c8f 100644 --- a/include/main.h +++ b/include/main.h @@ -3,22 +3,12 @@ #include "ultra64.h" -#include "stdint.h" - -#include "scheduler.h" -#include "padmgr.h" - extern s32 gScreenWidth; extern s32 gScreenHeight; extern size_t gSystemHeapSize; -extern uintptr_t gSegments[NUM_SEGMENTS]; -extern Scheduler gScheduler; extern OSThread gGraphThread; -extern PadMgr gPadMgr; void Main(void* arg); -#define SEGMENTED_TO_K0(addr) (void*)((gSegments[SEGMENT_NUMBER(addr)] + K0BASE) + SEGMENT_OFFSET(addr)) - #endif diff --git a/include/padmgr.h b/include/padmgr.h index 4bd78d901..a012f1450 100644 --- a/include/padmgr.h +++ b/include/padmgr.h @@ -23,7 +23,7 @@ typedef enum { /* 2 */ CONT_PAK_OTHER } ControllerPakType; -typedef struct { +typedef struct PadMgr { /* 0x000 */ u8 validCtrlrsMask; /* 0x004 */ void (*rumbleRetraceCallback)(void*); /* 0x008 */ void* rumbleRetraceArg; @@ -88,4 +88,6 @@ void PadMgr_RumbleSetSingle(s32 port, s32 enable); void PadMgr_RumbleSet(u8 enable[MAXCONTROLLERS]); s32 PadMgr_ControllerHasRumblePak(s32 port); +extern PadMgr gPadMgr; + #endif diff --git a/include/scheduler.h b/include/scheduler.h index 096f2e9b6..ebdf69dc3 100644 --- a/include/scheduler.h +++ b/include/scheduler.h @@ -28,7 +28,7 @@ typedef struct { /* 0x18 */ f32 yScale; } CfbInfo; // size = 0x1C -typedef struct { +typedef struct Scheduler { /* 0x000 */ OSMesgQueue interruptQueue; /* 0x018 */ OSMesg interruptMsgBuf[64]; /* 0x118 */ OSMesgQueue cmdQueue; @@ -58,4 +58,6 @@ void Sched_SendGfxCancelMsg(Scheduler* sched); void Sched_Init(Scheduler* sched, void* stack, OSPri pri, u8 viModeType, UNK_TYPE arg4, IrqMgr* irqMgr); +extern Scheduler gScheduler; + #endif diff --git a/include/segmented_address.h b/include/segmented_address.h new file mode 100644 index 000000000..faa6f2649 --- /dev/null +++ b/include/segmented_address.h @@ -0,0 +1,12 @@ +#ifndef SEGMENTED_ADDRESS_H +#define SEGMENTED_ADDRESS_H + +#include "ultra64.h" + +#include "stdint.h" + +extern uintptr_t gSegments[NUM_SEGMENTS]; + +#define SEGMENTED_TO_K0(addr) (void*)((gSegments[SEGMENT_NUMBER(addr)] + K0BASE) + SEGMENT_OFFSET(addr)) + +#endif diff --git a/include/z64.h b/include/z64.h index 3efb58338..f801fecdc 100644 --- a/include/z64.h +++ b/include/z64.h @@ -23,6 +23,7 @@ #include "padutils.h" #include "regs.h" #include "scheduler.h" +#include "segmented_address.h" #include "sequence.h" #include "seqcmd.h" #include "sfx.h" diff --git a/include/z64player.h b/include/z64player.h index 67eda81f2..56e173d2e 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -1,6 +1,8 @@ #ifndef Z64PLAYER_H #define Z64PLAYER_H +#include "stdbool.h" + #include "alignment.h" #include "PR/os.h" #include "z64actor.h" |
