Dakza
#2958 posted by HeadThump on 2004/12/25 23:05:23
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
#2959 posted by dakza on 2004/12/25 23:23:29
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
#2960 posted by HeadThump on 2004/12/26 03:32:46
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
#2961 posted by aguirRe on 2004/12/26 04:54:50
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
#2962 posted by dakza on 2004/12/26 13:20:11
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
#2963 posted by Mike Woodham on 2004/12/26 13:27:06
(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?
.
#2964 posted by necros on 2004/12/26 13:41:16
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
#2965 posted by aguirRe on 2004/12/26 14:09:55
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
#2966 posted by PuLSaR on 2004/12/26 14:15:53
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
#2967 posted by Kinn on 2004/12/26 14:47:02
have you tried calling it a trap_spikeshooter?
More Detail
#2968 posted by Kinn on 2004/12/26 14:54:46
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
#2969 posted by Mike Woodham on 2004/12/26 15:35:17
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
#2970 posted by PuLSaR on 2004/12/26 16:14:08
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
#2971 posted by PuLSaR on 2004/12/26 16:14:57
the has been loaded.
the map has been loaded.
Pulsar
#2972 posted by Kinn on 2004/12/26 16:35:16
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
#2973 posted by PuLSaR on 2004/12/26 16:39:52
I haven't thought about it in a such way. I'm going to check it right now.
Mike
#2974 posted by aguirRe on 2004/12/26 17:15:25
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
#2975 posted by Mike Woodham on 2004/12/27 07:12:47
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
#2976 posted by Jago on 2004/12/27 08:20:29
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).
#2977 posted by Kell on 2004/12/27 08:25:04
There's a moral there somewhere...
Always Backup Your Maps*
*even if you are easy to confuse
QuakeC Help Needed
#2978 posted by Jago on 2004/12/27 09:24:22
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
#2979 posted by Kinn on 2004/12/27 09:29:32
What the heck, I'll sort you out ;) What is it you need from SoA exactly?
Kinn
#2980 posted by Jago on 2004/12/27 09:35:08
I sent a email to the address mentioned in your profile.
Jago
#2981 posted by Kinn on 2004/12/27 09:38:51
sorry - could you resend to:
bdwooding - at - gmail - dot - com
thanks :)
/me needs to update his profile
Resent
#2982 posted by Jago on 2004/12/27 09:41:35
[nt]
|