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

Modified Files:
	local.c 
Log Message:
More SetDistAngle() code merging, this time for other's plasmas and torps.
Noted the problem with finding most recent torp/plasma to play sound.

Index: local.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/local.c,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -d -r1.67 -r1.68
--- local.c	13 Mar 2007 19:11:10 -0000	1.67
+++ local.c	13 Mar 2007 19:24:18 -0000	1.68
@@ -50,10 +50,8 @@
 static int num_other_plasmas = 0;
 static unsigned int sound_flags = 0;
 static int other_torp_dist = 0;
-static int new_other_torp_dist = 0;
 static int other_torp_angle = 0;
 static int other_plasma_dist = 0;
-static int new_other_plasma_dist = 0;
 static int other_plasma_angle = 0;
 static int warpchange = 0;
 static unsigned int twarpflag = 0;
@@ -1771,40 +1769,22 @@
                 continue;
             }
 
+            dx = dx / SCALE + WINSIDE / 2;
+            dy = dy / SCALE + WINSIDE / 2;
+
 #ifdef SOUND
             if (j != me)
             {
-            	int new_angle;
-		int newdy, newdx;
-
-		newdy = dy / SCALE;
-		newdx = dx / SCALE;
-                // Store location of torp.
-                new_other_torp_dist = (int) sqrt((newdx)*(newdx) + (newdy)*(newdy));
-                // Normalize from 0 to 255, 0 being on top of player, 255 being max distance
-                // which would be a diagonal from player to corner of tactical
-                // Reason for normalization is Mix_SetDistance requires that range        
-                new_other_torp_dist = (int)((255 * new_other_torp_dist)/CORNER_DIST);
-                // Find how long till torp expires...BROKEN!
-                // Calculate angle, then adjust as necessary for Mix_SetDistance
-                if (new_other_torp_dist != 0)
-                {
-                    new_angle = (int)(atan2(-newdy, newdx)*180/XPI);
-                    new_angle = 90 - new_angle;
-                }
-                else
-                    new_angle = 0;
+                SetDistAngle(dx, dy);
                 // Choose closest torp - yes this sucks sometimes, but better than nothing
-                if (new_other_torp_dist < other_torp_dist)
+                // Proper fix would be to get torp expiry information
+                if (distance < other_torp_dist)
                 {
-                    other_torp_dist = new_other_torp_dist;
-                    other_torp_angle = new_angle;
+                    other_torp_dist = distance;
+                    other_torp_angle = angle;
                 }	
             }
 #endif         
-            dx = dx / SCALE + WINSIDE / 2;
-            dy = dy / SCALE + WINSIDE / 2;
-
 
             if (k->t_status == TEXPLODE)
             {
@@ -2015,42 +1995,23 @@
         if (dx > view || dx < -view || dy > view || dy < -view)
             continue;
 
+        dx = dx / SCALE + WINSIDE / 2;
+        dy = dy / SCALE + WINSIDE / 2;
 
 #ifdef SOUND
         if (pt->pt_owner != me->p_no)
         {
-            int new_angle;
-            int newdy, newdx;
-		
-	    newdy = dy / SCALE;
-	    newdx = dx / SCALE;
-            // Store location of plasma.
-            new_other_plasma_dist = (int) sqrt((newdx)*(newdx) + (newdy)*(newdy));
-            // Normalize from 0 to 255, 0 being on top of player, 255 being max distance
-            // which would be a diagonal from player to corner of tactical
-            // Reason for normalization is Mix_SetDistance requires that range        
-            new_other_plasma_dist = (int)((255 * new_other_plasma_dist)/CORNER_DIST);
-            // Find how long till torp expires...BROKEN!
-            // Calculate angle, then adjust as necessary for Mix_SetDistance
-            if (new_other_plasma_dist != 0)
-            {
-                new_angle = (int)(atan2(-newdy, newdx)*180/XPI);
-                new_angle = 90 - new_angle;
-            }
-            else
-                new_angle = 0;
+            SetDistAngle(dx, dy);
             // Choose closest plasma - yes this sucks sometimes, but better than nothing
-            if (new_other_plasma_dist < other_plasma_dist)
+            // Proper fix would be to get plasma expiry information
+            if (distance < other_plasma_dist)
             {
-                other_plasma_dist = new_other_plasma_dist;
-                other_plasma_angle = new_angle;
+                other_plasma_dist = distance;
+                other_plasma_angle = angle;
             }   	
         }
 #endif   
 
-        dx = dx / SCALE + WINSIDE / 2;
-        dy = dy / SCALE + WINSIDE / 2;
-
         if (pt->pt_status == PTEXPLODE)
         {
             pt->pt_fuse--;
@@ -2458,10 +2419,8 @@
     }
     // Reset locations and fuses of other's closest torps and plasmas
     other_torp_dist = CORNER_DIST;
-    new_other_torp_dist = 0;
     other_torp_angle = 0;
     other_plasma_dist = CORNER_DIST;
-    new_other_plasma_dist = 0;
     other_plasma_angle = 0;
 
     sound_flags = me->p_flags;