minedmap: separate collection for region list from preprocessing

Preparation for parallel processing, as well as a fix for regions
missing from later steps when the initial processing failed (rather than
using the processed data from a previous run).
This commit is contained in:
Matthias Schiffer 2023-08-14 14:27:52 +02:00
parent d5ac38ed9b
commit c1260a63b5
Signed by: neocturne
GPG key ID: 16EF3F64CB201D9C
3 changed files with 44 additions and 41 deletions

View file

@ -10,7 +10,7 @@ use std::path::PathBuf;
use anyhow::Result;
use clap::Parser;
use common::{Config, TileCoords};
use common::Config;
use metadata_writer::MetadataWriter;
use region_processor::RegionProcessor;
use tile_mipmapper::TileMipmapper;
@ -28,11 +28,7 @@ fn main() -> Result<()> {
let args = Args::parse();
let config = Config::new(args);
let mut regions = RegionProcessor::new(&config).run()?;
// Sort regions in a zig-zag pattern to optimize cache usage
regions.sort_unstable_by_key(|&TileCoords { x, z }| (x, if x % 2 == 0 { z } else { -z }));
let regions = RegionProcessor::new(&config).run()?;
TileRenderer::new(&config).run(&regions)?;
let tiles = TileMipmapper::new(&config).run(&regions)?;
MetadataWriter::new(&config).run(tiles)?;