From 2f3b68f683be7cbc1ae49855d0908a16ac6152d2 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Tue, 13 Jan 2015 01:20:03 -0800 Subject: [PATCH] cvars for taunt macros --- main/config.c | 12 ++++++++++++ main/multi.c | 15 ++++++++++----- main/multi.h | 2 +- main/playsave.c | 38 +------------------------------------- 4 files changed, 24 insertions(+), 43 deletions(-) diff --git a/main/config.c b/main/config.c index 6c3be888..ae0b606c 100644 --- a/main/config.c +++ b/main/config.c @@ -196,6 +196,10 @@ static void config_init(void) cvar_registervariable(&Config_lifetime_kills); cvar_registervariable(&Config_lifetime_killed); cvar_registervariable(&Config_lifetime_checksum); + cvar_registervariable(&Network_message_macro[0]); + cvar_registervariable(&Network_message_macro[1]); + cvar_registervariable(&Network_message_macro[2]); + cvar_registervariable(&Network_message_macro[3]); config_initialized = 1; } @@ -309,6 +313,14 @@ int ReadConfigFile() cvar_setint( &Config_lifetime_killed, 0 ); cvar_setint( &Config_lifetime_checksum, 0 ); + // Default taunt macros +#ifdef NETWORK + cvar_set_cvar(&Network_message_macro[0], "Why can't we all just get along?"); + cvar_set_cvar(&Network_message_macro[1], "Hey, I got a present for ya"); + cvar_set_cvar(&Network_message_macro[2], "I got a hankerin' for a spankerin'"); + cvar_set_cvar(&Network_message_macro[3], "This one's headed for Uranus"); +#endif + if (cfexist("descent.cfg")) cmd_append("exec descent.cfg"); else diff --git a/main/multi.c b/main/multi.c index 6261d98c..de4d505e 100644 --- a/main/multi.c +++ b/main/multi.c @@ -146,7 +146,12 @@ int Network_laser_flags; // Special flags for the shot int Network_laser_level; // What level short Network_laser_track; // Who is it tracking? char Network_message[MAX_MESSAGE_LEN]; -char Network_message_macro[4][MAX_MESSAGE_LEN]; +cvar_t Network_message_macro[4] = { + { "TauntMacro1", "", 1 }, + { "TauntMacro2", "", 1 }, + { "TauntMacro3", "", 1 }, + { "TauntMacro4", "", 1 }, +}; int Network_message_reciever=-1; int sorted_kills[MAX_NUM_NET_PLAYERS]; short kill_matrix[MAX_NUM_NET_PLAYERS][MAX_NUM_NET_PLAYERS]; @@ -1152,13 +1157,13 @@ multi_send_macro(int key) Int3(); } - if (!Network_message_macro[key][0]) - { + if (!Network_message_macro[key].string[0]) { HUD_init_message(TXT_NO_MACRO); return; } - strcpy(Network_message, Network_message_macro[key]); + strncpy(Network_message, Network_message_macro[key].string, MAX_MESSAGE_LEN); + Network_message[MAX_MESSAGE_LEN - 1] = 0; Network_message_reciever = 100; HUD_init_message("%s '%s'", TXT_SENDING, Network_message); @@ -1387,7 +1392,7 @@ void multi_define_macro_end() { Assert( multi_defining_message > 0 ); - strcpy( Network_message_macro[multi_defining_message-1], Network_message ); + cvar_set_cvar( &Network_message_macro[multi_defining_message - 1], Network_message ); write_player_file(); multi_message_index = 0; diff --git a/main/multi.h b/main/multi.h index 03ddc8ed..4e7a1465 100644 --- a/main/multi.h +++ b/main/multi.h @@ -217,7 +217,7 @@ extern fix Show_kill_list_timer; // Used to send network messages extern char Network_message[MAX_MESSAGE_LEN]; -extern char Network_message_macro[4][MAX_MESSAGE_LEN]; +extern cvar_t Network_message_macro[4]; extern int Network_message_reciever; // Which player 'owns' each local object for network purposes diff --git a/main/playsave.c b/main/playsave.c index 2ee56f84..24d50ad2 100644 --- a/main/playsave.c +++ b/main/playsave.c @@ -111,7 +111,7 @@ hli highest_levels[MAX_MISSIONS]; //version 21 -> 22: save lifetime netstats //version 22 -> 23: ?? //version 23 -> 24: add name of joystick for windows version. -//version 24 -> 25: removed kconfig data, joy name, guidebot name, joy sensitivity, cockpit views, netstats +//version 24 -> 25: removed kconfig data, joy name, guidebot name, joy sensitivity, cockpit views, netstats, taunt macros #define COMPATIBLE_PLAYER_FILE_VERSION 17 @@ -127,14 +127,6 @@ int new_player_config() highest_levels[0].shortname[0] = 0; //no name for mission 0 highest_levels[0].level_num = 1; //was highest level in old struct - // Default taunt macros - #ifdef NETWORK - strcpy(Network_message_macro[0], "Why can't we all just get along?"); - strcpy(Network_message_macro[1], "Hey, I got a present for ya"); - strcpy(Network_message_macro[2], "I got a hankerin' for a spankerin'"); - strcpy(Network_message_macro[3], "This one's headed for Uranus"); - #endif - return 1; } @@ -239,23 +231,6 @@ int read_player_file() if (PHYSFS_read(file, highest_levels, sizeof(hli), n_highest_levels) != n_highest_levels) goto read_player_file_failed; - //read taunt macros - { -#ifdef NETWORK - int i,len; - - len = MAX_MESSAGE_LEN; - - for (i = 0; i < 4; i++) - if (PHYSFS_read(file, Network_message_macro[i], len, 1) != 1) - goto read_player_file_failed; -#else - char dummy[4][MAX_MESSAGE_LEN]; - - cfread(dummy, MAX_MESSAGE_LEN, 4, file); -#endif - } - if (!PHYSFS_close(file)) goto read_player_file_failed; @@ -395,17 +370,6 @@ int write_player_file() if ((PHYSFS_write(file, highest_levels, sizeof(hli), n_highest_levels) != n_highest_levels)) goto write_player_file_failed; -#ifdef NETWORK - if ((PHYSFS_write(file, Network_message_macro, MAX_MESSAGE_LEN, 4) != 4)) - goto write_player_file_failed; -#else - { - char dummy[4][MAX_MESSAGE_LEN]; // Pull the messages from a hat! ;-) - - if ((PHYSFS_write(file, dummy, MAX_MESSAGE_LEN, 4) != 4)) - goto write_player_file_failed; - } -#endif if (!PHYSFS_close(file)) goto write_player_file_failed; -- 2.39.2