[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stratagus-CVS] stratagus/src/missile missile.c
From: |
Crestez Leonard |
Subject: |
[Stratagus-CVS] stratagus/src/missile missile.c |
Date: |
Wed, 29 Oct 2003 11:04:34 -0500 |
CVSROOT: /cvsroot/stratagus
Module name: stratagus
Branch:
Changes by: Crestez Leonard <address@hidden> 03/10/29 11:04:33
Modified files:
src/missile : missile.c
Log message:
Applied bounce patch.
Patches:
Index: stratagus/src/missile/missile.c
diff -u stratagus/src/missile/missile.c:1.104
stratagus/src/missile/missile.c:1.105
--- stratagus/src/missile/missile.c:1.104 Sat Oct 25 19:10:44 2003
+++ stratagus/src/missile/missile.c Wed Oct 29 11:04:32 2003
@@ -26,7 +26,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
// 02111-1307, USA.
//
-// $Id: missile.c,v 1.104 2003/10/25 23:10:44 n0body Exp $
+// $Id: missile.c,v 1.105 2003/10/29 16:04:32 n0body Exp $
//@{
@@ -1346,7 +1346,7 @@
DebugCheck(file == NULL);
CLprintf(file, "\n;;; -----------------------------------------\n");
- CLprintf(file, ";;; MODULE: missile-types $Id: missile.c,v 1.104
2003/10/25 23:10:44 n0body Exp $\n\n");
+ CLprintf(file, ";;; MODULE: missile-types $Id: missile.c,v 1.105
2003/10/29 16:04:32 n0body Exp $\n\n");
//
// Original number to internal missile-type name.
@@ -1455,7 +1455,7 @@
DebugCheck(file == NULL);
CLprintf(file,"\n;;; -----------------------------------------\n");
- CLprintf(file,";;; MODULE: missiles $Id: missile.c,v 1.104 2003/10/25
23:10:44 n0body Exp $\n\n");
+ CLprintf(file,";;; MODULE: missiles $Id: missile.c,v 1.105 2003/10/29
16:04:32 n0body Exp $\n\n");
for (missiles = GlobalMissiles; *missiles; ++missiles) {
SaveMissile(*missiles, file);
@@ -1659,18 +1659,26 @@
DebugCheck(missile == NULL);
missile->Wait = missile->Type->Sleep;
if (PointToPointMissile(missile)) {
- if (missile->State < 2 * missile->Type->NumBounces) {
- int sign;
- int tmp;
- missile->State += 2;
- sign = (tmp = missile->DX - missile->SourceX) ? tmp > 0 ? 1 : -1 :
0;
- missile->DX += sign * TileSizeX * 3 / 2;
- sign = (tmp = missile->DY - missile->SourceY) ? tmp > 0 ? 1 : -1 :
0;
- missile->DY += sign * TileSizeY * 3 / 2;
+ if (missile->State < 2 * missile->Type->NumBounces - 1) {
+ int xstep;
+ int ystep;
+
+ xstep = (missile->DX - missile->SourceX) * 1024 /
missile->TotalStep;
+ ystep = (missile->DY - missile->SourceY) * 1024 /
missile->TotalStep;
+ missile->DX += xstep * (TileSizeX + TileSizeY) * 3 / 4 / 1024;
+ missile->DY += ystep * (TileSizeX + TileSizeY) * 3 / 4 / 1024;
+
+ missile->State++; // !(State & 1) to initialise
+ missile->SourceX = missile->X;
+ missile->SourceY = missile->Y;
+ PointToPointMissile(missile);
+ //missile->State++;
+ DebugLevel0("HIT %d!\n" _C_ missile->State);
MissileHit(missile);
// FIXME: hits to left and right
// FIXME: reduce damage effects on later impacts
} else {
+ MissileHit(missile);
missile->TTL = 0;
}
} else {
- [Stratagus-CVS] stratagus/src/missile missile.c, Russell Smith, 2003/10/07
- [Stratagus-CVS] stratagus/src/missile missile.c, Crestez Leonard, 2003/10/09
- [Stratagus-CVS] stratagus/src/missile missile.c, Jimmy Salmon, 2003/10/17
- [Stratagus-CVS] stratagus/src/missile missile.c, Mohydine, 2003/10/17
- [Stratagus-CVS] stratagus/src/missile missile.c, Mohydine, 2003/10/17
- [Stratagus-CVS] stratagus/src/missile missile.c, Jimmy Salmon, 2003/10/18
- [Stratagus-CVS] stratagus/src/missile missile.c, Mohydine, 2003/10/20
- [Stratagus-CVS] stratagus/src/missile missile.c, Mohydine, 2003/10/20
- [Stratagus-CVS] stratagus/src/missile missile.c, Mohydine, 2003/10/20
- [Stratagus-CVS] stratagus/src/missile missile.c,
Crestez Leonard <=
- [Stratagus-CVS] stratagus/src/missile missile.c, ludovic p, 2003/10/30