]> hydra-www.ietfng.org Git - gtetrinet/commitdiff
Miscellaneous UI changes.
authorkswong <kswong>
Mon, 5 Nov 2001 06:05:52 +0000 (06:05 +0000)
committerkswong <kswong>
Mon, 5 Nov 2001 06:05:52 +0000 (06:05 +0000)
ChangeLog
src/partyline.c
src/partyline.h
src/tetrinet.c

index 284c5fd9df293f6da49e253260d3934f4e32cf87..0b861129a55a63902910ac844402b5cfda3b862e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
          (tested compatible with Pihvi's Java Tetrinet Server)
        * Added some fixes by Pihvi.
        * Miscellaneous bug fixes.
+       * Game messages are no longer cleared when a game ends.
+       * Player listing in the partyline is now numbered.
 
 2001-01-13
        * Merged page detach patch from Neil Bird <neil.bird@rdel.co.uk>.
index 839d56827a3f81071a4421e69a0e62c1339bd6a2..fecfab23e3faa82f78980cf79be132218a9fa1c6 100644 (file)
@@ -29,6 +29,7 @@
 
 /* for the player list */
 static char *listtitles[] = {
+    "",
     N_("Name"),
     N_("Team")
 };
@@ -81,10 +82,11 @@ GtkWidget *partyline_page_new (void)
     gtk_widget_show (leftbox);
 
     /* player list */
-    playerlist = gtk_clist_new_with_titles (2, listtitles);
-    gtk_clist_set_column_width (GTK_CLIST(playerlist), 0, 60);
+    playerlist = gtk_clist_new_with_titles (3, listtitles);
+    gtk_clist_set_column_width (GTK_CLIST(playerlist), 0, 10);
+    gtk_clist_set_column_width (GTK_CLIST(playerlist), 1, 60);
     gtk_clist_column_titles_passive (GTK_CLIST(playerlist));
-    gtk_widget_set_usize (playerlist, 130, 200);
+    gtk_widget_set_usize (playerlist, 150, 200);
     gtk_widget_show (playerlist);
 
     /* right box */
@@ -166,23 +168,25 @@ void partyline_text (char *text)
     textbox_addtext (GTK_TEXT(textbox), text);
 }
 
-void partyline_playerlist (char **names, char **teams, int n, char **specs, int sn)
+void partyline_playerlist (int *numbers, char **names, char **teams, int n, char **specs, int sn)
 {
     int i;
-    char buf1[128], buf2[128], *item[2] = {buf1, buf2};
+    char buf0[16], buf1[128], buf2[128], *item[3] = {buf0, buf1, buf2};
     /* update the playerlist so that it contains only the given names */
     gtk_clist_freeze (GTK_CLIST(playerlist));
     gtk_clist_clear (GTK_CLIST(playerlist));
     for (i = 0; i < n; i ++) {
-        strcpy (item[0], nocolor(names[i]));
-        strcpy (item[1], nocolor(teams[i]));
+        sprintf (item[0], "%d", numbers[i]);
+        strcpy (item[1], nocolor(names[i]));
+        strcpy (item[2], nocolor(teams[i]));
         gtk_clist_append (GTK_CLIST(playerlist), item);
     }
-    buf1[0] = buf2[0] = 0;
+    buf0[0] = buf1[0] = buf2[0] = 0;
     gtk_clist_append (GTK_CLIST(playerlist), item);
     for (i = 0; i < sn; i ++) {
-        strcpy (item[0], nocolor(specs[i]));
-        strcpy (item[1], "Spec");
+        strcpy (item[0], "S");
+        strcpy (item[1], nocolor(specs[i]));
+        strcpy (item[2], "");
         gtk_clist_append (GTK_CLIST(playerlist), item);
     }
     gtk_clist_thaw (GTK_CLIST(playerlist));
index d6d1b6eb85143648657cc0c9b3bf55644b1eb8e9..2801381a40a9c67361a8679323da9f2c607cf223 100644 (file)
@@ -4,5 +4,5 @@ extern void partyline_connectstatus (int status);
 extern void partyline_namelabel (char *nick, char *team);
 extern void partyline_status (char *status);
 extern void partyline_text (char *text);
-extern void partyline_playerlist (char **names, char **teams, int n, char **specs, int sn);
+extern void partyline_playerlist (int *numbers, char **names, char **teams, int n, char **specs, int sn);
 extern void partyline_entryfocus (void);
index 7830570834029ec87a818152381523fd9dca417c..330e4411c98812bd36495cd9659f80d635704e64 100644 (file)
@@ -169,7 +169,7 @@ void tetrinet_inmessage (enum inmsg_type msgtype, char *data)
         if (ingame) tetrinet_endgame ();
         connected = ingame = playing = paused = moderator = tetrix = FALSE;
         commands_checkstate ();
-        partyline_playerlist (NULL, NULL, 0, NULL, 0);
+        partyline_playerlist (NULL, NULL, NULL, 0, NULL, 0);
         partyline_namelabel (NULL, NULL);
         playernum = moderatornum = playercount = spectatorcount = 0;
         {
@@ -1022,6 +1022,8 @@ void tetrinet_startgame (void)
     tetrinet_setspeciallabel (-1);
     fields_gmsginput (FALSE);
     fields_gmsginputclear ();
+    fields_attdefclear ();
+    fields_gmsgclear ();
     paused = FALSE;
     specialblocknum = 0;
     ingame = TRUE;
@@ -1095,8 +1097,11 @@ void tetrinet_endgame (void)
     tetris_makeblock (-1, 0);
     fields_drawnextblock (blankblock);
     clearallfields ();
+    /* don't clear messages when game ends */
+    /*
     fields_attdefclear ();
     fields_gmsgclear ();
+    */
     specialblocknum = 0;
     fields_drawspecials ();
     fields_setlines (-1);
@@ -1568,15 +1573,17 @@ void playerlistupdate (void)
 {
     int i, sn, n = 0;
     char *pnames[6], *teams[6], *specs[128];
+    int pnums[6];
     for (i = 1; i <= 6; i ++) {
         if (playernames[i][0]) {
+            pnums[n] = i;
             pnames[n] = playernames[i];
             teams[n] = teamnames[i];
             n ++;
         }
     }
     for (sn = 0; sn < spectatorcount; sn++) specs[sn] = spectatorlist[sn];
-    partyline_playerlist (pnames, teams, n, specs, sn);
+    partyline_playerlist (pnums, pnames, teams, n, specs, sn);
 }
 
 void fieldslabelupdate (void)