I noticed that I get sparklies in a map from a very simple brush indeed.
It occurred to me that it’s probably a slight math error in the plane->winding calculations.
While I doubt there’s an actual fix directly possible in that particular bit of code, it did occur to me that Ydnar could implement a relatively simple fix.
After a brush is converted into windings, q3map2 could parse all the brush vertices and collapse any very nearby ones, then obviously cleaning up the windings to take the new collapsed vertex list into account.
This could either be done on an individual ‘brush processed’ level (faster but may cause new sparklies from touching brushes) or on a global ‘all vertices level’ (slower but will prevent new sparklies potentially being formed since all geometry is affected the same).
The only real problem I could see is that you then have the potential problem whereby visibile geometry doesn’t quite match collision data (which if I recall comes directly from the plane info, not from the winding info?). I’d have thought though that this visual discrepency would be so darned tiny (as long as you don’t make the ‘snap’ parameter too big of course) that no-one could possibly notice.
Thoughts? 
