hedgewars/uCollisions.pas
changeset 11589 c453620cc6d6
parent 11532 bf86c6cb9341
child 12898 8a40ce061d94
equal deleted inserted replaced
11588:7c8fd2f66e9b 11589:c453620cc6d6
    83 with cinfos[Count] do
    83 with cinfos[Count] do
    84     begin
    84     begin
    85     X:= hwRound(Gear^.X);
    85     X:= hwRound(Gear^.X);
    86     Y:= hwRound(Gear^.Y);
    86     Y:= hwRound(Gear^.Y);
    87     Radius:= Gear^.Radius;
    87     Radius:= Gear^.Radius;
    88     ChangeRoundInLand(X, Y, Radius - 1, true, (Gear = CurrentHedgehog^.Gear) or ((Gear^.Kind = gtCase) and (Gear^.State and gstFrozen = 0)));
    88     ChangeRoundInLand(X, Y, Radius - 1, true,  ((CurrentHedgehog <> nil) and (Gear = CurrentHedgehog^.Gear)) or ((Gear^.Kind = gtCase) and (Gear^.State and gstFrozen = 0)), Gear^.Kind = gtHedgehog);
    89     cGear:= Gear
    89     cGear:= Gear
    90     end;
    90     end;
    91 Gear^.CollisionIndex:= Count;
    91 Gear^.CollisionIndex:= Count;
    92 inc(Count);
    92 inc(Count);
    93 end;
    93 end;
    95 procedure DeleteCI(Gear: PGear);
    95 procedure DeleteCI(Gear: PGear);
    96 begin
    96 begin
    97 if Gear^.CollisionIndex >= 0 then
    97 if Gear^.CollisionIndex >= 0 then
    98     begin
    98     begin
    99     with cinfos[Gear^.CollisionIndex] do
    99     with cinfos[Gear^.CollisionIndex] do
   100         ChangeRoundInLand(X, Y, Radius - 1, false, ((CurrentHedgehog <> nil) and (Gear = CurrentHedgehog^.Gear)) or ((Gear^.Kind = gtCase) and (Gear^.State and gstFrozen = 0)));
   100         ChangeRoundInLand(X, Y, Radius - 1, false, ((CurrentHedgehog <> nil) and (Gear = CurrentHedgehog^.Gear)) or ((Gear^.Kind = gtCase) and (Gear^.State and gstFrozen = 0)), Gear^.Kind = gtHedgehog);
   101     cinfos[Gear^.CollisionIndex]:= cinfos[Pred(Count)];
   101     cinfos[Gear^.CollisionIndex]:= cinfos[Pred(Count)];
   102     cinfos[Gear^.CollisionIndex].cGear^.CollisionIndex:= Gear^.CollisionIndex;
   102     cinfos[Gear^.CollisionIndex].cGear^.CollisionIndex:= Gear^.CollisionIndex;
   103     Gear^.CollisionIndex:= -1;
   103     Gear^.CollisionIndex:= -1;
   104     dec(Count)
   104     dec(Count)
   105     end;
   105     end;