aboutsummaryrefslogtreecommitdiff
path: root/pixel-client/tools/src/bin/tex_import.rs
diff options
context:
space:
mode:
Diffstat (limited to 'pixel-client/tools/src/bin/tex_import.rs')
-rw-r--r--pixel-client/tools/src/bin/tex_import.rs75
1 files changed, 0 insertions, 75 deletions
diff --git a/pixel-client/tools/src/bin/tex_import.rs b/pixel-client/tools/src/bin/tex_import.rs
deleted file mode 100644
index 7dab9afe..00000000
--- a/pixel-client/tools/src/bin/tex_import.rs
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- Hurry Curry! - a game about cooking
- Copyright (C) 2025 Hurry Curry! Contributors
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, version 3 of the License only.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-*/
-use clap::Parser;
-use std::{
- collections::HashMap,
- fs::File,
- io::{BufWriter, Write},
- path::PathBuf,
- process::exit,
-};
-
-#[derive(Parser)]
-struct Args {
- input: PathBuf,
- output: PathBuf,
-}
-
-fn main() {
- let Args { input, output } = Args::parse();
-
- let palette = include_str!("../../../assets/palette.csv")
- .split('\n')
- .filter(|l| !l.is_empty())
- .map(|s| {
- let (c, s) = s.split_once(",").unwrap();
- let (r, s) = s.split_once(",").unwrap();
- let (g, s) = s.split_once(",").unwrap();
- let (b, a) = s.split_once(",").unwrap();
- (
- [
- r.parse().unwrap(),
- g.parse().unwrap(),
- b.parse().unwrap(),
- a.parse().unwrap(),
- ],
- c.chars().next().unwrap(),
- )
- })
- .collect::<HashMap<_, _>>();
-
- let input = image::open(input).unwrap().to_rgba8();
- let mut output = BufWriter::new(File::create(output).unwrap());
-
- for y in 0..input.height() {
- for x in 0..input.width() {
- let mut c = input.get_pixel(x, y).0;
- if c[3] == 0 {
- c = [0, 0, 0, 0];
- }
- let Some(char) = palette.get(&c) else {
- eprintln!("color at {x},{y} not in palette: {c:?}");
- exit(1);
- };
- write!(output, "{char}").unwrap();
- }
- writeln!(output).unwrap();
- }
- output.flush().unwrap();
- output.into_inner().unwrap().flush().unwrap()
-}