News | Forum | People | FAQ | Links | Search | Register | Log in
Mapping Help
This is the place to ask about mapping problems, techniques, and bug fixing, and pretty much anything else you want to do in the level editor.

For questions about coding, check out the Coding Help thread: https://www.celephais.net/board/view_thread.php?id=60097
First | Previous | Next | Last
Dakza 
I sometimes get that message if I have converted the map back and forth between .map formats a few times.

Take a look at the worldspawn entity, does it look like this,

"classname"" "Worldspawn"?

just do a find "" and replace with " in a text editor if this is the source of the problem. 
Lines 1 Through 12 Or 13 I Think I Forgot 
Ok below are lines 1 through 13. with it like this i get the error "line 7 is incomplete.

// entity 0
{
"classname" "worldspawn"
"wad" "egyptsoc.wad"
// brush 0
{
( -320 320 320 ) ( -512 320 320 ) ( -512 -448 320 ) egypt/block06a 0 0 0 0.500000 0.500000
( -512 -448 352 ) ( -512 320 352 ) ( -320 320 352 ) egypt/stone01c 0 0 0 0.500000 0.500000
( -512 -416 328 ) ( -320 -416 328 ) ( -320 -416 320 ) egypt/stone01c 0 0 0 0.500000 0.500000
( -320 -448 328 ) ( -320 320 328 ) ( -320 320 320 ) egypt/stone01c 0 0 0 0.500000 0.500000
( -320 -192 328 ) ( -512 -192 328 ) ( -512 -192 320 ) egypt/v128-01c 0 0 90 0.500000 0.500000
( -512 320 328 ) ( -512 -448 328 ) ( -512 -448 320 ) egypt/stone01c 0 0 0 0.500000 0.500000
I Tested The Map Text 
you have there with the latest build of txbsp because I'm more familar with it as a basis than treebsp. It has the same support base as treebsp however.

I saved it as a test map, adding only a brace at the end to enclose the worldspawn entity, like so:

// entity 0
{
"classname" "worldspawn"
"wad" "egyptsoc.wad"
// brush 0
{
( -320 320 320 ) ( -512 320 320 ) ( -512 -448 320 ) egypt/block06a 0 0 0 0.500000 0.500000
( -512 -448 352 ) ( -512 320 352 ) ( -320 320 352 ) egypt/stone01c 0 0 0 0.500000 0.500000
( -512 -416 328 ) ( -320 -416 328 ) ( -320 -416 320 ) egypt/stone01c 0 0 0 0.500000 0.500000
( -320 -448 328 ) ( -320 320 328 ) ( -320 320 320 ) egypt/stone01c 0 0 0 0.500000 0.500000
( -320 -192 328 ) ( -512 -192 328 ) ( -512 -192 320 ) egypt/v128-01c 0 0 90 0.500000 0.500000
( -512 320 328 ) ( -512 -448 328 ) ( -512 -448 320 ) egypt/stone01c 0 0 0 0.500000 0.500000
}
}

and I ran it without the -q2map option and it compiled without a problem. It would seem that the option is no longer necessary to compile q2map builds, but that is just my inference from this test. 
Dakza/HeadThump 
You must use the -q2map option for maps in Q2 map format. However, from what I can see in the excerpts above, the face format seems to be mixed Q2/Q1.

There are paths in the texture names like in a Q2 map, but the additional values after the tex name are missing (like in a straight Q1 map).

Something seems wrong in the generation of this map file. As for the wad, you must either include it in the "wad" key in worldspawn (like you already do, but check file position) or have a wad file with the same name as the map file in the same directory (the default wad logic). E.g. "mymap.map" and "mymap.wad".

Dakza: If you wish, you can send me the zipped (unconverted) map+wad and I'll take a look at it. 
Cheesey Workaround 
I used the replace feature in wordpad to deleate the texture paths... then i saved it in worldcraft.. for some reason if i didint some of the brushes went missing when i went to compile. then i just run it like a normal quake map. Works, but its an awful hassle. Plus i have some consern re not knowing whats going wrong.

ALso, how do you go about modifying entities in gtk? eg. adding targetnames and spawnflags and such. 
Vis_leafs 
(shouldn't that be leaves?)

So there I am, happily polishing my effort for the SM40 contest, when all of a sudden I get 'Vis leafs 8684 exceed normal engine max 8192'. Bugger!

During this latest bout of polishing I have added about 12 brushes. I haven't seen this message before on this map so am somewhat surprised.

Am I right in thinking that vis_leafs are 'the sides of brushes that face into the map that a player can see'? For simplicity, I am assuming that we have a hollow cube and that it is made of six brushes, resulting in 6 vis_leafs. Each brush is six sided in the .map file but the player can only see those sides that are 'inside' the map when it is played i.e. the six inside surfaces of the wall, ceiling and floor.

I know about func_walls (from earlier posts) but my most numerous brushes that fit my simple scenario are all cave walls and ceilings. If I turn these into func_walls and place brushes outside of these to seal the map, am I likely to get some success in reducing vis_leafs?

I don't seem to get a vis_leaf count unless it's a problem and I have 5500 brushes in this map so I don't want major changes unless I need to.

Any suggestions? 
well, i don't know tons about this subject, but vis_leafs isn't the visible surfaces, that would be surfaces and marksurfaces i think.

anyway, i think the simplest way to reduce vis_leafs is to reduce the complexity of the vis data, so, for example, convert sticky outey bits into func_walls. 
Mike 
The most common cause for that warning is a leak. Assuming you've already checked that, the "vis leafs" is the first of the two values that vis prints out at startup (can also be read from the prt file), the other being the portals.

AFAIK, a vis leaf is an empty volume inside the map that the player can theoretically be in, regardless of size. Each leaf borders either to solid faces or other leafs via portals ("doors" between leafs).

The more complex a map, the more leafs/portals there'll be and the longer vis will take processing it.

Due to a bug in most engines, the max # vis leafs is limited to 8k, otherwise the stack will be trashed and the engine will crash. This is one of the most common causes for an engine crash and it usually happens when trying to load a big leaky map.

In my engines, I've upped the limit to 32k and added a protection for amounts beyond that. Like necros said, try to reduce complexity to get down vis leafs. 
Well 
I want to ask a question that I wanted to ask a long long time ago.

How to make trigger_shooter work as trigger_spikeshooter? I mean it should start to shoot when player enters the trigger zone and stop to shoot when player leaves the zone of the trigger that is targeted at shooter.
So far even if I give it a targetname it always shoot, no matter where the player is. 
Pulsar 
have you tried calling it a trap_spikeshooter? 
More Detail 
pulsar - although i've never used shooters before, i'm just looking at the QC, and they seem simple enough. Just hook a trap_spikeshooter up to a trigger_multiple (with "wait" set to the time between spike firings) and bob's your uncle! 
Vis_leafs 
OK, something going on here that doesn't make sense to me.

I spent the morning clearing leaks: the map had all of its major brushwork in place and up to this point I had been using -nofill in Qbsp. I then ran Qbsp normally (about ten times), using each generated .pts file to clear all leaks and eventually running a quick vis all without problems.

Only then did I add my dozen or so brushes, all inside the sealed map. Does this mean/suggest that these few brushes pushed vis_leaves over the top?

I have since changed 200ish brushes to func_walls to see if this would make a difference, and it didn't.

Right now, I intend to retrace my steps from the pre-leakcheck map to see if I can recreate the problem: of course, I can't get the vis-leaf count as I go as I have leaks. Is this Catch22?

Anyway, thanks for your input. 
Kinn 
I understand what I say, I know that.
It seems I need to explain it more: trap_spikeshooter works exactly in the way you described, but it shoots too fast. It hard for player pass thru it without getting damage. Trap_shooter shoots slow (as I want), but it shoots always and triggering it just makes it to shoot faster (like trap_spikeshooter does).

So I want to know if it is possible to make it start to shoot only after triggering it and not from the time the has been loaded. 
Oh 
the has been loaded.
the map has been loaded. 
Pulsar 
I take it you are using a trigger_multiple to trigger the trap_spikeshooter, yes?

Just set the trigger_multiple's "wait" field to the time you want to elapse between spike firings. The trigger_multiple's default wait is 0.2 secs, so if you don't set it, the spikes will be launched at a rate of 5 per second. 
Hey 
I haven't thought about it in a such way. I'm going to check it right now. 
Mike 
AFAIK, you'll get the vis leaf warning also when the map leaks (which is the normal reason why the amount is so high). Having a sealed map with >8k leafs usually means >24k portals and then you'll have a fullvis nightmare ...

If you can't sort it out, send me the zipped map and I'll take a look at it. 
Funny Really 
I have this 'system' that I use when working on a map: I compile regularly (like every 15 minutes) using Qbsp -nofill, and Light, which also saves the work done so far. Every so often I will save the WIP with a new name, in this case SM40_mw1.map, SM40_mw2.map etc. Occaisionally, I will try some major change that I am not sure about and will use the file test.map so if it doesn't work I can just dump it and continue where I left off.

So, I am moving a piece of terrain that is on a grid of 1536 x 1536 x 768 - this is big so I use test.map to try it out first. It's a success and I am so pleased that I continue leak testing (post 2969 above) and resolve every leak. Then I go and have some lunch.

When I come back I load the last map (SM4_mw9.map) and continue polishing. I add my 12 extra brushes, compile and... get the vis_leaf problem. WTF, it worked before lunch? But of course as we all know now, the last map I saved was called test.map and had all of my leak fixing in it - I had forgotten to save it with the usual series name.

Oh well, at least with the system I use, when I retraced my steps back to the last good map and then worked forward, as soon as I got to the need to move the piece of terrain I realised what had happened. Only wasted a couple of hours and now back on track, no leaks, full vised, so polishing continues.

There's a moral there somewhere... 
Mike 
The moral of the story is: mapping editors need a built-in database system for tracking changes. Something like CVS or Subversion (which are used for tracking changes in big software projects). 
 
There's a moral there somewhere...

Always Backup Your Maps*










*even if you are easy to confuse 
QuakeC Help Needed 
I am getting to the phase where I should be adding gameplay to apinaraivo.bsp and I am in need of QuakeC help. I need to port the Mega-Enforcer for Zerst�rer and something from Scourge of Armagon over to the ID sources. If anyone would be so kind as to do this for me (should be pretty trivial for a person fluent in QuakeC, which I am not), please get in touch. My eternal gratitude is assured. 
Jago 
What the heck, I'll sort you out ;) What is it you need from SoA exactly? 
Kinn 
I sent a email to the address mentioned in your profile. 
Jago 
sorry - could you resend to:

bdwooding - at - gmail - dot - com

thanks :)

/me needs to update his profile 
Resent 
[nt] 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.