hedgewars/GSHandlers.inc
changeset 8783 f1231a48fc48
parent 8773 7d3af949dd34
child 8793 43e106417a05
equal deleted inserted replaced
8780:486edbbe72b5 8783:f1231a48fc48
  5125 const groundFreezingTime:Longint = 1000;
  5125 const groundFreezingTime:Longint = 1000;
  5126 const iceRadius = 32;
  5126 const iceRadius = 32;
  5127 const iceHeight = 40;
  5127 const iceHeight = 40;
  5128 var
  5128 var
  5129     HHGear: PGear;
  5129     HHGear: PGear;
       
  5130     landRect: TSDL_Rect;
  5130     ndX, ndY: hwFloat;
  5131     ndX, ndY: hwFloat;
  5131     i, t, gX, gY: LongInt;
  5132     i, t, gX, gY: LongInt;
  5132     hogs: PGearArrayS;
  5133     hogs: PGearArrayS;
  5133 begin
  5134 begin
  5134     HHGear := Gear^.Hedgehog^.Gear;
  5135     HHGear := Gear^.Hedgehog^.Gear;
  5189                     Y:= HHGear^.Y
  5190                     Y:= HHGear^.Y
  5190                     end;
  5191                     end;
  5191 
  5192 
  5192                 if (IceState = iceCollideWithGround) and ((GameTicks - IceTime) > groundFreezingTime) then
  5193                 if (IceState = iceCollideWithGround) and ((GameTicks - IceTime) > groundFreezingTime) then
  5193                     begin 
  5194                     begin 
  5194                     FillRoundInLandWithIce(Target.X, Target.Y, iceRadius);
  5195                     FillRoundInLand(target.x, target.y, iceRadius, icePixel);
  5195                     SetAllHHToActive;                                     
  5196                     landRect.x := min(max(target.x - iceRadius, 0), LAND_WIDTH - 1);
       
  5197                     landRect.y := min(max(target.y - iceRadius, 0), LAND_HEIGHT - 1);
       
  5198                     landRect.w := min(2*iceRadius, LAND_WIDTH - landRect.x - 1);
       
  5199                     landRect.h := min(2*iceRadius, LAND_HEIGHT - landRect.y - 1);
       
  5200                     UpdateLandTexture(landRect.x, landRect.w, landRect.y, landRect.h, true);
       
  5201                             
       
  5202                     // FillRoundInLandWithIce(Target.X, Target.Y, iceRadius);
       
  5203                     SetAllHHToActive;
  5196                     IceState := iceWaitCollision;
  5204                     IceState := iceWaitCollision;
  5197                     end;
  5205                     end;
  5198 
  5206 
  5199                 if (IceState = iceCollideWithWater) and ((GameTicks - IceTime) > groundFreezingTime) then
  5207                 if (IceState = iceCollideWithWater) and ((GameTicks - IceTime) > groundFreezingTime) then
  5200                     begin                    
  5208                     begin