Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
47 lines
4.8 KiB
JSON
47 lines
4.8 KiB
JSON
{
|
|
"Prefabs/Weapons/Core/Armament_Empty.et": {
|
|
"archive": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/WCS_Armaments_629B2BA37EFFD577/data.pak",
|
|
"sha256": "73b35bd524e30fe09f147f0dc5f197d49c341b46c660ec1ce402f143dc943731",
|
|
"same_as_prior_extracted_source": true,
|
|
"bytes": 1068
|
|
},
|
|
"Prefabs/Vehicles/Tracked/BMP1/VehParts/Turret/BMP1_Turret_Base.et": {
|
|
"archive": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/BMP-1IFV_5E524E4FEECCA92B/data.pak",
|
|
"sha256": "2fc39d7c2fc4bebe027efa5607ea71dd7dd0021daffb43f65332bf2698a52a4b",
|
|
"same_as_prior_extracted_source": true,
|
|
"bytes": 16134
|
|
},
|
|
"guid_identity": {
|
|
"database": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/WCS_Armaments_629B2BA37EFFD577/resourceDatabase.rdb",
|
|
"database_sha256": "7f38b7ed578b0b47864648a7b70288fe49dae4cc2556d5754377a1c28b2b6532",
|
|
"exact_record_count": 1,
|
|
"offset": 80834,
|
|
"guid": "52120E4BA120661B"
|
|
},
|
|
"sdk_hashes": {
|
|
"/tmp/erri-vanilla-stock/scripts/Game/generated/Weapon/WeaponSlotComponent.c": "f59ed140912e7ece862b1730af57cb8dcf2c65dbf40a27bba34eb83fa0d3bc58",
|
|
"/tmp/erri-vanilla-stock/scripts/Game/generated/Components/InventorySystem/InventoryItemComponent.c": "3d812681816be5d34a578f33e208d7802b22a899be008073bf437b7a8ecb2251",
|
|
"/tmp/erri-vanilla-stock/scripts/Game/generated/InventorySystem/InventoryStorageSlot.c": "45e584eb11f53e1b7374f375d57cdc58c8e757a7922c06cf5db9328ca3294cb5",
|
|
"/tmp/erri-vanilla-stock/scripts/Game/generated/EntitySlotInfo.c": "90e41e28a14bc677d829f38faff01ad9f0568d3ec4850c496568c379f8301e50"
|
|
},
|
|
"findings": [
|
|
"Exact standalone GenericEntity declares InventoryItemComponent with Enabled 0, WeaponComponent and no muzzle component; no inherited base prefab.",
|
|
"Exact BMP turret slot index3 declares AttachType InventoryStorageSlot Gun and this WeaponTemplate.",
|
|
"SDK WeaponSlotComponent exposes GetSlotInfo and GetWeaponEntity; InventoryStorageSlot exposes GetParentContainer and inherits EntitySlotInfo.GetAttachedEntity. SDK EntitySlotInfo.GetSlotInfo(entity) recognizes structural attachment through parent WeaponSlotComponent and GetAttachedEntity equality without requiring InventoryItemComponent.GetParentSlot.",
|
|
"InventoryItemComponent.GetParentSlot explicitly returns null if none. Native construction and consequences of Enabled 0 are not specified in available script; a reciprocal inventory-item slot is not promised for this disabled component.",
|
|
"Current reason64 conflates absent InventoryItemComponent with nonmatching/null parent slot. It follows successful allowed mounted entity, mount slot, and parent-container checks, but does not log which item-state branch failed."
|
|
],
|
|
"policy_candidate": "Only if native diagnostics establish the exact empty control structural binding: consider omission of an exact allowlisted zero-muzzle control via bounded structural slot proof (same allowed hierarchy, mount.GetWeaponEntity()==entity, mount.GetSlotInfo()==slot, slot.GetParentContainer()==mount, slot.GetAttachedEntity()==entity, exact physical weapon owner). Never relax inventory custody for real weapons/cargo or accept unknown/armed resources. Handle conflicting nonnull inventory binding fail-closed. This is a future candidate, not an approved implemented fix.",
|
|
"next_observation": "Extend existing opt-in reason64 diagnostic to separate component missing / null parent slot / different parent slot, and record slot.GetAttachedEntity equality plus zero-muzzle count for exact prefab. No extra gameplay state mutation or repeated native run requested by this review.",
|
|
"limits": [
|
|
"Read-only source and installed archive/RDB examination only; no native or compiler execution.",
|
|
"Enabled 0 supports a plausible explanation but is not runtime proof that null parent slot is expected; no source-only fix recommended."
|
|
],
|
|
"required_regressions_if_policy_adopted": [
|
|
"Actual whole sampler: exact known zero-muzzle control with observed missing reverse inventory binding and full structural slot proof is omitted; real guns and ammunition remain counted exactly once.",
|
|
"Refuse wrong GUID/path, nonzero muzzle list being omitted, unknown zero-muzzle resource, foreign hierarchy, missing/mismatched mount slot or parent container, different attached entity, and conflicting nonnull inventory parent slot.",
|
|
"Manager and direct hierarchy duplicate discovery of the same control remains deduplicated without poisoning completeness; known controls alone produce zero armed weapons and cannot satisfy the armed BMP fixture.",
|
|
"Retain existing real-weapon reciprocal custody, cargo/crew exclusion, node/weapon/muzzle bounds and fail-closed unknown behavior."
|
|
]
|
|
}
|