forked from Mirrorlandia_minetest/minetest
Add check to pause game on lost window focus
This commit is contained in:
parent
2153965cf9
commit
0bcc2f33eb
@ -536,6 +536,9 @@ fps_max (Maximum FPS) int 60
|
|||||||
# Maximum FPS when game is paused.
|
# Maximum FPS when game is paused.
|
||||||
pause_fps_max (FPS in pause menu) int 20
|
pause_fps_max (FPS in pause menu) int 20
|
||||||
|
|
||||||
|
# Open the pause menu when the window's focus is lost. Does not pause if a formspec is open.
|
||||||
|
pause_on_lost_focus (Pause on lost window focus) bool false
|
||||||
|
|
||||||
# View distance in nodes.
|
# View distance in nodes.
|
||||||
viewing_range (Viewing range) int 100 20 4000
|
viewing_range (Viewing range) int 100 20 4000
|
||||||
|
|
||||||
|
@ -994,6 +994,10 @@
|
|||||||
# type: int
|
# type: int
|
||||||
# max_out_chat_queue_size = 20
|
# max_out_chat_queue_size = 20
|
||||||
|
|
||||||
|
# Open the pause menu when the window's focus is lost. Does not pause if a formspec is open.
|
||||||
|
# type: bool
|
||||||
|
# pause_on_lost_focus = false
|
||||||
|
|
||||||
## Advanced
|
## Advanced
|
||||||
|
|
||||||
# Timeout for client to remove unused map data from memory.
|
# Timeout for client to remove unused map data from memory.
|
||||||
|
@ -58,6 +58,7 @@ void set_default_settings(Settings *settings)
|
|||||||
settings->setDefault("enable_remote_media_server", "true");
|
settings->setDefault("enable_remote_media_server", "true");
|
||||||
settings->setDefault("enable_client_modding", "false");
|
settings->setDefault("enable_client_modding", "false");
|
||||||
settings->setDefault("max_out_chat_queue_size", "20");
|
settings->setDefault("max_out_chat_queue_size", "20");
|
||||||
|
settings->setDefault("pause_on_lost_focus", "false");
|
||||||
|
|
||||||
// Keymap
|
// Keymap
|
||||||
settings->setDefault("remote_port", "30000");
|
settings->setDefault("remote_port", "30000");
|
||||||
|
@ -1487,6 +1487,8 @@ private:
|
|||||||
bool m_first_loop_after_window_activation = false;
|
bool m_first_loop_after_window_activation = false;
|
||||||
bool m_camera_offset_changed = false;
|
bool m_camera_offset_changed = false;
|
||||||
|
|
||||||
|
bool m_does_lost_focus_pause_game = false;
|
||||||
|
|
||||||
#ifdef __ANDROID__
|
#ifdef __ANDROID__
|
||||||
bool m_cache_hold_aux1;
|
bool m_cache_hold_aux1;
|
||||||
bool m_android_chat_open;
|
bool m_android_chat_open;
|
||||||
@ -1741,6 +1743,10 @@ void Game::run()
|
|||||||
|
|
||||||
// Update if minimap has been disabled by the server
|
// Update if minimap has been disabled by the server
|
||||||
flags.show_minimap &= client->shouldShowMinimap();
|
flags.show_minimap &= client->shouldShowMinimap();
|
||||||
|
|
||||||
|
if (m_does_lost_focus_pause_game && !device->isWindowFocused() && !isMenuActive()) {
|
||||||
|
showPauseMenu();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4638,6 +4644,7 @@ void Game::readSettings()
|
|||||||
m_cache_cam_smoothing = rangelim(m_cache_cam_smoothing, 0.01f, 1.0f);
|
m_cache_cam_smoothing = rangelim(m_cache_cam_smoothing, 0.01f, 1.0f);
|
||||||
m_cache_mouse_sensitivity = rangelim(m_cache_mouse_sensitivity, 0.001, 100.0);
|
m_cache_mouse_sensitivity = rangelim(m_cache_mouse_sensitivity, 0.001, 100.0);
|
||||||
|
|
||||||
|
m_does_lost_focus_pause_game = g_settings->getBool("pause_on_lost_focus");
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
Loading…
Reference in New Issue
Block a user