198 Gear^.FrameTicks:= cExplFrameTicks |
198 Gear^.FrameTicks:= cExplFrameTicks |
199 end |
199 end |
200 else dec(Gear^.FrameTicks, Steps) |
200 else dec(Gear^.FrameTicks, Steps) |
201 end; |
201 end; |
202 |
202 |
|
203 procedure doStepSmoke(Gear: PVisualGear; Steps: Longword); |
|
204 begin |
|
205 Gear^.X:= Gear^.X + (cWindSpeed + Gear^.dX) * Steps; |
|
206 Gear^.Y:= Gear^.Y - (cDrownSpeed + Gear^.dY) * Steps; |
|
207 |
|
208 Gear^.dX := Gear^.dX + (cWindSpeed * _0_3 * Steps); |
|
209 //Gear^.dY := Gear^.dY - (cDrownSpeed * _0_995); |
|
210 |
|
211 if Gear^.FrameTicks <= Steps then |
|
212 if Gear^.Frame = 0 then DeleteVisualGear(Gear) |
|
213 else |
|
214 begin |
|
215 if Random(2) = 0 then dec(Gear^.Frame); |
|
216 Gear^.FrameTicks:= cExplFrameTicks |
|
217 end |
|
218 else dec(Gear^.FrameTicks, Steps) |
|
219 end; |
|
220 |
203 //////////////////////////////////////////////////////////////////////////////// |
221 //////////////////////////////////////////////////////////////////////////////// |
204 const cSorterWorkTime = 640; |
222 const cSorterWorkTime = 640; |
205 var thexchar: array[0..cMaxTeams] of |
223 var thexchar: array[0..cMaxTeams] of |
206 record |
224 record |
207 dy, ny, dw: LongInt; |
225 dy, ny, dw: LongInt; |
419 dx.isNegative:= random(2) = 0; |
438 dx.isNegative:= random(2) = 0; |
420 dx.QWordValue:= random(100000000); |
439 dx.QWordValue:= random(100000000); |
421 dy:= _0_001 * (random(85) + 95); |
440 dy:= _0_001 * (random(85) + 95); |
422 dy.isNegative:= false; |
441 dy.isNegative:= false; |
423 Frame:= 7 - random(3); |
442 Frame:= 7 - random(3); |
|
443 FrameTicks:= cExplFrameTicks * 2; |
|
444 end; |
|
445 vgtSmoke: begin |
|
446 dx:= _0_0002 * (random(45) + 10); |
|
447 dx.isNegative:= random(2) = 0; |
|
448 dy:= _0_0002 * (random(45) + 10); |
|
449 dy.isNegative:= false; |
|
450 Frame:= 7 - random(2); |
424 FrameTicks:= cExplFrameTicks * 2; |
451 FrameTicks:= cExplFrameTicks * 2; |
425 end; |
452 end; |
426 vgtHealth: begin |
453 vgtHealth: begin |
427 dx:= _0_001 * random(45); |
454 dx:= _0_001 * random(45); |
428 dx.isNegative:= random(2) = 0; |
455 dx.isNegative:= random(2) = 0; |
483 vgtCloud: DrawSprite(sprCloud, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame); |
510 vgtCloud: DrawSprite(sprCloud, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame); |
484 end; |
511 end; |
485 Gear:= Gear^.NextGear |
512 Gear:= Gear^.NextGear |
486 end; |
513 end; |
487 1: while Gear <> nil do |
514 1: while Gear <> nil do |
|
515 begin |
|
516 if not cReducedQuality then |
|
517 case Gear^.Kind of |
|
518 vgtSmoke: DrawSprite(sprSmoke, hwRound(Gear^.X) + WorldDx - 11, hwRound(Gear^.Y) + WorldDy - 11, 7 - Gear^.Frame); |
|
519 end; |
|
520 Gear:= Gear^.NextGear |
|
521 end; |
|
522 2: while Gear <> nil do |
488 begin |
523 begin |
489 if not cReducedQuality then |
524 if not cReducedQuality then |
490 case Gear^.Kind of |
525 case Gear^.Kind of |
491 vgtExplPart: DrawSprite(sprExplPart, hwRound(Gear^.X) + WorldDx - 16, hwRound(Gear^.Y) + WorldDy - 16, 7 - Gear^.Frame); |
526 vgtExplPart: DrawSprite(sprExplPart, hwRound(Gear^.X) + WorldDx - 16, hwRound(Gear^.Y) + WorldDy - 16, 7 - Gear^.Frame); |
492 vgtExplPart2: DrawSprite(sprExplPart2, hwRound(Gear^.X) + WorldDx - 16, hwRound(Gear^.Y) + WorldDy - 16, 7 - Gear^.Frame); |
527 vgtExplPart2: DrawSprite(sprExplPart2, hwRound(Gear^.X) + WorldDx - 16, hwRound(Gear^.Y) + WorldDy - 16, 7 - Gear^.Frame); |