![]() ![]() ![]() Lesson 8a - Leak DetectionWell, I had planned on talking about leaks in a later lesson, but as I was working on lesson 9, I discovered we've got a leak in our map after lesson 8's additions. You might be wondering how I knew there was a leak. After all, the player didn't fall through the map, like sometimes happens (Those are the really *bad* leaks). Well, I noticed as I compiled lesson 8 that VIS didn't run and that means there's a leak. Rather than just fixing the problem and uploading a new lesson8.map, I decided to incorporate this into the tutorial now rather than waiting until later. That way you can see how to find a leak in your own maps. If you know or suspect you have a leak in your map, look in your C:\QBSP directory for a file with the extension of .pts, in our case it is 'lesson8.pts'. Copy this to the C:\QUAKE\ID1\MAPS directory (or whatever directory your lesson8.bsp gets copied to when it's compiled). Run your level in Quake and after it runs, pull down the console and type 'pointfile'. This will cause Quake to load the .pts file and display a line of white dots leading to your leak. Go ahead and do that now. Now, type 'noclip' at the console and close the console. Since we want to see where the trail of white dots comes out into the void, it's usually easier to find it from outside the map. With clipping turned off, we can move outside the map into the gray area and look around until we see the white dots. That's where our leak is. Go ahead and move around outside the map until you see the white dots. It should look something like this: ![]() Your actual screen may vary slightly, because I've been playing around with my map trying to find the leak, but it should still be in the same area. Moving around the map, you will discover that this leak originates in the area of two of the 'path_corner' entities we put in to control our 'func_train'. If you look at the map in the Top View, you'll see that the two 'path_corners' which are centered at (-768, -320) in the Top View, touch the outside area of the map. True, they're up against the edge of the brush which makes up the wall, but they are still considered by Quake to be outside the map. Anytime an entity is outside the map, QBSP generates a leak. This method works well, but fortunately, there is another way to find leaks from within BSP itself. If you have a leak in your map, you can load the *.pts file into BSP (there is an option under the File menu) and BSP will display a line of yellow dots in the Top View and the 3-D view leading to the leak. This saves you the hassle of loading your leaky level into Quake. Sometimes it's easier to find the leak in BSP and sometimes it's easier in Quake; it just depends on the leak. Fortunately, this leak is easy to fix, but we need to do two things in order to fix it completely. First move each of these two entities so that they are centered on (-768, -312). This will move them inside the map (at least from the vantage point of the side wall). This will fix part of the leak problem, but there's still another problem. Switch to the Front View and notice that our bottom 'path_corner' entities touch the outside of the map due to the fact that they are embedded in the floor. Since we want our platform to remain on the floor, the easiest way to fix these is to make the floor brush thicker. Select the brush which makes the floor of this room and drag the bottom edge down a little. This will insure that the entity is shielded from the outside area and the leak has now been fixed. Recompile your map and now VIS should run properly. Sorry to put you through this in the middle of our tutorial, but you're going to encounter this problem in your own maps eventually, so we might as well cover it now. Coming up next, as promised, will be wind tunnels. See you soon. ![]() ![]() BSP is the sole creation of
Yahn Bernier. I am only a
dedicated user, reporting news and making tutorials so Yahn can spend
more time enhancing BSP. QUAKE is a registered trademark of Id Software,
Inc. QUAKE(r), the stylized reproduction of the QUAKE(r) trademark,
including, without limitation, the Q in QUAKE(r), and the images
depicted in QUAKE(r) are the copyrighted property of Id Software, Inc.
So there :-P
This web page was created and is being maintained by me (DeadMeat). The main logo for this site was made by QuakeGod. Most everything else was made by me.
All content appearing on this site after August 30, 1997 was written by DeadMeat. Also, DeadMeat's BSP Tutorials were created entirely by DeadMeat. All unauthorized use is prohibited. (c) 1997 |