Widen company stat-band owner state
This commit is contained in:
parent
d57deb0e13
commit
d6a951841d
4 changed files with 25 additions and 5 deletions
|
|
@ -57,8 +57,8 @@ build on owned state instead of another round of single-field save-offset guesse
|
|||
runtime-side `0x2329` stat-family reader seam is now rehosted too for the currently grounded slots
|
||||
`0x0d` (`current_cash`) and `0x1d` (`book_value_per_share`), so later annual-finance logic can
|
||||
extend one shared reader family instead of hard-coding more direct field accesses. Those saved
|
||||
stat-band windows are now widened to 16 dwords per root in save-slice/runtime state so later
|
||||
year-series finance closure has enough owned raw state to attach to. The matching world-side issue
|
||||
stat-band windows are now widened to 32 dwords per root in save-slice/runtime state so later
|
||||
year-series finance closure has a broader owned raw state band to attach to. The matching world-side issue
|
||||
reader seam is now also rehosted for the grounded `0x37` investor-confidence lane on top of the
|
||||
save-native world-restore state. The selected-company summary path now also exposes the
|
||||
unassigned share pool derived from outstanding shares minus chairman-held shares, so later
|
||||
|
|
|
|||
|
|
@ -3505,7 +3505,7 @@ const SAVE_COMPANY_RECORD_TRACK_LAYING_CAPACITY_OFFSET: usize = 0x7680;
|
|||
const SAVE_COMPANY_RECORD_STAT_BAND_ROOT_0CFB_OFFSET: usize = 0x0cfb;
|
||||
const SAVE_COMPANY_RECORD_STAT_BAND_ROOT_0D7F_OFFSET: usize = 0x0d7f;
|
||||
const SAVE_COMPANY_RECORD_STAT_BAND_ROOT_1C47_OFFSET: usize = 0x1c47;
|
||||
const SAVE_COMPANY_RECORD_STAT_BAND_ROOT_WINDOW_LEN_DWORDS: usize = 16;
|
||||
const SAVE_COMPANY_RECORD_STAT_BAND_ROOT_WINDOW_LEN_DWORDS: usize = 32;
|
||||
const SAVE_COMPANY_RECORD_SCALAR_CANDIDATE_FIELDS: [(&str, usize); 7] = [
|
||||
("mutable_support_scalar", 0x4f),
|
||||
("young_company_support_scalar", 0x57),
|
||||
|
|
@ -16125,6 +16125,26 @@ mod tests {
|
|||
assert_eq!(market_state.prior_issue_calendar_word, 6);
|
||||
assert!(market_state.city_connection_latch);
|
||||
assert!(!market_state.linked_transit_latch);
|
||||
assert_eq!(
|
||||
market_state.stat_band_root_0cfb_candidates.len(),
|
||||
SAVE_COMPANY_RECORD_STAT_BAND_ROOT_WINDOW_LEN_DWORDS
|
||||
);
|
||||
assert_eq!(
|
||||
market_state.stat_band_root_0d7f_candidates.len(),
|
||||
SAVE_COMPANY_RECORD_STAT_BAND_ROOT_WINDOW_LEN_DWORDS
|
||||
);
|
||||
assert_eq!(
|
||||
market_state.stat_band_root_1c47_candidates.len(),
|
||||
SAVE_COMPANY_RECORD_STAT_BAND_ROOT_WINDOW_LEN_DWORDS
|
||||
);
|
||||
assert_eq!(
|
||||
market_state.stat_band_root_0cfb_candidates[31].label,
|
||||
"stat_band_0cfb_word_32"
|
||||
);
|
||||
assert_eq!(
|
||||
market_state.stat_band_root_0cfb_candidates[31].relative_offset_hex,
|
||||
"0xd77"
|
||||
);
|
||||
assert_eq!(roster.entries[1].company_id, 2);
|
||||
assert_eq!(roster.entries[1].linked_chairman_profile_id, Some(2));
|
||||
assert_eq!(roster.entries[1].debt, 500_000);
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ The highest-value next passes are now:
|
|||
and `[company+0x1c47]` for each live company, so later finance/stat-family readers can attach to
|
||||
owned runtime data instead of one more guessed save offset; the first runtime-side `0x2329`
|
||||
stat-family reader seam is now also rehosted for slots `0x0d` and `0x1d`, and the saved
|
||||
stat-band windows themselves now carry 16 dwords per root; the matching world-side issue reader
|
||||
stat-band windows themselves now carry 32 dwords per root; the matching world-side issue reader
|
||||
seam is now rehosted for the grounded `0x37` lane, and selected-company summaries now expose the
|
||||
unassigned share pool derived from outstanding shares minus chairman-held shares for later annual
|
||||
finance logic; that same owned company market state now also backs a bundled annual-finance
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ roster. The current owned company-side roster now includes not just the market/c
|
|||
the first grounded stat-band root windows at `[company+0x0cfb]`, `[company+0x0d7f]`, and
|
||||
`[company+0x1c47]`, and the first runtime-side `0x2329` stat-family reader seam is now rehosted
|
||||
for slots `0x0d` and `0x1d`, so later finance readers can target saved owner state and one shared
|
||||
reader family directly. Those stat-band windows now carry 16 dwords per root in the save-slice and
|
||||
reader family directly. Those stat-band windows now carry 32 dwords per root in the save-slice and
|
||||
runtime-owned company market state, and the matching world-side issue reader seam is now rehosted
|
||||
for the grounded `0x37` lane over save-native world restore state. The selected-company summary
|
||||
surface now also carries the unassigned share pool derived from outstanding shares minus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue