hedgewars/uCollisions.pas
changeset 504 13b6ebc53627
parent 498 9c8b385dc9a1
child 505 fcba7d7aea0d
equal deleted inserted replaced
503:2cfdc4bfc2be 504:13b6ebc53627
    57 with cinfos[Count] do
    57 with cinfos[Count] do
    58      begin
    58      begin
    59      X:= hwRound(Gear^.X);
    59      X:= hwRound(Gear^.X);
    60      Y:= hwRound(Gear^.Y);
    60      Y:= hwRound(Gear^.Y);
    61      Radius:= Gear^.Radius;
    61      Radius:= Gear^.Radius;
    62      FillRoundInLand(X, Y, Radius-1, $FF);
    62      ChangeRoundInLand(X, Y, Radius - 1, +1);
    63      cGear:= Gear
    63      cGear:= Gear
    64      end;
    64      end;
    65 Gear^.CollIndex:= Count;
    65 Gear^.CollIndex:= Count;
    66 inc(Count)
    66 inc(Count)
    67 end;
    67 end;
    68 
    68 
    69 procedure DeleteCI(Gear: PGear);
    69 procedure DeleteCI(Gear: PGear);
    70 begin
    70 begin
    71 if Gear^.CollIndex < Count then
    71 if Gear^.CollIndex < Count then
    72    begin
    72    begin
    73    with cinfos[Gear^.CollIndex] do FillRoundInLand(X, Y, Radius-1, 0);
    73    with cinfos[Gear^.CollIndex] do
       
    74         ChangeRoundInLand(X, Y, Radius - 1, -1);
    74    cinfos[Gear^.CollIndex]:= cinfos[Pred(Count)];
    75    cinfos[Gear^.CollIndex]:= cinfos[Pred(Count)];
    75    cinfos[Gear^.CollIndex].cGear^.CollIndex:= Gear^.CollIndex;
    76    cinfos[Gear^.CollIndex].cGear^.CollIndex:= Gear^.CollIndex;
    76    Gear^.CollIndex:= High(Longword);
    77    Gear^.CollIndex:= High(Longword);
    77    dec(Count)
    78    dec(Count)
    78    end;
    79    end;