diff options
| author | Elijah Thomas <42302100+elijah-thomas774@users.noreply.github.com> | 2024-10-01 20:24:25 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-01 20:24:25 -0400 |
| commit | dc221b4795f415c8500740dd33e2243f91d527a6 (patch) | |
| tree | 095409d798350dbc60e3f730437519767b11be2f /src/egg/core/eggDisplay.cpp | |
| parent | 7ee2ac2d38bba2aa24fce7a72dd01dc07d509e72 (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.cpp | 69 |
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; } |
