-
Notifications
You must be signed in to change notification settings - Fork 6
FEZMAP file format
.fezmap file contain map tree structure stored in JSON format. It's mostly similar to in-game's MapTree structure; however, in order to improve data readability, it was slightly changed: instead of directly storing children nodes in node connections, they're stored in parallel as a directory, with unique integer as an identifier for each node.
The root object of .fezmap JSON file is a Directory<int, MapNode>. MapNode with index 0 is expected to be a root node in the map tree. Map tree cannot create a loop and some connection may be ignored if that happens.
| Property name | Type | Description |
|---|---|---|
| LevelName | String | Name of a level this node represents. Used to determine a thumbnail. |
| NodeType | LevelNodeType | Type of the node. |
| Conditions | WinConditions | List of values determining what is required to turn this node as completed. |
| HasLesserGate | Boolean | If true, displays lesser gate icon next to this node. |
| HasWarpGate | Boolean | If true, displays warp gate icon next to this node. |
| Connections | MapNodeConnection[] | List of connections this node branch to. |
| Property name | Type | Description |
|---|---|---|
| ChestCount | Integer | Number of chests required to be opened in this level. |
| LockedDoorCount | Integer | Number of key doors required to be opened in this level. |
| UnlockedDoorCount | Integer | Number of normal doors required to be opened in this level. |
| ScriptIds | Integer[] | List of integers representing IDs of level's scripts required to be marked as completed. |
| CubeShardCount | Integer | Behaviour currently not known. |
| OtherCollectibleCount | Integer | Behaviour currently not known. |
| SplitUpCount | Integer | Behaviour currently not known. |
| SecretCount | Integer | Behaviour currently not known. |
| Property name | Type | Description |
|---|---|---|
| Face | FaceOrientation | The direction which given connection is branching towards. |
| Node | Integer | ID of a node this connection links to. |
| BranchOversize | Float | Behaviour currently not known. |
All enums are stored as PascalCamelCase string parameters.
Enum specifying how level should appear in the map. It can take one of three values:
- Node
- Hub
- Lesser
Enum specifying one of six possible trile face orientations - Left, Down, Back, Right, Top or Front.