equal
deleted
inserted
replaced
44 begin |
44 begin |
45 dec(FrameTicks, vobSDFrameTicks); |
45 dec(FrameTicks, vobSDFrameTicks); |
46 inc(Frame); |
46 inc(Frame); |
47 if Frame = vobSDFramesCount then Frame:= 0 |
47 if Frame = vobSDFramesCount then Frame:= 0 |
48 end; |
48 end; |
49 X:= X + (cWindSpeedf * 400 + dX + tdX) * Steps; |
49 X:= X + (cWindSpeedf * 400 + dX + tdX) * Steps * Gear^.Scale; |
50 if SuddenDeathDmg then |
50 if SuddenDeathDmg then |
51 Y:= Y + (dY + tdY + cGravityf * vobSDFallSpeed) * Steps |
51 Y:= Y + (dY + tdY + cGravityf * vobSDFallSpeed) * Steps * Gear^.Scale |
52 else |
52 else |
53 Y:= Y + (dY + tdY + cGravityf * vobFallSpeed) * Steps; |
53 Y:= Y + (dY + tdY + cGravityf * vobFallSpeed) * Steps * Gear^.Scale; |
54 Angle:= Angle + dAngle * Steps; |
54 Angle:= Angle + dAngle * Steps; |
55 if Angle > 360 then |
55 if Angle > 360 then |
56 Angle:= Angle - 360 |
56 Angle:= Angle - 360 |
57 else |
57 else |
58 if Angle < - 360 then |
58 if Angle < - 360 then |
101 //////////////////////////////////////////////////////////////////////////////// |
101 //////////////////////////////////////////////////////////////////////////////// |
102 procedure doStepCloud(Gear: PVisualGear; Steps: Longword); |
102 procedure doStepCloud(Gear: PVisualGear; Steps: Longword); |
103 var s: Longword; |
103 var s: Longword; |
104 t: real; |
104 t: real; |
105 begin |
105 begin |
106 Gear^.X:= Gear^.X + (cWindSpeedf * 750 * Gear^.dX) * Steps; |
106 Gear^.X:= Gear^.X + (cWindSpeedf * 750 * Gear^.dX * Gear^.Scale) * Steps; |
107 |
107 |
108 // up-and-down-bounce magic |
108 // up-and-down-bounce magic |
109 s := (GameTicks + Gear^.Timer) mod 4096; |
109 s := (GameTicks + Gear^.Timer) mod 4096; |
110 t := 8 * hwFloat2Float(AngleSin(s mod 2048)); |
110 t := 8 * Gear^.Scale * hwFloat2Float(AngleSin(s mod 2048)); |
111 if (s < 2048) then t := -t; |
111 if (s < 2048) then t := -t; |
112 |
112 |
113 Gear^.Y := LAND_HEIGHT - 1184 + LongInt(Gear^.Timer mod 8) + t; |
113 Gear^.Y := LAND_HEIGHT - 1184 + LongInt(Gear^.Timer mod 8) + t; |
114 |
114 |
115 if round(Gear^.X) < cLeftScreenBorder then Gear^.X:= Gear^.X + cScreenSpace else |
115 if round(Gear^.X) < cLeftScreenBorder then Gear^.X:= Gear^.X + cScreenSpace else |