minedmap: replace TileCoords type alias with a struct

This commit is contained in:
Matthias Schiffer 2023-07-02 15:45:18 +02:00
parent 007ce010d4
commit e5c96ecb99
Signed by: neocturne
GPG key ID: 16EF3F64CB201D9C
2 changed files with 21 additions and 5 deletions

View file

@ -1,10 +1,23 @@
use std::path::{Path, PathBuf};
use std::{
fmt::Debug,
path::{Path, PathBuf},
};
use serde::{Deserialize, Serialize};
use minedmap::{types::*, world::layer};
pub type TileCoords = (i32, i32);
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub struct TileCoords {
pub x: i32,
pub z: i32,
}
impl Debug for TileCoords {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "({}, {})", self.x, self.z)
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProcessedChunk {
@ -22,7 +35,7 @@ pub struct Config {
}
fn coord_filename(coords: TileCoords, ext: &str) -> String {
format!("r.{}.{}.{}", coords.0, coords.1, ext)
format!("r.{}.{}.{}", coords.x, coords.z, ext)
}
impl Config {

View file

@ -22,7 +22,10 @@ fn parse_region_filename(path: &Path) -> Option<TileCoords> {
return None;
};
Some((x.parse().ok()?, z.parse().ok()?))
Some(TileCoords {
x: x.parse().ok()?,
z: z.parse().ok()?,
})
}
/// Type with methods for processing the regions of a Minecraft save directory
@ -79,7 +82,7 @@ impl<'a> RegionProcessor<'a> {
fn process_region(&self, path: &Path, coords: TileCoords) -> Result<()> {
const N: u32 = (BLOCKS_PER_CHUNK * CHUNKS_PER_REGION) as u32;
println!("Processing region r.{}.{}.mca", coords.0, coords.1);
println!("Processing region r.{}.{}.mca", coords.x, coords.z);
let mut processed_region = ProcessedRegion::default();
let mut lightmap = image::GrayAlphaImage::new(N, N);