From 8fd28641cf88bf111f97a96bc06876cca8f19a53 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Wed, 24 Dec 2014 04:44:34 -0800 Subject: [PATCH] add say command for network messages --- main/game.c | 31 ++++++++++++++++++++++++++++++- main/multi.h | 1 + 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/main/game.c b/main/game.c index 3e3fa7a5..a6b24dcc 100644 --- a/main/game.c +++ b/main/game.c @@ -334,6 +334,34 @@ void game_cmd_map(int argc, char **argv) } +/* send network message */ +void game_cmd_say(int argc, char **argv) +{ + int ret, i; + + if (argc < 2) + return; + + Network_message[0] = 0; + + ret = snprintf(Network_message, MAX_MESSAGE_LEN, "%s", argv[1]); + if (ret >= MAX_MESSAGE_LEN) { + con_printf(CON_CRITICAL, "say: message too long (max %d characters)\n", MAX_MESSAGE_LEN); + return; + } + + for (i = 2; i < argc; i++) { + ret = snprintf(Network_message, MAX_MESSAGE_LEN, "%s %s", Network_message, argv[i]); + if (ret >= MAX_MESSAGE_LEN) { + con_printf(CON_CRITICAL, "say: message too long (max %d characters)\n", MAX_MESSAGE_LEN); + return; + } + } + + multi_send_message_end(); +} + + //this is called once per game void init_game() { @@ -358,8 +386,9 @@ void init_game() cvar_registervariable(&cg_fov); /* Register cmds */ - cmd_addcommand("map", game_cmd_map); cmd_addcommand("player", game_cmd_player); + cmd_addcommand("map", game_cmd_map); + cmd_addcommand("say", game_cmd_say); } diff --git a/main/multi.h b/main/multi.h index fb2d96cd..40770205 100644 --- a/main/multi.h +++ b/main/multi.h @@ -232,6 +232,7 @@ extern int multi_sending_message; extern int multi_defining_message; extern void multi_message_input_sub( int key ); extern void multi_send_message_start(); +extern void multi_send_message_end(); extern int multi_powerup_is_4pack(int ); extern void multi_send_orb_bonus( char pnum ); -- 2.39.2