From 2b3486b05fa356a71b3292806bcff2ddc7713aeb Mon Sep 17 00:00:00 2001 From: Sean Miller Date: Thu, 9 Apr 2026 23:32:06 +0100 Subject: 100% eggSystem.cpp --- include/d/d_sys.h | 2 +- include/egg/core/eggPerformanceView.h | 26 ++++++++++++++++++++++++++ include/egg/core/eggProcessMeter.h | 14 -------------- include/egg/core/eggSceneManager.h | 20 ++++++++++++++++++++ include/egg/core/eggSystem.h | 14 ++++++++------ 5 files changed, 55 insertions(+), 21 deletions(-) create mode 100644 include/egg/core/eggPerformanceView.h delete mode 100644 include/egg/core/eggProcessMeter.h create mode 100644 include/egg/core/eggSceneManager.h (limited to 'include') diff --git a/include/d/d_sys.h b/include/d/d_sys.h index cf602af8..25b07596 100644 --- a/include/d/d_sys.h +++ b/include/d/d_sys.h @@ -3,7 +3,7 @@ #include "common.h" #include "egg/core/eggHeap.h" -#include "egg/core/eggProcessMeter.h" +#include "egg/core/eggPerformanceView.h" #include "egg/core/eggSystem.h" #include "nw4r/ut/ut_Color.h" diff --git a/include/egg/core/eggPerformanceView.h b/include/egg/core/eggPerformanceView.h new file mode 100644 index 00000000..98cff48e --- /dev/null +++ b/include/egg/core/eggPerformanceView.h @@ -0,0 +1,26 @@ +#ifndef EGG_PROCESS_METER_H +#define EGG_PROCESS_METER_H + +#include "egg/core/eggThread.h" + +namespace EGG { + +class PerformanceView { +public: + // vtable at 0x0 + /* 0x08 */ virtual void measureBeginFrame() = 0; + /* 0x0C */ virtual void measureEndFrame() = 0; + /* 0x10 */ virtual void measureBeginRender() = 0; + /* 0x14 */ virtual void measureEndRender() = 0; + /* 0x18 */ virtual void callbackDrawSync(u16 token) = 0; + /* 0x1C */ virtual void unused() = 0; + /* 0x20 */ virtual void draw() = 0; + /* 0x24 */ virtual void setVisible(bool visible) = 0; + /* 0x28 */ virtual bool isVisible() = 0; +}; + +class ProcessMeter : public Thread, public PerformanceView {}; + +}; // namespace EGG + +#endif // EGG_PROCESS_METER_H diff --git a/include/egg/core/eggProcessMeter.h b/include/egg/core/eggProcessMeter.h deleted file mode 100644 index 3641c43d..00000000 --- a/include/egg/core/eggProcessMeter.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef EGG_PROCESS_METER_H -#define EGG_PROCESS_METER_H - -#include "egg/core/eggThread.h" - -namespace EGG { - -class PerformanceView {}; - -class ProcessMeter : public Thread, public PerformanceView {}; - -}; - -#endif // EGG_PROCESS_METER_H diff --git a/include/egg/core/eggSceneManager.h b/include/egg/core/eggSceneManager.h new file mode 100644 index 00000000..6f9a4ed9 --- /dev/null +++ b/include/egg/core/eggSceneManager.h @@ -0,0 +1,20 @@ +#ifndef EGG_SCENE_MANAGER_H +#define EGG_SCENE_MANAGER_H + +namespace EGG { + +class SceneManager { +public: + // vtable at 0x0 + /* 0x08 */ virtual void calc(); + /* 0x0C */ virtual void draw(); + /* 0x10 */ virtual void calcCurrentScene(); + /* 0x14 */ virtual void calcCurrentFader(); + /* 0x18 */ virtual void drawCurrentScene(); + /* 0x1C */ virtual void drawCurrentFader(); + /* 0x20 */ virtual void createDefaultFader(); +}; + +} // namespace EGG + +#endif // EGG_SCENE_MANAGER_H diff --git a/include/egg/core/eggSystem.h b/include/egg/core/eggSystem.h index 634b7578..ef4a0968 100644 --- a/include/egg/core/eggSystem.h +++ b/include/egg/core/eggSystem.h @@ -4,6 +4,8 @@ #include "common.h" #include "egg/core/eggVideo.h" +struct OSBootInfo; + namespace EGG { class Display; @@ -35,18 +37,18 @@ public: /* vt 0x38 */ virtual void initialize() = 0; public: - /* 0x04 */ u32 mRoot1HeapStart; - /* 0x08 */ u32 mRoot1HeapEnd; - /* 0x0C */ u32 mRoot2HeapStart; - /* 0x10 */ u32 mRoot2HeapEnd; + /* 0x04 */ void *mRoot1HeapStart; + /* 0x08 */ void *mRoot1HeapEnd; + /* 0x0C */ void *mRoot2HeapStart; + /* 0x10 */ void *mRoot2HeapEnd; /* 0x14 */ u32 mMemSize; /* 0x18 */ Heap *mRootHeapMem1; /* 0x1C */ Heap *mRootHeapMem2; /* 0x20 */ Heap *mRootHeapDebug; /* 0x24 */ Heap *mSystemHeap; /* 0x28 */ Thread *mSystemThread; - /* 0x2C */ u32 field_0x2C; - /* 0x30 */ u32 mSystemHeapStart; + /* 0x2C */ OSBootInfo *mBootInfo; + /* 0x30 */ void *mSystemHeapStart; /* 0x34 */ u32 mSystemHeapSize; }; class BaseSystem { -- cgit v1.2.3