From 411af5eec81fb229f8d0eb13f1ef58c5b3efbe59 Mon Sep 17 00:00:00 2001
From: mr-russ <>
Date: Tue, 7 Oct 2003 07:57:20 +0000
Subject: [PATCH] Fixed bug where Parabolic Missile could divide by zero

---
 src/stratagus/missile.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/stratagus/missile.cpp b/src/stratagus/missile.cpp
index cdcb12964..ba066b103 100644
--- a/src/stratagus/missile.cpp
+++ b/src/stratagus/missile.cpp
@@ -962,8 +962,12 @@ local int ParabolicMissile(Missile* missile)
 	    dx = -dx;
 	    xstep = -1;
 	}
-	missile->Angle = (100 * (missile->SourceY - missile->DY)) / 
-	    (missile->SourceX - missile->DX);
+	if (missile->SourceX - missile->DX != 0) {
+	    missile->Angle = (100 * (missile->SourceY - missile->DY)) / 
+		(missile->SourceX - missile->DX);
+	} else {
+	    missile->Angle = 1;
+	}
 	missile->Xl = missile->X * 100;
 
 	MissileNewHeadingFromXY(missile, dx * xstep, dy * ystep);