This is a program I’ve made that modifies Hammer and removes the precision loss for brush vertices when saving and loading.
It can be viewed here: https://github.com/crashfort/HammerPatch
Some pictures I have on the page:
Click the pictures for a larger version!
Say you have a simple default primitive. This is a cylinder with 32 sides.
In default Hammer, this is what you’d see if you zoom in on such primitive after loading a map of one iteration.
Here’s the same shape but when saved and loaded with HammerPatch. It is the exact same vertices as it was created with.
This problem gets more problematic on advanced shapes.
Again, this is what it looks like in default Hammer after one save iteration.
The same map as saved and loaded by HammerPatch.
As of May 9 2017 I have not yet implemented the same change in VBSP so in game the brushes might get messed up still. But I’m working on it!