Merge remote-tracking branch 'menu/oss'

This commit is contained in:
Yamagi 2023-09-16 16:30:04 +02:00
commit 49d4f2ce1f
2 changed files with 45 additions and 14 deletions

View file

@ -693,7 +693,7 @@ IN_Update(void)
{
S_Activate(false);
if (windowed_pauseonfocuslost->value == 1)
if (windowed_pauseonfocuslost->value != 1)
{
Cvar_SetValue("paused", 1);
}
@ -710,6 +710,11 @@ IN_Update(void)
{
S_Activate(true);
if (windowed_pauseonfocuslost->value == 2)
{
Cvar_SetValue("paused", 0);
}
/* play music */
if (Cvar_VariableValue("ogg_pausewithgame") == 1 &&
OGG_Status() == PAUSE && cl.attractloop == false &&
@ -731,11 +736,14 @@ IN_Update(void)
{
Cvar_SetValue("paused", 0);
}
}
else if (event.window.event == SDL_WINDOWEVENT_MINIMIZED ||
event.window.event == SDL_WINDOWEVENT_HIDDEN)
{
Cvar_SetValue("paused", 1);
/* play music */
if (Cvar_VariableValue("ogg_pausewithgame") == 1 &&
OGG_Status() == PAUSE && cl.attractloop == false &&
cl_paused->value == 0)
{
Cbuf_AddText("ogg toggle\n");
}
}
break;
@ -2322,7 +2330,7 @@ IN_Init(void)
gyro_active = true;
}
windowed_pauseonfocuslost = Cvar_Get("windowed_pauseonfocuslost", "0", CVAR_USERINFO | CVAR_ARCHIVE);
windowed_pauseonfocuslost = Cvar_Get("vid_pauseonfocuslost", "0", CVAR_USERINFO | CVAR_ARCHIVE);
windowed_mouse = Cvar_Get("windowed_mouse", "1", CVAR_USERINFO | CVAR_ARCHIVE);
Cmd_AddCommand("+mlook", IN_MLookDown);

View file

@ -124,13 +124,6 @@ M_ForceMenuOff(void)
void
M_PopMenu(void)
{
/* play music */
if (Cvar_VariableValue("ogg_pausewithgame") == 1 &&
OGG_Status() == PAUSE && cl.attractloop == false)
{
Cbuf_AddText("ogg toggle\n");
}
S_StartLocalSound(menu_out_sound);
if (m_menudepth < 1)
@ -146,6 +139,12 @@ M_PopMenu(void)
if (!m_menudepth)
{
M_ForceMenuOff();
/* play music */
if (Cvar_VariableValue("ogg_pausewithgame") == 1 &&
OGG_Status() == PAUSE && cl.attractloop == false)
{
Cbuf_AddText("ogg toggle\n");
}
}
}
@ -2154,6 +2153,7 @@ static menuslider_s s_options_oggvolume_slider;
static menulist_s s_options_oggenable_box;
static menulist_s s_options_quality_list;
static menulist_s s_options_console_action;
static menulist_s s_options_pauseonfocus_box;
static void
CrosshairFunc(void *unused)
@ -2161,6 +2161,12 @@ CrosshairFunc(void *unused)
Cvar_SetValue("crosshair", (float)s_options_crosshair_box.curvalue);
}
static void
PauseFocusFunc()
{
Cvar_SetValue("vid_pauseonfocuslost", (float)s_options_pauseonfocus_box.curvalue);
}
static void
CustomizeControlsFunc(void *unused)
{
@ -2196,6 +2202,7 @@ ControlsSetMenuItemValues(void)
s_options_lookstrafe_box.curvalue = (lookstrafe->value != 0);
s_options_freelook_box.curvalue = (freelook->value != 0);
s_options_crosshair_box.curvalue = ClampCvar(0, 3, crosshair->value);
s_options_pauseonfocus_box.curvalue = ClampCvar(0, 2, Cvar_VariableValue("vid_pauseonfocuslost"));
}
static void
@ -2335,6 +2342,14 @@ Options_MenuInit(void)
0
};
static const char* pause_names[] =
{
"yes",
"no",
"unpause on re-focus",
0
};
static const char *crosshair_names[] =
{
"none",
@ -2432,6 +2447,13 @@ Options_MenuInit(void)
s_options_crosshair_box.generic.name = "crosshair";
s_options_crosshair_box.generic.callback = CrosshairFunc;
s_options_crosshair_box.itemnames = crosshair_names;
s_options_pauseonfocus_box.generic.type = MTYPE_SPINCONTROL;
s_options_pauseonfocus_box.generic.x = 0;
s_options_pauseonfocus_box.generic.y = (y += 10);
s_options_pauseonfocus_box.generic.name = "pause on minimized";
s_options_pauseonfocus_box.generic.callback = PauseFocusFunc;
s_options_pauseonfocus_box.itemnames = pause_names;
y += 10;
if (show_gamepad)
@ -2475,6 +2497,7 @@ Options_MenuInit(void)
Menu_AddItem(&s_options_menu, (void *)&s_options_lookstrafe_box);
Menu_AddItem(&s_options_menu, (void *)&s_options_freelook_box);
Menu_AddItem(&s_options_menu, (void *)&s_options_crosshair_box);
Menu_AddItem(&s_options_menu, (void*)&s_options_pauseonfocus_box);
if (show_gamepad)
{