Changeset 188 for trunk/LocalPlayer/IsoEngine.pas
- Timestamp:
- May 6, 2020, 11:21:12 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LocalPlayer/IsoEngine.pas
r186 r188 23 23 procedure PaintCity(x, y: integer; const CityInfo: TCityInfo; 24 24 accessory: boolean = true); 25 procedure BitBlt (Src: TBitmap; x, y, Width, Height, xSrc, ySrc,25 procedure BitBltBitmap(Src: TBitmap; x, y, Width, Height, xSrc, ySrc, 26 26 Rop: integer); 27 27 … … 39 39 FLeft, FTop, FRight, FBottom, RealTop, RealBottom, AttLoc, DefLoc, 40 40 DefHealth, FAdviceLoc: integer; 41 DataDC, MaskDC: HDC; 41 DataCanvas: TCanvas; 42 MaskCanvas: TCanvas; 42 43 function Connection4(Loc, Mask, Value: integer): integer; 43 44 function Connection8(Loc, Mask: integer): integer; … … 194 195 DitherMask.SetSize(xxt * 2, yyt * 2); 195 196 DitherMask.Canvas.FillRect(0, 0, DitherMask.Width, DitherMask.Height); 196 BitBlt (DitherMask.Canvas.Handle, 0, 0, xxt * 2, yyt * 2,197 GrExt[HGrTerrain].Mask.Canvas .Handle, 1 + 7 * (xxt * 2 + 1),197 BitBltCanvas(DitherMask.Canvas, 0, 0, xxt * 2, yyt * 2, 198 GrExt[HGrTerrain].Mask.Canvas, 1 + 7 * (xxt * 2 + 1), 198 199 1 + yyt + 15 * (yyt * 3 + 1), SRCAND); 199 200 … … 216 217 end; 217 218 for y := -1 to 6 do 218 BitBlt(LandPatch.Canvas.Handle, (x + 2) * (xxt * 2), (y + 2) * yyt, 219 xxt * 2, yyt, GrExt[HGrTerrain].Data.Canvas.Handle, xSrc, ySrc, 220 SRCCOPY); 219 BitBltCanvas(LandPatch.Canvas, (x + 2) * (xxt * 2), (y + 2) * yyt, 220 xxt * 2, yyt, GrExt[HGrTerrain].Data.Canvas, xSrc, ySrc); 221 221 for y := -2 to 6 do 222 BitBlt (LandPatch.Canvas.Handle, (x + 2) * (xxt * 2), (y + 2) * yyt, xxt,223 yyt, GrExt[HGrTerrain].Data.Canvas .Handle, xSrc + xxt, ySrc + yyt,222 BitBltCanvas(LandPatch.Canvas, (x + 2) * (xxt * 2), (y + 2) * yyt, xxt, 223 yyt, GrExt[HGrTerrain].Data.Canvas, xSrc + xxt, ySrc + yyt, 224 224 SRCPAINT); 225 225 for y := -2 to 6 do 226 BitBlt (LandPatch.Canvas.Handle, (x + 2) * (xxt * 2) + xxt, (y + 2) * yyt,227 xxt, yyt, GrExt[HGrTerrain].Data.Canvas .Handle, xSrc, ySrc + yyt,226 BitBltCanvas(LandPatch.Canvas, (x + 2) * (xxt * 2) + xxt, (y + 2) * yyt, 227 xxt, yyt, GrExt[HGrTerrain].Data.Canvas, xSrc, ySrc + yyt, 228 228 SRCPAINT); 229 229 for y := -2 to 6 do 230 BitBlt (LandPatch.Canvas.Handle, (x + 2) * (xxt * 2), (y + 2) * yyt, xxt,231 yyt, DitherMask.Canvas .Handle, xxt, yyt, SRCAND);230 BitBltCanvas(LandPatch.Canvas, (x + 2) * (xxt * 2), (y + 2) * yyt, xxt, 231 yyt, DitherMask.Canvas, xxt, yyt, SRCAND); 232 232 for y := -2 to 6 do 233 BitBlt (LandPatch.Canvas.Handle, (x + 2) * (xxt * 2) + xxt, (y + 2) * yyt,234 xxt, yyt, DitherMask.Canvas .Handle, 0, yyt, SRCAND);233 BitBltCanvas(LandPatch.Canvas, (x + 2) * (xxt * 2) + xxt, (y + 2) * yyt, 234 xxt, yyt, DitherMask.Canvas, 0, yyt, SRCAND); 235 235 end; 236 236 … … 253 253 end; 254 254 for x := -2 to 6 do 255 BitBlt(LandMore.Canvas.Handle, (x + 2) * (xxt * 2), (y + 2) * yyt, 256 xxt * 2, yyt, GrExt[HGrTerrain].Data.Canvas.Handle, xSrc, ySrc, 257 SRCCOPY); 258 BitBlt(LandMore.Canvas.Handle, xxt * 2, (y + 2) * yyt, xxt, yyt, 259 GrExt[HGrTerrain].Data.Canvas.Handle, xSrc + xxt, ySrc + yyt, SRCPAINT); 255 BitBltCanvas(LandMore.Canvas, (x + 2) * (xxt * 2), (y + 2) * yyt, 256 xxt * 2, yyt, GrExt[HGrTerrain].Data.Canvas, xSrc, ySrc); 257 BitBltCanvas(LandMore.Canvas, xxt * 2, (y + 2) * yyt, xxt, yyt, 258 GrExt[HGrTerrain].Data.Canvas, xSrc + xxt, ySrc + yyt, SRCPAINT); 260 259 for x := 0 to 7 do 261 BitBlt (LandMore.Canvas.Handle, (x + 2) * (xxt * 2) - xxt, (y + 2) * yyt,262 xxt * 2, yyt, GrExt[HGrTerrain].Data.Canvas .Handle, xSrc, ySrc + yyt,260 BitBltCanvas(LandMore.Canvas, (x + 2) * (xxt * 2) - xxt, (y + 2) * yyt, 261 xxt * 2, yyt, GrExt[HGrTerrain].Data.Canvas, xSrc, ySrc + yyt, 263 262 SRCPAINT); 264 263 for x := -2 to 6 do 265 BitBlt (LandMore.Canvas.Handle, (x + 2) * (xxt * 2), (y + 2) * yyt,266 xxt * 2, yyt, DitherMask.Canvas .Handle, 0, 0, SRCAND);264 BitBltCanvas(LandMore.Canvas, (x + 2) * (xxt * 2), (y + 2) * yyt, 265 xxt * 2, yyt, DitherMask.Canvas, 0, 0, SRCAND); 267 266 end; 268 267 … … 276 275 ySrc := 1 + yyt; 277 276 if (x >= 1) = (y >= 2) then 278 BitBlt (OceanPatch.Canvas.Handle, x * (xxt * 2), y * yyt, xxt * 2, yyt,279 GrExt[HGrTerrain].Data.Canvas .Handle, xSrc, ySrc, SRCCOPY);277 BitBltCanvas(OceanPatch.Canvas, x * (xxt * 2), y * yyt, xxt * 2, yyt, 278 GrExt[HGrTerrain].Data.Canvas, xSrc, ySrc); 280 279 if (x >= 1) and ((y < 2) or (x >= 2)) then 281 280 begin 282 BitBlt (OceanPatch.Canvas.Handle, x * (xxt * 2), y * yyt, xxt, yyt,283 GrExt[HGrTerrain].Data.Canvas .Handle, xSrc + xxt, ySrc + yyt,281 BitBltCanvas(OceanPatch.Canvas, x * (xxt * 2), y * yyt, xxt, yyt, 282 GrExt[HGrTerrain].Data.Canvas, xSrc + xxt, ySrc + yyt, 284 283 SRCPAINT); 285 BitBlt (OceanPatch.Canvas.Handle, x * (xxt * 2) + xxt, y * yyt, xxt, yyt,286 GrExt[HGrTerrain].Data.Canvas .Handle, xSrc, ySrc + yyt, SRCPAINT);284 BitBltCanvas(OceanPatch.Canvas, x * (xxt * 2) + xxt, y * yyt, xxt, yyt, 285 GrExt[HGrTerrain].Data.Canvas, xSrc, ySrc + yyt, SRCPAINT); 287 286 end; 288 BitBlt (OceanPatch.Canvas.Handle, x * (xxt * 2), y * yyt, xxt, yyt,289 DitherMask.Canvas .Handle, xxt, yyt, SRCAND);290 BitBlt (OceanPatch.Canvas.Handle, x * (xxt * 2) + xxt, y * yyt, xxt, yyt,291 DitherMask.Canvas .Handle, 0, yyt, SRCAND);287 BitBltCanvas(OceanPatch.Canvas, x * (xxt * 2), y * yyt, xxt, yyt, 288 DitherMask.Canvas, xxt, yyt, SRCAND); 289 BitBltCanvas(OceanPatch.Canvas, x * (xxt * 2) + xxt, y * yyt, xxt, yyt, 290 DitherMask.Canvas, 0, yyt, SRCAND); 292 291 end; 293 292 … … 301 300 ySrc := 1 + yyt; 302 301 if (x < 1) or (y >= 2) then 303 BitBlt (OceanMore.Canvas.Handle, x * (xxt * 2), y * yyt, xxt * 2, yyt,304 GrExt[HGrTerrain].Data.Canvas .Handle, xSrc, ySrc, SRCCOPY);302 BitBltCanvas(OceanMore.Canvas, x * (xxt * 2), y * yyt, xxt * 2, yyt, 303 GrExt[HGrTerrain].Data.Canvas, xSrc, ySrc); 305 304 if (x = 1) and (y < 2) or (x >= 2) and (y >= 1) then 306 305 begin 307 BitBlt (OceanMore.Canvas.Handle, x * (xxt * 2), y * yyt, xxt, yyt,308 GrExt[HGrTerrain].Data.Canvas .Handle, xSrc + xxt, ySrc + yyt,306 BitBltCanvas(OceanMore.Canvas, x * (xxt * 2), y * yyt, xxt, yyt, 307 GrExt[HGrTerrain].Data.Canvas, xSrc + xxt, ySrc + yyt, 309 308 SRCPAINT); 310 BitBlt (OceanMore.Canvas.Handle, x * (xxt * 2) + xxt, y * yyt, xxt, yyt,311 GrExt[HGrTerrain].Data.Canvas .Handle, xSrc, ySrc + yyt, SRCPAINT);309 BitBltCanvas(OceanMore.Canvas, x * (xxt * 2) + xxt, y * yyt, xxt, yyt, 310 GrExt[HGrTerrain].Data.Canvas, xSrc, ySrc + yyt, SRCPAINT); 312 311 end; 313 BitBlt (OceanMore.Canvas.Handle, x * (xxt * 2), y * yyt, xxt * 2, yyt,314 DitherMask.Canvas .Handle, 0, 0, SRCAND);312 BitBltCanvas(OceanMore.Canvas, x * (xxt * 2), y * yyt, xxt * 2, yyt, 313 DitherMask.Canvas, 0, 0, SRCAND); 315 314 end; 316 315 317 BitBlt (DitherMask.Canvas.Handle, 0, 0, xxt * 2, yyt * 2,318 DitherMask.Canvas .Handle, 0, 0, DSTINVERT); { invert dither mask }319 BitBlt (DitherMask.Canvas.Handle, 0, 0, xxt * 2, yyt * 2,320 GrExt[HGrTerrain].Mask.Canvas .Handle, 1, 1 + yyt, SRCPAINT);316 BitBltCanvas(DitherMask.Canvas, 0, 0, xxt * 2, yyt * 2, 317 DitherMask.Canvas, 0, 0, DSTINVERT); { invert dither mask } 318 BitBltCanvas(DitherMask.Canvas, 0, 0, xxt * 2, yyt * 2, 319 GrExt[HGrTerrain].Mask.Canvas, 1, 1 + yyt, SRCPAINT); 321 320 322 321 for x := -1 to 6 do 323 322 for y := -2 to 6 do 324 BitBlt (LandPatch.Canvas.Handle, (x + 2) * (xxt * 2), (y + 2) * yyt,325 xxt * 2, yyt, DitherMask.Canvas .Handle, 0, 0, SRCAND);323 BitBltCanvas(LandPatch.Canvas, (x + 2) * (xxt * 2), (y + 2) * yyt, 324 xxt * 2, yyt, DitherMask.Canvas, 0, 0, SRCAND); 326 325 327 326 for y := -1 to 6 do 328 327 for x := -2 to 7 do 329 BitBlt (LandMore.Canvas.Handle, (x + 2) * (xxt * 2) - xxt, (y + 2) * yyt,330 xxt * 2, yyt, DitherMask.Canvas .Handle, 0, yyt, SRCAND);331 332 BitBlt (LandPatch.Canvas.Handle, 0, 0, (xxt * 2) * 9, yyt * 9,333 LandMore.Canvas .Handle, 0, 0, SRCPAINT);328 BitBltCanvas(LandMore.Canvas, (x + 2) * (xxt * 2) - xxt, (y + 2) * yyt, 329 xxt * 2, yyt, DitherMask.Canvas, 0, yyt, SRCAND); 330 331 BitBltCanvas(LandPatch.Canvas, 0, 0, (xxt * 2) * 9, yyt * 9, 332 LandMore.Canvas, 0, 0, SRCPAINT); 334 333 335 334 for x := 0 to 3 do 336 335 for y := 0 to 3 do 337 BitBlt (OceanPatch.Canvas.Handle, x * (xxt * 2), y * yyt, xxt * 2, yyt,338 DitherMask.Canvas .Handle, 0, 0, SRCAND);336 BitBltCanvas(OceanPatch.Canvas, x * (xxt * 2), y * yyt, xxt * 2, yyt, 337 DitherMask.Canvas, 0, 0, SRCAND); 339 338 340 339 for y := 0 to 3 do 341 340 for x := 0 to 4 do 342 BitBlt (OceanMore.Canvas.Handle, x * (xxt * 2) - xxt, y * yyt, xxt * 2,343 yyt, DitherMask.Canvas .Handle, 0, yyt, SRCAND);344 345 BitBlt (OceanPatch.Canvas.Handle, 0, 0, (xxt * 2) * 4, yyt * 4,346 OceanMore.Canvas .Handle, 0, 0, SRCPAINT);341 BitBltCanvas(OceanMore.Canvas, x * (xxt * 2) - xxt, y * yyt, xxt * 2, 342 yyt, DitherMask.Canvas, 0, yyt, SRCAND); 343 344 BitBltCanvas(OceanPatch.Canvas, 0, 0, (xxt * 2) * 4, yyt * 4, 345 OceanMore.Canvas, 0, 0, SRCPAINT); 347 346 348 347 with DitherMask.Canvas do … … 351 350 FillRect(Rect(0, 0, xxt * 2, yyt)); 352 351 end; 353 BitBlt (DitherMask.Canvas.Handle, 0, 0, xxt * 2, yyt,354 GrExt[HGrTerrain].Mask.Canvas .Handle, 1, 1 + yyt, SRCCOPY);352 BitBltCanvas(DitherMask.Canvas, 0, 0, xxt * 2, yyt, 353 GrExt[HGrTerrain].Mask.Canvas, 1, 1 + yyt); 355 354 356 355 for x := 0 to 6 do 357 BitBlt (LandPatch.Canvas.Handle, (x + 2) * (xxt * 2), yyt, xxt * 2, yyt,358 DitherMask.Canvas .Handle, 0, 0, SRCAND);359 BitBlt (DitherMask.Canvas.Handle, 0, 0, xxt * 2, yyt, DitherMask.Canvas.Handle,356 BitBltCanvas(LandPatch.Canvas, (x + 2) * (xxt * 2), yyt, xxt * 2, yyt, 357 DitherMask.Canvas, 0, 0, SRCAND); 358 BitBltCanvas(DitherMask.Canvas, 0, 0, xxt * 2, yyt, DitherMask.Canvas, 360 359 0, 0, DSTINVERT); 361 360 362 361 for y := 0 to 6 do 363 BitBlt (LandPatch.Canvas.Handle, xxt * 2, (y + 2) * yyt, xxt * 2, yyt,364 DitherMask.Canvas .Handle, 0, 0, SRCAND);362 BitBltCanvas(LandPatch.Canvas, xxt * 2, (y + 2) * yyt, xxt * 2, yyt, 363 DitherMask.Canvas, 0, 0, SRCAND); 365 364 366 365 LandMore.Free; … … 502 501 end; 503 502 504 procedure TIsoMap.BitBlt (Src: TBitmap; x, y, Width, Height, xSrc, ySrc,503 procedure TIsoMap.BitBltBitmap(Src: TBitmap; x, y, Width, Height, xSrc, ySrc, 505 504 Rop: integer); 506 505 begin … … 524 523 exit; 525 524 526 LCLIntf.BitBlt(FOutput.Canvas.Handle, x, y, Width, Height, Src.Canvas.Handle, 527 xSrc, ySrc, Rop); 525 BitBltCanvas(FOutput.Canvas, x, y, Width, Height, Src.Canvas, xSrc, ySrc, Rop); 528 526 end; 529 527 530 528 procedure TIsoMap.Sprite(HGr, xDst, yDst, Width, Height, xGr, yGr: integer); 531 529 begin 532 BitBlt (GrExt[HGr].Mask, xDst, yDst, Width, Height, xGr, yGr, SRCAND);533 BitBlt (GrExt[HGr].Data, xDst, yDst, Width, Height, xGr, yGr, SRCPAINT);530 BitBltBitmap(GrExt[HGr].Mask, xDst, yDst, Width, Height, xGr, yGr, SRCAND); 531 BitBltBitmap(GrExt[HGr].Data, xDst, yDst, Width, Height, xGr, yGr, SRCPAINT); 534 532 end; 535 533 … … 564 562 exit; 565 563 566 LCLIntf.BitBlt(FOutput.Canvas.Handle, xDst, yDst, Width, Height, MaskDC, xSrc, ySrc, SRCAND);564 BitBltCanvas(FOutput.Canvas, xDst, yDst, Width, Height, MaskCanvas, xSrc, ySrc, SRCAND); 567 565 if not PureBlack then 568 LCLIntf.BitBlt(FOutput.Canvas.Handle, xDst, yDst, Width, Height, DataDC, xSrc, ySrc, 569 SRCPAINT); 566 BitBltCanvas(FOutput.Canvas, xDst, yDst, Width, Height, DataCanvas, xSrc, ySrc, SRCPAINT); 570 567 end; 571 568 … … 615 612 xGr := 121 + j mod 7 * 9; 616 613 yGr := 1 + j div 7 * 9; 617 BitBlt (GrExt[HGrSystem].Mask, x + xsh + 3, y + ysh + 9, 8, 8, xGr,614 BitBltBitmap(GrExt[HGrSystem].Mask, x + xsh + 3, y + ysh + 9, 8, 8, xGr, 618 615 yGr, SRCAND); 619 616 Sprite(HGrSystem, x + xsh + 2, y + ysh + 8, 8, 8, xGr, yGr); … … 822 819 exit; 823 820 824 BitBlt (GrExt[HGrTerrain].Data, x + xxt div 2, y, xxt, yyt,821 BitBltBitmap(GrExt[HGrTerrain].Data, x + xxt div 2, y, xxt, yyt, 825 822 1 + (Conn shr 6 + Conn and 1 shl 2) * (xxt * 2 + 1), 826 823 1 + yyt + (16 + Tile and fTerrain) * (yyt * 3 + 1), SRCPAINT); 827 BitBlt (GrExt[HGrTerrain].Data, x + xxt, y + yyt div 2, xxt, yyt,824 BitBltBitmap(GrExt[HGrTerrain].Data, x + xxt, y + yyt div 2, xxt, yyt, 828 825 1 + (Conn and 7) * (xxt * 2 + 1) + xxt, 829 826 1 + yyt * 2 + (16 + Tile and fTerrain) * (yyt * 3 + 1), SRCPAINT); 830 BitBlt (GrExt[HGrTerrain].Data, x + xxt div 2, y + yyt, xxt, yyt,827 BitBltBitmap(GrExt[HGrTerrain].Data, x + xxt div 2, y + yyt, xxt, yyt, 831 828 1 + (Conn shr 2 and 7) * (xxt * 2 + 1) + xxt, 832 829 1 + yyt + (16 + Tile and fTerrain) * (yyt * 3 + 1), SRCPAINT); 833 BitBlt (GrExt[HGrTerrain].Data, x, y + yyt div 2, xxt, yyt,830 BitBltBitmap(GrExt[HGrTerrain].Data, x, y + yyt div 2, xxt, yyt, 834 831 1 + (Conn shr 4 and 7) * (xxt * 2 + 1), 835 832 1 + yyt * 2 + (16 + Tile and fTerrain) * (yyt * 3 + 1), SRCPAINT); 836 833 Conn := Connection4(Loc, fTerrain, fUNKNOWN); { dither to black } 837 834 if Conn and 1 <> 0 then 838 BitBlt (GrExt[HGrTerrain].Mask, x + xxt, y, xxt, yyt, 1 + 7 * (xxt * 2 + 1) +835 BitBltBitmap(GrExt[HGrTerrain].Mask, x + xxt, y, xxt, yyt, 1 + 7 * (xxt * 2 + 1) + 839 836 xxt, 1 + yyt + 15 * (yyt * 3 + 1), SRCAND); 840 837 if Conn and 2 <> 0 then 841 BitBlt (GrExt[HGrTerrain].Mask, x + xxt, y + yyt, xxt, yyt,838 BitBltBitmap(GrExt[HGrTerrain].Mask, x + xxt, y + yyt, xxt, yyt, 842 839 1 + 7 * (xxt * 2 + 1) + xxt, 1 + yyt * 2 + 15 * (yyt * 3 + 1), SRCAND); 843 840 if Conn and 4 <> 0 then 844 BitBlt (GrExt[HGrTerrain].Mask, x, y + yyt, xxt, yyt, 1 + 7 * (xxt * 2 + 1),841 BitBltBitmap(GrExt[HGrTerrain].Mask, x, y + yyt, xxt, yyt, 1 + 7 * (xxt * 2 + 1), 845 842 1 + yyt * 2 + 15 * (yyt * 3 + 1), SRCAND); 846 843 if Conn and 8 <> 0 then 847 BitBlt (GrExt[HGrTerrain].Mask, x, y, xxt, yyt, 1 + 7 * (xxt * 2 + 1),844 BitBltBitmap(GrExt[HGrTerrain].Mask, x, y, xxt, yyt, 1 + 7 * (xxt * 2 + 1), 848 845 1 + yyt + 15 * (yyt * 3 + 1), SRCAND); 849 846 end; … … 1010 1007 if BordersOK and (1 shl p1) = 0 then 1011 1008 begin 1012 // Clearing before bitbltSRCCOPY shouldn't be neccesary but for some1009 // Clearing before BitBltBitmap SRCCOPY shouldn't be neccesary but for some 1013 1010 // reason without it code works different then under Delphi 1014 1011 Borders.Canvas.FillRect(Bounds(0, p1 * (yyt * 2), xxt * 2, yyt * 2)); 1015 1012 1016 LCLIntf.BitBlt(Borders.Canvas.Handle, 0, p1 * (yyt * 2), xxt * 2,1017 yyt * 2, GrExt[HGrTerrain].Data.Canvas .Handle,1018 1 + 8 * (xxt * 2 + 1), 1 + yyt + 16 * (yyt * 3 + 1) , SRCCOPY);1013 BitBltCanvas(Borders.Canvas, 0, p1 * (yyt * 2), xxt * 2, 1014 yyt * 2, GrExt[HGrTerrain].Data.Canvas, 1015 1 + 8 * (xxt * 2 + 1), 1 + yyt + 16 * (yyt * 3 + 1)); 1019 1016 Borders.BeginUpdate; 1020 1017 for dy := 0 to yyt * 2 - 1 do … … 1046 1043 if p2 <> p1 then 1047 1044 begin 1048 BitBlt (GrExt[HGrTerrain].Mask, x + dx * xxt, y + dy * yyt, xxt,1045 BitBltBitmap(GrExt[HGrTerrain].Mask, x + dx * xxt, y + dy * yyt, xxt, 1049 1046 yyt, 1 + 8 * (xxt * 2 + 1) + dx * xxt, 1050 1047 1 + yyt + 16 * (yyt * 3 + 1) + dy * yyt, SRCAND); 1051 BitBlt (Borders, x + dx * xxt, y + dy * yyt, xxt, yyt, dx * xxt,1048 BitBltBitmap(Borders, x + dx * xxt, y + dy * yyt, xxt, yyt, dx * xxt, 1052 1049 p1 * (yyt * 2) + dy * yyt, SRCPAINT); 1053 1050 end … … 1490 1487 bix := 0 1491 1488 end; 1492 BitBlt (OceanPatch, x + dx * xxt, y + dy * yyt, xxt, yyt,1489 BitBltBitmap(OceanPatch, x + dx * xxt, y + dy * yyt, xxt, yyt, 1493 1490 Aix * (xxt * 2) + (dx + dy + 1) and 1 * xxt, bix * yyt, SRCCOPY) 1494 1491 end … … 1538 1535 bix := Aix; 1539 1536 if Aix = -1 then 1540 BitBlt (GrExt[HGrTerrain].Data, x + dx * xxt, y + dy * yyt, xxt,1537 BitBltBitmap(GrExt[HGrTerrain].Data, x + dx * xxt, y + dy * yyt, xxt, 1541 1538 yyt, 1 + 6 * (xxt * 2 + 1) + (dx + dy + 1) and 1 * xxt, 1 + yyt, 1542 1539 SRCCOPY) // arctic <-> ocean 1543 1540 else if bix = -1 then 1544 BitBlt (GrExt[HGrTerrain].Data, x + dx * xxt, y + dy * yyt, xxt,1541 BitBltBitmap(GrExt[HGrTerrain].Data, x + dx * xxt, y + dy * yyt, xxt, 1545 1542 yyt, 1 + 6 * (xxt * 2 + 1) + xxt - (dx + dy + 1) and 1 * xxt, 1546 1543 1 + yyt * 2, SRCCOPY) // arctic <-> ocean 1547 1544 else 1548 BitBlt (LandPatch, x + dx * xxt, y + dy * yyt, xxt, yyt,1545 BitBltBitmap(LandPatch, x + dx * xxt, y + dy * yyt, xxt, yyt, 1549 1546 Aix * (xxt * 2) + (dx + dy + 1) and 1 * xxt, bix * yyt, SRCCOPY) 1550 1547 end 1551 1548 end; 1552 1549 1553 Data DC := GrExt[HGrTerrain].Data.Canvas.Handle;1554 Mask DC := GrExt[HGrTerrain].Mask.Canvas.Handle;1550 DataCanvas := GrExt[HGrTerrain].Data.Canvas; 1551 MaskCanvas := GrExt[HGrTerrain].Mask.Canvas; 1555 1552 for dy := -2 to ny + 1 do 1556 1553 for dx := -1 to nx do
Note:
See TracChangeset
for help on using the changeset viewer.