mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-22 19:38:06 -04:00
Prevent -speed
from being overridden by game-speed keys (#1969)
This commit is contained in:
parent
05a95e9a38
commit
3d8ec36807
@ -2442,7 +2442,7 @@ void D_DoomMain(void)
|
||||
R_UpdateViewAngleFunction();
|
||||
WS_Init();
|
||||
|
||||
MN_ResetTimeScale();
|
||||
G_SetTimeScale();
|
||||
|
||||
I_Printf(VB_INFO, "S_Init: Setting up sound.");
|
||||
S_Init(snd_SfxVolume /* *8 */, snd_MusicVolume /* *8*/ );
|
||||
|
35
src/g_game.c
35
src/g_game.c
@ -423,6 +423,41 @@ static void G_DemoSkipTics(void)
|
||||
}
|
||||
}
|
||||
|
||||
void G_SetTimeScale(void)
|
||||
{
|
||||
if (strictmode || D_CheckNetConnect())
|
||||
{
|
||||
I_SetTimeScale(100);
|
||||
return;
|
||||
}
|
||||
|
||||
int time_scale = realtic_clock_rate;
|
||||
|
||||
//!
|
||||
// @arg <n>
|
||||
// @category game
|
||||
//
|
||||
// Increase or decrease game speed, percentage of normal.
|
||||
//
|
||||
|
||||
int p = M_CheckParmWithArgs("-speed", 1);
|
||||
|
||||
if (p)
|
||||
{
|
||||
time_scale = M_ParmArgToInt(p);
|
||||
if (time_scale < 10 || time_scale > 1000)
|
||||
{
|
||||
I_Error(
|
||||
"Invalid parameter '%d' for -speed, valid values are 10-1000.",
|
||||
time_scale);
|
||||
}
|
||||
}
|
||||
|
||||
I_SetTimeScale(time_scale);
|
||||
|
||||
setrefreshneeded = true;
|
||||
}
|
||||
|
||||
static void ClearLocalView(void)
|
||||
{
|
||||
memset(&localview, 0, sizeof(localview));
|
||||
|
@ -78,6 +78,7 @@ void G_DoVictory(void);
|
||||
int G_ValidateMapName(const char *mapname, int *pEpi, int *pMap);
|
||||
|
||||
void G_EnableWarp(boolean warp);
|
||||
void G_SetTimeScale(void);
|
||||
|
||||
demo_version_t G_GetNamedComplevel(const char *arg);
|
||||
const char *G_GetCurrentComplevelName(void);
|
||||
|
@ -2439,7 +2439,7 @@ boolean M_ShortcutResponder(const event_t *ev)
|
||||
realtic_clock_rate += 10;
|
||||
realtic_clock_rate = BETWEEN(10, 1000, realtic_clock_rate);
|
||||
displaymsg("Game Speed: %d", realtic_clock_rate);
|
||||
I_SetTimeScale(realtic_clock_rate);
|
||||
G_SetTimeScale();
|
||||
setrefreshneeded = true;
|
||||
}
|
||||
|
||||
@ -2449,7 +2449,7 @@ boolean M_ShortcutResponder(const event_t *ev)
|
||||
realtic_clock_rate -= 10;
|
||||
realtic_clock_rate = BETWEEN(10, 1000, realtic_clock_rate);
|
||||
displaymsg("Game Speed: %d", realtic_clock_rate);
|
||||
I_SetTimeScale(realtic_clock_rate);
|
||||
G_SetTimeScale();
|
||||
setrefreshneeded = true;
|
||||
}
|
||||
|
||||
@ -2458,7 +2458,7 @@ boolean M_ShortcutResponder(const event_t *ev)
|
||||
{
|
||||
realtic_clock_rate = 100;
|
||||
displaymsg("Game Speed: %d", realtic_clock_rate);
|
||||
I_SetTimeScale(realtic_clock_rate);
|
||||
G_SetTimeScale();
|
||||
setrefreshneeded = true;
|
||||
}
|
||||
|
||||
|
@ -67,7 +67,6 @@ void MN_UpdatePadLook(void);
|
||||
void MN_UpdateAllGamepadItems(void);
|
||||
void MN_UpdateEqualizerItems(void);
|
||||
void MN_UpdateAdvancedSoundItems(boolean toggle);
|
||||
void MN_ResetTimeScale(void);
|
||||
void MN_SetHUFontKerning(void);
|
||||
void MN_DisableVoxelsRenderingItem(void);
|
||||
void MN_UpdateDynamicResolutionItem(void);
|
||||
|
@ -3290,41 +3290,6 @@ static const char *screen_melt_strings[] = {"Off", "Melt", "Crossfade", "Fizzle"
|
||||
|
||||
static const char *invul_mode_strings[] = {"Vanilla", "MBF", "Gray"};
|
||||
|
||||
void MN_ResetTimeScale(void)
|
||||
{
|
||||
if (strictmode || D_CheckNetConnect())
|
||||
{
|
||||
I_SetTimeScale(100);
|
||||
return;
|
||||
}
|
||||
|
||||
int time_scale = realtic_clock_rate;
|
||||
|
||||
//!
|
||||
// @arg <n>
|
||||
// @category game
|
||||
//
|
||||
// Increase or decrease game speed, percentage of normal.
|
||||
//
|
||||
|
||||
int p = M_CheckParmWithArgs("-speed", 1);
|
||||
|
||||
if (p)
|
||||
{
|
||||
time_scale = M_ParmArgToInt(p);
|
||||
if (time_scale < 10 || time_scale > 1000)
|
||||
{
|
||||
I_Error(
|
||||
"Invalid parameter '%d' for -speed, valid values are 10-1000.",
|
||||
time_scale);
|
||||
}
|
||||
}
|
||||
|
||||
I_SetTimeScale(time_scale);
|
||||
|
||||
setrefreshneeded = true;
|
||||
}
|
||||
|
||||
static setup_menu_t gen_settings6[] = {
|
||||
|
||||
{"Quality of life", S_SKIP | S_TITLE, OFF_CNTR_X, M_SPC},
|
||||
@ -3354,7 +3319,7 @@ static setup_menu_t gen_settings6[] = {
|
||||
{"Miscellaneous", S_SKIP | S_TITLE, OFF_CNTR_X, M_SPC},
|
||||
|
||||
{"Game speed", S_NUM | S_STRICT | S_PCT, OFF_CNTR_X, M_SPC,
|
||||
{"realtic_clock_rate"}, .action = MN_ResetTimeScale},
|
||||
{"realtic_clock_rate"}, .action = G_SetTimeScale},
|
||||
|
||||
{"Default Skill", S_CHOICE | S_LEVWARN, OFF_CNTR_X, M_SPC,
|
||||
{"default_skill"}, .strings_id = str_default_skill},
|
||||
|
Loading…
x
Reference in New Issue
Block a user