tCurses client now displays log messages properly - 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 f4eaf3281460590a2efc99b13f9715c1319d73c4
 (DIR) parent d7980d08d94a91598dc040ad5d3f77106f52573d
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Tue, 12 Sep 2000 14:48:44 +0000
       
       Curses client now displays log messages properly
       
       
       Diffstat:
         M po/dopewars.pot                     |     248 ++++++++++++++++----------------
         M src/curses_client.c                 |      22 +++++++++++++++++-----
       
       2 files changed, 141 insertions(+), 129 deletions(-)
       ---
 (DIR) diff --git a/po/dopewars.pot b/po/dopewars.pot
       t@@ -6,7 +6,7 @@
        msgid ""
        msgstr ""
        "Project-Id-Version: PACKAGE VERSION\n"
       -"POT-Creation-Date: 2000-09-12 15:02+0100\n"
       +"POT-Creation-Date: 2000-09-12 15:45+0100\n"
        "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
        "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
        "Language-Team: LANGUAGE <LL@li.org>\n"
       t@@ -821,532 +821,532 @@ msgid ""
        "Report bugs to the author at ben@bellatrix.pcl.ox.ac.uk\n"
        msgstr ""
        
       -#: src/curses_client.c:134
       +#: src/curses_client.c:142
        msgid "D O P E W A R S"
        msgstr ""
        
       -#: src/curses_client.c:139
       +#: src/curses_client.c:147
        msgid ""
        "Based on John E. Dell's old Drug Wars game, dopewars is a simulation of an"
        msgstr ""
        
       -#: src/curses_client.c:141
       +#: src/curses_client.c:149
        msgid "imaginary drug market.  dopewars is an All-American game which features"
        msgstr ""
        
       -#: src/curses_client.c:143
       +#: src/curses_client.c:151
        msgid "buying, selling, and trying to get past the cops!"
        msgstr ""
        
       -#: src/curses_client.c:145
       +#: src/curses_client.c:153
        msgid ""
        "The first thing you need to do is pay off your debt to the Loan Shark. After"
        msgstr ""
        
       -#: src/curses_client.c:147
       +#: src/curses_client.c:155
        msgid ""
        "that, your goal is to make as much money as possible (and stay alive)! You"
        msgstr ""
        
       -#: src/curses_client.c:149
       +#: src/curses_client.c:157
        msgid "have one month of game time to make your fortune."
        msgstr ""
        
       -#: src/curses_client.c:151
       +#: src/curses_client.c:159
        msgid "Copyright (C) 1998-2000  Ben Webb ben@bellatrix.pcl.ox.ac.uk"
        msgstr ""
        
       -#: src/curses_client.c:153
       +#: src/curses_client.c:161
        #, c-format
        msgid "Version %s"
        msgstr ""
        
       -#: src/curses_client.c:156
       +#: src/curses_client.c:164
        msgid "dopewars is released under the GNU General Public Licence"
        msgstr ""
        
       -#: src/curses_client.c:159
       +#: src/curses_client.c:167
        msgid "Drug Dealing and Research     Dan Wolf"
        msgstr ""
        
       -#: src/curses_client.c:160
       +#: src/curses_client.c:168
        msgid "Play Testing                  Phil Davis           Owen Walsh"
        msgstr ""
        
       -#: src/curses_client.c:162
       +#: src/curses_client.c:170
        msgid "Extensive Play Testing        Katherine Holt       Caroline Moore"
        msgstr ""
        
       -#: src/curses_client.c:164
       +#: src/curses_client.c:172
        msgid "Constructive Criticism        Andrea Elliot-Smith  Pete Winn"
        msgstr ""
        
       -#: src/curses_client.c:166
       +#: src/curses_client.c:174
        msgid "Unconstructive Criticism      James Matthews"
        msgstr ""
        
       -#: src/curses_client.c:168
       +#: src/curses_client.c:176
        msgid "For information on the command line options, type dopewars -h at your"
        msgstr ""
        
       -#: src/curses_client.c:170
       +#: src/curses_client.c:178
        msgid ""
        "Unix prompt. This will display a help screen, listing the available options."
        msgstr ""
        
       -#: src/curses_client.c:186
       +#: src/curses_client.c:194
        msgid "Please enter the hostname and port of a dopewars server:-"
        msgstr ""
        
       -#: src/curses_client.c:187
       +#: src/curses_client.c:195
        msgid "Hostname: "
        msgstr ""
        
       -#: src/curses_client.c:190
       +#: src/curses_client.c:198
        msgid "Port: "
        msgstr ""
        
       -#: src/curses_client.c:206
       +#: src/curses_client.c:214
        msgid "No servers listed on metaserver"
        msgstr ""
        
       -#: src/curses_client.c:210
       +#: src/curses_client.c:218
        msgid "Please wait... attempting to contact metaserver..."
        msgstr ""
        
       -#: src/curses_client.c:218
       +#: src/curses_client.c:226
        msgid "Connection to metaserver established. Obtaining server list..."
        msgstr ""
        
       -#: src/curses_client.c:231
       +#: src/curses_client.c:239
        #, c-format
        msgid "Server : %s"
        msgstr ""
        
       -#: src/curses_client.c:233
       +#: src/curses_client.c:241
        #, c-format
        msgid "Port   : %d"
        msgstr ""
        
       -#: src/curses_client.c:235
       +#: src/curses_client.c:243
        #, c-format
        msgid "Version    : %s"
        msgstr ""
        
       -#: src/curses_client.c:238
       +#: src/curses_client.c:246
        #, c-format
        msgid "Players: -unknown- (maximum %d)"
        msgstr ""
        
       -#: src/curses_client.c:241
       +#: src/curses_client.c:249
        #, c-format
        msgid "Players: %d (maximum %d)"
        msgstr ""
        
       -#: src/curses_client.c:245
       +#: src/curses_client.c:253
        #, c-format
        msgid "Up since   : %s"
        msgstr ""
        
       -#: src/curses_client.c:247
       +#: src/curses_client.c:255
        #, c-format
        msgid "Comment: %s"
        msgstr ""
        
       -#: src/curses_client.c:251
       +#: src/curses_client.c:259
        msgid "N>ext server; P>revious server; S>elect this server... "
        msgstr ""
        
       -#: src/curses_client.c:252
       +#: src/curses_client.c:260
        msgid "NPS"
        msgstr ""
        
       -#: src/curses_client.c:298
       +#: src/curses_client.c:306
        msgid "Please wait... attempting to contact dopewars server..."
        msgstr ""
        
       -#: src/curses_client.c:305
       +#: src/curses_client.c:313
        #, c-format
        msgid "Error: %s"
        msgstr ""
        
       -#: src/curses_client.c:308
       +#: src/curses_client.c:316
        msgid "Could not start multiplayer dopewars"
        msgstr ""
        
       -#: src/curses_client.c:315
       +#: src/curses_client.c:323
        msgid "Will you... C>onnect to a different host and/or port"
        msgstr ""
        
       -#: src/curses_client.c:317
       +#: src/curses_client.c:325
        msgid "            L>ist the servers on the metaserver, and select one"
        msgstr ""
        
       -#: src/curses_client.c:320
       +#: src/curses_client.c:328
        msgid "            Q>uit (where you can start a server by typing "
        msgstr ""
        
       -#: src/curses_client.c:323
       +#: src/curses_client.c:331
        msgid "                   dopewars -s < /dev/null & )"
        msgstr ""
        
       -#: src/curses_client.c:324
       +#: src/curses_client.c:332
        msgid "         or P>lay single-player ? "
        msgstr ""
        
       -#: src/curses_client.c:326
       +#: src/curses_client.c:334
        msgid "CLQP"
        msgstr ""
        
       -#: src/curses_client.c:363 src/gtk_client.c:808
       +#: src/curses_client.c:371 src/gtk_client.c:808
        msgid "Where to, dude ? "
        msgstr ""
        
       -#: src/curses_client.c:393
       +#: src/curses_client.c:401
        #, c-format
        msgid "You can't get any cash for the following carried %s :"
        msgstr ""
        
       -#: src/curses_client.c:406
       +#: src/curses_client.c:414
        msgid "What do you want to drop? "
        msgstr ""
        
       -#: src/curses_client.c:417
       +#: src/curses_client.c:425
        msgid "How many do you drop? "
        msgstr ""
        
       -#: src/curses_client.c:446 src/curses_client.c:819
       +#: src/curses_client.c:454 src/curses_client.c:827
        msgid "What do you wish to buy? "
        msgstr ""
        
       -#: src/curses_client.c:448 src/curses_client.c:821
       +#: src/curses_client.c:456 src/curses_client.c:829
        msgid "What do you wish to sell? "
        msgstr ""
        
       -#: src/curses_client.c:465
       +#: src/curses_client.c:473
        #, c-format
        msgid "You can afford %d, and can carry %d. "
        msgstr ""
        
       -#: src/curses_client.c:468
       +#: src/curses_client.c:476
        msgid "How many do you buy? "
        msgstr ""
        
       -#: src/curses_client.c:476
       +#: src/curses_client.c:484
        #, c-format
        msgid "You have %d. "
        msgstr ""
        
       -#: src/curses_client.c:478
       +#: src/curses_client.c:486
        msgid "How many do you sell? "
        msgstr ""
        
       -#: src/curses_client.c:501
       +#: src/curses_client.c:509
        #, c-format
        msgid "Choose an errand to give one of your %s..."
        msgstr ""
        
       -#: src/curses_client.c:507
       +#: src/curses_client.c:515
        #, c-format
        msgid "   S>py on another dealer                  (cost: %s)"
        msgstr ""
        
       -#: src/curses_client.c:511
       +#: src/curses_client.c:519
        #, c-format
        msgid "   T>ip off the cops to another dealer     (cost: %s)"
        msgstr ""
        
       -#: src/curses_client.c:514
       +#: src/curses_client.c:522
        msgid "   G>et stuffed"
        msgstr ""
        
       -#: src/curses_client.c:517
       +#: src/curses_client.c:525
        msgid "or C>ontact your spies and receive reports"
        msgstr ""
        
       -#: src/curses_client.c:519
       +#: src/curses_client.c:527
        msgid "or N>o errand ? "
        msgstr ""
        
       -#: src/curses_client.c:522
       +#: src/curses_client.c:530
        msgid "STGCN"
        msgstr ""
        
       -#: src/curses_client.c:525
       +#: src/curses_client.c:533
        msgid "Whom do you want to spy on? "
        msgstr ""
        
       -#: src/curses_client.c:530
       +#: src/curses_client.c:538
        msgid "Whom do you want to tip the cops off to? "
        msgstr ""
        
       -#: src/curses_client.c:535
       +#: src/curses_client.c:543
        msgid " Are you sure? "
        msgstr ""
        
       -#: src/curses_client.c:536 src/curses_client.c:554 src/curses_client.c:1677
       +#: src/curses_client.c:544 src/curses_client.c:562 src/curses_client.c:1689
        msgid "YN"
        msgstr ""
        
       -#: src/curses_client.c:552
       +#: src/curses_client.c:560
        msgid "Are you sure you want to quit? "
        msgstr ""
        
       -#: src/curses_client.c:560
       +#: src/curses_client.c:568
        msgid "New name: "
        msgstr ""
        
       -#: src/curses_client.c:613
       +#: src/curses_client.c:621
        msgid "You have been pushed from the server. Reverting to single player mode."
        msgstr ""
        
       -#: src/curses_client.c:623
       +#: src/curses_client.c:631
        msgid "The server has terminated. Reverting to single player mode."
        msgstr ""
        
       -#: src/curses_client.c:638 src/gtk_client.c:337 src/serverside.c:263
       +#: src/curses_client.c:646 src/gtk_client.c:337 src/serverside.c:263
        #, c-format
        msgid "%s joins the game!"
        msgstr ""
        
       -#: src/curses_client.c:643 src/gtk_client.c:343
       +#: src/curses_client.c:651 src/gtk_client.c:343
        #, c-format
        msgid "%s has left the game."
        msgstr ""
        
       -#: src/curses_client.c:648
       +#: src/curses_client.c:656
        #, c-format
        msgid "%s will now be known as %s."
        msgstr ""
        
       -#: src/curses_client.c:672
       +#: src/curses_client.c:680
        msgid "S U B W A Y"
        msgstr ""
        
       -#: src/curses_client.c:715
       +#: src/curses_client.c:723
        msgid ""
        "Unfortunately, somebody else is already using \"your\" name. Please change "
        "it."
        msgstr ""
        
       -#: src/curses_client.c:737
       +#: src/curses_client.c:745
        msgid "H I G H   S C O R E S"
        msgstr ""
        
       -#: src/curses_client.c:793
       +#: src/curses_client.c:801
        msgid "Will you B>uy, S>ell, or L>eave? "
        msgstr ""
        
       -#: src/curses_client.c:798
       +#: src/curses_client.c:806
        msgid "BSL"
        msgstr ""
        
       -#: src/curses_client.c:803
       +#: src/curses_client.c:811
        #, c-format
        msgid "You don't have any %s to sell!"
        msgstr ""
        
       -#: src/curses_client.c:810 src/gtk_client.c:1084
       +#: src/curses_client.c:818 src/gtk_client.c:1084
        #, c-format
        msgid "You'll need more %s to carry any more %s!"
        msgstr ""
        
       -#: src/curses_client.c:832 src/gtk_client.c:1088
       +#: src/curses_client.c:840 src/gtk_client.c:1088
        #, c-format
        msgid "You don't have enough space to carry that %s!"
        msgstr ""
        
       -#: src/curses_client.c:840 src/gtk_client.c:1092
       +#: src/curses_client.c:848 src/gtk_client.c:1092
        #, c-format
        msgid "You don't have enough cash to buy that %s!"
        msgstr ""
        
       -#: src/curses_client.c:853 src/gtk_client.c:1096
       +#: src/curses_client.c:861 src/gtk_client.c:1096
        msgid "You don't have any to sell!"
        msgstr ""
        
       -#: src/curses_client.c:877
       +#: src/curses_client.c:885
        msgid "How much money do you pay back? "
        msgstr ""
        
       -#: src/curses_client.c:883 src/curses_client.c:913 src/gtk_client.c:1931
       +#: src/curses_client.c:891 src/curses_client.c:921 src/gtk_client.c:1931
        msgid "You don't have that much money!"
        msgstr ""
        
       -#: src/curses_client.c:903
       +#: src/curses_client.c:911
        msgid "Do you want to D>eposit money, W>ithdraw money, or L>eave ? "
        msgstr ""
        
       -#: src/curses_client.c:906
       +#: src/curses_client.c:914
        msgid "DWL"
        msgstr ""
        
       -#: src/curses_client.c:908
       +#: src/curses_client.c:916
        msgid "How much money? "
        msgstr ""
        
       -#: src/curses_client.c:916 src/gtk_client.c:1924
       +#: src/curses_client.c:924 src/gtk_client.c:1924
        msgid "There isn't that much money in the bank..."
        msgstr ""
        
       -#: src/curses_client.c:995
       +#: src/curses_client.c:1003
        msgid "Press any key..."
        msgstr ""
        
       -#: src/curses_client.c:1126
       +#: src/curses_client.c:1134
        msgid "Messages"
        msgstr ""
        
       -#: src/curses_client.c:1133 src/gtk_client.c:1382
       +#: src/curses_client.c:1141 src/gtk_client.c:1382
        msgid "Stats"
        msgstr ""
        
       -#: src/curses_client.c:1136
       +#: src/curses_client.c:1144
        #, c-format
        msgid "Cash %17s"
        msgstr ""
        
       -#: src/curses_client.c:1143
       +#: src/curses_client.c:1151
        #, c-format
        msgid "Health             %3d"
        msgstr ""
        
       -#: src/curses_client.c:1145
       +#: src/curses_client.c:1153
        #, c-format
        msgid "Bank %17s"
        msgstr ""
        
       -#: src/curses_client.c:1149
       +#: src/curses_client.c:1157
        #, c-format
        msgid "Debt %17s"
        msgstr ""
        
       -#: src/curses_client.c:1153
       +#: src/curses_client.c:1161
        #, c-format
        msgid "Space %6d"
        msgstr ""
        
       -#: src/curses_client.c:1155
       +#: src/curses_client.c:1163
        #, c-format
        msgid "%s %3d  Space %6d"
        msgstr ""
        
       -#: src/curses_client.c:1166
       +#: src/curses_client.c:1174
        msgid "Trenchcoat"
        msgstr ""
        
       -#: src/curses_client.c:1206
       +#: src/curses_client.c:1214
        #, c-format
        msgid "Spy reports for %s"
        msgstr ""
        
       -#: src/curses_client.c:1210 src/curses_client.c:1215
       +#: src/curses_client.c:1218 src/curses_client.c:1223
        #, c-format
        msgid "%s..."
        msgstr ""
        
       -#: src/curses_client.c:1236
       +#: src/curses_client.c:1244
        msgid "No other players are currently logged on!"
        msgstr ""
        
       -#: src/curses_client.c:1241
       +#: src/curses_client.c:1249
        msgid "Players currently logged on:-"
        msgstr ""
        
       -#: src/curses_client.c:1389
       +#: src/curses_client.c:1397
        msgid "Hey dude, what's your name? "
        msgstr ""
        
       -#: src/curses_client.c:1423
       +#: src/curses_client.c:1431
        #, c-format
        msgid "Hey dude, the prices of %s here are:"
        msgstr ""
        
       -#: src/curses_client.c:1435
       +#: src/curses_client.c:1443
        msgid "Will you B>uy"
        msgstr ""
        
       -#: src/curses_client.c:1436
       +#: src/curses_client.c:1444
        msgid ", S>ell"
        msgstr ""
        
       -#: src/curses_client.c:1437
       +#: src/curses_client.c:1445
        msgid ", D>rop"
        msgstr ""
        
       -#: src/curses_client.c:1438
       +#: src/curses_client.c:1446
        msgid ", T>alk, P>age, L>ist"
        msgstr ""
        
       -#: src/curses_client.c:1441
       +#: src/curses_client.c:1449
        msgid ", G>ive"
        msgstr ""
        
       -#: src/curses_client.c:1444
       +#: src/curses_client.c:1452
        msgid ", F>ight"
        msgstr ""
        
       -#: src/curses_client.c:1448
       +#: src/curses_client.c:1456
        msgid ", J>et"
        msgstr ""
        
       -#: src/curses_client.c:1450 src/curses_client.c:1465
       +#: src/curses_client.c:1458 src/curses_client.c:1473
        msgid ", or Q>uit? "
        msgstr ""
        
       -#: src/curses_client.c:1458
       +#: src/curses_client.c:1466
        msgid "Do you "
        msgstr ""
        
       -#: src/curses_client.c:1460
       +#: src/curses_client.c:1468
        msgid "F>ight, "
        msgstr ""
        
       -#: src/curses_client.c:1461
       +#: src/curses_client.c:1469
        msgid "S>tand, "
        msgstr ""
        
       -#: src/curses_client.c:1463
       +#: src/curses_client.c:1471
        msgid "R>un, "
        msgstr ""
        
       -#: src/curses_client.c:1464
       +#: src/curses_client.c:1472
        msgid "D>eal "
        msgstr ""
        
       -#: src/curses_client.c:1507
       +#: src/curses_client.c:1515
        msgid "Connection to server lost! Reverting to single player mode"
        msgstr ""
        
       -#: src/curses_client.c:1536
       +#: src/curses_client.c:1544
        msgid "BSDTPLGFJQ"
        msgstr ""
        
       -#: src/curses_client.c:1538
       +#: src/curses_client.c:1546
        msgid "DRFSQ"
        msgstr ""
        
       -#: src/curses_client.c:1566
       +#: src/curses_client.c:1574
        msgid "List what? P>layers or S>cores? "
        msgstr ""
        
       -#: src/curses_client.c:1567
       +#: src/curses_client.c:1575
        msgid "PS"
        msgstr ""
        
       -#: src/curses_client.c:1576
       +#: src/curses_client.c:1584
        msgid "Whom do you want to page (talk privately to) ? "
        msgstr ""
        
       -#: src/curses_client.c:1591
       +#: src/curses_client.c:1599
        msgid "Talk: "
        msgstr ""
        
       -#: src/curses_client.c:1676
       +#: src/curses_client.c:1688
        msgid "Play again? "
        msgstr ""
        
       -#: src/curses_client.c:1688
       +#: src/curses_client.c:1700
        msgid ""
        "No curses client available - rebuild the binary passing the\n"
        "--enable-curses-client option to configure, or use a windowed\n"
 (DIR) diff --git a/src/curses_client.c b/src/curses_client.c
       t@@ -64,7 +64,7 @@ static char *nice_input(char *prompt,int sy,int sx,char digitsonly,
                                char *displaystr);
        static Player *ListPlayers(Player *Play,char Select,char *Prompt);
        static void HandleClientMessage(char *buf,Player *Play);
       -static void PrintMessage(char *text);
       +static void PrintMessage(const gchar *text);
        static void GunShop(Player *Play);
        static void LoanShark(Player *Play);
        static void Bank(Player *Play);
       t@@ -124,6 +124,14 @@ void CheckForResize(Player *Play) {
           sigprocmask(SIG_UNBLOCK,&sigset,NULL);
        }
        
       +static void LogMessage(const gchar *log_domain,GLogLevelFlags log_level,
       +                       const gchar *message,gpointer user_data) {
       +   attrset(TextAttr); clear_bottom();
       +   PrintMessage(message);
       +   nice_wait();
       +   attrset(TextAttr); clear_bottom();
       +}
       +
        void display_intro() {
        /* Displays a dopewars introduction screen */
           GString *text;
       t@@ -755,23 +763,23 @@ void PrintHighScore(char *Data) {
           if (cp[0]=='B') standend();
        }
        
       -void PrintMessage(char *text) {
       +void PrintMessage(const gchar *text) {
        /* Prints a message "text" received via. a "printmessage" message in the */
        /* bottom part of the screen.                                            */
           int i,line;
           attrset(TextAttr);
           clear_line(16);
           for (i=0;i<strlen(text);i++) {
       -      if (text[i]!='^') {
       +      if (text[i]!='^' || text[i]=='\n') {
                 clear_exceptfor(i+1);
                 break;
              }
           }
           line=17; move(line,1);
           for (i=0;i<strlen(text);i++) {
       -      if (text[i]=='^') {
       +      if (text[i]=='^' || text[i]=='\n') {
                 line++; move(line,1);
       -      } else addch(text[i]);
       +      } else if (text[i]!='\r') addch(text[i]);
           }
        }
        
       t@@ -1661,6 +1669,10 @@ void CursesLoop() {
           ClientMessageHandlerPt = HandleClientMessage;
           SocketWriteTestPt = NULL;
        
       +/* Make the GLib log messages display nicely */
       +   g_log_set_handler(NULL,G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_WARNING,
       +                     LogMessage,NULL);
       +
           display_intro();
        
           c='Y';