Update of /cvsroot/netrek/client/netrekxp/src
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv30468/src

Modified Files:
	dashboard.c defaults.c enter.c option.c socket.c 
Log Message:
Add new dashboard timerType that displays info from generic 32 b packet in
order of importance (INL time > surrender time > sb reconstruct time > time since t mode started).  Defaults to current time of day if server does not use generic 32 b.

Index: dashboard.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/dashboard.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- dashboard.c	19 Apr 2008 20:03:00 -0000	1.28
+++ dashboard.c	16 Jul 2008 00:16:10 -0000	1.29
@@ -204,6 +204,19 @@
         case T_USER:
             s = "TMR";
             break;
+        /* Variable game-related timers, display in order of importance */
+        case T_UTIL:
+            if (context->tournament_remain)
+                s = "INL";
+            else if (context->team_remain)
+                s = "SUR";
+            else if (context->starbase_remain)
+                s = "SB ";
+            else if (context->tournament_age)
+                s = "TMD";
+            else
+                s = "NOW";
+            break;
         }
         if(s) 
         {
@@ -222,7 +235,27 @@
             get the timer string and start comparing it with the old one. Only
             print the differences
         */
-        timer = timeString(now - timeBank[timerType]);
+        switch (timerType)
+        {
+            case T_DAY:
+            case T_SERVER:
+            case T_SHIP:
+            case T_USER:
+                timer = timeString(now - timeBank[timerType]);
+                break;
+            case T_UTIL:
+                if (context->tournament_remain)
+                    sprintf(timer, "   %03d %c", context->tournament_remain, context->tournament_remain_units);
+                else if (context->team_remain)
+                    sprintf(timer, "   %03d s", context->team_remain);
+                else if (context->starbase_remain)
+                    sprintf(timer, "   %03d m", context->starbase_remain);
+                else if (context->tournament_age)
+                    sprintf(timer, "   %03d %c", context->tournament_age, context->tournament_age_units);
+                else
+                    timer = timeString(now - timeBank[timerType]);
+                break;
+        }
         x = xloc + 4 * W_Textwidth;
         left = 0;
         right = -1;

Index: enter.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/enter.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- enter.c	13 Jul 2008 03:56:46 -0000	1.18
+++ enter.c	16 Jul 2008 00:16:10 -0000	1.19
@@ -57,8 +57,8 @@
     initialize_thingies();
     status2 = (struct status2 *) malloc(sizeof(*status2));
     status = (struct status *) malloc(sizeof(*status));
-    context = (struct context *) malloc(sizeof(*context));
     initialize_planets();
+    initialize_context();
     mctl = (struct mctl *) malloc(sizeof(*mctl));
     messages = (struct message *) malloc(sizeof(*messages) * MAXMESSAGE);
 

Index: option.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/option.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- option.c	19 Apr 2008 16:23:00 -0000	1.55
+++ option.c	16 Jul 2008 00:16:11 -0000	1.56
@@ -154,6 +154,7 @@
                             "Timer shows time on server",
                             "Timer shows time in ship",
                             "Timer shows user-set time",
+                            "Timer shows game-related info",
                             ""
 };
 

Index: socket.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/socket.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- socket.c	14 Jul 2008 01:52:48 -0000	1.51
+++ socket.c	16 Jul 2008 00:16:11 -0000	1.52
@@ -2975,6 +2975,21 @@
     }
 }
 
+void
+initialize_context(void)
+{
+    context = (struct context *) malloc(sizeof(*context));
+
+    context->gameup = 0;
+    context->tournament_teams = 0;
+    context->tournament_age = 0;
+    context->tournament_age_units = 0;
+    context->tournament_remain = 0;
+    context->tournament_remain_units = 0;
+    context->starbase_remain = 0;
+    context->team_remain = 0;
+}
+
 /* Functions to handle the overloaded packet types 32 and 33 */
 void handlePacket32 (unsigned char *sbuf)
 {

Index: defaults.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/defaults.c,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -d -r1.92 -r1.93
--- defaults.c	19 Apr 2008 16:22:59 -0000	1.92
+++ defaults.c	16 Jul 2008 00:16:10 -0000	1.93
@@ -837,6 +837,7 @@
             "2 - show time on server",
             "3 - show time in ship",
             "4 - show user-set time",
+            "5 - show game-related timers",
             NULL
         }
     },