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

Modified Files:
	data.c feature.c local.c 
Log Message:
Following COW changes, added fps feature packet support, still needs some work.
data.c, data.h, feature.c: add support for FPS server-only feature, not a client requested feature.
local.c: use the new fps variable to correct animation time for cloak and explosion.
local.c: change explosion sound to trigger off p_explode rather than the counter variable i, which
now increments more slowly at higher fps.  Was causing explosion sound to be played 5 times
in a row.

Index: feature.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/feature.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- feature.c	12 Dec 2006 04:47:08 -0000	1.4
+++ feature.c	22 Feb 2007 16:22:13 -0000	1.5
@@ -171,6 +171,12 @@
     /* special cases: */
     if (strcmpi (packet->name, "FEATURE_PACKETS") == 0)
         reportFeatures ();
+    if (strcmpi (packet->name, "FPS") == 0 && value != -1)
+    {
+        fps = value;
+        LineToConsole("Receiving %d frames per second from the server.\n", fps);
+    }
+
     if ((strcmpi (packet->name, "RC_DISTRESS") == 0) && gen_distress)
         distmacro = dist_prefered;
 

Index: local.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/local.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- local.c	8 Feb 2007 08:34:43 -0000	1.51
+++ local.c	22 Feb 2007 16:22:13 -0000	1.52
@@ -53,7 +53,8 @@
 static int new_other_plasma_dist = 0;
 static int other_plasma_angle = 0;
 static int warpchange = 0;
-static unsigned int twarpflag = 0; 
+static unsigned int twarpflag = 0;
+static int cloak_phases = 0;
 #endif
 
 /* Background Stars Definitions */
@@ -708,10 +709,11 @@
 
         dx = dx / SCALE + WINSIDE / 2;
         dy = dy / SCALE + WINSIDE / 2;
-        
+
+        cloak_phases = CLOAK_PHASES * fps / 10;
         if (j->p_flags & PFCLOAK)
         {
-            if (j->p_cloakphase < (CLOAK_PHASES - 1))
+            if (j->p_cloakphase < (cloak_phases - 1))
             {
 
 #ifdef SOUND
@@ -767,7 +769,7 @@
                 {
                     if (newSound)
                     {
-                        if (j->p_cloakphase == CLOAK_PHASES - 1)
+                        if (j->p_cloakphase == cloak_phases - 1)
                         {
                             newdx = dx - WINSIDE/2;
                             newdy = dy - WINSIDE/2;
@@ -798,7 +800,7 @@
                     {
                         if (myPlayer(j) || isObsLockPlayer(j))
                         {
-                            if (j->p_cloakphase == CLOAK_PHASES - 1)
+                            if (j->p_cloakphase == cloak_phases - 1)
                                 Play_Sound(UNCLOAK_SOUND);
                             else
                                 Abort_Sound(CLOAK_SOUND);
@@ -813,7 +815,7 @@
 
         /* If cloaking cycle is complete, just draw the cloak icon, and skip over
            the ship drawing code with the goto statement */
-        if (j->p_flags & PFCLOAK && (j->p_cloakphase == (CLOAK_PHASES - 1)))
+        if (j->p_flags & PFCLOAK && (j->p_cloakphase == (cloak_phases - 1)))
         {
             if (myPlayer (j)
 #ifdef RECORDGAME
@@ -1317,10 +1319,10 @@
         {
             int i;
 
-            i = j->p_explode;
+            i = j->p_explode * 10 / fps;
 
 #ifdef SOUND
-            if (i == 1)
+            if (j->p_explode == 1)
             {
                 if (newSound)
                 {
@@ -1710,7 +1712,7 @@
 
                 if (tractee->p_status != PALIVE ||
                     ((tractee->p_flags & PFCLOAK) &&
-                     (tractee->p_cloakphase == (CLOAK_PHASES - 1))))
+                     (tractee->p_cloakphase == (cloak_phases - 1))))
                 {
                     continue;
                 }

Index: data.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/data.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- data.c	21 Feb 2007 15:17:05 -0000	1.50
+++ data.c	22 Feb 2007 16:22:13 -0000	1.51
@@ -680,6 +680,8 @@
 int portSwap = 0;
 #endif
 
+int fps = 10;
+
 // Load Ship Bitmaps from .BMP files
 char *fed_ship_bmp;
 char *rom_ship_bmp;