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';