diff options
Diffstat (limited to 'src/core/application.cc')
-rw-r--r-- | src/core/application.cc | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/core/application.cc b/src/core/application.cc index 79f4a28..67bb952 100644 --- a/src/core/application.cc +++ b/src/core/application.cc @@ -100,10 +100,10 @@ Application::Application() application_game = 0; #ifndef _WIN32 - //sys::signal(SIGHUP, signal_handler); - //sys::signal(SIGINT, signal_handler); - //sys::signal(SIGQUIT, signal_handler); - //sys::signal(SIGTERM, signal_handler); + sys::signal(SIGHUP, signal_handler); + sys::signal(SIGINT, signal_handler); + sys::signal(SIGQUIT, signal_handler); + sys::signal(SIGTERM, signal_handler); #endif } @@ -117,7 +117,7 @@ void Application::init(int count, char **arguments) { con_debug << "Debug messages enabled\n"; con_print << "^BInitializing core...\n"; - + filesystem::init(); CommandBuffer::init(); @@ -157,6 +157,14 @@ void Application::init(int count, char **arguments) Cvar::net_framerate->set_info("[int] network framerate in frames/sec"); #ifdef _WIN32 + Cvar::con_ansi = Cvar::get("con_ansi", "0", Cvar::Archive); +#else + Cvar::con_ansi = Cvar::get("con_ansi", "1", Cvar::Archive); +#endif + Cvar::con_ansi->set_info("[bool] console ANSI colors"); + sys::ConsoleInterface::instance()->set_ansi(Cvar::con_ansi->value()); + +#ifdef _WIN32 // Initialize win32 socket library WSADATA wsa_data; WORD wsa_version = MAKEWORD(2, 0); @@ -217,6 +225,8 @@ void Application::shutdown() void Application::quit(int status) { + console()->flush(); + sys::quit(status); } @@ -264,6 +274,8 @@ void Application::disconnect() void Application::frame(float seconds) { + console()->flush(); + // execute commands in the buffer CommandBuffer::exec(); @@ -278,9 +290,11 @@ void Application::frame(float seconds) // run a game interface frame application_game->frame(seconds); - + if (!application_game->running()) disconnect(); + + console()->flush(); } void Application::save_config() |