summaryrefslogtreecommitdiff
path: root/src/egg/core/eggDisplay.cpp
diff options
context:
space:
mode:
authorElijah Thomas <42302100+elijah-thomas774@users.noreply.github.com>2024-10-01 20:24:25 -0400
committerGitHub <noreply@github.com>2024-10-01 20:24:25 -0400
commitdc221b4795f415c8500740dd33e2243f91d527a6 (patch)
tree095409d798350dbc60e3f730437519767b11be2f /src/egg/core/eggDisplay.cpp
parent7ee2ac2d38bba2aa24fce7a72dd01dc07d509e72 (diff)
Misc Egg (#37)
* EGG: Archive, DvdFile, DvdRipper * start eggStream * FrmHeap and AssertHeap OK * progress on EggController * port in WPAD stuff * update WPAD/WUD/KPAD/SC symbols * eggController OK * bytematch more CoreController virtual funcs * eggDecomp/eggStreamDecomp Ok * eggDvdRipper OK * EGG gfx splits * Finished Splitting EGG * create egg Files * eggDecomp.h -> eggStreamDecomp.h * Revert some format changes
Diffstat (limited to 'src/egg/core/eggDisplay.cpp')
-rw-r--r--src/egg/core/eggDisplay.cpp69
1 files changed, 31 insertions, 38 deletions
diff --git a/src/egg/core/eggDisplay.cpp b/src/egg/core/eggDisplay.cpp
index 6fb5b0f5..6a5a75a7 100644
--- a/src/egg/core/eggDisplay.cpp
+++ b/src/egg/core/eggDisplay.cpp
@@ -1,51 +1,43 @@
#include "egg/core/eggDisplay.h"
-#include "nw4r/db/db_directPrint.h"
+
#include "egg/core/eggXfbManager.h"
+#include "nw4r/db/db_directPrint.h"
#include "rvl/GX.h"
#include "rvl/OS/OSHardware.h"
+
extern "C" {
- void PreRetraceCallback(u32 retraceCount) {
- EGG::BaseSystem::getDisplay()->preVRetrace();
- }
+void PreRetraceCallback(u32 retraceCount) {
+ EGG::BaseSystem::getDisplay()->preVRetrace();
}
-namespace EGG {
+}
+namespace EGG {
-u32 Display::sTickPeriod = ((OS_BUS_CLOCK_SPEED >> 2)/125000)*300 >> 3;
+u32 Display::sTickPeriod = ((OS_BUS_CLOCK_SPEED >> 2) / 125000) * 300 >> 3;
-/* 80497570 */
-Display::Display(u8 maxRetrace) :
- mMaxRetraces(maxRetrace),
- mScreenStateFlag(0),
- mRetraceCount(0),
- mFrameCount(0),
- mClearColor(0x808080ff),
- mClearZ(0xFFFFFF),
- mBeginTick(0),
- mFlag(0)
-{
+/* 80497570 */
+Display::Display(u8 maxRetrace)
+ : mMaxRetraces(maxRetrace), mScreenStateFlag(0), mRetraceCount(0), mFrameCount(0), mClearColor(0x808080ff),
+ mClearZ(0xFFFFFF), mBeginTick(0), mFlag(0) {
mFlag.setBit(mFlag_SetClear);
mFlag.setBit(mFlag_WaitForRetrace);
nw4r::db::DirectPrint_Init();
VISetPreRetraceCallback(PreRetraceCallback);
}
-/* vt 0x18 | 804975f0 */
+/* vt 0x18 | 804975f0 */
u32 Display::getTickPerFrame() {
return Video::getTickPerVRetrace();
}
-/* vt 0x08 | 80497600 */
+/* vt 0x08 | 80497600 */
void Display::beginFrame() {
-
GXDrawDone();
- if (
- mFlag.onBit(mFlag_WaitForRetrace)
- || (BaseSystem::getXfbMgr()->mNumXfbs == 1
- && OSGetTick()-mLastTick > sTickPeriod)) {
- VIWaitForRetrace();
+ if (mFlag.onBit(mFlag_WaitForRetrace) ||
+ (BaseSystem::getXfbMgr()->mNumXfbs == 1 && OSGetTick() - mLastTick > sTickPeriod)) {
+ VIWaitForRetrace();
}
// Holds while the next XFB gets to its copy state
- while (BaseSystem::getXfbMgr()->mToCopyXfb == 0 ) {
+ while (BaseSystem::getXfbMgr()->mToCopyXfb == 0) {
VIWaitForRetrace();
}
copyEFBtoXFB();
@@ -53,26 +45,27 @@ void Display::beginFrame() {
mFrameCount++;
}
-/* vt 0x0C | 804976c0 */
+/* vt 0x0C | 804976c0 */
void Display::beginRender() {
return;
}
-/* vt 0x10 | 804976d0 */
+/* vt 0x10 | 804976d0 */
void Display::endRender() {
return;
-}
+}
-/* vt 0x14 | 804976e0 */
+/* vt 0x14 | 804976e0 */
void Display::endFrame() {
return;
}
-
-/* vt 0x1C | 804976f0 */
+/* vt 0x1C | 804976f0 */
void Display::preVRetrace() {
mLastTick = OSGetTick();
- if (VIGetRetraceCount() - mRetraceCount < mMaxRetraces) return;
+ if (VIGetRetraceCount() - mRetraceCount < mMaxRetraces) {
+ return;
+ }
if (mScreenStateFlag.onBit(mScreenStateFlag_SetBlack)) {
BaseSystem::getVideo()->setBlack(1);
mScreenStateFlag.resetBit(mScreenStateFlag_SetBlack);
@@ -81,20 +74,20 @@ void Display::preVRetrace() {
mRetraceCount = VIGetRetraceCount();
}
-/* 804977d0 */
+/* 804977d0 */
void Display::copyEFBtoXFB() {
- if (mFlag.onBit(mFlag_SetClear)) {
+ if (mFlag.onBit(mFlag_SetClear)) {
GXSetCopyClear(mClearColor, mClearZ);
}
- GXRenderModeObj const* renderObj = BaseSystem::getVideo()->pRenderMode;
+ GXRenderModeObj const *renderObj = BaseSystem::getVideo()->pRenderMode;
GXSetCopyFilter(renderObj->aa, renderObj->sample_pattern, renderObj->aa == 0, renderObj->vfilter);
BaseSystem::getXfbMgr()->copyEFB(mFlag.onBit(mFlag_SetClear));
}
-/* 80497870 */
+/* 80497870 */
void Display::calcFrequency() {
s32 endTick = OSGetTick();
- mDeltaTick = endTick-mBeginTick;
+ mDeltaTick = endTick - mBeginTick;
mFrequency = 1000000.0f / ((mDeltaTick * 8) / ((OS_BUS_CLOCK_SPEED >> 2) / 125000));
mBeginTick = endTick;
}