Make locomotive context save-native
This commit is contained in:
parent
13c7268b0d
commit
b060c42fa2
18 changed files with 1240 additions and 83 deletions
33
README.md
33
README.md
|
|
@ -51,25 +51,20 @@ recovered locomotives-page `real_packed_v1` record that lands in the explicit
|
|||
`blocked_unmapped_world_descriptor` bucket. The next recovered descriptor band is now partially
|
||||
executable too: descriptors `454..456` (`All Steam/Diesel/Electric Locos Avail.`) now lower
|
||||
through checked-in metadata into keyed `world_flags`, while the wider locomotive availability/cost
|
||||
scalar bands are now split more cleanly: the recovered locomotive availability bands can import as
|
||||
full scalar overrides through an overlay-backed `RuntimeState.locomotive_catalog` into
|
||||
`RuntimeState.named_locomotive_availability`, while save-slice-only imports of those rows still
|
||||
block explicitly when catalog context is missing. The runtime still carries the save-owned named
|
||||
locomotive availability table directly too:
|
||||
checked-in save-slice documents can populate `RuntimeState.named_locomotive_availability`, and
|
||||
imported runtime effects can mutate that map through the ordinary event-service path without
|
||||
needing full Trainbuy or live-locomotive parity. A parallel event-owned named locomotive cost map
|
||||
now exists too: recovered locomotive-cost descriptors from bands `352..451` and `475..500` can
|
||||
import through the same overlay-backed locomotive catalog into
|
||||
`RuntimeState.named_locomotive_cost`, and the remaining recovered scalar world families now execute
|
||||
too: cargo-production slots `230..240` lower into `cargo_production_overrides`, and descriptor
|
||||
`453` lowers into `world_restore.territory_access_cost`. Explicit unmapped world-condition and
|
||||
world-descriptor frontier buckets still remain where current checked-in metadata stops, with the
|
||||
main scalar residue now being missing-catalog locomotive rows rather than unknown world-side
|
||||
families. Shell purchase-flow, Trainbuy refresh, cached locomotive-rating recomputation, and
|
||||
selected-profile parity remain out of scope. Mixed supported/unsupported real rows still stay
|
||||
parity-only. The PE32 hook remains useful as capture and integration tooling, but it is no longer
|
||||
the main execution milestone.
|
||||
scalar bands are now save-native too. Raw `.smp` inspection/export reconstructs the persisted
|
||||
`[world+0x66b6]` locomotive name table and derives a minimal `RuntimeState.locomotive_catalog`, so
|
||||
standalone save-slice imports can now lower recovered locomotive availability and locomotive-cost
|
||||
rows directly into `RuntimeState.named_locomotive_availability` and
|
||||
`RuntimeState.named_locomotive_cost` without needing overlay snapshots when the save carries enough
|
||||
catalog context. The remaining recovered scalar world families execute too: cargo-production slots
|
||||
`230..240` lower into `cargo_production_overrides`, and descriptor `453` lowers into
|
||||
`world_restore.territory_access_cost`. Explicit unmapped world-condition and world-descriptor
|
||||
frontier buckets still remain where current checked-in metadata stops, and
|
||||
`blocked_missing_locomotive_catalog_context` is now reserved for intentionally incomplete save-side
|
||||
catalog context instead of the normal save-slice path. Shell purchase-flow, Trainbuy refresh,
|
||||
cached locomotive-rating recomputation, and selected-profile parity remain out of scope. Mixed
|
||||
supported/unsupported real rows still stay parity-only. The PE32 hook remains useful as capture and
|
||||
integration tooling, but it is no longer the main execution milestone.
|
||||
|
||||
## Project Docs
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue