Leaks, Pointfiles, and You
The goldsource .lin problem has now been noted further down thanks to Muzzle, ZL, and Pepper.
As mappers, at some point in our mapping careers we have had a leak.
Leaks can be found all over from being simple "duh." mistakes that can be fixed instantly, to being
extremely annoying small holes that sometimes take hours to find.
Luckily we no longer have to 'find' them. Hammer now does it for us by generating what are called pointfiles.
Pointfiles do exactly what you might think from the name. They "
point" a mapper to the exact placement of the hole causing your leak, reguardless of how technically hard it is to find. It will even point out leaks that happen through unsealed displacements.
Where Do We Start?
First we will start with a basic example of a pointfile.
We'll start by making a classic box room. In it should be a
light of some form and an
info_player_start.
A basic room, nice and leak free
Now, and this will be the
only tutorial at twhl that will say this, punch a large gaping hole or two into the side of your box.
A basic room, nice and.. wrong
With that out of the way, go ahead and compile your map. Just make sure "
Don't run the game after compiling" is checked, as we dont need to open the game over the course of this entire tutorial. (Hit F9 or click on the compile button.)
Now take a minute to look at your compile log. In it somewhere you'll find a line that looks something like:
- Entity light_environment (188.72 257.11 1.00) leaked!
Note that your entity might not necessarily be an
light_environment, but it will be an entity. This can be a point or a brush entity.
Now navigate to this entity in your 3D camera view and leave the camera looking at it.
The light mentioned in the compile log
We will now load the pointfile. Go up to the top left of your hammer screen and click on
Map, then navigate down and click on
Load Pointfile.
A box should now come up asking if you want to "
Load the default pointfile". Every time you compile a map with a leak in it, the default pointfile is overwritten with the pointfile of the last map you have compiled. This means, when you click yes, the pointfile is automatically loaded for the map you're working on. Conversely, if you compile a map with no leaks, the default pointfile is deleted.
When using any goldsource version of hammer, click no when prompted to loading the default pointfile. When the file selection box comes up, select the default .lin file instead.
Your pointfile should now be loaded. If you'll look at your 3D view (which should be aiming at the leaked entity from earlier), there will now be a red line coming from it. This red line also appears in all of your 2D views.
The sun there has some kind of.. red... stringy boogers
This red line is what pointfiles are all about. If you follow this red line, it will lead you
directly to your leak. (It's important to note that pointfiles dont compile into your map in-game. The red line only appears in hammer.)
Thar's the leak
While this example leak is
extremely obvious, your map's leaks might be a bit harder to find.
Opening a pointfile works the same in any map that you're working on. The only difference is that your pointfile might require a bit more camera navigation skill to follow your red line.
Grab your favorite newspaper puzzle section and cheat away <3
Another thing to mention is that pointfiles are somewhat unpredictable in terms of how many leaks it will reveal at any given compile. Some pointfiles have shown me every single leak in a map while others show only one leak at a time.
It comes out of one, but not the other
The leaks being right next to each other doesn't make a difference. The same rules apply to all holes in the map reguardless of where they are located.
Pointfiles and Cordoning
If it shows you every leak, consider yourself lucky. It doesn't happen that often. On the other hand, if it's showing you only one at a time, you're probably not going to want to compile your map over and over again if you have several leaks.
A solution to this is cordon compiling. It allows you to section off portions of your map for specific area compiling and pointfiling as opposed to your entire map. If your map is large and detail intensive, the odds of you having the time and patience to compile over and over again to find a single leak each time is very little.
See
Tutorial: Using the Cordon Tool. Use cordon boundaries to section off portions of your map that are likely to have leaks in them and use pointfiles in that way.
I added the purple, so don't expect hammer to look like that
Yep, I'm sectioning off almighty cylinder room first. (Imagine this map is really detailed and that the compile time is huge)
Conclusion
Now you should have a pretty good grip on how to use pointfiles. If in the future you find this tutorial to save you a lot of leak finding time, feel free to tell me about it in the comments :>
Happy mapping!
Didn't know it had two types.
MuzzleFlash is correct, though - GldSrc pointfiles aren't useless.
Anyways.. very good tutorial. Will come in handy indeed.