From 1fe3202f0b7e2f52e50c430caa744b029fd5bcef Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Sat, 2 Feb 2008 12:38:36 +0000 Subject: cleaned up the console code. added the ability to tune the game in runtime. --- src/engine/client/ec_client.c | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) (limited to 'src/engine/client/ec_client.c') diff --git a/src/engine/client/ec_client.c b/src/engine/client/ec_client.c index b1399645..3c0180b9 100644 --- a/src/engine/client/ec_client.c +++ b/src/engine/client/ec_client.c @@ -18,6 +18,7 @@ #include #include #include +#include #include @@ -1207,20 +1208,49 @@ static void client_run() snd_shutdown(); } +static void connect_command(void *result, void *user_data) +{ + const char *address; + console_result_string(result, 1, &address); + client_connect(address); +} + +static void disconnect_command(void *result, void *user_data) +{ + client_disconnect(); +} + +static void quit_command(void *result, void *user_data) +{ + client_quit(); +} + +static void client_register_commands() +{ + MACRO_REGISTER_COMMAND("quit", "", quit_command, 0x0); + MACRO_REGISTER_COMMAND("connect", "s", connect_command, 0x0); + MACRO_REGISTER_COMMAND("disconnect", "", disconnect_command, 0x0); +} int editor_main(int argc, char **argv); int main(int argc, char **argv) { - /* preinit the mod */ - modc_preinit(); - /* init the engine */ dbg_msg("client", "starting..."); - engine_init("Teewars", argc, argv); + engine_init("Teewars"); + /* register all console commands */ + client_register_commands(); + modc_console_init(); + + /* parse the command line arguments */ + engine_parse_arguments(argc, argv); + + /* run the client*/ client_run(); - + + /* write down the config and quit */ engine_writeconfig(); return 0; } -- cgit 1.4.1