equal
deleted
inserted
replaced
228 if ((Land[t, i] and lfBasic) <> 0) then |
228 if ((Land[t, i] and lfBasic) <> 0) then |
229 begin |
229 begin |
230 inc(cnt); |
230 inc(cnt); |
231 if (cReducedQuality and rqBlurryLand) = 0 then |
231 if (cReducedQuality and rqBlurryLand) = 0 then |
232 LandPixels[t, i]:= LandBackPixel(i, t) |
232 LandPixels[t, i]:= LandBackPixel(i, t) |
233 else |
233 else |
234 LandPixels[t div 2, i div 2]:= LandBackPixel(i, t) |
234 LandPixels[t div 2, i div 2]:= LandBackPixel(i, t) |
235 end |
235 end |
236 else |
236 else |
237 if ((Land[t, i] and lfObject) <> 0) then |
237 if ((Land[t, i] and lfObject) <> 0) then |
238 if (cReducedQuality and rqBlurryLand) = 0 then |
238 if (cReducedQuality and rqBlurryLand) = 0 then |
246 if ((Land[t, i] and lfBasic) <> 0) then |
246 if ((Land[t, i] and lfBasic) <> 0) then |
247 begin |
247 begin |
248 inc(cnt); |
248 inc(cnt); |
249 if (cReducedQuality and rqBlurryLand) = 0 then |
249 if (cReducedQuality and rqBlurryLand) = 0 then |
250 LandPixels[t, i]:= LandBackPixel(i, t) |
250 LandPixels[t, i]:= LandBackPixel(i, t) |
251 else |
251 else |
252 LandPixels[t div 2, i div 2]:= LandBackPixel(i, t) |
252 LandPixels[t div 2, i div 2]:= LandBackPixel(i, t) |
253 end |
253 end |
254 else |
254 else |
255 if ((Land[t, i] and lfObject) <> 0) then |
255 if ((Land[t, i] and lfObject) <> 0) then |
256 if (cReducedQuality and rqBlurryLand) = 0 then |
256 if (cReducedQuality and rqBlurryLand) = 0 then |
282 if (t and LAND_HEIGHT_MASK) = 0 then |
282 if (t and LAND_HEIGHT_MASK) = 0 then |
283 for i:= max(x - dx, 0) to min(x + dx, LAND_WIDTH - 1) do |
283 for i:= max(x - dx, 0) to min(x + dx, LAND_WIDTH - 1) do |
284 if ((Land[t, i] and lfBasic) <> 0) or ((Land[t, i] and lfObject) <> 0) then |
284 if ((Land[t, i] and lfBasic) <> 0) or ((Land[t, i] and lfObject) <> 0) then |
285 begin |
285 begin |
286 if (cReducedQuality and rqBlurryLand) = 0 then |
286 if (cReducedQuality and rqBlurryLand) = 0 then |
287 LandPixels[t, i]:= cExplosionBorderColor |
287 LandPixels[t, i]:= cExplosionBorderColor |
288 else |
288 else |
289 LandPixels[t div 2, i div 2]:= cExplosionBorderColor; |
289 LandPixels[t div 2, i div 2]:= cExplosionBorderColor; |
290 Land[t, i]:= Land[t, i] or lfDamaged; |
290 Land[t, i]:= Land[t, i] or lfDamaged; |
291 //Despeckle(i, t); |
291 //Despeckle(i, t); |
292 LandDirty[t div 32, i div 32]:= 1; |
292 LandDirty[t div 32, i div 32]:= 1; |
311 if (t and LAND_HEIGHT_MASK) = 0 then |
311 if (t and LAND_HEIGHT_MASK) = 0 then |
312 for i:= max(x - dy, 0) to min(x + dy, LAND_WIDTH - 1) do |
312 for i:= max(x - dy, 0) to min(x + dy, LAND_WIDTH - 1) do |
313 if ((Land[t, i] and lfBasic) <> 0) or ((Land[t, i] and lfObject) <> 0) then |
313 if ((Land[t, i] and lfBasic) <> 0) or ((Land[t, i] and lfObject) <> 0) then |
314 begin |
314 begin |
315 if (cReducedQuality and rqBlurryLand) = 0 then |
315 if (cReducedQuality and rqBlurryLand) = 0 then |
316 LandPixels[t, i]:= cExplosionBorderColor |
316 LandPixels[t, i]:= cExplosionBorderColor |
317 else |
317 else |
318 LandPixels[t div 2, i div 2]:= cExplosionBorderColor; |
318 LandPixels[t div 2, i div 2]:= cExplosionBorderColor; |
319 |
319 |
320 Land[t, i]:= Land[t, i] or lfDamaged; |
320 Land[t, i]:= Land[t, i] or lfDamaged; |
321 //Despeckle(i, y - dy); |
321 //Despeckle(i, y - dy); |
411 if (Land[ty, tx] and lfBasic) <> 0 then |
411 if (Land[ty, tx] and lfBasic) <> 0 then |
412 if (cReducedQuality and rqBlurryLand) = 0 then |
412 if (cReducedQuality and rqBlurryLand) = 0 then |
413 LandPixels[ty, tx]:= LandBackPixel(tx, ty) |
413 LandPixels[ty, tx]:= LandBackPixel(tx, ty) |
414 else |
414 else |
415 LandPixels[ty div 2, tx div 2]:= LandBackPixel(tx, ty) |
415 LandPixels[ty div 2, tx div 2]:= LandBackPixel(tx, ty) |
416 else |
416 else |
417 if (Land[ty, tx] and lfObject) <> 0 then |
417 if (Land[ty, tx] and lfObject) <> 0 then |
418 if (cReducedQuality and rqBlurryLand) = 0 then |
418 if (cReducedQuality and rqBlurryLand) = 0 then |
419 LandPixels[ty, tx]:= 0 |
419 LandPixels[ty, tx]:= 0 |
420 else |
420 else |
421 LandPixels[ty div 2, tx div 2]:= 0; |
421 LandPixels[ty div 2, tx div 2]:= 0; |
471 Y:= Y + dY; |
471 Y:= Y + dY; |
472 tx:= hwRound(X); |
472 tx:= hwRound(X); |
473 ty:= hwRound(Y); |
473 ty:= hwRound(Y); |
474 if ((ty and LAND_HEIGHT_MASK) = 0) and |
474 if ((ty and LAND_HEIGHT_MASK) = 0) and |
475 ((tx and LAND_WIDTH_MASK) = 0) and |
475 ((tx and LAND_WIDTH_MASK) = 0) and |
476 (((Land[ty, tx] and lfBasic) <> 0) or |
476 (((Land[ty, tx] and lfBasic) <> 0) or |
477 ((Land[ty, tx] and lfObject) <> 0)) then |
477 ((Land[ty, tx] and lfObject) <> 0)) then |
478 begin |
478 begin |
479 Land[ty, tx]:= Land[ty, tx] or lfDamaged; |
479 Land[ty, tx]:= Land[ty, tx] or lfDamaged; |
480 if (cReducedQuality and rqBlurryLand) = 0 then |
480 if (cReducedQuality and rqBlurryLand) = 0 then |
481 LandPixels[ty, tx]:= cExplosionBorderColor |
481 LandPixels[ty, tx]:= cExplosionBorderColor |
497 Y:= Y + dY; |
497 Y:= Y + dY; |
498 tx:= hwRound(X); |
498 tx:= hwRound(X); |
499 ty:= hwRound(Y); |
499 ty:= hwRound(Y); |
500 if ((ty and LAND_HEIGHT_MASK) = 0) and |
500 if ((ty and LAND_HEIGHT_MASK) = 0) and |
501 ((tx and LAND_WIDTH_MASK) = 0) and |
501 ((tx and LAND_WIDTH_MASK) = 0) and |
502 (((Land[ty, tx] and lfBasic) <> 0) or |
502 (((Land[ty, tx] and lfBasic) <> 0) or |
503 ((Land[ty, tx] and lfObject) <> 0)) then |
503 ((Land[ty, tx] and lfObject) <> 0)) then |
504 begin |
504 begin |
505 Land[ty, tx]:= Land[ty, tx] or lfDamaged; |
505 Land[ty, tx]:= Land[ty, tx] or lfDamaged; |
506 if (cReducedQuality and rqBlurryLand) = 0 then |
506 if (cReducedQuality and rqBlurryLand) = 0 then |
507 LandPixels[ty, tx]:= cExplosionBorderColor |
507 LandPixels[ty, tx]:= cExplosionBorderColor |
523 if (Land[ty, tx] and lfBasic) <> 0 then |
523 if (Land[ty, tx] and lfBasic) <> 0 then |
524 if (cReducedQuality and rqBlurryLand) = 0 then |
524 if (cReducedQuality and rqBlurryLand) = 0 then |
525 LandPixels[ty, tx]:= LandBackPixel(tx, ty) |
525 LandPixels[ty, tx]:= LandBackPixel(tx, ty) |
526 else |
526 else |
527 LandPixels[ty div 2, tx div 2]:= LandBackPixel(tx, ty) |
527 LandPixels[ty div 2, tx div 2]:= LandBackPixel(tx, ty) |
528 else |
528 else |
529 if (Land[ty, tx] and lfObject) <> 0 then |
529 if (Land[ty, tx] and lfObject) <> 0 then |
530 if (cReducedQuality and rqBlurryLand) = 0 then |
530 if (cReducedQuality and rqBlurryLand) = 0 then |
531 LandPixels[ty, tx]:= 0 |
531 LandPixels[ty, tx]:= 0 |
532 else |
532 else |
533 LandPixels[ty div 2, tx div 2]:= 0; |
533 LandPixels[ty div 2, tx div 2]:= 0; |
541 Y:= Y + dY; |
541 Y:= Y + dY; |
542 tx:= hwRound(X); |
542 tx:= hwRound(X); |
543 ty:= hwRound(Y); |
543 ty:= hwRound(Y); |
544 if ((ty and LAND_HEIGHT_MASK) = 0) and |
544 if ((ty and LAND_HEIGHT_MASK) = 0) and |
545 ((tx and LAND_WIDTH_MASK) = 0) and |
545 ((tx and LAND_WIDTH_MASK) = 0) and |
546 (((Land[ty, tx] and lfBasic) <> 0) or |
546 (((Land[ty, tx] and lfBasic) <> 0) or |
547 ((Land[ty, tx] and lfObject) <> 0)) then |
547 ((Land[ty, tx] and lfObject) <> 0)) then |
548 begin |
548 begin |
549 Land[ty, tx]:= Land[ty, tx] or lfDamaged; |
549 Land[ty, tx]:= Land[ty, tx] or lfDamaged; |
550 if (cReducedQuality and rqBlurryLand) = 0 then |
550 if (cReducedQuality and rqBlurryLand) = 0 then |
551 LandPixels[ty, tx]:= cExplosionBorderColor |
551 LandPixels[ty, tx]:= cExplosionBorderColor |
568 Y:= Y + dY; |
568 Y:= Y + dY; |
569 tx:= hwRound(X); |
569 tx:= hwRound(X); |
570 ty:= hwRound(Y); |
570 ty:= hwRound(Y); |
571 if ((ty and LAND_HEIGHT_MASK) = 0) and |
571 if ((ty and LAND_HEIGHT_MASK) = 0) and |
572 ((tx and LAND_WIDTH_MASK) = 0) and |
572 ((tx and LAND_WIDTH_MASK) = 0) and |
573 (((Land[ty, tx] and lfBasic) <> 0) or |
573 (((Land[ty, tx] and lfBasic) <> 0) or |
574 ((Land[ty, tx] and lfObject) <> 0)) then |
574 ((Land[ty, tx] and lfObject) <> 0)) then |
575 begin |
575 begin |
576 Land[ty, tx]:= Land[ty, tx] or lfDamaged; |
576 Land[ty, tx]:= Land[ty, tx] or lfDamaged; |
577 if (cReducedQuality and rqBlurryLand) = 0 then |
577 if (cReducedQuality and rqBlurryLand) = 0 then |
578 LandPixels[ty, tx]:= cExplosionBorderColor |
578 LandPixels[ty, tx]:= cExplosionBorderColor |
686 end; |
686 end; |
687 |
687 |
688 if c < 4 then // 0-3 neighbours |
688 if c < 4 then // 0-3 neighbours |
689 begin |
689 begin |
690 if (cReducedQuality and rqBlurryLand) = 0 then |
690 if (cReducedQuality and rqBlurryLand) = 0 then |
691 if (Land[Y, X] and lfBasic) <> 0 then |
691 if (Land[Y, X] and lfBasic) <> 0 then |
692 LandPixels[Y, X]:= LandBackPixel(X, Y) |
692 LandPixels[Y, X]:= LandBackPixel(X, Y) |
693 else |
693 else |
694 LandPixels[Y, X]:= 0 |
694 LandPixels[Y, X]:= 0 |
695 else |
695 else |
696 if (Land[Y, X] and lfBasic) <> 0 then |
696 if (Land[Y, X] and lfBasic) <> 0 then |
697 LandPixels[Y div 2, X div 2]:= LandBackPixel(X, Y) |
697 LandPixels[Y div 2, X div 2]:= LandBackPixel(X, Y) |
698 else |
698 else |
699 LandPixels[Y div 2, X div 2]:= 0; |
699 LandPixels[Y div 2, X div 2]:= 0; |
700 |
700 |
701 Land[Y, X]:= 0; |
701 Land[Y, X]:= 0; |
702 exit(true); |
702 exit(true); |