fixed instant input patch on VC

This commit is contained in:
Reonu
2021-08-03 03:40:47 +01:00
parent e2db87516f
commit 7cd5daf7ea

View File

@@ -385,13 +385,9 @@ void render_init(void) {
// Skip incrementing the initial framebuffer index on emulators so that they display immediately as the Gfx task finishes
// VC probably emulates osViSwapBuffer accurately so instant patch breaks VC compatibility
#ifndef VC_HACKS
if ((*(volatile u32 *)0xA4100010) != 0) { // Read RDP Clock Register, has a value of zero on emulators
#endif
if (!gIsConsole) { // Read RDP Clock Register, has a value of zero on emulators
sRenderingFrameBuffer++;
#ifndef VC_HACKS
}
#endif
gGlobalTimer++;
}
@@ -427,18 +423,14 @@ void display_and_vsync(void) {
profiler_log_thread5_time(THREAD5_END);
osRecvMesg(&gGameVblankQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
// Skip swapping buffers on emulator so that they display immediately as the Gfx task finishes
#ifndef VC_HACKS
if ((*(volatile u32 *)0xA4100010) != 0) { // Read RDP Clock Register, has a value of zero on emulators
#endif
if (!gIsConsole) { // Read RDP Clock Register, has a value of zero on emulators
if (++sRenderedFramebuffer == 3) {
sRenderedFramebuffer = 0;
}
if (++sRenderingFrameBuffer == 3) {
sRenderingFrameBuffer = 0;
}
#ifndef VC_HACKS
}
#endif
gGlobalTimer++;
}