Documentation
Docs/en/reference/map-format/baking.md
Map Baking And Runtime Loading
Generated reference. Do not edit directly. Update
BuildTools/MapFormatInterface.jsonor the owning engine metadata, then runpython BuildTools/docs_map_format.py --write.
| Index | Syntax | Properties | Baking | Validation | Canonical JSON | Authoring guide |
Map containers are selected by Baking.ProtoFileExtensions plus at least one [ProtoMap] anchor; .fomap is a project convention, not an engine requirement. Each declared map emits <MapId>.fomap-bin-server and <MapId>.fomap-bin-client as a coupled resource pair.
The server payload contains placed critters and all items. The client payload contains visible static items; hidden static items contribute required string hashes but no client item record.
Item ownership
| Ownership | Value | Map-supported | Reference/position | Meaning | Enum source |
|---|---|---|---|---|---|
MapHex |
0 | yes | Hex |
Places the item on a map hex. Static items must use this mode. | Source/Common/Common.h |
CritterInventory |
1 | yes | CritterId |
Creates a non-static item in the inventory of the placed critter identified by CritterId. | Source/Common/Common.h |
ItemContainer |
2 | yes | ContainerId |
Creates a non-static item inside the placed non-static item identified by ContainerId. | Source/Common/Common.h |
Nowhere |
3 | no | none |
Exists in the enum but is not a supported authored map-placement mode. | Source/Common/Common.h |
Runtime split
- Static
MapHexitems become immutable grid entries and may block movement or shooting, expose triggers, and occupy multihex cells. - Non-static
MapHexitems and placed critters are generated for each map instance; their authored ids are remapped to runtime ids. CritterInventoryandItemContainerrecords are attached after their direct owners are generated. A missing owner mapping skips the child.- The client reconstructs only the visible static map layer from the client binary; dynamic entities arrive through normal runtime synchronization.