stratagus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Stratagus-CVS] stratagus/src/missile missile.c


From: Jimmy Salmon
Subject: [Stratagus-CVS] stratagus/src/missile missile.c
Date: Fri, 17 Oct 2003 18:27:36 -0400

CVSROOT:        /cvsroot/stratagus
Module name:    stratagus
Branch:         
Changes by:     Jimmy Salmon <address@hidden>   03/10/17 18:27:36

Modified files:
        src/missile    : missile.c 

Log message:
        Fixed bug #5903, added more precision to parabolic missiles and fixed 
rounding

Patches:
Index: stratagus/src/missile/missile.c
diff -u stratagus/src/missile/missile.c:1.92 
stratagus/src/missile/missile.c:1.93
--- stratagus/src/missile/missile.c:1.92        Fri Oct 17 13:02:19 2003
+++ stratagus/src/missile/missile.c     Fri Oct 17 18:27:36 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: missile.c,v 1.92 2003/10/17 17:02:19 jsalmon3 Exp $
+//     $Id: missile.c,v 1.93 2003/10/17 22:27:36 jsalmon3 Exp $
 
 //@{
 
@@ -960,13 +960,13 @@
     int thetha;
 
     missile->Xl -= missile->Xstep;
-    missile->X = missile->Xl / 100;
+    missile->X = (missile->Xl + 500) / 1000;
 
     xmid = (missile->SourceX + missile->DX) / 2;
     sinu = (missile->X - xmid) * (missile->X - xmid);
     thetha = missile->SourceX - xmid;
     missile->Y = ((missile->Angle * (missile->X - missile->SourceX)) -
-       amplitude * isqrt(-sinu + thetha * thetha) + missile->SourceY * 100) / 
100;
+       amplitude * isqrt(-sinu + thetha * thetha) + missile->SourceY * 1000 + 
500) / 1000;
 
     return 0;
 }
@@ -1002,12 +1002,12 @@
            xstep = -1;
        }
        if (missile->SourceX - missile->DX != 0) {
-           missile->Angle = (100 * (missile->SourceY - missile->DY)) / 
+           missile->Angle = (1000 * (missile->SourceY - missile->DY)) / 
                (missile->SourceX - missile->DX);
        } else {
            missile->Angle = 1;
        }
-       missile->Xl = missile->X * 100;
+       missile->Xl = missile->X * 1000;
 
        MissileNewHeadingFromXY(missile, dx * xstep, dy * ystep);
 
@@ -1019,7 +1019,7 @@
        missile->Dy = dy;
        dx = missile->SourceX - missile->DX;
        dy = missile->SourceY - missile->DY;
-       missile->Xstep = (100 * dx) / isqrt(dx * dx + dy * dy);
+       missile->Xstep = (1000 * dx) / isqrt(dx * dx + dy * dy);
        missile->Ystep = ystep;
        ++missile->State;
        DebugLevel3Fn("Init: %d,%d\n" _C_ dx _C_ dy);
@@ -1037,7 +1037,7 @@
            if (missile->X == missile->DX) {
                return 1;
            }
-           ParabolicCalc(missile, 50);
+           ParabolicCalc(missile, 500);
        }
        MissileNewHeadingFromXY(missile, missile->X - sx, missile->Y - sy);
        return 0;
@@ -1058,7 +1058,7 @@
                abs(missile->Y - missile->DY) <= 1) {
            return 1;
        }
-       ParabolicCalc(missile, 100);
+       ParabolicCalc(missile, 1000);
        MissileNewHeadingFromXY(missile, missile->X - sx, missile->Y - sy);
     }
     return 0;
@@ -1459,7 +1459,7 @@
     int i;
 
     CLprintf(file, "\n;;; -----------------------------------------\n");
-    CLprintf(file, ";;; MODULE: missile-types $Id: missile.c,v 1.92 2003/10/17 
17:02:19 jsalmon3 Exp $\n\n");
+    CLprintf(file, ";;; MODULE: missile-types $Id: missile.c,v 1.93 2003/10/17 
22:27:36 jsalmon3 Exp $\n\n");
 
     //
     // Original number to internal missile-type name.
@@ -1554,7 +1554,7 @@
     Missile* const* missiles;
 
     CLprintf(file, "\n;;; -----------------------------------------\n");
-    CLprintf(file, ";;; MODULE: missiles $Id: missile.c,v 1.92 2003/10/17 
17:02:19 jsalmon3 Exp $\n\n");
+    CLprintf(file, ";;; MODULE: missiles $Id: missile.c,v 1.93 2003/10/17 
22:27:36 jsalmon3 Exp $\n\n");
 
     for (missiles = GlobalMissiles; *missiles; ++missiles) {
        SaveMissile(*missiles, file);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]