hedgewars/VGSHandlers.inc
branchhedgeroid
changeset 5824 2e5835130d9a
parent 5804 98192121dc69
child 5840 00a3e2452e79
equal deleted inserted replaced
5733:5ab22736bdb6 5824:2e5835130d9a
   594 (*
   594 (*
   595 FIXME - This block desyncs due to the way WorldDx is important for various things network related.
   595 FIXME - This block desyncs due to the way WorldDx is important for various things network related.
   596 One possible solution is, instead of using WorldDx, to use straight gl/SDL calls to jitter the screen a bit.
   596 One possible solution is, instead of using WorldDx, to use straight gl/SDL calls to jitter the screen a bit.
   597 
   597 
   598 // a comment by unC0Rr: instead of changing WorldDx shake cursor coordinates, that should be safe
   598 // a comment by unC0Rr: instead of changing WorldDx shake cursor coordinates, that should be safe
       
   599 // ... seems to still desync, and I tried banning when targetting too
   599 
   600 
   600 if (Gear^.Timer and 5) = 0 then
   601 if (Gear^.Timer and 5) = 0 then
   601     begin
   602     begin
   602     maxMovement := max(1, 13 - ((Gear^.Timer * 15) div 250));
   603     maxMovement := max(1, 13 - ((Gear^.Timer * 15) div 250));
   603     ShakeCamera(maxMovement);
   604     ShakeCamera(maxMovement);
   604     end;
   605     end;
   605 *)
   606 *)
       
   607 
   606 if Gear^.Timer > 250 then DeleteVisualGear(Gear);
   608 if Gear^.Timer > 250 then DeleteVisualGear(Gear);
   607 end;
   609 end;
   608 
   610 
   609 procedure doStepBigExplosion(Gear: PVisualGear; Steps: Longword);
   611 procedure doStepBigExplosion(Gear: PVisualGear; Steps: Longword);
   610 var i: LongWord;
   612 var i: LongWord;
   611     gX,gY: LongInt;
   613     gX,gY: LongInt;
   612     vg: PVisualGear;
   614     vg: PVisualGear;
   613 begin
   615 begin
       
   616 ScreenFade:= sfFromWhite;
       
   617 ScreenFadeValue:= 250;
       
   618 ScreenFadeSpeed:= 5;
   614 gX:= round(Gear^.X);
   619 gX:= round(Gear^.X);
   615 gY:= round(Gear^.Y);
   620 gY:= round(Gear^.Y);
   616 AddVisualGear(gX, gY, vgtSmokeRing);
   621 AddVisualGear(gX, gY, vgtSmokeRing);
   617 for i:= 0 to 46 do 
   622 for i:= 0 to 46 do 
   618     begin
   623     begin