Navigation Graph (.graph)

The .graph format stores navigation nodes and connections (edges) for AI pathfinding.

File Header

Offset Type Name Description
0x00 Byte[12] Unknown Skipped padding or header data.
0x0C UInt16 NodeCount Number of navigation nodes.
0x0E UInt16 ConnectionCount Number of connections between nodes.
0x10 Byte[16] GUID Unique identifier for the graph.
0x20 UInt32 NodeArrayOffset Absolute offset to the start of the node array.
0x24 UInt32 ConnectionArrayOffset Absolute offset to the start of the connection array.

Node Structure

Each node entry is 32 bytes long.

Offset Type Name Description
0x00 Float X Position X coordinate.
0x04 Float Y Position Y coordinate.
0x08 Float Z Position Z coordinate.
0x0C Float Radius Node radius.
0x10 Int16 ConnStartIndex Index into Connection Array for the first connection.
0x12 Int16 PropInstance Index of associated property instance.
0x14 UInt8 ConnCount Number of connections starting from this node.
0x15 UInt8 NeighborCount Number of neighbors.
0x16 Int16 NeighborStartIndex Index for neighbors (usage context dependent).
0x18 UInt16 Flags Node flags (bitfield).
0x1A Byte[6] Padding Unused.

Connection Structure

Each connection entry is 16 bytes long.

Offset Type Name Description
0x00 Float Length Distance/Cost of the edge.
0x04 Int16 DestNodeIndex Index of the target node.
0x06 Int16 SrcNodeIndex Index of the source node.
0x08 Int16 PropInstance Associated property instance.
0x0A UInt16 Flags Edge flags.
0x0C UInt8 Blocked 1 if blocked, 0 otherwise.
0x0D Byte[3] Padding Unused.