From eyeballing the files the format appears to be something like this (warning: not a formal grammar). Except for punctuation, only the brushDef3 and patchDef2 terms are literal.
* a map is a list of entities
* an entity is
Code: Select all
{
"key1" "value1"
"key2" "value2"
etc.
list of brushdefs and/or patchdefs
}* a brushdef is
Code: Select all
{
brushDef3
{
list of facedefs
}
}* a facedef is
Code: Select all
planedef texturemap "texturepath"* a planedef is
Code: Select all
(x y z d)* a texturemap is
Two 3-vectors that are some sort of mapping from worldspace to texturespace. See posts below for partial explanation.
* a patchdef is
Code: Select all
{
patchDef2
{
"texturepath"
patchparams2
(
list of patchcoldefs
)
}
}Code: Select all
{
patchDef3
{
"texturepath"
patchparams3
(
list of patchcoldefs
)
}
}* a patchparams2 is
Code: Select all
( #cols #rows junk junk junk )* a patchparams3 is
Code: Select all
( #cols #rows #horiz-subdivisions #vert-subdivisions junk junk junk )* a patchcoldef is
Code: Select all
( list of controlpoints )* a controlpoint is
Code: Select all
( x y z s t )