Leaking maps: Difference between revisions
SneaksieDave (talk | contribs) m typo |
|||
Line 5: | Line 5: | ||
In Doom/Radiant editing, the world is an infinite big empty space and your map is a small world placed inside this vacuum. The inner world must be completely sealed against this vacuum, or a leak occurs. | In Doom/Radiant editing, the world is an infinite big empty space and your map is a small world placed inside this vacuum. The inner world must be completely sealed against this vacuum, or a leak occurs. | ||
Maps with a leak will not compile and do thus not work at all. | Maps with a leak will not compile (dmap) and do thus not work at all. Instead, when you dmap, Doom3 creates and saves a pointfile with info about the route through the leak. The editor can load this in and display it (see below) | ||
''[edit: Springheel]'' Leaks can also be caused by models. If the origin of a model occurs in the void, it can cause a leak, which is often difficult to track down. If the red line created by the pointfile (see below) does not make sense, check to see if any models have an origin outside the visible model. | ''[edit: Springheel]'' Leaks can also be caused by models. If the origin of a model occurs in the void, it can cause a leak, which is often difficult to track down. If the red line created by the pointfile (see below) does not make sense, check to see if any models have an origin outside the visible model. |
Revision as of 14:12, 20 April 2009
What is a leak?
A leak occurs when the geometry of a map is not completely sealed.
In Doom/Radiant editing, the world is an infinite big empty space and your map is a small world placed inside this vacuum. The inner world must be completely sealed against this vacuum, or a leak occurs.
Maps with a leak will not compile (dmap) and do thus not work at all. Instead, when you dmap, Doom3 creates and saves a pointfile with info about the route through the leak. The editor can load this in and display it (see below)
[edit: Springheel] Leaks can also be caused by models. If the origin of a model occurs in the void, it can cause a leak, which is often difficult to track down. If the red line created by the pointfile (see below) does not make sense, check to see if any models have an origin outside the visible model.
How to detect leaks
The easiest way is to watch the console during dmap yourmapname
. When a leak occurs, a red warning will be printed.
Other warning signs:
- Newly added geometry is not showing up
- You're colliding with invisible things, as the .cm file is still stemming from the most recent compiling version.
- Textures are not updated (they didn't get saved into the .proc file)
- Lights/shadows precalculation doesn't take effect.
- AAS is no longer valid - this will break pathfinding.
- The map won't run at all if the .cm/.proc files aren't available from a previous version.
How to fix leaks
In the editor, open your map, and then select File -> Pointfile
. This will insert a few red lines pointing from the inner world to the outside, hopefully helping you to pinpoint the leak.
Every time you move something to try and fix the leak, you must save and dmap your map again to test it. An updated pointfile will be created (assuming the leak is not fixed or there is another leak somewhere else).
Another option is using Edit -> Undo
or going back to a previously saved map version.
Note that the dmap command will print some leak information to the console, which includes the entity the flood algorithm was able to reach from the outside. This can also help pinpointing the leak (sometimes entities are filtered or way outside the map). You can use DarkRadiant's Entity List to look up the entity by name then.
There is additional information about leaks in Performance: Essential Must-Knows