Extend add-building candidate bridge artifact
This commit is contained in:
parent
e62962f337
commit
7d9240c277
4 changed files with 105 additions and 54 deletions
|
|
@ -4,7 +4,8 @@
|
|||
"Add-building descriptor ids 503..613 ground candidate id as descriptor_id - 503 through direct disassembly of 0x00430270 world_try_place_random_structure_batch_from_compact_record.",
|
||||
"Direct disassembly of 0x0041ede0 structure_candidate_collection_stream_load_records_seed_name_catalogs_and_refresh_filter_sidebands shows the imported candidate row names being copied into runtime name catalogs keyed by live candidate id.",
|
||||
"The concrete candidate names below are checked against the stable RT3 1.05 candidate-availability table order exposed by runtime inspect-candidate-table on Alternate USA, Southern Pacific, and Spanish Mainline saves.",
|
||||
"Availability bits vary by scenario, but the ordered candidate names for candidate ids 0..66 are stable across the checked saves."
|
||||
"Availability bits vary by scenario, but the ordered candidate names for candidate ids 0..66 are stable across the checked saves.",
|
||||
"The checked RT3 1.05 candidate-availability table count stays at 0x43 = 67 across the current non-hook corpus, so descriptor-side candidate ids 67..110 remain grounded only as descriptor_id - 503 bridges until a broader non-hook name catalog is recovered."
|
||||
],
|
||||
"bindings": [
|
||||
{ "descriptor_id": 503, "candidate_id": 0, "candidate_name": "AluminumMill", "binding_index": 1, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
|
||||
|
|
@ -73,6 +74,50 @@
|
|||
{ "descriptor_id": 566, "candidate_id": 63, "candidate_name": "Warehouse08", "binding_index": 64, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
|
||||
{ "descriptor_id": 567, "candidate_id": 64, "candidate_name": "Warehouse09", "binding_index": 65, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
|
||||
{ "descriptor_id": 568, "candidate_id": 65, "candidate_name": "Warehouse10", "binding_index": 66, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
|
||||
{ "descriptor_id": 569, "candidate_id": 66, "candidate_name": "Warehouse11", "binding_index": 67, "binding_source": "rt3_105_candidate_table_and_0x41ede0" }
|
||||
{ "descriptor_id": 569, "candidate_id": 66, "candidate_name": "Warehouse11", "binding_index": 67, "binding_source": "rt3_105_candidate_table_and_0x41ede0" },
|
||||
{ "descriptor_id": 570, "candidate_id": 67, "binding_index": 68, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 571, "candidate_id": 68, "binding_index": 69, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 572, "candidate_id": 69, "binding_index": 70, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 573, "candidate_id": 70, "binding_index": 71, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 574, "candidate_id": 71, "binding_index": 72, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 575, "candidate_id": 72, "binding_index": 73, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 576, "candidate_id": 73, "binding_index": 74, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 577, "candidate_id": 74, "binding_index": 75, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 578, "candidate_id": 75, "binding_index": 76, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 579, "candidate_id": 76, "binding_index": 77, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 580, "candidate_id": 77, "binding_index": 78, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 581, "candidate_id": 78, "binding_index": 79, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 582, "candidate_id": 79, "binding_index": 80, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 583, "candidate_id": 80, "binding_index": 81, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 584, "candidate_id": 81, "binding_index": 82, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 585, "candidate_id": 82, "binding_index": 83, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 586, "candidate_id": 83, "binding_index": 84, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 587, "candidate_id": 84, "binding_index": 85, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 588, "candidate_id": 85, "binding_index": 86, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 589, "candidate_id": 86, "binding_index": 87, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 590, "candidate_id": 87, "binding_index": 88, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 591, "candidate_id": 88, "binding_index": 89, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 592, "candidate_id": 89, "binding_index": 90, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 593, "candidate_id": 90, "binding_index": 91, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 594, "candidate_id": 91, "binding_index": 92, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 595, "candidate_id": 92, "binding_index": 93, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 596, "candidate_id": 93, "binding_index": 94, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 597, "candidate_id": 94, "binding_index": 95, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 598, "candidate_id": 95, "binding_index": 96, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 599, "candidate_id": 96, "binding_index": 97, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 600, "candidate_id": 97, "binding_index": 98, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 601, "candidate_id": 98, "binding_index": 99, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 602, "candidate_id": 99, "binding_index": 100, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 603, "candidate_id": 100, "binding_index": 101, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 604, "candidate_id": 101, "binding_index": 102, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 605, "candidate_id": 102, "binding_index": 103, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 606, "candidate_id": 103, "binding_index": 104, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 607, "candidate_id": 104, "binding_index": 105, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 608, "candidate_id": 105, "binding_index": 106, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 609, "candidate_id": 106, "binding_index": 107, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 610, "candidate_id": 107, "binding_index": 108, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 611, "candidate_id": 108, "binding_index": 109, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 612, "candidate_id": 109, "binding_index": 110, "binding_source": "0x430270_descriptor_bridge_only" },
|
||||
{ "descriptor_id": 613, "candidate_id": 110, "binding_index": 111, "binding_source": "0x430270_descriptor_bridge_only" }
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5135,7 +5135,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 570,
|
||||
"label": "Add Building Slot 68",
|
||||
"label": "Add Building Candidate Slot 68",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5144,7 +5144,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 571,
|
||||
"label": "Add Building Slot 69",
|
||||
"label": "Add Building Candidate Slot 69",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5153,7 +5153,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 572,
|
||||
"label": "Add Building Slot 70",
|
||||
"label": "Add Building Candidate Slot 70",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5162,7 +5162,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 573,
|
||||
"label": "Add Building Slot 71",
|
||||
"label": "Add Building Candidate Slot 71",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5171,7 +5171,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 574,
|
||||
"label": "Add Building Slot 72",
|
||||
"label": "Add Building Candidate Slot 72",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5180,7 +5180,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 575,
|
||||
"label": "Add Building Slot 73",
|
||||
"label": "Add Building Candidate Slot 73",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5189,7 +5189,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 576,
|
||||
"label": "Add Building Slot 74",
|
||||
"label": "Add Building Candidate Slot 74",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5198,7 +5198,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 577,
|
||||
"label": "Add Building Slot 75",
|
||||
"label": "Add Building Candidate Slot 75",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5207,7 +5207,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 578,
|
||||
"label": "Add Building Slot 76",
|
||||
"label": "Add Building Candidate Slot 76",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5216,7 +5216,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 579,
|
||||
"label": "Add Building Slot 77",
|
||||
"label": "Add Building Candidate Slot 77",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5225,7 +5225,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 580,
|
||||
"label": "Add Building Slot 78",
|
||||
"label": "Add Building Candidate Slot 78",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5234,7 +5234,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 581,
|
||||
"label": "Add Building Slot 79",
|
||||
"label": "Add Building Candidate Slot 79",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5243,7 +5243,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 582,
|
||||
"label": "Add Building Slot 80",
|
||||
"label": "Add Building Candidate Slot 80",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5252,7 +5252,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 583,
|
||||
"label": "Add Building Slot 81",
|
||||
"label": "Add Building Candidate Slot 81",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5261,7 +5261,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 584,
|
||||
"label": "Add Building Slot 82",
|
||||
"label": "Add Building Candidate Slot 82",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5270,7 +5270,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 585,
|
||||
"label": "Add Building Slot 83",
|
||||
"label": "Add Building Candidate Slot 83",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5279,7 +5279,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 586,
|
||||
"label": "Add Building Slot 84",
|
||||
"label": "Add Building Candidate Slot 84",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5288,7 +5288,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 587,
|
||||
"label": "Add Building Slot 85",
|
||||
"label": "Add Building Candidate Slot 85",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5297,7 +5297,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 588,
|
||||
"label": "Add Building Slot 86",
|
||||
"label": "Add Building Candidate Slot 86",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5306,7 +5306,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 589,
|
||||
"label": "Add Building Slot 87",
|
||||
"label": "Add Building Candidate Slot 87",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5315,7 +5315,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 590,
|
||||
"label": "Add Building Slot 88",
|
||||
"label": "Add Building Candidate Slot 88",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5324,7 +5324,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 591,
|
||||
"label": "Add Building Slot 89",
|
||||
"label": "Add Building Candidate Slot 89",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5333,7 +5333,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 592,
|
||||
"label": "Add Building Slot 90",
|
||||
"label": "Add Building Candidate Slot 90",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5342,7 +5342,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 593,
|
||||
"label": "Add Building Slot 91",
|
||||
"label": "Add Building Candidate Slot 91",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5351,7 +5351,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 594,
|
||||
"label": "Add Building Slot 92",
|
||||
"label": "Add Building Candidate Slot 92",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5360,7 +5360,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 595,
|
||||
"label": "Add Building Slot 93",
|
||||
"label": "Add Building Candidate Slot 93",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5369,7 +5369,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 596,
|
||||
"label": "Add Building Slot 94",
|
||||
"label": "Add Building Candidate Slot 94",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5378,7 +5378,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 597,
|
||||
"label": "Add Building Slot 95",
|
||||
"label": "Add Building Candidate Slot 95",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5387,7 +5387,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 598,
|
||||
"label": "Add Building Slot 96",
|
||||
"label": "Add Building Candidate Slot 96",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5396,7 +5396,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 599,
|
||||
"label": "Add Building Slot 97",
|
||||
"label": "Add Building Candidate Slot 97",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5405,7 +5405,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 600,
|
||||
"label": "Add Building Slot 98",
|
||||
"label": "Add Building Candidate Slot 98",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5414,7 +5414,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 601,
|
||||
"label": "Add Building Slot 99",
|
||||
"label": "Add Building Candidate Slot 99",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5423,7 +5423,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 602,
|
||||
"label": "Add Building Slot 100",
|
||||
"label": "Add Building Candidate Slot 100",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5432,7 +5432,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 603,
|
||||
"label": "Add Building Slot 101",
|
||||
"label": "Add Building Candidate Slot 101",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5441,7 +5441,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 604,
|
||||
"label": "Add Building Slot 102",
|
||||
"label": "Add Building Candidate Slot 102",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5450,7 +5450,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 605,
|
||||
"label": "Add Building Slot 103",
|
||||
"label": "Add Building Candidate Slot 103",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5459,7 +5459,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 606,
|
||||
"label": "Add Building Slot 104",
|
||||
"label": "Add Building Candidate Slot 104",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5468,7 +5468,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 607,
|
||||
"label": "Add Building Slot 105",
|
||||
"label": "Add Building Candidate Slot 105",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5477,7 +5477,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 608,
|
||||
"label": "Add Building Slot 106",
|
||||
"label": "Add Building Candidate Slot 106",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5486,7 +5486,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 609,
|
||||
"label": "Add Building Slot 107",
|
||||
"label": "Add Building Candidate Slot 107",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5495,7 +5495,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 610,
|
||||
"label": "Add Building Slot 108",
|
||||
"label": "Add Building Candidate Slot 108",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5504,7 +5504,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 611,
|
||||
"label": "Add Building Slot 109",
|
||||
"label": "Add Building Candidate Slot 109",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5513,7 +5513,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 612,
|
||||
"label": "Add Building Slot 110",
|
||||
"label": "Add Building Candidate Slot 110",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
@ -5522,7 +5522,7 @@
|
|||
},
|
||||
{
|
||||
"descriptor_id": 613,
|
||||
"label": "Add Building Slot 111",
|
||||
"label": "Add Building Candidate Slot 111",
|
||||
"target_mask_bits": 8,
|
||||
"parameter_family": "world_building_spawn",
|
||||
"runtime_key": null,
|
||||
|
|
|
|||
|
|
@ -335,10 +335,11 @@ Working rule:
|
|||
grouped descriptor ids `521`, `526`, `528`, `548`, and `563` are now recovered as
|
||||
`Add Building FarmGrain`, `Add Building Furniture Factory`, `Add Building Logging Camp`,
|
||||
`Add Building Port01`, and `Add Building Warehouse05` respectively. The checked-in
|
||||
`event-effects-building-bindings.json` artifact now widens that same bridge across the whole
|
||||
first `67` add-building rows (`503..569`), grounding candidate names from the stable RT3 1.05
|
||||
candidate-table order plus the direct `descriptor_id - 503` candidate-id bridge in
|
||||
`0x00430270` and the load-side `0x0041ede0` name-catalog copy keyed by live candidate id
|
||||
`event-effects-building-bindings.json` now carries the full descriptor-side candidate bridge
|
||||
across all `111` add-building rows (`503..613`) through the direct `descriptor_id - 503`
|
||||
mapping in `0x00430270`, while concrete candidate names remain grounded only for the stable
|
||||
RT3 1.05 live-catalog run `0..66` exposed by `0x0041ede0` and the checked candidate-table
|
||||
corpus
|
||||
- the earlier `label_id - 2000` bridge for `548` and `563` is now known to be a false lead:
|
||||
those numeric collisions hit the special-condition label table
|
||||
(`Disable Building Stations`, `Completely Disable Money-Related Things`), but the extended
|
||||
|
|
@ -349,8 +350,9 @@ Working rule:
|
|||
grouped opcode at all for descriptor strip `503..613`; it consumes the descriptor-derived
|
||||
candidate id, placement count byte `0x11`, and the packed span words at `0x14/0x16`.
|
||||
The next static-analysis pass should therefore target the remaining span-field meaning and
|
||||
shell-owned placement-flow ownership on that strip, then continue the candidate bridge past the
|
||||
currently grounded `503..569` front half of the widened strip, not more missing-label recovery
|
||||
shell-owned placement-flow ownership on that strip, not more missing-label recovery: the
|
||||
descriptor-side candidate bridge is now checked in across `503..613`, and the honest remaining
|
||||
boundary is the missing non-hook name catalog for candidate ids `67..110`
|
||||
- the concrete owner strip above that bundle is grounded now too:
|
||||
`0x00433060` is the direct non-direct serializer loop that writes `0x4e99/0x4e9a/0x4e9b`,
|
||||
calls `0x00430d70` per live collection row, and sits beside the sibling `0x00433130` size/load
|
||||
|
|
|
|||
|
|
@ -238,9 +238,13 @@ def classify(
|
|||
parameter_family = "world_building_spawn"
|
||||
binding = building_bindings.get(descriptor_id)
|
||||
if binding is not None:
|
||||
label = f"Add Building {binding['candidate_name']}"
|
||||
candidate_name = binding.get("candidate_name")
|
||||
if candidate_name:
|
||||
label = f"Add Building {candidate_name}"
|
||||
else:
|
||||
label = f"Add Building Slot {descriptor_id - 502}"
|
||||
label = f"Add Building Candidate Slot {int(binding['candidate_id']) + 1}"
|
||||
else:
|
||||
label = f"Add Building Candidate Slot {descriptor_id - 502}"
|
||||
runtime_status = "shell_owned"
|
||||
elif "Earthquake" in label or "Storm" in label:
|
||||
parameter_family = "world_disaster_scalar"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue