equal
deleted
inserted
replaced
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; |