Finding Leaks in 3ds Max
New level designers for Source often fail to understand the concept of sealing a level with valid world geometry until it's too late. When the world (playable area) is not sealed off from the infinite void beyond, the level has (at least) one leak. This leads to many problems. For a detailed discussion on this, see the VDC entry on a Leak.
How Do You Know There is a Leak?
Most often, you'll suspect there is a leak if the lighting in your level is horrible because the VRAD process will not bounce any lights around your level. Optimization will be poor because VVIS will not run. But the only way to know for sure is to open the LOG file or search for a LIN file that matches your level's name alongside your level's VMF file.
Finding the Leak
The easiest way to find the leak is to load the Leak File. When you load this file, it will generate a thick red spline object in the scene that you can follow around until you discover the un-sealed section of your level.
Loading a Leak File
You can load a leak file via two methods:
- Menu: Wall Worm > Wall Worm Level Design > Wall Worm Map Compile Tools > Load Leak File.
- VMF Exporter UI: Leak Button.
When you launch the leak file loader, you'll be prompted to find a LIN file. Choose the one appropriate for your file. It will be located in the same folder as your VMF and will match the name of your level except it has a file extension of ".lin". Note that it will only exist if you have previously compiled your level and a leak was detected.
When the LIN file is loaded, a new scene node named Map Leak Line ### will be created and selected in the scene. It is safe to delete this object any time.
Using Cordons to Find a Leak
Another way of finding a leak is to add Cordons to the level and compile subsets of the level to find out where the leak is.
- Open the Cordon Manager.
- Create a Cordon in the scene.
- Open the VMF Exporter.
- Turn On Run VBSP.
- Turn Off both Run VVIS and Run VRAD.
- Click the Run Compile Batch button.
- Watch the compile process window or take notice of the compile log file that opens (depending on whether the Output Compile Window option is on/off). Look for any entry for a line that says: **** leaked ****
- If a leak is found in this area, reduce the cordon volume to fifty percent of its current size and continue steps 6-7 until you've found the leak. If there is no leak, move the cordon to a new area of the level and repeat steps 6-8.