From 57da0cae4f2d072211b39a6618a102c6b620197f Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Mon, 30 Jul 2007 07:05:34 +0000 Subject: [PATCH] cleaned up the kill messages --- src/game/client/game_client.cpp | 38 +++++++++++--------------------- src/game/server/game_server.cpp | 39 +++++++++++++++------------------ 2 files changed, 31 insertions(+), 46 deletions(-) diff --git a/src/game/client/game_client.cpp b/src/game/client/game_client.cpp index 1434f8f9c..5ff6f7771 100644 --- a/src/game/client/game_client.cpp +++ b/src/game/client/game_client.cpp @@ -391,6 +391,7 @@ static const int chat_max_lines = 10; struct chatline { int tick; + int client_id; char text[512+64]; }; @@ -408,14 +409,11 @@ void chat_add_line(int client_id, const char *line) { chat_current_line = (chat_current_line+1)%chat_max_lines; chat_lines[chat_current_line].tick = client_tick(); - sprintf(chat_lines[chat_current_line].text, "%s: %s", client_datas[client_id].name, line); // TODO: abit nasty -} - -void status_add_line(const char *line) -{ - chat_current_line = (chat_current_line+1)%chat_max_lines; - chat_lines[chat_current_line].tick = client_tick(); - strcpy(chat_lines[chat_current_line].text, line); + chat_lines[chat_current_line].client_id = client_id; + if(client_id == -1) // server message + sprintf(chat_lines[chat_current_line].text, "*** %s", line); + else + sprintf(chat_lines[chat_current_line].text, "%s: %s", client_datas[client_id].name, line); // TODO: abit nasty } struct killmsg @@ -1354,8 +1352,12 @@ void modc_render() // pseudo format float zoom = 3.0f; - if(!chat_active && inp_key_pressed('I')) - zoom = 1.0f; + + if(config.debug) + { + if(!chat_active && inp_key_pressed(input::f8)) + zoom = 1.0f; + } float width = 400*zoom; float height = 300*zoom; @@ -1589,7 +1591,7 @@ void modc_render() int r = ((chat_current_line-i)+chat_max_lines)%chat_max_lines; if(client_tick() > chat_lines[r].tick+50*15) break; - + gfx_pretty_text(x, y, 10, chat_lines[r].text); y -= 8; } @@ -1815,18 +1817,4 @@ void modc_message(int msg) killmsgs[killmsg_current].weapon = msg_unpack_int(); killmsgs[killmsg_current].tick = client_tick(); } - else if(msg == MSG_JOIN) - { - int cid = msg_unpack_int(); - char message[256]; - sprintf(message, "%s joined the game", client_datas[cid].name); - status_add_line(message); - } - else if(msg == MSG_QUIT) - { - int cid = msg_unpack_int(); - char message[256]; - sprintf(message, "%s quit the game", client_datas[cid].name); - status_add_line(message); - } } diff --git a/src/game/server/game_server.cpp b/src/game/server/game_server.cpp index 107601304..a647b0335 100644 --- a/src/game/server/game_server.cpp +++ b/src/game/server/game_server.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include "../game.h" @@ -1714,6 +1715,15 @@ void mods_client_input(int client_id, void *input) } } +void send_chat_all(int cid, const char *msg) +{ + msg_pack_start(MSG_CHAT, MSGFLAG_VITAL); + msg_pack_int(cid); + msg_pack_string(msg, 512); + msg_pack_end(); + server_send_msg(-1); +} + void mods_client_enter(int client_id) { players[client_id].init(); @@ -1754,12 +1764,17 @@ void mods_client_enter(int client_id) } } - mods_message(MSG_JOIN, client_id); + char buf[512]; + sprintf(buf, "%s has joined the game", players[client_id].name); + send_chat_all(-1, buf); } void mods_client_drop(int client_id) { - mods_message(MSG_QUIT, client_id); + char buf[512]; + sprintf(buf, "%s has left the game", players[client_id].name); + send_chat_all(-1, buf); + dbg_msg("mods", "client drop %d", client_id); world.remove_entity(&players[client_id]); players[client_id].client_id = -1; @@ -1769,11 +1784,7 @@ void mods_message(int msg, int client_id) { if(msg == MSG_SAY) { - msg_pack_start(MSG_CHAT, MSGFLAG_VITAL); - msg_pack_int(client_id); - msg_pack_string(msg_unpack_string(), 512); - msg_pack_end(); - server_send_msg(-1); + send_chat_all(client_id, msg_unpack_string()); } else if (msg == MSG_SWITCHTEAM) { @@ -1782,20 +1793,6 @@ void mods_message(int msg, int client_id) players[client_id].die(client_id, -1); players[client_id].score--; } - else if (msg == MSG_JOIN) - { - msg_pack_start(MSG_JOIN, MSGFLAG_VITAL); - msg_pack_int(client_id); - msg_pack_end(); - server_send_msg(-1); - } - else if (msg == MSG_QUIT) - { - msg_pack_start(MSG_QUIT, MSGFLAG_VITAL); - msg_pack_int(client_id); - msg_pack_end(); - server_send_msg(-1); - } } extern unsigned char internal_data[];