diff --git a/extern/aurora b/extern/aurora index a463669faa..5aa41bf53e 160000 --- a/extern/aurora +++ b/extern/aurora @@ -1 +1 @@ -Subproject commit a463669faa203fff7ec467666902f053763305ad +Subproject commit 5aa41bf53e86950886d33acb5100467397d518e0 diff --git a/src/JSystem/JFramework/JFWDisplay.cpp b/src/JSystem/JFramework/JFWDisplay.cpp index 45829a2dac..c47974710b 100644 --- a/src/JSystem/JFramework/JFWDisplay.cpp +++ b/src/JSystem/JFramework/JFWDisplay.cpp @@ -222,7 +222,7 @@ void JFWDisplay::endGX() { } void JFWDisplay::beginRender() { - //aurora_begin_frame(); + aurora_begin_frame(); if (field_0x40) { JUTProcBar::getManager()->wholeLoopEnd(); } @@ -300,7 +300,7 @@ void JFWDisplay::endRender() { JUTProcBar::getManager()->cpuStart(); calcCombinationRatio(); - //aurora_end_frame(); + aurora_end_frame(); } void JFWDisplay::endFrame() { diff --git a/src/dusk/stubs.cpp b/src/dusk/stubs.cpp index 492c79990c..a722092eaf 100644 --- a/src/dusk/stubs.cpp +++ b/src/dusk/stubs.cpp @@ -1658,12 +1658,12 @@ void GXReadXfRasMetric(u32* xf_wait_in, u32* xf_wait_out, u32* ras_busy, u32* cl *ras_busy = 0; *clocks = 0; } -void GXSetClipMode(GXClipMode mode) { - puts("GXSetClipMode is a stub"); -} -void GXSetCoPlanar(GXBool enable) { - puts("GXSetCoPlanar is a stub"); -} +//void GXSetClipMode(GXClipMode mode) { +// puts("GXSetClipMode is a stub"); +//} +//void GXSetCoPlanar(GXBool enable) { +// puts("GXSetCoPlanar is a stub"); +//} void GXSetCopyClamp(GXFBClamp clamp) { puts("GXSetCopyClamp is a stub"); } @@ -1680,9 +1680,9 @@ void GXSetMisc(GXMiscToken token, u32 val) { void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets) { puts("GXSetPointSize is a stub"); } -void GXSetProjectionv(const f32* ptr) { - puts("GXSetProjectionv is a stub"); -} +//void GXSetProjectionv(const f32* ptr) { +// puts("GXSetProjectionv is a stub"); +//} void GXSetVtxAttrFmtv(GXVtxFmt vtxfmt, const GXVtxAttrFmtList* list) { puts("GXSetVtxAttrFmtv is a stub"); } diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index dc8b8ea370..44984610ab 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -126,7 +126,7 @@ s32 LOAD_COPYDATE(void*) { void main01(void) { OS_REPORT("\x1b[m"); - + GXSetColorUpdate(GX_ENABLE); // 1. Setup mDoMch_Create(); mDoGph_Create(); @@ -155,9 +155,7 @@ void main01(void) { OSReport("Entering Main Loop (main01)...\n"); - // ----------------------------------------------------------- - // THE GAME LOOP (RESTORED) - // ----------------------------------------------------------- + do { // 1. Update Window Events const AuroraEvent* event = aurora_update(); @@ -167,26 +165,21 @@ void main01(void) { static u32 frame = 0; frame++; - // 2. Start Frame (REQUIRED for Vulkan) - if (!aurora_begin_frame()) { - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - continue; - } - // 3. Game Inputs + + // Game Inputs mDoCPd_c::read(); - // Simulate VI (can remain empty/stubbed for now if waitForTick is disabled) VIWaitForRetrace(); - // 4. EXECUTE GAME LOGIC & RENDER + // EXECUTE GAME LOGIC & RENDER // This calls mDoGph_Painter -> JFWDisplay -> GX Functions fapGm_Execute(); mDoAud_Execute(); - // 5. Present Frame (REQUIRED to see anything) - aurora_end_frame(); + + //aurora_end_frame(); // Limiter std::this_thread::sleep_for(std::chrono::milliseconds(16)); @@ -212,7 +205,7 @@ int game_main(int argc, char* argv[]) { aurora_initialize(argc, argv, &config); // 2. Setup Virtual Game RAM - // Simuliert den GameCube RAM (24MB + Audio etc, nehmen wir 256MB) + // Simulates Gamecube RAM (24MB + Audio etc, we take 256MB) #define GAME_RAM_SIZE (256 * 1024 * 1024) void* virtualGameRam = malloc(GAME_RAM_SIZE); if (!virtualGameRam) { @@ -240,23 +233,19 @@ int game_main(int argc, char* argv[]) { // Development Mode mDoMain::developmentMode = 1; // Force Dev Mode for Debugging mDoDvdThd::SyncWidthSound = false; - // START GAME + OSReport("Starting main01 (Game Loop)...\n"); - // Auf PC rufen wir main01 direkt im Main Thread auf. - // Kein OSCreateThread noetig (und auch gefaehrlich wegen Window-Loop). + main01(); - // Cleanup (Erreicht nur bei Break der Loop) aurora_shutdown(); free(virtualGameRam); return 0; } -// ========================================================================= -// STUBS & TEMPLATE INSTANTIATIONS -// ========================================================================= + bool JKRHeap::dump_sort() { return true; }