From: kswong Date: Wed, 28 Jun 2000 09:19:00 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: https://hydra-www.ietfng.org/gitweb/?a=commitdiff_plain;h=4673bffc42d5c028522a788fbc3e3ad81616c6ce;p=gtetrinet *** empty log message *** --- diff --git a/ChangeLog b/ChangeLog index 1a10387..6f609b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2000-06-27 + * Pause/resume now causes a message to be displayed on fields page. + +2000-06-26 + * GTetrinet no longer resends field upon player join. + * Fixed spurious "The game has resumed" messages. + * Merged partyline patch for high chars. + 2000-06-08 * Changed website addresses. * Made configure run properly under GNOME 1.2. diff --git a/src/misc.c b/src/misc.c index 306248d..2af839d 100644 --- a/src/misc.c +++ b/src/misc.c @@ -109,7 +109,7 @@ void textbox_setup (void) fonts[3] = gdk_fontset_load("-adobe-helvetica-bold-o-normal--*-120-*-*-*-*-*-*,*--12-*"); } -void textbox_addtext (GtkText *textbox, char *text) +void textbox_addtext (GtkText *textbox, unsigned char *text) { GdkColor *color, *lastcolor; int attr; /* bits are used as flags: bold, italic */ @@ -129,15 +129,15 @@ void textbox_addtext (GtkText *textbox, char *text) if (gtk_text_get_length (textbox)) /* not first line */ gtk_text_insert (textbox, fonts[attr], color, NULL, "\n", 1); for (i = 0; text[i]; i ++) { - if (text[i] < 32) { + if (text[i] == 0xFF) { /* reset */ + lastcolor = color = >K_WIDGET(textbox)->style->black; + last = 0; attr = 0; + } + else if (text[i] < 32) { switch (text[i]) { case 0x02: attr = attr ^ 0x01; break; /* bold */ case 0x16: attr = attr ^ 0x02; break; /* italics */ case 0x1F: break; /* underline not available */ - case -1: /* reset */ - lastcolor = color = >K_WIDGET(textbox)->style->black; - last = 0; attr = 0; - break; default: /* it is a color... */ if (text[i] > 0x1A) goto next; /* bounds checking */ if (text[i] == last) { diff --git a/src/misc.h b/src/misc.h index 0650d60..7a247a6 100644 --- a/src/misc.h +++ b/src/misc.h @@ -4,7 +4,7 @@ extern void leftlabel_set (GtkWidget *align, char *str); extern int randomnum (int n); extern void fdreadline (int fd, char *buf); extern void textbox_setup (void); -extern void textbox_addtext (GtkText *textbox, char *text); +extern void textbox_addtext (GtkText *textbox, unsigned char *text); extern void adjust_bottom (GtkAdjustment *adj); extern char *nocolor (char *str); extern GtkWidget *pixmap_label (GdkPixmap *pm, GdkBitmap *mask, char *str); diff --git a/src/tetrinet.c b/src/tetrinet.c index e88e46a..9d26ae7 100644 --- a/src/tetrinet.c +++ b/src/tetrinet.c @@ -257,7 +257,7 @@ void tetrinet_inmessage (enum inmsg_type msgtype, char *data) /* check moderator status */ checkmoderatorstatus (); /* send out our field */ - if (!spectating) tetrinet_resendfield (); + /* if (!spectating) tetrinet_resendfield (); */ } break; case IN_PLAYERLEAVE: @@ -439,16 +439,23 @@ void tetrinet_inmessage (enum inmsg_type msgtype, char *data) } break; case IN_PAUSE: - if (atoi(data)) { - tetrinet_pausegame (); - partyline_text ("\024*** The game has \02paused"); - } - else { - tetrinet_resumegame (); - partyline_text ("\024*** The game has \02resumed"); - } - commands_checkstate (); - break; + { + int newstate = atoi(data); + /* bail out if no state change */ + if (! (newstate ^ paused)) break; + if (newstate) { + tetrinet_pausegame (); + partyline_text ("\024*** The game has \02paused"); + fields_attdefmsg ("The game has \02\014Paused"); + } + else { + tetrinet_resumegame (); + partyline_text ("\024*** The game has \02resumed"); + fields_attdefmsg ("The game has \02\014Resumed"); + } + commands_checkstate (); + break; + } case IN_ENDGAME: tetrinet_endgame (); commands_checkstate ();