-
Notifications
You must be signed in to change notification settings - Fork 2
XAP Project Format
Robert Jordan edited this page May 28, 2020
·
1 revision
The .xap
XACT project is a text file read by XactBld3.exe
to compile Wave Banks (.xwb
), Sound Banks (.xsb
), and Global Settings (.xgs
) files.
It uses a loose JSON-like syntax, (also similar to Valve's .vdf
KeyFiles). However the format seems to be somewhat limited in what characters can be defined in values.
A Root Property = This is a Value;
Object
{
My Property = Value;
SubObject
{
My Sub Property = My Value;
}
SubObject
{
My Sub Property = My other value;
}
}
- Each line may only contain one type of item:
- Property:
My Prop = My Value;
- Object name:
My Obj
- Object open brace
{
- Object close brace:
}
- Whitespace/empty line.
- Property:
- Properties must use
=
for assignment and;
to end the assignment value. - An object is defined with a name, then opening
{
on a new line, and closing}
after its sub-properties and sub-objects have been defined. - An object with no items defined in its scope is legal.
- An object's name is not require to be unique. The name more closely resembles the Type of object structure.
- Multiple uses of an object name likely map to arrays of said object internally. The order of objects defined in the same scope is important, which solidifies this theory.
- There is no quoting syntax, spaces are allowed in names and values.
- Existing character escape formats are not known.
- Support for control characters in values is unknown.
- Considering the
;
is used to end a line, it may be possible for a value to span multiple lines. - The order of definitions may be important, i.e properties defined before objects at any level.