227 lines
8.1 KiB
JSON
227 lines
8.1 KiB
JSON
{
|
|
"format_version": 1,
|
|
"save_slice_id": "packed-event-parity-save-slice",
|
|
"source": {
|
|
"description": "Tracked save-slice document representing a parity-heavy captured packed-event collection.",
|
|
"original_save_filename": "captured-parity.gms",
|
|
"original_save_sha256": "parity-sample-sha256",
|
|
"notes": [
|
|
"tracked as JSON save-slice document rather than raw .smp",
|
|
"preserves one recovered scalar locomotive-availability row that still needs overlay-backed catalog context and one semantically decoded imported row"
|
|
]
|
|
},
|
|
"save_slice": {
|
|
"file_extension_hint": "gms",
|
|
"container_profile_family": "rt3-classic-save-container-v1",
|
|
"mechanism_family": "classic-save-rehydrate-v1",
|
|
"mechanism_confidence": "grounded",
|
|
"trailer_family": null,
|
|
"bridge_family": null,
|
|
"profile": null,
|
|
"candidate_availability_table": null,
|
|
"special_conditions_table": null,
|
|
"event_runtime_collection": {
|
|
"source_kind": "packed-event-runtime-collection",
|
|
"mechanism_family": "classic-save-rehydrate-v1",
|
|
"mechanism_confidence": "grounded",
|
|
"container_profile_family": "rt3-classic-save-container-v1",
|
|
"metadata_tag_offset": 28928,
|
|
"records_tag_offset": 29184,
|
|
"close_tag_offset": 29696,
|
|
"packed_state_version": 1001,
|
|
"packed_state_version_hex": "0x000003e9",
|
|
"live_id_bound": 5,
|
|
"live_record_count": 2,
|
|
"live_entry_ids": [3, 5],
|
|
"decoded_record_count": 2,
|
|
"imported_runtime_record_count": 1,
|
|
"records": [
|
|
{
|
|
"record_index": 0,
|
|
"live_entry_id": 3,
|
|
"payload_offset": 29186,
|
|
"payload_len": 96,
|
|
"decode_status": "parity_only",
|
|
"payload_family": "real_packed_v1",
|
|
"trigger_kind": 6,
|
|
"one_shot": false,
|
|
"compact_control": {
|
|
"mode_byte_0x7ef": 6,
|
|
"primary_selector_0x7f0": 0,
|
|
"grouped_mode_0x7f4": 2,
|
|
"one_shot_header_0x7f5": 0,
|
|
"modifier_flag_0x7f9": 0,
|
|
"modifier_flag_0x7fa": 0,
|
|
"grouped_target_scope_ordinals_0x7fb": [0, 0, 0, 0],
|
|
"grouped_scope_checkboxes_0x7ff": [1, 0, 0, 0],
|
|
"summary_toggle_0x800": 1,
|
|
"grouped_territory_selectors_0x80f": [-1, -1, -1, -1]
|
|
},
|
|
"text_bands": [],
|
|
"standalone_condition_row_count": 0,
|
|
"standalone_condition_rows": [],
|
|
"grouped_effect_row_counts": [1, 0, 0, 0],
|
|
"grouped_effect_rows": [
|
|
{
|
|
"group_index": 0,
|
|
"row_index": 0,
|
|
"descriptor_id": 250,
|
|
"descriptor_label": "Unknown Loco Available",
|
|
"target_mask_bits": 8,
|
|
"parameter_family": "locomotive_availability_scalar",
|
|
"opcode": 3,
|
|
"raw_scalar_value": 42,
|
|
"value_byte_0x09": 0,
|
|
"value_dword_0x0d": 0,
|
|
"value_byte_0x11": 0,
|
|
"value_byte_0x12": 0,
|
|
"value_word_0x14": 0,
|
|
"value_word_0x16": 0,
|
|
"row_shape": "scalar_assignment",
|
|
"semantic_family": "scalar_assignment",
|
|
"semantic_preview": "Set Unknown Loco Available to 42",
|
|
"recovered_locomotive_id": 10,
|
|
"locomotive_name": null,
|
|
"notes": [
|
|
"recovered locomotive availability descriptor family now supports scalar payloads, but standalone save-slice import still needs overlay-backed locomotive catalog context"
|
|
]
|
|
}
|
|
],
|
|
"decoded_actions": [],
|
|
"executable_import_ready": false,
|
|
"notes": [
|
|
"decoded from grounded real 0x4e9a row framing",
|
|
"recovered locomotives-page descriptor band is now checked in, and this scalar family can import through named locomotive availability overrides once overlay-backed locomotive catalog context is present"
|
|
]
|
|
},
|
|
{
|
|
"record_index": 1,
|
|
"live_entry_id": 5,
|
|
"payload_offset": 29290,
|
|
"payload_len": 109,
|
|
"decode_status": "parity_only",
|
|
"payload_family": "real_packed_v1",
|
|
"trigger_kind": 6,
|
|
"one_shot": true,
|
|
"compact_control": {
|
|
"mode_byte_0x7ef": 6,
|
|
"primary_selector_0x7f0": 99,
|
|
"grouped_mode_0x7f4": 2,
|
|
"one_shot_header_0x7f5": 1,
|
|
"modifier_flag_0x7f9": 1,
|
|
"modifier_flag_0x7fa": 0,
|
|
"grouped_target_scope_ordinals_0x7fb": [0, 1, 2, 3],
|
|
"grouped_scope_checkboxes_0x7ff": [1, 0, 1, 0],
|
|
"summary_toggle_0x800": 1,
|
|
"grouped_territory_selectors_0x80f": [-1, 10, -1, 22]
|
|
},
|
|
"text_bands": [
|
|
{
|
|
"label": "primary_text_band",
|
|
"packed_len": 7,
|
|
"present": true,
|
|
"preview": "Parity!"
|
|
},
|
|
{
|
|
"label": "secondary_text_band_0",
|
|
"packed_len": 0,
|
|
"present": false,
|
|
"preview": ""
|
|
},
|
|
{
|
|
"label": "secondary_text_band_1",
|
|
"packed_len": 0,
|
|
"present": false,
|
|
"preview": ""
|
|
},
|
|
{
|
|
"label": "secondary_text_band_2",
|
|
"packed_len": 0,
|
|
"present": false,
|
|
"preview": ""
|
|
},
|
|
{
|
|
"label": "secondary_text_band_3",
|
|
"packed_len": 0,
|
|
"present": false,
|
|
"preview": ""
|
|
},
|
|
{
|
|
"label": "secondary_text_band_4",
|
|
"packed_len": 0,
|
|
"present": false,
|
|
"preview": ""
|
|
}
|
|
],
|
|
"standalone_condition_row_count": 1,
|
|
"standalone_condition_rows": [
|
|
{
|
|
"row_index": 0,
|
|
"raw_condition_id": -1,
|
|
"subtype": 4,
|
|
"flag_bytes": [
|
|
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
|
|
58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
|
|
68, 69, 70, 71, 72
|
|
],
|
|
"candidate_name": "AutoPlant",
|
|
"notes": [
|
|
"negative sentinel-style condition row id",
|
|
"condition row carries candidate-name side string"
|
|
]
|
|
}
|
|
],
|
|
"negative_sentinel_scope": {
|
|
"company_test_scope": "all_companies",
|
|
"player_test_scope": "disabled",
|
|
"territory_scope_selector_is_0x63": true,
|
|
"source_row_indexes": [0]
|
|
},
|
|
"grouped_effect_row_counts": [1, 0, 0, 0],
|
|
"grouped_effect_rows": [
|
|
{
|
|
"group_index": 0,
|
|
"row_index": 0,
|
|
"descriptor_id": 2,
|
|
"descriptor_label": "Company Cash",
|
|
"target_mask_bits": 1,
|
|
"parameter_family": "company_finance_scalar",
|
|
"opcode": 8,
|
|
"raw_scalar_value": 7,
|
|
"value_byte_0x09": 1,
|
|
"value_dword_0x0d": 12,
|
|
"value_byte_0x11": 2,
|
|
"value_byte_0x12": 3,
|
|
"value_word_0x14": 24,
|
|
"value_word_0x16": 36,
|
|
"row_shape": "multivalue_scalar",
|
|
"semantic_family": "multivalue_scalar",
|
|
"semantic_preview": "Set Company Cash to 7 with aux [2, 3, 24, 36]",
|
|
"locomotive_name": "Mikado",
|
|
"notes": [
|
|
"grouped effect row carries locomotive-name side string"
|
|
]
|
|
}
|
|
],
|
|
"decoded_actions": [
|
|
{
|
|
"kind": "set_company_cash",
|
|
"target": {
|
|
"kind": "condition_true_company"
|
|
},
|
|
"value": 7
|
|
}
|
|
],
|
|
"executable_import_ready": true,
|
|
"notes": [
|
|
"decoded from grounded real 0x4e9a row framing",
|
|
"grouped descriptor labels and target masks come from the checked-in effect table recovered around 0x006103a0"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"notes": [
|
|
"parity-heavy packed-event sample"
|
|
]
|
|
}
|
|
}
|