summaryrefslogtreecommitdiff
path: root/src/d/d_sys.cpp
diff options
context:
space:
mode:
authorSean Miller <seanmiller999@gmail.com>2026-03-22 22:58:23 +0000
committerSean Miller <seanmiller999@gmail.com>2026-03-22 22:58:23 +0000
commit2b997a772ebc860b7a872bf140801519aeb4653d (patch)
treeca62a2353de72a99f75227bd5355b2dfee6cf323 /src/d/d_sys.cpp
parent2bcf403ea0c86dbdcb0ded8c81984741aadb08f7 (diff)
dSys: additional function matches
Diffstat (limited to 'src/d/d_sys.cpp')
-rw-r--r--src/d/d_sys.cpp70
1 files changed, 61 insertions, 9 deletions
diff --git a/src/d/d_sys.cpp b/src/d/d_sys.cpp
index fe5a4281..26778af4 100644
--- a/src/d/d_sys.cpp
+++ b/src/d/d_sys.cpp
@@ -17,10 +17,12 @@
#include "d/lyt/d_lyt_battery.h"
#include "d/lyt/d_lyt_system_window.h"
#include "d/snd/d_snd_mgr.h"
-#include "egg/core/eggExpHeap.h"
#include "egg/core/eggAssertHeap.h"
+#include "egg/core/eggDisplay.h"
+#include "egg/core/eggExpHeap.h"
#include "egg/core/eggSystem.h"
#include "egg/core/eggVideo.h"
+#include "egg/gfx/eggStateGX.h"
#include "f/f_manager.h"
#include "m/m_dvd.h"
#include "m/m_heap.h"
@@ -38,22 +40,70 @@
#include "toBeSorted/arc_managers/layout_arc_manager.h"
#include "toBeSorted/arc_managers/oarc_manager.h"
+#include "rvl/GX.h"
#include "rvl/OS.h"
-EGG::TSystem<EGG::Video, EGG::Display, EGG::XfbManager, EGG::SimpleAudioMgr, EGG::SceneManager, EGG::PerformanceView> SysConfig;
+System SysConfig;
+
+System *dSys_c::ms_configuration_p;
+EGG::Heap *dSys_c::ms_RootHeapMem1;
+EGG::Heap *dSys_c::ms_RootHeapMem2;
+
+char *dummy = "オーディオヒープ"; // "Audio heap"
+extern u32 lbl_80574FA0;
+extern u32 lbl_80574FA4;
-void dSys_c::setBlack(bool on) {
+void dSys_c::beginRender() {
+ m3d::calcMaterial();
+ ms_configuration_p->mDisplay->beginRender();
+}
+
+void dSys_c::endRender() {
+ ms_configuration_p->mDisplay->endRender();
+}
+
+void dSys_c::beginFrame() {
+ EGG::Display *pDisplay = ms_configuration_p->mDisplay;
+
+ pDisplay->beginFrame();
+ GXSetCopyClear(pDisplay->mClearColor, pDisplay->mClearZ);
+ ms_configuration_p->onBeginFrame();
+}
+
+void dSys_c::endFrame() {
+ ms_configuration_p->mDisplay->endFrame();
+ ms_configuration_p->onEndFrame();
+}
- EGG::Video *video = EGG::BaseSystem::sSystem->getVideo();
+bool dSys_c::setBlack(bool on) {
+ EGG::Display *pDisplay = ms_configuration_p->mDisplay;
- if (video->mFlag.onBit(0) != on) {
- create();
+ EGG::Video *pVideo = EGG::BaseSystem::sSystem->getVideo();
+
+ if (pVideo->mFlag.onBit(0) != on && pDisplay->mScreenStateFlag.offBit(0)) {
+ pDisplay->mScreenStateFlag.setBit(0);
+ return true;
}
+
+ return false;
}
-char *dummy = "オーディオヒープ"; // "Audio heap"
-extern u32 lbl_80574FA0;
-extern u32 lbl_80574FA4;
+void dSys_c::setFrameRate(u8 maxRetraces) {
+ ms_configuration_p->mDisplay->mMaxRetraces = maxRetraces;
+}
+
+u8 dSys_c::getFrameRate() {
+ return ms_configuration_p->mDisplay->mMaxRetraces;
+}
+
+void dSys_c::setClearColor(nw4r::ut::Color clr) {
+ ms_configuration_p->mDisplay->setClearColor(clr);
+ EGG::StateGX::s_clearEfb = clr;
+}
+
+nw4r::ut::Color dSys_c::getClearColor() {
+ return ms_configuration_p->mDisplay->getClearColor();
+}
void dSys_c::create() {
EGG::Heap *pRootHeapMem1;
@@ -248,7 +298,9 @@ void dSys_c::execute() {
}
dHbm::Manage_c::GetInstance()->DrawIcon();
+
endRender();
+
dState::fn_80062EB0();
dState::fn_80062E40();
dState::fn_80062E50();