equal
deleted
inserted
replaced
233 Gear^.FrameTicks:= cExplFrameTicks |
233 Gear^.FrameTicks:= cExplFrameTicks |
234 end |
234 end |
235 else dec(Gear^.FrameTicks, Steps) |
235 else dec(Gear^.FrameTicks, Steps) |
236 end; |
236 end; |
237 |
237 |
|
238 procedure doStepDust(Gear: PVisualGear; Steps: Longword); |
|
239 begin |
|
240 Gear^.X:= Gear^.X + (cWindSpeed + (cWindSpeed * _0_03 * Steps) + Gear^.dX) * Steps; |
|
241 Gear^.Y:= Gear^.Y - (Gear^.dY) * Steps; |
|
242 |
|
243 Gear^.dX := Gear^.dX - (Gear^.dX * _0_005 * Steps); |
|
244 Gear^.dY := Gear^.dY - (cDrownSpeed * _0_001 * Steps); |
|
245 |
|
246 if Gear^.FrameTicks <= Steps then |
|
247 if Gear^.Frame = 0 then DeleteVisualGear(Gear) |
|
248 else |
|
249 begin |
|
250 dec(Gear^.Frame); |
|
251 Gear^.FrameTicks:= cExplFrameTicks |
|
252 end |
|
253 else dec(Gear^.FrameTicks, Steps) |
|
254 end; |
|
255 |
238 //////////////////////////////////////////////////////////////////////////////// |
256 //////////////////////////////////////////////////////////////////////////////// |
239 const cSorterWorkTime = 640; |
257 const cSorterWorkTime = 640; |
240 var thexchar: array[0..cMaxTeams] of |
258 var thexchar: array[0..cMaxTeams] of |
241 record |
259 record |
242 dy, ny, dw: LongInt; |
260 dy, ny, dw: LongInt; |
367 @doStepSpeechBubble, |
385 @doStepSpeechBubble, |
368 @doStepBubble, |
386 @doStepBubble, |
369 @doStepSteam, |
387 @doStepSteam, |
370 @doStepSmoke, |
388 @doStepSmoke, |
371 @doStepHealth, |
389 @doStepHealth, |
372 @doStepShell |
390 @doStepShell, |
|
391 @doStepDust |
373 ); |
392 ); |
374 |
393 |
375 function AddVisualGear(X, Y: LongInt; Kind: TVisualGearType): PVisualGear; |
394 function AddVisualGear(X, Y: LongInt; Kind: TVisualGearType): PVisualGear; |
376 var gear: PVisualGear; |
395 var gear: PVisualGear; |
377 t: Longword; |
396 t: Longword; |
473 dx:= _0_001 * random(45); |
492 dx:= _0_001 * random(45); |
474 dx.isNegative:= random(2) = 0; |
493 dx.isNegative:= random(2) = 0; |
475 dy:= _0_001 * (random(20) + 25); |
494 dy:= _0_001 * (random(20) + 25); |
476 Frame:= 0; |
495 Frame:= 0; |
477 FrameTicks:= random(750) + 1250; |
496 FrameTicks:= random(750) + 1250; |
|
497 end; |
|
498 vgtDust: begin |
|
499 dx:= _0_005 * (random(15) + 10); |
|
500 dx.isNegative:= random(2) = 0; |
|
501 dy:= _0_001 * (random(40) + 20); |
|
502 Frame:= 7 - random(2); |
|
503 FrameTicks:= random(20) + 15; |
478 end; |
504 end; |
479 end; |
505 end; |
480 |
506 |
481 if VisualGearsList <> nil then |
507 if VisualGearsList <> nil then |
482 begin |
508 begin |
533 1: while Gear <> nil do |
559 1: while Gear <> nil do |
534 begin |
560 begin |
535 if not cReducedQuality then |
561 if not cReducedQuality then |
536 case Gear^.Kind of |
562 case Gear^.Kind of |
537 vgtSmoke: DrawSprite(sprSmoke, hwRound(Gear^.X) + WorldDx - 11, hwRound(Gear^.Y) + WorldDy - 11, 7 - Gear^.Frame); |
563 vgtSmoke: DrawSprite(sprSmoke, hwRound(Gear^.X) + WorldDx - 11, hwRound(Gear^.Y) + WorldDy - 11, 7 - Gear^.Frame); |
|
564 vgtDust: DrawSprite(sprDust, hwRound(Gear^.X) + WorldDx - 11, hwRound(Gear^.Y) + WorldDy - 11, 7 - Gear^.Frame); |
538 end; |
565 end; |
539 Gear:= Gear^.NextGear |
566 Gear:= Gear^.NextGear |
540 end; |
567 end; |
541 2: while Gear <> nil do |
568 2: while Gear <> nil do |
542 begin |
569 begin |