Although most commands are not useful on a dedicated server,
screenshot commands should be dequeued.
(cherry picked from commit 56050fc96f
)
This commit is contained in:

committed by
Jonathan G Rennison

parent
f52da3de3a
commit
457b4f80b6
@@ -270,6 +270,7 @@ void VideoDriver_Dedicated::MainLoop()
|
||||
|
||||
while (!_exit_game) {
|
||||
if (!_dedicated_forks) DedicatedHandleKeyInput();
|
||||
this->DrainCommandQueue();
|
||||
|
||||
ChangeGameSpeed(_ddc_fastforward);
|
||||
this->Tick();
|
||||
|
@@ -328,23 +328,6 @@ protected:
|
||||
return std::chrono::microseconds(1000000 / _settings_client.gui.refresh_rate);
|
||||
}
|
||||
|
||||
std::chrono::steady_clock::time_point next_game_tick;
|
||||
std::chrono::steady_clock::time_point next_draw_tick;
|
||||
|
||||
bool fast_forward_key_pressed; ///< The fast-forward key is being pressed.
|
||||
bool fast_forward_via_key; ///< The fast-forward was enabled by key press.
|
||||
|
||||
bool is_game_threaded;
|
||||
std::thread game_thread;
|
||||
std::recursive_mutex game_state_mutex;
|
||||
std::mutex game_thread_wait_mutex;
|
||||
|
||||
static void GameThreadThunk(VideoDriver *drv);
|
||||
|
||||
private:
|
||||
std::mutex cmd_queue_mutex;
|
||||
std::vector<std::function<void()>> cmd_queue;
|
||||
|
||||
/** Execute all queued commands. */
|
||||
void DrainCommandQueue()
|
||||
{
|
||||
@@ -363,6 +346,23 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
std::chrono::steady_clock::time_point next_game_tick;
|
||||
std::chrono::steady_clock::time_point next_draw_tick;
|
||||
|
||||
bool fast_forward_key_pressed; ///< The fast-forward key is being pressed.
|
||||
bool fast_forward_via_key; ///< The fast-forward was enabled by key press.
|
||||
|
||||
bool is_game_threaded;
|
||||
std::thread game_thread;
|
||||
std::recursive_mutex game_state_mutex;
|
||||
std::mutex game_thread_wait_mutex;
|
||||
|
||||
static void GameThreadThunk(VideoDriver *drv);
|
||||
|
||||
private:
|
||||
std::mutex cmd_queue_mutex;
|
||||
std::vector<std::function<void()>> cmd_queue;
|
||||
|
||||
void GameLoop();
|
||||
void GameThread();
|
||||
};
|
||||
|
Reference in New Issue
Block a user