Nope. I've been very active on the wiki since we started it and I don't recall seeing any details on the map file format.
However, if and when this is sorted out, it would be a welcome addition.
Here's my contribution...
We start with a simple map that contains nothing more than one cubic brush floating in the void. It's dimensions are 128x128x128 and it's located at 0,0,0 in the world...
Code:
brushDef3
{
( 0 0 -1 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 0 0 1 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 0 -1 0 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 1 0 0 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 0 1 0 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( -1 0 0 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
}
So, let's do some guesswork.
We have a six line definition for a cube. Either each line defines a vertex or a side.
Let's extend one side of the brush 64 units to see what happens...
Code:
brushDef3
{
( -1 0 0 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 0 1 0 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 1 0 0 -128 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 0 -1 0 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 0 0 1 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
( 0 0 -1 -64 ) ( ( 0.125 0 0 ) ( 0 0.125 0 ) ) "_emptyname" 0 0 0
}
The first group of numbers has changed. All other elements have stayed the same. Perhaps these numbers are coordinates of some sort?
Let's compare just the first group since those are the only elements that change...
Code:
Before After
( 0 0 -1 -64 ) ( -1 0 0 -64 )
( 0 0 1 -64 ) ( 0 1 0 -64 )
( 0 -1 0 -64 ) ( 1 0 0 -128 )
( 1 0 0 -64 ) ( 0 -1 0 -64 )
( 0 1 0 -64 ) ( 0 0 1 -64 )
( -1 0 0 -64 ) ( 0 0 -1 -64 )
Hmmm. Several things indicate that each line defines one side of the brush...
The first three values always are in the range -1 to 1. Perhaps these three numbers represent the normal of a face?
The fourth value appears to represent the location of a face. Note, -64 units from zero or -128 units from zero.
Also note that the fourth value on line three, and only line three, has changed to -128. This coorisponds with amount that the brush was extended aswell as the fact that only one side was moved.
Okay, let's extend the same face another 64 units but this time we'll clip the brush along this face so that it's at a 45 degree angle...
Code:
Before After
( 0 0 -1 -64 ) ( 0 0 -1 -64 )
( 0 0 1 -64 ) ( 0 0 1 -64 )
( 0 -1 0 -64 ) ( 0 -1 0 -64 )
( 1 0 0 -64 ) ( 0 1 0 -64 )
( 0 1 0 -64 ) ( -1 0 0 -64 )
( -1 0 0 -64 ) ( 0.7071067691 -0.7071067691 0 -90.5096664429 )
Hmmm...
The first three values are still in the range -1 to 1.
The last line has changed this time. Strange.
Notice on the last line that the first and second value are both exactly the same aside from one being negative? This coorisponds with the first three values of the group representing a normal because those two values could represent a 1:1 slope. In other words, a 45 degree angle, like the one cut with the clipper tool.
Okay, one more thing. Let's extend this clipped side 64 units and compare it to the previous clipped brush...
Code:
Before After
( 0 0 -1 -64 ) ( 0 0 -1 -64 )
( 0 0 1 -64 ) ( 0 0 1 -64 )
( 0 -1 0 -64 ) ( 0 -1 0 -64 )
( 0 1 0 -64 ) ( 0 1 0 -64 )
( -1 0 0 -64 ) ( -1 0 0 -64 )
( 0.7071067691 -0.7071067691 0 -90.5096664429 ) ( 0.7071067691 -0.7071067691 0 -135.7644958496 )
Only the last line has changed and of that, only the last value of the group has changed.
This also coorisponds with the first three values of the group representing the normal because only the position of the angled face has changed, not the angle itself.
The last value of the group has changed by 45.2548294067 but I moved the face 64 units. This value has changed with the position so it likely does represent position but it may not be reflected in units.
So, a short summary of what I think is going on so far...
- Each line of a brushDef coorisponds with a face of the brush.
- The first three values of the first group represent the normal of a face.
- The last value of the first group appears to represent the position.
It looks like Thermal Fusion is on the right track.
More to come as I think of new things to test.