Area portal problems.

Ze Inspector

L1: Registered
Mar 14, 2008
42
0
Hey all, So I'm working on the next beta of my map, and I've been spending a lot of time trying to optimize the beast to get vis to compile faster and so that it runs a bit smoother (though it runs ok now). After some hurdles I've managed to figure out hints (I think), and I thought I had area portals going well.

However, I went through the map the other day and tracked down a number of brushes that could be func_details and did so. And there were a lot of them. I compiled it, had leaks, (no big surprise) tracked those down and sealed them off. I noticed in the compile logs during the leak hunt this message quite frequently.

"Brush 658913: areaportal brush doesn't touch two areas"

I figured this had to do with the leaks I had, as the "area" mentioned might be open to the exterior of the map due to the leak, but now I'm not getting any leak messages and I'm still getting those area portal errors. I've included the compile log. Please disregard the numerous cubemap errors, converting to func brushes seems to have created that problem but it's something I can take care of.

-Thanks!


** Executing...
** Command: "c:\program files\steam\steamapps\midnightgrin\sourcesdk\bin\orangebox\bin\vbsp.exe"
** Parameters: -game "c:\program files\steam\steamapps\midnightgrin\team fortress 2\tf" "C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab"

Valve Software - vbsp.exe (Mar 11 2008)
2 threads
materialPath: c:\program files\steam\steamapps\midnightgrin\team fortress 2\tf\materials
Loading C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab.vmf
Error! Variable "$detail" is multiply defined in material "concrete/wall024"!
Error! Variable "$detailscale" is multiply defined in material "concrete/wall024"!
fixing up env_cubemap materials on brush sides...
env_cubemap pointing at deleted brushside near (-800, 403, 156)
env_cubemap pointing at deleted brushside near (-1597, 477, 185)
env_cubemap pointing at deleted brushside near (-1597, 477, 185)
env_cubemap pointing at deleted brushside near (-1597, 477, 185)
env_cubemap pointing at deleted brushside near (-1597, 477, 185)
env_cubemap pointing at deleted brushside near (-1597, 477, 185)
env_cubemap pointing at deleted brushside near (-1597, 477, 185)
env_cubemap pointing at deleted brushside near (-1597, 477, 185)
env_cubemap pointing at deleted brushside near (-1597, 477, 185)
env_cubemap pointing at deleted brushside near (-2884, -396, 184)
env_cubemap pointing at deleted brushside near (-2884, -396, 184)
env_cubemap pointing at deleted brushside near (-2884, -396, 184)
env_cubemap pointing at deleted brushside near (-2884, -396, 184)
env_cubemap pointing at deleted brushside near (-3984, 1024, 140)
env_cubemap pointing at deleted brushside near (-3984, 1024, 140)
env_cubemap pointing at deleted brushside near (-3344, 1424, 16)
env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
env_cubemap pointing at deleted brushside near (-1848, 833, 472)
env_cubemap pointing at deleted brushside near (-1848, 833, 472)
env_cubemap pointing at deleted brushside near (-1848, 833, 472)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (-2176, 162, 520)
env_cubemap pointing at deleted brushside near (800, 444, 156)
env_cubemap pointing at deleted brushside near (800, 444, 156)
env_cubemap pointing at deleted brushside near (800, 444, 156)
env_cubemap pointing at deleted brushside near (800, 444, 156)
env_cubemap pointing at deleted brushside near (800, 444, 156)
env_cubemap pointing at deleted brushside near (1597, 370, 185)
env_cubemap pointing at deleted brushside near (1597, 370, 185)
env_cubemap pointing at deleted brushside near (1597, 370, 185)
env_cubemap pointing at deleted brushside near (1597, 370, 185)
env_cubemap pointing at deleted brushside near (1597, 370, 185)
env_cubemap pointing at deleted brushside near (1597, 370, 185)
env_cubemap pointing at deleted brushside near (1597, 370, 185)
env_cubemap pointing at deleted brushside near (1597, 370, 185)
env_cubemap pointing at deleted brushside near (2884, 1244, 184)
env_cubemap pointing at deleted brushside near (2884, 1244, 184)
env_cubemap pointing at deleted brushside near (2884, 1244, 184)
env_cubemap pointing at deleted brushside near (2884, 1244, 184)
env_cubemap pointing at deleted brushside near (3984, -176, 140)
env_cubemap pointing at deleted brushside near (3984, -176, 140)
env_cubemap pointing at deleted brushside near (3344, -576, 16)
env_cubemap pointing at deleted brushside near (3344, -576, 16)
env_cubemap pointing at deleted brushside near (3344, -576, 16)
env_cubemap pointing at deleted brushside near (1848, 14, 472)
env_cubemap pointing at deleted brushside near (1848, 14, 472)
env_cubemap pointing at deleted brushside near (1848, 14, 472)
env_cubemap pointing at deleted brushside near (1848, 14, 472)
env_cubemap pointing at deleted brushside near (1848, 14, 472)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (2176, 686, 520)
env_cubemap pointing at deleted brushside near (-3504, 504, 152)
Multiple references for cubemap on texture maps/secret_lab/concrete/concretefloor008_-3056_952_163!!!
env_cubemap pointing at deleted brushside near (-3504, 504, 152)
env_cubemap pointing at deleted brushside near (-3504, 504, 152)
env_cubemap pointing at deleted brushside near (-3504, 504, 152)
env_cubemap pointing at deleted brushside near (-4146, 13, 198)
env_cubemap pointing at deleted brushside near (-4146, 13, 198)
env_cubemap pointing at deleted brushside near (-4146, 13, 198)
env_cubemap pointing at deleted brushside near (-4146, 13, 198)
Multiple references for cubemap on texture maps/secret_lab/props/metalduct001a_-3288_20_488!!!
Multiple references for cubemap on texture maps/secret_lab/props/metalduct001a_-3288_20_488!!!
Multiple references for cubemap on texture maps/secret_lab/props/metalduct001a_3148_834_477!!!
Multiple references for cubemap on texture maps/secret_lab/props/metalduct001a_3148_834_477!!!
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (4)
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (3)
Processing areas...Wrote C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab.lin
Areaportal leak ! File: C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab.lin
Brush 658968: areaportal brush doesn't touch two areas

Brush 658913: areaportal brush doesn't touch two areas

Brush 658928: areaportal brush doesn't touch two areas

Brush 658928: areaportal brush doesn't touch two areas

Brush 658928: areaportal brush doesn't touch two areas

Brush 658976: areaportal brush doesn't touch two areas

Brush 257735: areaportal brush doesn't touch two areas

Brush 257737: areaportal brush doesn't touch two areas

Brush 257744: areaportal brush doesn't touch two areas

Brush 257731: areaportal brush doesn't touch two areas

Brush 257744: areaportal brush doesn't touch two areas

Brush 257734: areaportal brush doesn't touch two areas

Brush 257792: areaportal brush doesn't touch two areas

Brush 257753: areaportal brush doesn't touch two areas

Brush 257753: areaportal brush doesn't touch two areas
done (0)
Building Faces...done (0)
Chop Details...done (1)
Find Visible Detail Sides...
Merged 2576 detail faces...done (3)
Merging details...done (1)
FixTjuncs...
Too many t-junctions to fix up! (3303 prims, max 32768 :: 65550 indices, max 65536)


** Executing...
** Command: Copy File
** Parameters: "C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab.bsp" "c:\program files\steam\steamapps\midnightgrin\team fortress 2\tf\maps\secret_lab.bsp"

 

Armadillo of Doom

Group Founder, Lover of Pie
aa
Oct 25, 2007
949
1,228
The areaportal error has 2 possible causes. Either they are intersecting each other, thus trying to seal off multiple spaces, or they don't entirely seal off the area. So if you have the areaportal just floating in the middle of a room and can walk around it w/out crossing through, it's the former. And if they touch each other at all, it's the latter. Unless you're really sure that you need areaportals, I would advice waiting to use them. A nice way to check your vis is run the portal file after doing a full compile. This will show every single piece of the map, and how it's broken up. Hope this helps :)
 

Ze Inspector

L1: Registered
Mar 14, 2008
42
0
I see, so running the portal file will help me determine the "areas" in the map, and then with areaportal I can optimize those divisions? Just because I'm curious does adding further hints help to define those areas? Like if I had a large room with 4 exits and I wanted to put area portals on those exits, would I need to bysect the room into four parts?
 

Paria

L5: Dapper Member
Dec 12, 2007
202
31
areaportals really help if you have a map that you are able to portion off effectively, as far as adding hints in conjuction to area portals - i would be looking to make the hints at points where it delays the viewing of the areaportal till as late as possible

i.e, if u have a doorway around a right angled corner - look to add a hint that means the next area you are approaching is rendered only when it needs to be.

i've said it a couple of times in various posts but actually checking your areportals using the perfui - areportal tool helped me alot, you can actually see in game at which point you can see through the portal to the next area of your map, and this will help you see whtyher a hint is doing as you intended it to , or whether it would be better placed elsewhere.

sv_cheats 1
perfui
area portal tool

go have a look :D
 

Spike

L10: Glamorous Member
Feb 13, 2008
716
82
How do I open a "portal file"? I don't know what it is :S
 

Ze Inspector

L1: Registered
Mar 14, 2008
42
0
Well, the portal file or filename.prt should be created when you run vbsp, provided that you have no leaks in your map. I actually went to load it just now and discovered that mine isn't getting written, I'm not sure why. I'm doing some digging to see what's going wrong there.

I also just ran the perfui command and wow, this thing is great! It's just what I was looking for to help me know where to put hints etc. Just amazingly helpful, thanks again Paria.