equal
deleted
inserted
replaced
80 with cinfos[Count] do |
80 with cinfos[Count] do |
81 begin |
81 begin |
82 X:= hwRound(Gear^.X); |
82 X:= hwRound(Gear^.X); |
83 Y:= hwRound(Gear^.Y); |
83 Y:= hwRound(Gear^.Y); |
84 Radius:= Gear^.Radius; |
84 Radius:= Gear^.Radius; |
85 ChangeRoundInLand(X, Y, Radius - 1, true); |
85 ChangeRoundInLand(X, Y, Radius - 1, true, Gear = CurrentHedgehog^.Gear); |
86 cGear:= Gear |
86 cGear:= Gear |
87 end; |
87 end; |
88 Gear^.CollisionIndex:= Count; |
88 Gear^.CollisionIndex:= Count; |
89 inc(Count); |
89 inc(Count); |
90 // mines are the easiest way to overflow collision |
90 // mines are the easiest way to overflow collision |
101 procedure DeleteCI(Gear: PGear); |
101 procedure DeleteCI(Gear: PGear); |
102 begin |
102 begin |
103 if Gear^.CollisionIndex >= 0 then |
103 if Gear^.CollisionIndex >= 0 then |
104 begin |
104 begin |
105 with cinfos[Gear^.CollisionIndex] do |
105 with cinfos[Gear^.CollisionIndex] do |
106 ChangeRoundInLand(X, Y, Radius - 1, false); |
106 ChangeRoundInLand(X, Y, Radius - 1, false, Gear = CurrentHedgehog^.Gear); |
107 cinfos[Gear^.CollisionIndex]:= cinfos[Pred(Count)]; |
107 cinfos[Gear^.CollisionIndex]:= cinfos[Pred(Count)]; |
108 cinfos[Gear^.CollisionIndex].cGear^.CollisionIndex:= Gear^.CollisionIndex; |
108 cinfos[Gear^.CollisionIndex].cGear^.CollisionIndex:= Gear^.CollisionIndex; |
109 Gear^.CollisionIndex:= -1; |
109 Gear^.CollisionIndex:= -1; |
110 dec(Count) |
110 dec(Count) |
111 end; |
111 end; |