1use crate::{de::deserialize_vec_pair, CountryTag, Hoi4Date};
2use jomini::JominiDeserialize;
3use serde::Serialize;
4use std::collections::HashMap;
5
6#[derive(JominiDeserialize, Debug, Clone, Serialize)]
7pub struct Hoi4Save {
8 pub player: String,
9 pub date: Hoi4Date,
10 #[jomini(default, deserialize_with = "deserialize_vec_pair")]
11 pub countries: Vec<(CountryTag, Country)>,
12}
13
14#[derive(JominiDeserialize, Debug, Clone, Serialize)]
15pub struct Country {
16 #[jomini(default)]
17 pub stability: f64,
18 #[jomini(default)]
19 pub war_support: f64,
20 #[jomini(default)]
21 pub variables: HashMap<String, f64>,
22}