tFixed extended ASCII characters in curses client - 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 e13e31303ddd6488602bd2a85c395b96a0013a92 (DIR) parent 491547b02589c9df698f2b08bc68a6592f2d269c (HTM) Author: Ben Webb <ben@salilab.org> Date: Fri, 15 Sep 2000 00:08:25 +0000 Fixed extended ASCII characters in curses client Diffstat: M po/dopewars.pot | 248 ++++++++++++++++---------------- M src/curses_client.c | 17 +++++++++-------- 2 files changed, 133 insertions(+), 132 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-14 23:22+0100\n" +"POT-Creation-Date: 2000-09-15 01:03+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:142 +#: src/curses_client.c:143 msgid "D O P E W A R S" msgstr "" -#: src/curses_client.c:147 +#: src/curses_client.c:148 msgid "" "Based on John E. Dell's old Drug Wars game, dopewars is a simulation of an" msgstr "" -#: src/curses_client.c:149 +#: src/curses_client.c:150 msgid "imaginary drug market. dopewars is an All-American game which features" msgstr "" -#: src/curses_client.c:151 +#: src/curses_client.c:152 msgid "buying, selling, and trying to get past the cops!" msgstr "" -#: src/curses_client.c:153 +#: src/curses_client.c:154 msgid "" "The first thing you need to do is pay off your debt to the Loan Shark. After" msgstr "" -#: src/curses_client.c:155 +#: src/curses_client.c:156 msgid "" "that, your goal is to make as much money as possible (and stay alive)! You" msgstr "" -#: src/curses_client.c:157 +#: src/curses_client.c:158 msgid "have one month of game time to make your fortune." msgstr "" -#: src/curses_client.c:159 +#: src/curses_client.c:160 msgid "Copyright (C) 1998-2000 Ben Webb ben@bellatrix.pcl.ox.ac.uk" msgstr "" -#: src/curses_client.c:161 +#: src/curses_client.c:162 #, c-format msgid "Version %s" msgstr "" -#: src/curses_client.c:164 +#: src/curses_client.c:165 msgid "dopewars is released under the GNU General Public Licence" msgstr "" -#: src/curses_client.c:167 +#: src/curses_client.c:168 msgid "Drug Dealing and Research Dan Wolf" msgstr "" -#: src/curses_client.c:168 +#: src/curses_client.c:169 msgid "Play Testing Phil Davis Owen Walsh" msgstr "" -#: src/curses_client.c:170 +#: src/curses_client.c:171 msgid "Extensive Play Testing Katherine Holt Caroline Moore" msgstr "" -#: src/curses_client.c:172 +#: src/curses_client.c:173 msgid "Constructive Criticism Andrea Elliot-Smith Pete Winn" msgstr "" -#: src/curses_client.c:174 +#: src/curses_client.c:175 msgid "Unconstructive Criticism James Matthews" msgstr "" -#: src/curses_client.c:176 +#: src/curses_client.c:177 msgid "For information on the command line options, type dopewars -h at your" msgstr "" -#: src/curses_client.c:178 +#: src/curses_client.c:179 msgid "" "Unix prompt. This will display a help screen, listing the available options." msgstr "" -#: src/curses_client.c:194 +#: src/curses_client.c:195 msgid "Please enter the hostname and port of a dopewars server:-" msgstr "" -#: src/curses_client.c:195 +#: src/curses_client.c:196 msgid "Hostname: " msgstr "" -#: src/curses_client.c:198 +#: src/curses_client.c:199 msgid "Port: " msgstr "" -#: src/curses_client.c:214 +#: src/curses_client.c:215 msgid "No servers listed on metaserver" msgstr "" -#: src/curses_client.c:218 +#: src/curses_client.c:219 msgid "Please wait... attempting to contact metaserver..." msgstr "" -#: src/curses_client.c:226 +#: src/curses_client.c:227 msgid "Connection to metaserver established. Obtaining server list..." msgstr "" -#: src/curses_client.c:239 +#: src/curses_client.c:240 #, c-format msgid "Server : %s" msgstr "" -#: src/curses_client.c:241 +#: src/curses_client.c:242 #, c-format msgid "Port : %d" msgstr "" -#: src/curses_client.c:243 +#: src/curses_client.c:244 #, c-format msgid "Version : %s" msgstr "" -#: src/curses_client.c:246 +#: src/curses_client.c:247 #, c-format msgid "Players: -unknown- (maximum %d)" msgstr "" -#: src/curses_client.c:249 +#: src/curses_client.c:250 #, c-format msgid "Players: %d (maximum %d)" msgstr "" -#: src/curses_client.c:253 +#: src/curses_client.c:254 #, c-format msgid "Up since : %s" msgstr "" -#: src/curses_client.c:255 +#: src/curses_client.c:256 #, c-format msgid "Comment: %s" msgstr "" -#: src/curses_client.c:259 +#: src/curses_client.c:260 msgid "N>ext server; P>revious server; S>elect this server... " msgstr "" -#: src/curses_client.c:260 +#: src/curses_client.c:261 msgid "NPS" msgstr "" -#: src/curses_client.c:306 +#: src/curses_client.c:307 msgid "Please wait... attempting to contact dopewars server..." msgstr "" -#: src/curses_client.c:313 +#: src/curses_client.c:314 #, c-format msgid "Error: %s" msgstr "" -#: src/curses_client.c:316 +#: src/curses_client.c:317 msgid "Could not start multiplayer dopewars" msgstr "" -#: src/curses_client.c:323 +#: src/curses_client.c:324 msgid "Will you... C>onnect to a different host and/or port" msgstr "" -#: src/curses_client.c:325 +#: src/curses_client.c:326 msgid " L>ist the servers on the metaserver, and select one" msgstr "" -#: src/curses_client.c:328 +#: src/curses_client.c:329 msgid " Q>uit (where you can start a server by typing " msgstr "" -#: src/curses_client.c:331 +#: src/curses_client.c:332 msgid " dopewars -s < /dev/null & )" msgstr "" -#: src/curses_client.c:332 +#: src/curses_client.c:333 msgid " or P>lay single-player ? " msgstr "" -#: src/curses_client.c:334 +#: src/curses_client.c:335 msgid "CLQP" msgstr "" -#: src/curses_client.c:371 src/gtk_client.c:809 +#: src/curses_client.c:372 src/gtk_client.c:809 msgid "Where to, dude ? " msgstr "" -#: src/curses_client.c:401 +#: src/curses_client.c:402 #, c-format msgid "You can't get any cash for the following carried %s :" msgstr "" -#: src/curses_client.c:414 +#: src/curses_client.c:415 msgid "What do you want to drop? " msgstr "" -#: src/curses_client.c:425 +#: src/curses_client.c:426 msgid "How many do you drop? " msgstr "" -#: src/curses_client.c:454 src/curses_client.c:829 +#: src/curses_client.c:455 src/curses_client.c:830 msgid "What do you wish to buy? " msgstr "" -#: src/curses_client.c:456 src/curses_client.c:831 +#: src/curses_client.c:457 src/curses_client.c:832 msgid "What do you wish to sell? " msgstr "" -#: src/curses_client.c:473 +#: src/curses_client.c:474 #, c-format msgid "You can afford %d, and can carry %d. " msgstr "" -#: src/curses_client.c:476 +#: src/curses_client.c:477 msgid "How many do you buy? " msgstr "" -#: src/curses_client.c:484 +#: src/curses_client.c:485 #, c-format msgid "You have %d. " msgstr "" -#: src/curses_client.c:486 +#: src/curses_client.c:487 msgid "How many do you sell? " msgstr "" -#: src/curses_client.c:509 +#: src/curses_client.c:510 #, c-format msgid "Choose an errand to give one of your %s..." msgstr "" -#: src/curses_client.c:515 +#: src/curses_client.c:516 #, c-format msgid " S>py on another dealer (cost: %s)" msgstr "" -#: src/curses_client.c:519 +#: src/curses_client.c:520 #, c-format msgid " T>ip off the cops to another dealer (cost: %s)" msgstr "" -#: src/curses_client.c:522 +#: src/curses_client.c:523 msgid " G>et stuffed" msgstr "" -#: src/curses_client.c:525 +#: src/curses_client.c:526 msgid "or C>ontact your spies and receive reports" msgstr "" -#: src/curses_client.c:527 +#: src/curses_client.c:528 msgid "or N>o errand ? " msgstr "" -#: src/curses_client.c:530 +#: src/curses_client.c:531 msgid "STGCN" msgstr "" -#: src/curses_client.c:533 +#: src/curses_client.c:534 msgid "Whom do you want to spy on? " msgstr "" -#: src/curses_client.c:538 +#: src/curses_client.c:539 msgid "Whom do you want to tip the cops off to? " msgstr "" -#: src/curses_client.c:543 +#: src/curses_client.c:544 msgid " Are you sure? " msgstr "" -#: src/curses_client.c:544 src/curses_client.c:562 src/curses_client.c:1691 +#: src/curses_client.c:545 src/curses_client.c:563 src/curses_client.c:1692 msgid "YN" msgstr "" -#: src/curses_client.c:560 +#: src/curses_client.c:561 msgid "Are you sure you want to quit? " msgstr "" -#: src/curses_client.c:568 +#: src/curses_client.c:569 msgid "New name: " msgstr "" -#: src/curses_client.c:624 +#: src/curses_client.c:625 msgid "You have been pushed from the server. Reverting to single player mode." msgstr "" -#: src/curses_client.c:634 +#: src/curses_client.c:635 msgid "The server has terminated. Reverting to single player mode." msgstr "" -#: src/curses_client.c:649 src/gtk_client.c:340 src/serverside.c:258 +#: src/curses_client.c:650 src/gtk_client.c:340 src/serverside.c:258 #, c-format msgid "%s joins the game!" msgstr "" -#: src/curses_client.c:654 src/gtk_client.c:346 +#: src/curses_client.c:655 src/gtk_client.c:346 #, c-format msgid "%s has left the game." msgstr "" -#: src/curses_client.c:659 +#: src/curses_client.c:660 #, c-format msgid "%s will now be known as %s." msgstr "" -#: src/curses_client.c:683 +#: src/curses_client.c:684 msgid "S U B W A Y" msgstr "" -#: src/curses_client.c:726 +#: src/curses_client.c:727 msgid "" "Unfortunately, somebody else is already using \"your\" name. Please change " "it." msgstr "" -#: src/curses_client.c:747 +#: src/curses_client.c:748 msgid "H I G H S C O R E S" msgstr "" -#: src/curses_client.c:803 +#: src/curses_client.c:804 msgid "Will you B>uy, S>ell, or L>eave? " msgstr "" -#: src/curses_client.c:808 +#: src/curses_client.c:809 msgid "BSL" msgstr "" -#: src/curses_client.c:813 +#: src/curses_client.c:814 #, c-format msgid "You don't have any %s to sell!" msgstr "" -#: src/curses_client.c:820 src/gtk_client.c:1084 +#: src/curses_client.c:821 src/gtk_client.c:1084 #, c-format msgid "You'll need more %s to carry any more %s!" msgstr "" -#: src/curses_client.c:842 src/gtk_client.c:1088 +#: src/curses_client.c:843 src/gtk_client.c:1088 #, c-format msgid "You don't have enough space to carry that %s!" msgstr "" -#: src/curses_client.c:850 src/gtk_client.c:1092 +#: src/curses_client.c:851 src/gtk_client.c:1092 #, c-format msgid "You don't have enough cash to buy that %s!" msgstr "" -#: src/curses_client.c:863 src/gtk_client.c:1096 +#: src/curses_client.c:864 src/gtk_client.c:1096 msgid "You don't have any to sell!" msgstr "" -#: src/curses_client.c:887 +#: src/curses_client.c:888 msgid "How much money do you pay back? " msgstr "" -#: src/curses_client.c:893 src/curses_client.c:923 src/gtk_client.c:1925 +#: src/curses_client.c:894 src/curses_client.c:924 src/gtk_client.c:1925 msgid "You don't have that much money!" msgstr "" -#: src/curses_client.c:913 +#: src/curses_client.c:914 msgid "Do you want to D>eposit money, W>ithdraw money, or L>eave ? " msgstr "" -#: src/curses_client.c:916 +#: src/curses_client.c:917 msgid "DWL" msgstr "" -#: src/curses_client.c:918 +#: src/curses_client.c:919 msgid "How much money? " msgstr "" -#: src/curses_client.c:926 src/gtk_client.c:1918 +#: src/curses_client.c:927 src/gtk_client.c:1918 msgid "There isn't that much money in the bank..." msgstr "" -#: src/curses_client.c:1005 +#: src/curses_client.c:1006 msgid "Press any key..." msgstr "" -#: src/curses_client.c:1136 +#: src/curses_client.c:1137 msgid "Messages" msgstr "" -#: src/curses_client.c:1143 src/gtk_client.c:1377 +#: src/curses_client.c:1144 src/gtk_client.c:1377 msgid "Stats" msgstr "" -#: src/curses_client.c:1146 +#: src/curses_client.c:1147 #, c-format msgid "Cash %17s" msgstr "" -#: src/curses_client.c:1153 +#: src/curses_client.c:1154 #, c-format msgid "Health %3d" msgstr "" -#: src/curses_client.c:1155 +#: src/curses_client.c:1156 #, c-format msgid "Bank %17s" msgstr "" -#: src/curses_client.c:1159 +#: src/curses_client.c:1160 #, c-format msgid "Debt %17s" msgstr "" -#: src/curses_client.c:1163 +#: src/curses_client.c:1164 #, c-format msgid "Space %6d" msgstr "" -#: src/curses_client.c:1165 +#: src/curses_client.c:1166 #, c-format msgid "%s %3d Space %6d" msgstr "" -#: src/curses_client.c:1176 +#: src/curses_client.c:1177 msgid "Trenchcoat" msgstr "" -#: src/curses_client.c:1216 +#: src/curses_client.c:1217 #, c-format msgid "Spy reports for %s" msgstr "" -#: src/curses_client.c:1220 src/curses_client.c:1225 +#: src/curses_client.c:1221 src/curses_client.c:1226 #, c-format msgid "%s..." msgstr "" -#: src/curses_client.c:1246 +#: src/curses_client.c:1247 msgid "No other players are currently logged on!" msgstr "" -#: src/curses_client.c:1251 +#: src/curses_client.c:1252 msgid "Players currently logged on:-" msgstr "" -#: src/curses_client.c:1399 +#: src/curses_client.c:1400 msgid "Hey dude, what's your name? " msgstr "" -#: src/curses_client.c:1433 +#: src/curses_client.c:1434 #, c-format msgid "Hey dude, the prices of %s here are:" msgstr "" -#: src/curses_client.c:1445 +#: src/curses_client.c:1446 msgid "Will you B>uy" msgstr "" -#: src/curses_client.c:1446 +#: src/curses_client.c:1447 msgid ", S>ell" msgstr "" -#: src/curses_client.c:1447 +#: src/curses_client.c:1448 msgid ", D>rop" msgstr "" -#: src/curses_client.c:1448 +#: src/curses_client.c:1449 msgid ", T>alk, P>age, L>ist" msgstr "" -#: src/curses_client.c:1451 +#: src/curses_client.c:1452 msgid ", G>ive" msgstr "" -#: src/curses_client.c:1454 +#: src/curses_client.c:1455 msgid ", F>ight" msgstr "" -#: src/curses_client.c:1458 +#: src/curses_client.c:1459 msgid ", J>et" msgstr "" -#: src/curses_client.c:1460 src/curses_client.c:1475 +#: src/curses_client.c:1461 src/curses_client.c:1476 msgid ", or Q>uit? " msgstr "" -#: src/curses_client.c:1468 +#: src/curses_client.c:1469 msgid "Do you " msgstr "" -#: src/curses_client.c:1470 +#: src/curses_client.c:1471 msgid "F>ight, " msgstr "" -#: src/curses_client.c:1471 +#: src/curses_client.c:1472 msgid "S>tand, " msgstr "" -#: src/curses_client.c:1473 +#: src/curses_client.c:1474 msgid "R>un, " msgstr "" -#: src/curses_client.c:1474 +#: src/curses_client.c:1475 msgid "D>eal " msgstr "" -#: src/curses_client.c:1517 +#: src/curses_client.c:1518 msgid "Connection to server lost! Reverting to single player mode" msgstr "" -#: src/curses_client.c:1546 +#: src/curses_client.c:1547 msgid "BSDTPLGFJQ" msgstr "" -#: src/curses_client.c:1548 +#: src/curses_client.c:1549 msgid "DRFSQ" msgstr "" -#: src/curses_client.c:1576 +#: src/curses_client.c:1577 msgid "List what? P>layers or S>cores? " msgstr "" -#: src/curses_client.c:1577 +#: src/curses_client.c:1578 msgid "PS" msgstr "" -#: src/curses_client.c:1586 +#: src/curses_client.c:1587 msgid "Whom do you want to page (talk privately to) ? " msgstr "" -#: src/curses_client.c:1601 +#: src/curses_client.c:1602 msgid "Talk: " msgstr "" -#: src/curses_client.c:1690 +#: src/curses_client.c:1691 msgid "Play again? " msgstr "" -#: src/curses_client.c:1702 +#: src/curses_client.c:1703 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@@ -85,6 +85,7 @@ static void start_curses() { } cbreak(); noecho(); + meta(stdscr,TRUE); nodelay(stdscr,FALSE); keypad(stdscr,TRUE); curs_set(0); t@@ -781,7 +782,7 @@ void PrintMessage(const gchar *text) { for (i=0;i<strlen(text);i++) { if (text[i]=='^' || text[i]=='\n') { line++; move(line,1); - } else if (text[i]!='\r') addch(text[i]); + } else if (text[i]!='\r') addch((guchar)text[i]); } } t@@ -953,7 +954,7 @@ int GetKey(char *allowed,char *orig_allowed,gboolean AllowOther, addch('[' | TextAttr); for (i=0;i<strlen(allowed);i++) { if (i>0) addch('/' | TextAttr); - addch(allowed[i] | TextAttr); + addch((guchar)allowed[i] | TextAttr); } addch(']' | TextAttr); addch(' ' | TextAttr); t@@ -961,7 +962,7 @@ int GetKey(char *allowed,char *orig_allowed,gboolean AllowOther, while (1) { c=bgetch(); c=toupper(c); for (i=0;i<strlen(allowed);i++) if (allowed[i]==c) { - addch(c | TextAttr); + addch((guint)c | TextAttr); curs_set(0); return orig_allowed[i]; } if (AllowOther) break; t@@ -1077,7 +1078,7 @@ void display_message(char *buf) { bufpt+=wid; } for (y=0;y<5;y++) for (x=0;x<wid;x++) { - mvaddch(y+10,x+2,Messages[y][x] | StatsAttr); + mvaddch(y+10,x+2,(guchar)Messages[y][x] | StatsAttr); } refresh(); } t@@ -1269,7 +1270,7 @@ Player *ListPlayers(Player *Play,char Select,char *Prompt) { attrset(TextAttr); c=0; while (c<'A' || c>='A'+i) { c=bgetch(); c=toupper(c); } - if (Prompt) addch(c); + if (Prompt) addch((guint)c); list=FirstClient; while (c>='A') { if (list!=FirstClient) list=g_slist_next(list); t@@ -1335,16 +1336,16 @@ char *nice_input(char *prompt,int sy,int sx,char digitsonly,char *displaystr) { (!digitsonly && c>=32 && c!='^' && c<127)) { g_string_append_c(text,c); i++; - addch(c); + addch((guint)c); } else if (digitsonly && (c=='.' || c==',') && !DecimalPoint) { g_string_append_c(text,'.'); - addch(c); + addch((guint)c); DecimalPoint=TRUE; } else if (digitsonly && (c=='M' || c=='m' || c=='k' || c=='K') && !Suffix) { g_string_append_c(text,c); i++; - addch(c); + addch((guint)c); Suffix=TRUE; } }