Broaden whole-game packed event coverage
This commit is contained in:
parent
991725dba8
commit
b89463d227
19 changed files with 1874 additions and 27 deletions
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"snapshot_id": "packed-event-world-flag-condition-overlay-base-snapshot",
|
||||
"source": {
|
||||
"description": "Base runtime snapshot supplying the pre-existing world flag required by the real world-flag condition sample."
|
||||
},
|
||||
"state": {
|
||||
"calendar": {
|
||||
"year": 1845,
|
||||
"month_slot": 2,
|
||||
"phase_slot": 1,
|
||||
"tick_slot": 3
|
||||
},
|
||||
"world_flags": {
|
||||
"world.disable_stock_buying_and_selling": true
|
||||
},
|
||||
"metadata": {
|
||||
"base.note": "world-flag condition overlay context"
|
||||
},
|
||||
"event_runtime_records": [],
|
||||
"candidate_availability": {},
|
||||
"special_conditions": {},
|
||||
"service_state": {
|
||||
"periodic_boundary_calls": 0,
|
||||
"trigger_dispatch_counts": {},
|
||||
"total_event_record_services": 0,
|
||||
"dirty_rerun_count": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"fixture_id": "packed-event-world-flag-condition-overlay-fixture",
|
||||
"source": {
|
||||
"kind": "captured-runtime",
|
||||
"description": "Fixture proving a checked-in world-flag condition gates a whole-game effect through the ordinary runtime path."
|
||||
},
|
||||
"state_import_path": "packed-event-world-flag-condition-overlay.json",
|
||||
"commands": [
|
||||
{
|
||||
"kind": "service_trigger_kind",
|
||||
"trigger_kind": 7
|
||||
}
|
||||
],
|
||||
"expected_summary": {
|
||||
"calendar_projection_source": "base-snapshot-preserved",
|
||||
"calendar_projection_is_placeholder": false,
|
||||
"packed_event_collection_present": true,
|
||||
"packed_event_record_count": 1,
|
||||
"packed_event_decoded_record_count": 1,
|
||||
"packed_event_imported_runtime_record_count": 1,
|
||||
"event_runtime_record_count": 1,
|
||||
"candidate_availability_count": 1,
|
||||
"zero_candidate_availability_count": 0,
|
||||
"total_event_record_service_count": 1,
|
||||
"total_trigger_dispatch_count": 1
|
||||
},
|
||||
"expected_state_fragment": {
|
||||
"world_flags": {
|
||||
"world.disable_stock_buying_and_selling": true
|
||||
},
|
||||
"candidate_availability": {
|
||||
"Turbo Diesel": 1
|
||||
},
|
||||
"packed_event_collection": {
|
||||
"records": [
|
||||
{
|
||||
"import_outcome": "imported",
|
||||
"decoded_conditions": [
|
||||
{
|
||||
"kind": "world_flag_equals",
|
||||
"key": "world.disable_stock_buying_and_selling",
|
||||
"value": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"event_runtime_records": [
|
||||
{
|
||||
"record_id": 47,
|
||||
"service_count": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"import_id": "packed-event-world-flag-condition-overlay",
|
||||
"source": {
|
||||
"description": "Overlay import combining base world-flag context with a real world-flag ordinary-condition record."
|
||||
},
|
||||
"base_snapshot_path": "packed-event-world-flag-condition-overlay-base-snapshot.json",
|
||||
"save_slice_path": "packed-event-world-flag-condition-save-slice.json"
|
||||
}
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"save_slice_id": "packed-event-world-flag-condition-save-slice",
|
||||
"source": {
|
||||
"description": "Tracked save-slice document with a real world-flag condition gating a whole-game effect.",
|
||||
"original_save_filename": "captured-world-flag-condition.gms",
|
||||
"original_save_sha256": "world-flag-condition-sample-sha256",
|
||||
"notes": [
|
||||
"tracked as JSON save-slice document rather than raw .smp",
|
||||
"proves checked-in world-flag condition metadata lowers into the runtime condition model"
|
||||
]
|
||||
},
|
||||
"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": 30528,
|
||||
"records_tag_offset": 30784,
|
||||
"close_tag_offset": 31104,
|
||||
"packed_state_version": 1001,
|
||||
"packed_state_version_hex": "0x000003e9",
|
||||
"live_id_bound": 47,
|
||||
"live_record_count": 1,
|
||||
"live_entry_ids": [
|
||||
47
|
||||
],
|
||||
"decoded_record_count": 1,
|
||||
"imported_runtime_record_count": 1,
|
||||
"records": [
|
||||
{
|
||||
"record_index": 0,
|
||||
"live_entry_id": 47,
|
||||
"payload_offset": 30848,
|
||||
"payload_len": 152,
|
||||
"decode_status": "executable",
|
||||
"payload_family": "real_packed_v1",
|
||||
"trigger_kind": 7,
|
||||
"one_shot": false,
|
||||
"compact_control": {
|
||||
"mode_byte_0x7ef": 7,
|
||||
"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": 1,
|
||||
"standalone_condition_rows": [
|
||||
{
|
||||
"row_index": 0,
|
||||
"raw_condition_id": 2535,
|
||||
"subtype": 0,
|
||||
"flag_bytes": [
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"candidate_name": null,
|
||||
"comparator": "eq",
|
||||
"metric": "World Flag: Disable Stock Buying and Selling",
|
||||
"semantic_family": "world_flag_equals",
|
||||
"semantic_preview": "Test Disable Stock Buying and Selling == TRUE",
|
||||
"requires_candidate_name_binding": false,
|
||||
"notes": [
|
||||
"checked-in whole-game condition metadata sample"
|
||||
]
|
||||
}
|
||||
],
|
||||
"negative_sentinel_scope": null,
|
||||
"grouped_effect_row_counts": [
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"grouped_effect_rows": [
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 0,
|
||||
"descriptor_id": 109,
|
||||
"descriptor_label": "Turbo Diesel Availability",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "candidate_availability_scalar",
|
||||
"opcode": 3,
|
||||
"raw_scalar_value": 1,
|
||||
"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 Turbo Diesel Availability to 1",
|
||||
"locomotive_name": null,
|
||||
"notes": [
|
||||
"checked-in whole-game grouped-effect sample"
|
||||
]
|
||||
}
|
||||
],
|
||||
"decoded_conditions": [
|
||||
{
|
||||
"kind": "world_flag_equals",
|
||||
"key": "world.disable_stock_buying_and_selling",
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"decoded_actions": [
|
||||
{
|
||||
"kind": "set_candidate_availability",
|
||||
"name": "Turbo Diesel",
|
||||
"value": 1
|
||||
}
|
||||
],
|
||||
"executable_import_ready": true,
|
||||
"notes": [
|
||||
"world-flag condition gates a whole-game effect"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"notes": [
|
||||
"whole-game world-flag condition sample"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"fixture_id": "packed-event-world-toggle-construction-save-slice-fixture",
|
||||
"source": {
|
||||
"kind": "captured-runtime",
|
||||
"description": "Fixture proving recovered construction world-toggle descriptors import and execute."
|
||||
},
|
||||
"state_save_slice_path": "packed-event-world-toggle-construction-save-slice.json",
|
||||
"commands": [
|
||||
{
|
||||
"kind": "service_trigger_kind",
|
||||
"trigger_kind": 6
|
||||
}
|
||||
],
|
||||
"expected_summary": {
|
||||
"packed_event_collection_present": true,
|
||||
"packed_event_record_count": 1,
|
||||
"packed_event_decoded_record_count": 1,
|
||||
"packed_event_imported_runtime_record_count": 1,
|
||||
"event_runtime_record_count": 1,
|
||||
"packed_event_blocked_unmapped_world_descriptor_count": 0,
|
||||
"total_event_record_service_count": 1,
|
||||
"total_trigger_dispatch_count": 1
|
||||
},
|
||||
"expected_state_fragment": {
|
||||
"world_flags": {
|
||||
"world.disable_all_track_building": true,
|
||||
"world.disable_building_stations": true,
|
||||
"world.disable_building_hotel_restaurant_tavern_post_office": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"save_slice_id": "packed-event-world-toggle-construction-save-slice",
|
||||
"source": {
|
||||
"description": "Tracked save-slice document proving recovered construction world-toggle descriptors import and execute.",
|
||||
"original_save_filename": "captured-world-toggle-construction.gms",
|
||||
"original_save_sha256": "world-toggle-construction-sample-sha256",
|
||||
"notes": [
|
||||
"tracked as JSON save-slice document rather than raw .smp",
|
||||
"recovered whole-game toggle batch for construction and placement restrictions"
|
||||
]
|
||||
},
|
||||
"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": 32200,
|
||||
"records_tag_offset": 32456,
|
||||
"close_tag_offset": 33224,
|
||||
"packed_state_version": 1001,
|
||||
"packed_state_version_hex": "0x000003e9",
|
||||
"live_id_bound": 51,
|
||||
"live_record_count": 1,
|
||||
"live_entry_ids": [51],
|
||||
"decoded_record_count": 1,
|
||||
"imported_runtime_record_count": 1,
|
||||
"records": [
|
||||
{
|
||||
"record_index": 0,
|
||||
"live_entry_id": 51,
|
||||
"payload_offset": 32520,
|
||||
"payload_len": 168,
|
||||
"decode_status": "executable",
|
||||
"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": [],
|
||||
"negative_sentinel_scope": null,
|
||||
"grouped_effect_row_counts": [3, 0, 0, 0],
|
||||
"grouped_effect_rows": [
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 0,
|
||||
"descriptor_id": 120,
|
||||
"descriptor_label": "Disable All Track Building",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable All Track Building to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 1,
|
||||
"descriptor_id": 123,
|
||||
"descriptor_label": "Disable Building Stations",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Building Stations to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 2,
|
||||
"descriptor_id": 124,
|
||||
"descriptor_label": "Disable Building Hotel/Restaurant/Tavern/Post Office",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 0,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Building Hotel/Restaurant/Tavern/Post Office to FALSE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
}
|
||||
],
|
||||
"decoded_conditions": [],
|
||||
"decoded_actions": [
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_all_track_building",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_building_stations",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_building_hotel_restaurant_tavern_post_office",
|
||||
"value": false
|
||||
}
|
||||
],
|
||||
"executable_import_ready": true,
|
||||
"notes": [
|
||||
"recovered whole-game construction-toggle descriptor batch"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"notes": [
|
||||
"whole-game construction toggle effect sample"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"fixture_id": "packed-event-world-toggle-finance-save-slice-fixture",
|
||||
"source": {
|
||||
"kind": "captured-runtime",
|
||||
"description": "Fixture proving recovered finance/trading world-toggle descriptors import and execute."
|
||||
},
|
||||
"state_save_slice_path": "packed-event-world-toggle-finance-save-slice.json",
|
||||
"commands": [
|
||||
{
|
||||
"kind": "service_trigger_kind",
|
||||
"trigger_kind": 6
|
||||
}
|
||||
],
|
||||
"expected_summary": {
|
||||
"packed_event_collection_present": true,
|
||||
"packed_event_record_count": 1,
|
||||
"packed_event_decoded_record_count": 1,
|
||||
"packed_event_imported_runtime_record_count": 1,
|
||||
"event_runtime_record_count": 1,
|
||||
"packed_event_blocked_unmapped_world_descriptor_count": 0,
|
||||
"total_event_record_service_count": 1,
|
||||
"total_trigger_dispatch_count": 1
|
||||
},
|
||||
"expected_state_fragment": {
|
||||
"world_flags": {
|
||||
"world.disable_margin_buying_short_selling_stock": true,
|
||||
"world.disable_company_issue_buy_back_stock": true,
|
||||
"world.disable_issuing_repaying_bonds": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"save_slice_id": "packed-event-world-toggle-finance-save-slice",
|
||||
"source": {
|
||||
"description": "Tracked save-slice document proving recovered finance/trading world-toggle descriptors import and execute.",
|
||||
"original_save_filename": "captured-world-toggle-finance.gms",
|
||||
"original_save_sha256": "world-toggle-finance-sample-sha256",
|
||||
"notes": [
|
||||
"tracked as JSON save-slice document rather than raw .smp",
|
||||
"recovered whole-game toggle batch for finance and trading restrictions"
|
||||
]
|
||||
},
|
||||
"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": 32100,
|
||||
"records_tag_offset": 32356,
|
||||
"close_tag_offset": 33124,
|
||||
"packed_state_version": 1001,
|
||||
"packed_state_version_hex": "0x000003e9",
|
||||
"live_id_bound": 50,
|
||||
"live_record_count": 1,
|
||||
"live_entry_ids": [50],
|
||||
"decoded_record_count": 1,
|
||||
"imported_runtime_record_count": 1,
|
||||
"records": [
|
||||
{
|
||||
"record_index": 0,
|
||||
"live_entry_id": 50,
|
||||
"payload_offset": 32420,
|
||||
"payload_len": 168,
|
||||
"decode_status": "executable",
|
||||
"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": [],
|
||||
"negative_sentinel_scope": null,
|
||||
"grouped_effect_row_counts": [3, 0, 0, 0],
|
||||
"grouped_effect_rows": [
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 0,
|
||||
"descriptor_id": 111,
|
||||
"descriptor_label": "Disable Margin Buying/Short Selling Stock",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Margin Buying/Short Selling Stock to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 1,
|
||||
"descriptor_id": 112,
|
||||
"descriptor_label": "Disable Company Issue/Buy Back Stock",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Company Issue/Buy Back Stock to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 2,
|
||||
"descriptor_id": 113,
|
||||
"descriptor_label": "Disable Issuing/Repaying Bonds",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 0,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Issuing/Repaying Bonds to FALSE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
}
|
||||
],
|
||||
"decoded_conditions": [],
|
||||
"decoded_actions": [
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_margin_buying_short_selling_stock",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_company_issue_buy_back_stock",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_issuing_repaying_bonds",
|
||||
"value": false
|
||||
}
|
||||
],
|
||||
"executable_import_ready": true,
|
||||
"notes": [
|
||||
"recovered whole-game finance-toggle descriptor batch"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"notes": [
|
||||
"whole-game finance toggle effect sample"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"fixture_id": "packed-event-world-toggle-governance-save-slice-fixture",
|
||||
"source": {
|
||||
"kind": "captured-runtime",
|
||||
"description": "Fixture proving recovered governance/company-formation world-toggle descriptors import and execute."
|
||||
},
|
||||
"state_save_slice_path": "packed-event-world-toggle-governance-save-slice.json",
|
||||
"commands": [
|
||||
{
|
||||
"kind": "service_trigger_kind",
|
||||
"trigger_kind": 6
|
||||
}
|
||||
],
|
||||
"expected_summary": {
|
||||
"packed_event_collection_present": true,
|
||||
"packed_event_record_count": 1,
|
||||
"packed_event_decoded_record_count": 1,
|
||||
"packed_event_imported_runtime_record_count": 1,
|
||||
"event_runtime_record_count": 1,
|
||||
"packed_event_blocked_unmapped_world_descriptor_count": 0,
|
||||
"total_event_record_service_count": 1,
|
||||
"total_trigger_dispatch_count": 1
|
||||
},
|
||||
"expected_state_fragment": {
|
||||
"world_flags": {
|
||||
"world.disable_starting_any_companies": true,
|
||||
"world.disable_starting_multiple_companies": false,
|
||||
"world.disable_merging_companies": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"save_slice_id": "packed-event-world-toggle-governance-save-slice",
|
||||
"source": {
|
||||
"description": "Tracked save-slice document proving recovered governance/company-formation world-toggle descriptors import and execute.",
|
||||
"original_save_filename": "captured-world-toggle-governance.gms",
|
||||
"original_save_sha256": "world-toggle-governance-sample-sha256",
|
||||
"notes": [
|
||||
"tracked as JSON save-slice document rather than raw .smp",
|
||||
"recovered whole-game toggle batch for governance and company-formation restrictions"
|
||||
]
|
||||
},
|
||||
"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": 32300,
|
||||
"records_tag_offset": 32556,
|
||||
"close_tag_offset": 33324,
|
||||
"packed_state_version": 1001,
|
||||
"packed_state_version_hex": "0x000003e9",
|
||||
"live_id_bound": 52,
|
||||
"live_record_count": 1,
|
||||
"live_entry_ids": [52],
|
||||
"decoded_record_count": 1,
|
||||
"imported_runtime_record_count": 1,
|
||||
"records": [
|
||||
{
|
||||
"record_index": 0,
|
||||
"live_entry_id": 52,
|
||||
"payload_offset": 32620,
|
||||
"payload_len": 168,
|
||||
"decode_status": "executable",
|
||||
"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": [],
|
||||
"negative_sentinel_scope": null,
|
||||
"grouped_effect_row_counts": [3, 0, 0, 0],
|
||||
"grouped_effect_rows": [
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 0,
|
||||
"descriptor_id": 131,
|
||||
"descriptor_label": "Disable Starting Any Companies",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Starting Any Companies to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 1,
|
||||
"descriptor_id": 132,
|
||||
"descriptor_label": "Disable Starting Multiple Companies",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 0,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Starting Multiple Companies to FALSE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 2,
|
||||
"descriptor_id": 133,
|
||||
"descriptor_label": "Disable Merging Companies",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Merging Companies to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
}
|
||||
],
|
||||
"decoded_conditions": [],
|
||||
"decoded_actions": [
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_starting_any_companies",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_starting_multiple_companies",
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_merging_companies",
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"executable_import_ready": true,
|
||||
"notes": [
|
||||
"recovered whole-game governance-toggle descriptor batch"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"notes": [
|
||||
"whole-game governance toggle effect sample"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"fixture_id": "packed-event-world-toggle-late-save-slice-fixture",
|
||||
"source": {
|
||||
"kind": "captured-runtime",
|
||||
"description": "Fixture proving recovered late whole-game toggle descriptors import and execute."
|
||||
},
|
||||
"state_save_slice_path": "packed-event-world-toggle-late-save-slice.json",
|
||||
"commands": [
|
||||
{
|
||||
"kind": "service_trigger_kind",
|
||||
"trigger_kind": 6
|
||||
}
|
||||
],
|
||||
"expected_summary": {
|
||||
"packed_event_collection_present": true,
|
||||
"packed_event_record_count": 1,
|
||||
"packed_event_decoded_record_count": 1,
|
||||
"packed_event_imported_runtime_record_count": 1,
|
||||
"event_runtime_record_count": 1,
|
||||
"packed_event_blocked_unmapped_world_descriptor_count": 0,
|
||||
"total_event_record_service_count": 1,
|
||||
"total_trigger_dispatch_count": 1
|
||||
},
|
||||
"expected_state_fragment": {
|
||||
"world_flags": {
|
||||
"world.use_bio_accelerator_cars": true,
|
||||
"world.disable_cargo_economy": true,
|
||||
"world.disable_train_crashes": false,
|
||||
"world.disable_train_crashes_and_breakdowns": true,
|
||||
"world.ai_ignore_territories_at_startup": true
|
||||
}
|
||||
}
|
||||
}
|
||||
211
fixtures/runtime/packed-event-world-toggle-late-save-slice.json
Normal file
211
fixtures/runtime/packed-event-world-toggle-late-save-slice.json
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
{
|
||||
"format_version": 1,
|
||||
"save_slice_id": "packed-event-world-toggle-late-save-slice",
|
||||
"source": {
|
||||
"description": "Tracked save-slice document proving recovered late whole-game toggle descriptors import and execute.",
|
||||
"original_save_filename": "captured-world-toggle-late.gms",
|
||||
"original_save_sha256": "world-toggle-late-sample-sha256",
|
||||
"notes": [
|
||||
"tracked as JSON save-slice document rather than raw .smp",
|
||||
"recovered whole-game toggle batch for bio-accelerator, cargo economy, crash, and AI startup restrictions"
|
||||
]
|
||||
},
|
||||
"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": 32400,
|
||||
"records_tag_offset": 32656,
|
||||
"close_tag_offset": 33424,
|
||||
"packed_state_version": 1001,
|
||||
"packed_state_version_hex": "0x000003e9",
|
||||
"live_id_bound": 53,
|
||||
"live_record_count": 1,
|
||||
"live_entry_ids": [53],
|
||||
"decoded_record_count": 1,
|
||||
"imported_runtime_record_count": 1,
|
||||
"records": [
|
||||
{
|
||||
"record_index": 0,
|
||||
"live_entry_id": 53,
|
||||
"payload_offset": 32720,
|
||||
"payload_len": 216,
|
||||
"decode_status": "executable",
|
||||
"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": [],
|
||||
"negative_sentinel_scope": null,
|
||||
"grouped_effect_row_counts": [5, 0, 0, 0],
|
||||
"grouped_effect_rows": [
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 0,
|
||||
"descriptor_id": 139,
|
||||
"descriptor_label": "Use Bio-Accelerator Cars",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Use Bio-Accelerator Cars to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 1,
|
||||
"descriptor_id": 140,
|
||||
"descriptor_label": "Disable Cargo Economy",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Cargo Economy to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 2,
|
||||
"descriptor_id": 142,
|
||||
"descriptor_label": "Disable Train Crashes",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 0,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Train Crashes to FALSE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 3,
|
||||
"descriptor_id": 143,
|
||||
"descriptor_label": "Disable Train Crashes AND Breakdowns",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set Disable Train Crashes AND Breakdowns to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
},
|
||||
{
|
||||
"group_index": 0,
|
||||
"row_index": 4,
|
||||
"descriptor_id": 144,
|
||||
"descriptor_label": "AI Ignore Territories At Startup",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_flag_toggle",
|
||||
"opcode": 0,
|
||||
"raw_scalar_value": 1,
|
||||
"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": "bool_toggle",
|
||||
"semantic_family": "bool_toggle",
|
||||
"semantic_preview": "Set AI Ignore Territories At Startup to TRUE",
|
||||
"locomotive_name": null,
|
||||
"notes": []
|
||||
}
|
||||
],
|
||||
"decoded_conditions": [],
|
||||
"decoded_actions": [
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.use_bio_accelerator_cars",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_cargo_economy",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_train_crashes",
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.disable_train_crashes_and_breakdowns",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"kind": "set_world_flag",
|
||||
"key": "world.ai_ignore_territories_at_startup",
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"executable_import_ready": true,
|
||||
"notes": [
|
||||
"recovered late whole-game toggle descriptor batch"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"notes": [
|
||||
"whole-game late toggle effect sample"
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue