Hi torhu,
I don't have the map file of br_farm but AFAIK Red has it. The mounds look like patch surfaces. I am pretty sure that they are not constructed by normal brushes.
Concerning patch surfaces (I am a newbie but I try anyway
): In contrast to normal brushes, patches aren't really convex volumes. They are simply planes rather than three-dimensional objects. The patch is infinitesimal "thin". Every "round" surface is made of patches. They are rarely used due to performance issues (it needs a lot of triangles to resemble a sphere, even with z-compression). Although, a sphere is a three-dimensional object, its "hull" isn't from the engine's point of view. AFAIK, the mound in question is the top of a large sphere. In general, patches are handled differently by the engine (for instance they can't be structural).
Thus, I guess the following: if an object is "standing" on a patch surface (which is round), the engine has problems to identify the "ground", because, theoretically, there isn't any. If a player deploys a gat and the player is repositioned just one "pixel" for whatever reason he can not stand on the surface anymore and falls right through it.
[EDIT]
This whole explanation is not really accurate since a sphere is a convex volume of course
. It is very difficult to explain. Anyway, I am pretty sure that the problem is caused by surface properties of patches. The "hull" of a patch is "too thin". Every surface made of normal brushes can be described by triangles (which may be very small) and their normal. In case of a patch sphere the normal for each coordinate on the sphere's surface is different (which is not the case if the sphere is "blocky" and made of normal brushes). I better stop all this babbling before I confuse everybody
[\EDIT]
[EDIT2]
The extension of the explanation isn't really any better. But I don't give up. SPoG's tutorial
http://www.planetquake.com/spog/stuff/technical.html can probably help. A patch surface is stored differently than a normal brush. It is stored as a matrix of coordinates. Additionally, T-junctions are not fixed automatically by the BSP compile stage. Probably the engine is not able to calculate a correct position from the matrix of coordinates.
[\EDIT2]
I don't whether this will help you or whether this is correct or not
. I can create a small test map tonight when I am back home if you want me to.
I think using patch surfaces is not a good idea anyway and we will not do that again. It is probably easier to fix the map than to "code your way out of it" ....
cheers
breli