equal
deleted
inserted
replaced
67 Gear^.Y:= Gear^.Y + (Gear^.dY + cGravity * vobVelocity) * Steps; |
67 Gear^.Y:= Gear^.Y + (Gear^.dY + cGravity * vobVelocity) * Steps; |
68 Gear^.Angle:= Gear^.Angle + Gear^.dAngle; |
68 Gear^.Angle:= Gear^.Angle + Gear^.dAngle; |
69 |
69 |
70 if hwRound(Gear^.X) < -cScreenWidth - 64 then Gear^.X:= int2hwFloat(cScreenWidth + 2048) else |
70 if hwRound(Gear^.X) < -cScreenWidth - 64 then Gear^.X:= int2hwFloat(cScreenWidth + 2048) else |
71 if hwRound(Gear^.X) > cScreenWidth + 2048 then Gear^.X:= int2hwFloat(-cScreenWidth - 64); |
71 if hwRound(Gear^.X) > cScreenWidth + 2048 then Gear^.X:= int2hwFloat(-cScreenWidth - 64); |
72 if hwRound(Gear^.Y) > 1024 then Gear^.Y:= - _128 |
72 if hwRound(Gear^.Y) > 1100 then Gear^.Y:= - _128 |
73 end; |
73 end; |
74 |
74 |
75 procedure doStepCloud(Gear: PVisualGear; Steps: Longword); |
75 procedure doStepCloud(Gear: PVisualGear; Steps: Longword); |
76 begin |
76 begin |
77 Gear^.X:= Gear^.X + (cWindSpeed * 200 + Gear^.dX) * Steps; |
77 Gear^.X:= Gear^.X + (cWindSpeed * 200 + Gear^.dX) * Steps; |
108 Frame:= random(vobFramesCount); |
108 Frame:= random(vobFramesCount); |
109 Angle:= random * 360; |
109 Angle:= random * 360; |
110 dx.isNegative:= random(2) = 0; |
110 dx.isNegative:= random(2) = 0; |
111 dx.QWordValue:= random(100000000); |
111 dx.QWordValue:= random(100000000); |
112 dy.isNegative:= false; |
112 dy.isNegative:= false; |
113 dy.QWordValue:= random(20); |
113 dy.QWordValue:= random(70000000); |
114 dAngle:= (random(2) * 2 - 1) * (1 + random) * vobVelocity / 1000 |
114 dAngle:= (random(2) * 2 - 1) * (1 + random) * vobVelocity / 1000 |
115 end; |
115 end; |
116 vgtCloud: with Result^ do |
116 vgtCloud: with Result^ do |
117 begin |
117 begin |
118 Frame:= random(4); |
118 Frame:= random(4); |
156 begin |
156 begin |
157 case Gear^.Kind of |
157 case Gear^.Kind of |
158 vgtFlake: if vobVelocity = 0 then |
158 vgtFlake: if vobVelocity = 0 then |
159 DrawSprite(sprFlake, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, nil) |
159 DrawSprite(sprFlake, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, nil) |
160 else |
160 else |
161 DrawRotated(sprFlake, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Angle); |
161 DrawRotatedF(sprFlake, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, Gear^.Angle); |
162 |
162 |
163 vgtCloud: DrawSprite(sprCloud, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, nil); |
163 vgtCloud: DrawSprite(sprCloud, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, nil); |
164 end; |
164 end; |
165 Gear:= Gear^.NextGear |
165 Gear:= Gear^.NextGear |
166 end; |
166 end; |