tNames of gun shop, etc. are now sent to clients - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 05ebad1577ee436bdea6c332d8d4f9d970b39527
 (DIR) parent 7a73b4f2abd069c39c355077ce7a6a466a420f22
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Sun, 14 Jan 2001 15:16:18 +0000
       
       Names of gun shop, etc. are now sent to clients
       
       
       Diffstat:
         M src/dopewars.c                      |       5 +++++
         M src/message.c                       |      25 +++++++++++++++++++++----
       
       2 files changed, 26 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/src/dopewars.c b/src/dopewars.c
       t@@ -1096,6 +1096,11 @@ void ResizeStoppedTo(int NewNum) {
        }
        
        void AssignName(gchar **dest,gchar *src) {
       +/* Sets the dynamically-sized string pointed to by *dest to a copy of */
       +/* "src" - src can safely be freed or reused afterwards. Any existing */
       +/* string in "dest" is freed. The function returns immediately if src */
       +/* and *dest are already the same.                                    */
       +   if (*dest == src) return;
           g_free(*dest);
           *dest=g_strdup(src);
        }
 (DIR) diff --git a/src/message.c b/src/message.c
       t@@ -515,12 +515,14 @@ void SendSpyReport(Player *To,Player *SpiedOn) {
           g_string_free(text,TRUE);
        }
        
       -#define NUMNAMES 8
       +#define NUMNAMES 12
        
        void SendInitialData(Player *To) {
           gchar *LocalNames[NUMNAMES] = { Names.Bitch,Names.Bitches,Names.Gun,
                                           Names.Guns,Names.Drug,Names.Drugs,
       -                                   Names.Month,Names.Year };
       +                                   Names.Month,Names.Year,Names.LoanSharkName,
       +                                   Names.BankName,Names.GunShopName,
       +                                   Names.RoughPubName };
           gint i;
           GString *text;
        
       t@@ -530,14 +532,21 @@ void SendInitialData(Player *To) {
           }
           text=g_string_new("");
           g_string_sprintf(text,"%s^%d^%d^%d^",VERSION,NumLocation,NumGun,NumDrug);
       -   for (i=0;i<NUMNAMES;i++) {
       +   for (i=0;i<8;i++) {
              g_string_append(text,LocalNames[i]);
              g_string_append_c(text,'^');
           }
       +   if (HaveAbility(To,A_PLAYERID)) g_string_sprintfa(text,"%d^",To->ID);
       +
       +/* Player ID is expected after the first 8 names, so send the rest now */
       +   for (i=8;i<NUMNAMES;i++) {
       +      g_string_append(text,LocalNames[i]);
       +      g_string_append_c(text,'^');
       +   }
       +
           if (!HaveAbility(To,A_TSTRING)) for (i=0;i<NUMNAMES;i++) {
              g_free(LocalNames[i]);
           }
       -   if (HaveAbility(To,A_PLAYERID)) g_string_sprintfa(text,"%d^",To->ID);
           SendServerMessage(NULL,C_NONE,C_INIT,To,text->str);
           g_string_free(text,TRUE);
        }
       t@@ -562,6 +571,14 @@ void ReceiveInitialData(Player *Play,char *Data) {
           AssignName(&Names.Month,GetNextWord(&pt,""));
           AssignName(&Names.Year,GetNextWord(&pt,""));
           if (HaveAbility(Play,A_PLAYERID)) Play->ID=GetNextInt(&pt,0);
       +
       +/* Servers up to version 1.4.8 don't send the following names, so 
       +   default to the existing values if they haven't been sent */
       +   AssignName(&Names.LoanSharkName,GetNextWord(&pt,Names.LoanSharkName));
       +   AssignName(&Names.BankName,GetNextWord(&pt,Names.BankName));
       +   AssignName(&Names.GunShopName,GetNextWord(&pt,Names.GunShopName));
       +   AssignName(&Names.RoughPubName,GetNextWord(&pt,Names.RoughPubName));
       +
           if (strcmp(VERSION,ServerVersion)!=0) {
              g_message(_("This server is version %s, while your client is "
        "version %s.\nBe warned that different versions may not be fully compatible!\n"