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; |