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 )