hedgewars/uLand.pas
changeset 3617 1df21e06b8ba
parent 3612 b50215a8a43d
child 3630 2c7a9d5aa18c
equal deleted inserted replaced
3616:85d69ddb41b6 3617:1df21e06b8ba
  1298 
  1298 
  1299 UpdateLandTexture(0, LAND_WIDTH, 0, LAND_HEIGHT);
  1299 UpdateLandTexture(0, LAND_WIDTH, 0, LAND_HEIGHT);
  1300 end;
  1300 end;
  1301 
  1301 
  1302 function GenPreview: TPreview;
  1302 function GenPreview: TPreview;
  1303 var x, y, xx, yy, t, bit: LongInt;
  1303 var x, y, xx, yy, t, bit, cbit, lh, lw: LongInt;
  1304     Preview: TPreview;
  1304     Preview: TPreview;
  1305 begin
  1305 begin
  1306     WriteLnToConsole('Generating preview...');
  1306     WriteLnToConsole('Generating preview...');
  1307     case cMapGen of
  1307     case cMapGen of
  1308         0: GenBlank(EdgeTemplates[SelectTemplate]);
  1308         0: GenBlank(EdgeTemplates[SelectTemplate]);
  1309         1: GenMaze;
  1309         1: GenMaze;
  1310     end;
  1310     end;
  1311 
  1311 
       
  1312     lh:= LAND_HEIGHT div 128;
       
  1313     lw:= LAND_WIDTH div 32;
  1312     for y:= 0 to 127 do
  1314     for y:= 0 to 127 do
  1313         for x:= 0 to 31 do
  1315         for x:= 0 to 31 do
  1314         begin
  1316         begin
  1315             Preview[y, x]:= 0;
  1317             Preview[y, x]:= 0;
  1316             for bit:= 0 to 7 do
  1318             for bit:= 0 to 7 do
  1317             begin
  1319             begin
  1318                 t:= 0;
  1320                 t:= 0;
  1319                 for yy:= y * (LAND_HEIGHT div 128) to y * (LAND_HEIGHT div 128) + 7 do
  1321                 cbit:= bit * 8;
  1320                     for xx:= x * (LAND_WIDTH div 32) + bit * 8 to x * (LAND_WIDTH div 32) + bit * 8 + 7 do
  1322                 for yy:= y * lh to y * lh + 7 do
       
  1323                     for xx:= x * lw + cbit to x * lw + cbit + 7 do
  1321                         if Land[yy, xx] <> 0 then inc(t);
  1324                         if Land[yy, xx] <> 0 then inc(t);
  1322                 if t > 8 then
  1325                 if t > 8 then
  1323                     Preview[y, x]:= Preview[y, x] or ($80 shr bit);
  1326                     Preview[y, x]:= Preview[y, x] or ($80 shr bit);
  1324             end;
  1327             end;
  1325         end;
  1328         end;