Documentation:FEX

Category:Encoding Formats
Category:Anatlex
The (File) Entity Extension Format is a Uniplex proprietary file format used to store the physical representation of an entity. It uses a object-structure encoding similar to XP, however there are several differences. 
== Purpose ==
FEX files were developed as a file format for representing the physical "body" of an entity, as this type of information contains a different encoding than standard world and object data. They contain a structure of data objects, which describe various components of the representation.
FEX files are found in an entity's main folder, or in (root)/ent/db/(name).fex as an embedded file in a non-core entity's XPDB file. A FEX file is almost always accompanied by it's respective .FEXD file, which is used to store modifications and physical states.
FEX files 
== Encoding ==
FEX files are encoded using a tree-hierarchy object array, which is similar to XP and it's derivatives, but different in several ways:
* In FEX files, the object's type is defined by a code of varying length inside of the Name section, whereas in XP the type is limited to 1 byte and doubles as the name initiator.
* Unlike in XP files, FEX objects can contain both data and sub-items, due to having 2 seperate data fields. All classes support sub-items.
* The structure of a FEX file is divided into various file sections, each for different types of data. Some of them behave as key-value lists, rather than object-class structures. The included sections vary from file to file, but files often share certain common types.
* The bytes used for object structuring are within the 0x0# range in FEX, whereas XP uses 0x9#.
== Data Types ==