static void updateDisplay(void) // UPDATE DISPLAY { if(PSXDisplay.Disabled) // disable? { return; // -> and bye } if(dwActFixes&32) // pc fps calculation fix { if(UseFrameLimit) PCFrameCap(); // -> brake if(UseFrameSkip) PCcalcfps(); } if(UseFrameSkip) // skip ? { if(fskip_frameReady) { DoBufferSwap(); // -> to skip or not to skip fskip_frameReady=FALSE; bDoVSyncUpdate=FALSE; // vsync done } } else // no skip ? { bSkipNextFrame = FALSE; DoBufferSwap(); // -> swap bDoVSyncUpdate=FALSE; // vsync done } }
void updateDisplay(void) // UPDATE DISPLAY { if (PSXDisplay.Disabled) // disable? { DoClearFrontBuffer(); // -> clear frontbuffer return; // -> and bye } if (dwActFixes & 32) // pc fps calculation fix { if (UseFrameLimit) PCFrameCap(); // -> brake if (UseFrameSkip || ulKeybits & KEY_SHOWFPS) PCcalcfps(); } if (ulKeybits & KEY_SHOWFPS) // make fps display buf { sprintf(szDispBuf, "FPS %06.1f", fps_cur); } if (iFastFwd) // fastfwd ? { static int fpscount; UseFrameSkip = 1; if (!bSkipNextFrame) DoBufferSwap(); // -> to skip or not to skip if (fpscount % 6) // -> skip 6/7 frames bSkipNextFrame = TRUE; else bSkipNextFrame = FALSE; fpscount++; if (fpscount >= (int) fFrameRateHz) fpscount = 0; return; } if (UseFrameSkip) // skip ? { if (!bSkipNextFrame) DoBufferSwap(); // -> to skip or not to skip if (dwActFixes & 0xa0) // -> pc fps calculation fix/old skipping fix { if ((fps_skip < fFrameRateHz) && !(bSkipNextFrame)) // -> skip max one in a row { bSkipNextFrame = TRUE; fps_skip = fFrameRateHz; } else bSkipNextFrame = FALSE; } else FrameSkip(); } else // no skip ? { DoBufferSwap(); // -> swap } }