From 2808d62efc1cd72642f4ec41d148aa00e38e7dbd Mon Sep 17 00:00:00 2001 From: kswong Date: Mon, 5 Nov 2001 06:05:52 +0000 Subject: [PATCH] Miscellaneous UI changes. --- ChangeLog | 2 ++ src/partyline.c | 24 ++++++++++++++---------- src/partyline.h | 2 +- src/tetrinet.c | 11 +++++++++-- 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 284c5fd..0b86112 100644 --- 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 . diff --git a/src/partyline.c b/src/partyline.c index 839d568..fecfab2 100644 --- a/src/partyline.c +++ b/src/partyline.c @@ -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)); diff --git a/src/partyline.h b/src/partyline.h index d6d1b6e..2801381 100644 --- a/src/partyline.h +++ b/src/partyline.h @@ -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); diff --git a/src/tetrinet.c b/src/tetrinet.c index 7830570..330e441 100644 --- a/src/tetrinet.c +++ b/src/tetrinet.c @@ -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) -- 2.50.1