Skip to content
Loading local search…

Try a task like “spawn a ship” or “read inventory”, or an exact API name.

Choose one category, or search all.

sc_inventory_v1_2.snapshot_layout

Copy a coherent bounded logical-port observation into caller-owned metadata and entries. Initialize sizes; provide 1..128 entries with stride 96..4096 and disjoint aligned buffers. COMPLETE distinguishes an empty layout from unavailable; TRUNCATED or LIMITED never represents a complete observation. Domain and layout keys scope stable port identities; entity ids and epochs are transient.

sco_result (*)(sco_plugin *, sc_inventory_layout_snapshot *, sc_inventory_layout_entry *, uint32_t, uint32_t)

Service index

Property Value
Symbol sc_inventory_v1_2.snapshot_layout
Record ID sc-inventory-v1-2-snapshot-layout
Service game.inventory
Table sc_inventory_v1_2
Version macro SC_INVENTORY_SERVICE_VERSION_1_2
Packed table version 65538
Since / availability size >= 24; 1.2
Complete member extent (x64 bytes) 24
Table size (x64 bytes) 24

Header source

sco_result (*snapshot_layout)(sco_plugin* self, sc_inventory_layout_snapshot* out, sc_inventory_layout_entry* entries, uint32_t entry_stride, uint32_t capacity);
Copy a coherent bounded logical-port observation into caller-owned metadata and entries. Initialize sizes; provide 1..128 entries with stride 96..4096 and disjoint aligned buffers. COMPLETE distinguishes an empty layout from unavailable; TRUNCATED or LIMITED never represents a complete observation. Domain and layout keys scope stable port identities; entity ids and epochs are transient.

OK copied, BAD_ARG invalid owner or buffers, TOO_MANY exceeded published limits, WRONG_THREAD, UNAVAILABLE absent or incoherent source, CRASHED contained backend fault. Valid disjoint outputs remain unchanged on refusal.

game.inventory.layout defaults OFF; no production native layout producer is installed.

Caller owns all buffers; provider copies known prefixes, preserves sizes and tails, and retains no output pointers.

Game thread only.

Host-owned admission and snapshot callbacks run synchronously; no plugin callback.

Nested observations are refused. Owner and service lifetime are rechecked after each callback.

Stop withdraws the service and clears the host producer.

Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.

Language Catalogue status Source evidence / wrapper tokens
c direct include/sc_inventory.h
(*snapshot_layout)
cpp typed-wrapper include/scosdk/game/inventory_layout.hpp
table_->snapshot_layout(self_, &copied, entries.data(), sizeof(entries[0]), capacity)
csharp typed-wrapper sdk/csharp/Sco.Sdk/Game/InventoryLayout.cs
_table->snapshot_layout(_plugin.SelfPtr, &info, entries, (uint)sizeof(ScInventoryLayoutEntry), 128)
lua typed-wrapper plugins/lua/sco_lua_game.c
inventory->snapshot_layout(self, &snapshot, entries, sizeof(entries[0]), SC_INVENTORY_LAYOUT_MAX_PORTS)

None identified in the catalogue; this is not proof none can exist.

ABI pins prove layout, not semantic behavior or a live game session.