2025-02-08 13:35:55 +02:00
|
|
|
use std::path::PathBuf;
|
|
|
|
|
|
2025-06-24 19:56:47 +03:00
|
|
|
use askama::Template;
|
2025-02-08 13:35:55 +02:00
|
|
|
|
2025-06-24 19:56:47 +03:00
|
|
|
use crate::{common::materials::MaterialDrops, create_file};
|
2025-02-08 13:35:55 +02:00
|
|
|
|
2025-06-24 19:56:47 +03:00
|
|
|
const MATERIAL_KINDS: &[&str] = &[
|
2025-02-09 13:51:00 +02:00
|
|
|
"blazing",
|
|
|
|
|
"bright",
|
|
|
|
|
"dark",
|
|
|
|
|
"dense",
|
|
|
|
|
"energy",
|
|
|
|
|
"frost",
|
|
|
|
|
"lightning",
|
|
|
|
|
"lucid",
|
|
|
|
|
"power",
|
|
|
|
|
"remembrance",
|
|
|
|
|
"serenity",
|
|
|
|
|
"twilight",
|
|
|
|
|
];
|
2025-06-24 19:56:47 +03:00
|
|
|
const DROPS_PATH: &str = "./input/kh2/drops";
|
2025-02-08 19:09:16 +02:00
|
|
|
|
2025-02-08 13:35:55 +02:00
|
|
|
#[derive(Template)]
|
|
|
|
|
#[template(path = "pages/kh2/drops.html")]
|
|
|
|
|
struct DropsTemplate {
|
|
|
|
|
pub drops: Vec<MaterialDrops>,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn init() {
|
|
|
|
|
tracing::info!("Loading enemy drops data from {}", DROPS_PATH);
|
2025-06-25 02:15:27 +03:00
|
|
|
let drops = MaterialDrops::import(DROPS_PATH);
|
2025-02-08 13:35:55 +02:00
|
|
|
|
|
|
|
|
tracing::info!("Generating the KH2 drops template");
|
|
|
|
|
let drops_template = DropsTemplate { drops };
|
|
|
|
|
|
|
|
|
|
create_file("./out/kh2", "drops", drops_template.render().unwrap()).unwrap();
|
|
|
|
|
}
|