From f1a1cd5741c54dc0c304498c479e4a31d593b4f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1chym=20Tou=C5=A1ek?= Date: Fri, 7 Sep 2018 17:47:02 +0200 Subject: [PATCH] Copy images --- src/main.rs | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/src/main.rs b/src/main.rs index a0f0e53..c32e45b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,38 +1,29 @@ use std::env; -use std::collections::HashMap; use std::process::Command; use std::fs; use std::path::Path; fn main() { let args: Vec = env::args().collect(); + let chapter = &args[1]; let platform = &args[2]; - let mut chapters = HashMap::new(); - - chapters.insert("oni".to_string(), "onikakushi"); - chapters.insert("wata".to_string(), "watanagashi"); - chapters.insert("tata".to_string(), "tatarigoroshi-steam"); - chapters.insert("tata-mg".to_string(), "tatarigoroshi-mg"); - chapters.insert("hima".to_string(), "himatsubushi"); - chapters.insert("mea".to_string(), "meakashi"); - chapters.insert("tsumi".to_string(), "tsumihoroboshi"); - - let chapter = chapters.get(&args[1]).expect("Unknown chapter"); + let arc_type = if chapter == "onikakushi" || chapter == "watanagashi" || chapter == "tatarigoroshi" || chapter == "himatsubushi" { "question_arcs" } else { "answer_arcs" }; let assets = format!("assets/vanilla/{}/{}/sharedassets0.assets", chapter, platform); let directory = "output/assets"; if Path::new(&directory).exists() { - fs::remove_dir_all(&directory).expect("Failed to remove directory"); + fs::remove_dir_all("output/assets").expect("Failed to remove directory"); } - fs::create_dir_all(&directory).expect("Failed to recreate directory"); + fs::create_dir_all("output/assets").expect("Failed to recreate directory"); + // 1. texts let output = Command::new("python") .env("PYTHONIOENCODING", "utf-8") .arg("../ui-editing-scripts/UnityTextModifier.py") - .arg(format!("{}", assets)) + .arg(format!("{}", &assets)) .arg(format!("assets/text-edits.json")) - .arg(format!("{}", directory)) + .arg(format!("{}", &directory)) .output() .expect("failed to execute UnityTextModifier.py"); @@ -41,4 +32,20 @@ fn main() { } else { println!("{}", String::from_utf8_lossy(&output.stderr)); } + + // 2. images + copy_files("assets/images/shared", directory); + copy_files(format!("assets/images/{}", &arc_type).as_ref(), directory); + copy_files(format!("assets/images/specific/{}", &chapter).as_ref(), directory); + fs::rename("output/assets/configbg_Texture2D.png", "output/assets/47configbg_Texture2D.png").expect("Unable to rename"); + + // 3. fonts } + +fn copy_files(from: &str, to: &str) { + println!("Copying files from {}", from); + for entry in fs::read_dir(from).expect("Can't read directory") { + let path = entry.unwrap().path(); + fs::copy(&path, format!("{}/{}_Texture2D.png", to, path.file_stem().unwrap().to_str().unwrap())).expect("Unable to copy"); + } +} \ No newline at end of file