]> hydra-www.ietfng.org Git - gtetrinet/commitdiff
*** empty log message ***
authorkswong <kswong>
Wed, 28 Jun 2000 09:19:00 +0000 (09:19 +0000)
committerkswong <kswong>
Wed, 28 Jun 2000 09:19:00 +0000 (09:19 +0000)
ChangeLog
src/misc.c
src/misc.h
src/tetrinet.c

index 1a1038725f69a5c0c0f48e414b800ec35f7a5e61..6f609b9b5d0f9a13514f737d7092bc08b1a632c0 100644 (file)
--- 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.
index 306248d75372b92427201966ec84d2ef4d82247a..2af839d3464c1a1b64c66810bc8480eca68c6783 100644 (file)
@@ -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 = &GTK_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 = &GTK_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) {
index 0650d60dfe744c4273ecb276e76b3cc07d0491f8..7a247a67479deae6973c7cc794d21ab2585381e7 100644 (file)
@@ -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);
index e88e46a0311e39aa82cad42dc51c5c2ab4ad7c07..9d26ae7480332dc56a9826697e61cd10b19c9db6 100644 (file)
@@ -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 ();