mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-22 03:12:00 -04:00
don't reset uncapped until new frame (#1455)
* skip DRS * set `targetrefresh` after FPS limiter
This commit is contained in:
parent
1da8be9fdb
commit
35f7dd822a
@ -58,6 +58,7 @@ boolean vga_porch_flash; // emulate VGA "porch" behaviour
|
||||
boolean smooth_scaling;
|
||||
|
||||
boolean resetneeded;
|
||||
boolean setrefreshneeded;
|
||||
boolean toggle_fullscreen;
|
||||
boolean toggle_exclusive_fullscreen;
|
||||
|
||||
@ -657,6 +658,7 @@ static void I_DrawDiskIcon(), I_RestoreDiskBackground();
|
||||
static unsigned int disk_to_draw, disk_to_restore;
|
||||
|
||||
static void CreateUpscaledTexture(boolean force);
|
||||
static void I_ResetTargetRefresh(void);
|
||||
|
||||
void I_FinishUpdate(void)
|
||||
{
|
||||
@ -746,6 +748,12 @@ void I_FinishUpdate(void)
|
||||
{
|
||||
frametime_start = I_GetTimeUS();
|
||||
}
|
||||
|
||||
if (setrefreshneeded)
|
||||
{
|
||||
setrefreshneeded = false;
|
||||
I_ResetTargetRefresh();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
@ -1270,8 +1278,10 @@ static void ResetLogicalSize(void)
|
||||
}
|
||||
}
|
||||
|
||||
void I_ResetTargetRefresh(void)
|
||||
static void I_ResetTargetRefresh(void)
|
||||
{
|
||||
uncapped = default_uncapped;
|
||||
|
||||
if (uncapped)
|
||||
{
|
||||
// SDL may report native refresh rate as zero.
|
||||
@ -1283,6 +1293,7 @@ void I_ResetTargetRefresh(void)
|
||||
}
|
||||
|
||||
UpdateLimiter();
|
||||
drs_skip_frame = true;
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -62,7 +62,6 @@ void I_FinishUpdate(void);
|
||||
void I_ReadScreen(byte* dst);
|
||||
|
||||
void I_ResetScreen(void); // killough 10/98
|
||||
void I_ResetTargetRefresh(void);
|
||||
void I_ToggleVsync(void); // [JN] Calls native SDL vsync toggle
|
||||
|
||||
void I_DynamicResolution(void);
|
||||
@ -92,6 +91,7 @@ extern int video_display; // display index
|
||||
extern boolean screenvisible;
|
||||
extern boolean window_focused;
|
||||
extern boolean resetneeded;
|
||||
extern boolean setrefreshneeded;
|
||||
extern boolean smooth_scaling;
|
||||
extern boolean toggle_fullscreen;
|
||||
extern boolean toggle_exclusive_fullscreen;
|
||||
|
@ -3940,8 +3940,8 @@ static void M_SetMidiPlayer(void)
|
||||
|
||||
static void M_ToggleUncapped(void)
|
||||
{
|
||||
DISABLE_ITEM(!uncapped, gen_settings1[gen1_fpslimit]);
|
||||
I_ResetTargetRefresh();
|
||||
DISABLE_ITEM(!default_uncapped, gen_settings1[gen1_fpslimit]);
|
||||
setrefreshneeded = true;
|
||||
}
|
||||
|
||||
static void M_ToggleFullScreen(void)
|
||||
@ -3958,7 +3958,7 @@ static void M_CoerceFPSLimit(void)
|
||||
{
|
||||
if (fpslimit < TICRATE)
|
||||
fpslimit = 0;
|
||||
I_ResetTargetRefresh();
|
||||
setrefreshneeded = true;
|
||||
}
|
||||
|
||||
static void M_UpdateFOV(void)
|
||||
|
@ -192,7 +192,7 @@ default_t defaults[] = {
|
||||
// [FG] uncapped rendering frame rate
|
||||
{
|
||||
"uncapped",
|
||||
(config_t *) &default_uncapped, (config_t *) &uncapped,
|
||||
(config_t *) &default_uncapped, NULL,
|
||||
{1}, {0, 1}, number, ss_gen, wad_no,
|
||||
"1 to enable uncapped rendering frame rate"
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user