hedgewars/VGSHandlers.inc
changeset 4473 b6487d2c15ad
parent 4452 258945553b18
child 4475 54e78c40970b
--- a/hedgewars/VGSHandlers.inc	Mon Dec 06 08:58:24 2010 -0500
+++ b/hedgewars/VGSHandlers.inc	Mon Dec 06 13:07:36 2010 -0500
@@ -558,11 +558,16 @@
 
 procedure doStepExplosion(Gear: PVisualGear; Steps: Longword);
 var i: LongWord;
-gX,gY: LongInt;
+    gX,gY: LongInt;
+    vg: PVisualGear;
 begin
 gX:= round(Gear^.X);
 gY:= round(Gear^.Y);
-for i:= 0 to 31 do AddVisualGear(gX, gY, vgtFire);
+for i:= 0 to 31 do 
+    begin
+    vg:= AddVisualGear(gX, gY, vgtFire);
+    if vg <> nil then vg^.State:= 1;
+    end;
 for i:= 0 to  8 do AddVisualGear(gX, gY, vgtExplPart);
 for i:= 0 to  8 do AddVisualGear(gX, gY, vgtExplPart2);
 Gear^.doStep:= @doStepExplosionWork;
@@ -590,12 +595,17 @@
 
 procedure doStepBigExplosion(Gear: PVisualGear; Steps: Longword);
 var i: LongWord;
-gX,gY: LongInt;
+    gX,gY: LongInt;
+    vg: PVisualGear;
 begin
 gX:= round(Gear^.X);
 gY:= round(Gear^.Y);
 AddVisualGear(gX, gY, vgtSmokeRing);
-for i:= 0 to 46 do AddVisualGear(gX, gY, vgtFire);
+for i:= 0 to 46 do 
+    begin
+    vg:= AddVisualGear(gX, gY, vgtFire);
+    if vg <> nil then vg^.State:= 1;
+    end;
 for i:= 0 to 15 do AddVisualGear(gX, gY, vgtExplPart);
 for i:= 0 to 15 do AddVisualGear(gX, gY, vgtExplPart2);
 Gear^.doStep:= @doStepBigExplosionWork;