Rehost save-world partial-year weighting inputs

This commit is contained in:
Jan Petykiewicz 2026-04-17 22:05:29 -07:00
commit b81b67d2b3
8 changed files with 119 additions and 2 deletions

View file

@ -35,6 +35,10 @@ pub struct ExpectedRuntimeSummary {
#[serde(default)]
pub world_restore_absolute_counter_reconstructible_from_save: Option<bool>,
#[serde(default)]
pub world_restore_packed_year_word_raw_u16: Option<u16>,
#[serde(default)]
pub world_restore_partial_year_progress_raw_u8: Option<u8>,
#[serde(default)]
pub world_restore_current_calendar_tuple_word_raw_u32: Option<u32>,
#[serde(default)]
pub world_restore_current_calendar_tuple_word_2_raw_u32: Option<u32>,
@ -130,6 +134,8 @@ pub struct ExpectedRuntimeSummary {
#[serde(default)]
pub selected_company_years_since_last_dividend: Option<u32>,
#[serde(default)]
pub selected_company_current_partial_year_weight_numerator: Option<i64>,
#[serde(default)]
pub selected_company_chairman_bonus_year: Option<u32>,
#[serde(default)]
pub selected_company_chairman_bonus_amount: Option<i32>,
@ -377,6 +383,22 @@ impl ExpectedRuntimeSummary {
));
}
}
if let Some(value) = self.world_restore_packed_year_word_raw_u16 {
if actual.world_restore_packed_year_word_raw_u16 != Some(value) {
mismatches.push(format!(
"world_restore_packed_year_word_raw_u16 mismatch: expected {value}, got {:?}",
actual.world_restore_packed_year_word_raw_u16
));
}
}
if let Some(value) = self.world_restore_partial_year_progress_raw_u8 {
if actual.world_restore_partial_year_progress_raw_u8 != Some(value) {
mismatches.push(format!(
"world_restore_partial_year_progress_raw_u8 mismatch: expected {value}, got {:?}",
actual.world_restore_partial_year_progress_raw_u8
));
}
}
if let Some(value) = self.world_restore_current_calendar_tuple_word_raw_u32 {
if actual.world_restore_current_calendar_tuple_word_raw_u32 != Some(value) {
mismatches.push(format!(
@ -783,6 +805,14 @@ impl ExpectedRuntimeSummary {
));
}
}
if let Some(value) = self.selected_company_current_partial_year_weight_numerator {
if actual.selected_company_current_partial_year_weight_numerator != Some(value) {
mismatches.push(format!(
"selected_company_current_partial_year_weight_numerator mismatch: expected {value}, got {:?}",
actual.selected_company_current_partial_year_weight_numerator
));
}
}
if let Some(value) = self.selected_company_chairman_bonus_year {
if actual.selected_company_chairman_bonus_year != Some(value) {
mismatches.push(format!(