I think I found a way to represent pretty much every connected mesh (whatever you'd actually call that) as a patch. Use the following Blender operations on the scene with the specified settings:
- Limited Dissolve with Max Angle of 0.1°.
- Triangulate Faces:
Quad Method: Longest Diagonal
N-gon Method: Clip
I think what was making it impossible were those t-junc verts created at bsp compile.
With the current method of exporting each face as a patch I get 156,911 brushes in my map file, whereas with the proposed method I could get roughly between 700-1500 brushes.
So basically then the only problem is fixing irregular mesh / mesh with divots at what should be corners. Any part of a mesh with the 'lightning' shape is what needs fixed. I'm working on that solution I just don't have time at the moment since I have to go to work. But basically you fill where the corner should be with necessary vertices then apply the 2 steps above to the new mesh.
Something like this won't work because the faces don't all meet (left hand side cut-quad doesn't meet the right quad with
its entire length):

Whereas something like this should work:

I think I found a way to represent pretty much every connected mesh (whatever you'd actually call that) as a patch. Use the following Blender operations on the scene with the specified settings:
Quad Method: Longest Diagonal
N-gon Method: Clip
I think what was making it impossible were those t-junc verts created at bsp compile.
With the current method of exporting each face as a patch I get 156,911 brushes in my map file, whereas with the proposed method I could get roughly between 700-1500 brushes.
So basically then the only problem is fixing irregular mesh / mesh with divots at what should be corners. Any part of a mesh with the 'lightning' shape is what needs fixed. I'm working on that solution I just don't have time at the moment since I have to go to work. But basically you fill where the corner should be with necessary vertices then apply the 2 steps above to the new mesh.
Something like this won't work because the faces don't all meet (left hand side cut-quad doesn't meet the right quad with


its entire length):
Whereas something like this should work: