summaryrefslogtreecommitdiff
path: root/src/proc_gen/tileset_loader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/proc_gen/tileset_loader.rs')
-rw-r--r--src/proc_gen/tileset_loader.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/proc_gen/tileset_loader.rs b/src/proc_gen/tileset_loader.rs
index 925b3ac..acb4d65 100644
--- a/src/proc_gen/tileset_loader.rs
+++ b/src/proc_gen/tileset_loader.rs
@@ -26,8 +26,8 @@ fn load_img(path: &Path) -> Result<(Vec<u8>, u32, u32), Box<dyn Error>> {
Ok((buf, info.width, info.height))
}
-#[derive(Deserialize, Debug)]
-pub struct TilesetDimensions {
+#[derive(Deserialize, Clone, Copy, Debug)]
+pub struct TileDimensions {
pub short: u32,
pub long: u32,
}
@@ -40,7 +40,7 @@ pub enum TilesetPixelType {
#[derive(Deserialize, Debug)]
struct TilesetManifest {
- dimensions: TilesetDimensions,
+ dimensions: TileDimensions,
palette: HashMap<u8, TilesetPixelType>,
}
@@ -50,12 +50,14 @@ fn load_manifest(path: &Path) -> Result<TilesetManifest, Box<dyn Error>> {
#[derive(Debug)]
pub struct Tile {
+ pub orientation: TileOrientation,
+ pub dimensions: TileDimensions,
pub pixels: Vec<TilesetPixelType>,
}
#[derive(Debug)]
pub struct Tileset {
- pub dimensions: TilesetDimensions,
+ pub dimensions: TileDimensions,
pub vertical_tiles: Vec<Tile>,
pub horizontal_tiles: Vec<Tile>,
}
@@ -115,6 +117,8 @@ fn parse_row(
);
tiles.push(Tile {
+ orientation,
+ dimensions: manifest.dimensions,
pixels: tile_pixels,
});