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:
First | Previous | Next | Last
Or You Can Use Monsterclip 
The new tricks thread has how to create an invisible entity that blocks monsters but not players, in fact it seems to use the same tricks that have been causing problems for trinca. You create a brush with clip texture, and hide a regular textured brush in the wall below. Then make the pair of brushes into a func_wall. Because the clip part of the brush is outside the bounding box of the regular brush, it doesn't clip the player(or monsters moving by flight/ leaping).

However, as MOVETYPE_WALK is a rule unto itself, it actually takes notice of the clip brushes there and won't move monsters across. I have a theory that if you made a thin brush and had a monster that walks far enough to completely pass through the brush in one frame, it could skip the monsterclip. But I've not tested it, it's just intuition.

Now, this all started because the ogres were blocked by the lava but the hellknights weren't. What if you wanted to use monsterclip, but still have the hellknights able to pass through it? Or what if you wanted to reverse the situation and have only the hellknights blocked and not the ogres? Or make a visible func_wall that blocks the player but none of the monsters? It turns out all of these things and more are possible, and I'm gonna post how in the new tricks thread... 
afaik there is no limit to numportals anymore (at least in aguirRe's tools). 7700 is nothing to be worried about; the other limits are definately more important. 
could you tell me all the other limits as i've forgot them, been awhile since my last map, the new map feels smaller in away but is even more detailed then the last so i suppose i'll hit some limit sooner or later. 
Easy, Norm, Hard 
I am having trouble keeping tabs on all of my monsters in the editor. I was thinking of puting all monsters of each skill level into a separate Group so that I can work on each skill level independently by turning these Groups on and off as required. This would mean that if a monster was to appear in all three skill levels, I would have it three times in the map instead of once.

Clearly this would mean that for the sake of me having an easy time of it in the editor, I would 'bloat' the .map file and the .bsp file.

How bad would that be for a map that has (say) 100 on Easy, 150 on Norm and 200 on Hard: that's 450 monsters in the file instead of maybe 200 when using conventional methods i.e. using spawnflags?

Is there any effect on the engine or is it all down to file size? 
Bit Of Loading Time 
The skill setting flags are done engine side rather than QC side, so the entities aren't ever loaded into memory if they have the right spawnflag set. The only thing I'd think would result is a bit of a longer loading time as it checks all these monsters when the map loads - and that's going to be pretty fast. It will also bloat the bsp file, but not by a lot, the entire entity section of e1m2 is 40kb in size, and the bsp is 1.3mb. 
Thanks. In that case I'm taking the easy option. 
i don't know all limits by heard, but the ones you should watch out for primarely are marksurfaces and clipnodes (both 32k), as well as the entity limits (e.g. 128 static ents, 256 bmodels and so on) 
what couses this???

Sz_getspace: 8002 is > full buffer size

if map is in id1 drectory no problem... but in Quoth give me this error... any idear why? 
Too many entities. Reduce their number. Try to combine some b_models into one where possible. 
Btw Question 
why do I always get the message backup past 0 in one place in my map? AguirRe's engine, -developer 1 option.

And I get monster in wall message when monsters spawn high over ground (to avoid accident telefragging them).

Can anyone explain? AguirRe? 
i think the droptofloor doesn't drop monsters if they are too high above a floor, this means that when the monster is checked to see if it can walk or not (ie: stuck in the floor or not on the ground) it will return false, and thus give the error message.

this used to happen in quoth for spawning monsters from func_hordespawn, because i chose to not make spawning monsters droptofloor (in case you used flying monsters) but the error check would come back that they couldn't move (because quake physics hadn't started on them yet and made them fall to the floor). 
Backup past 0: I don't know, it happens occasionally without any obvious problems.

Monster in wall: I also don't know, if the monster behaves as desired, ignore the warning.

I think both things can be QC issues as well. 
Monster In Wall 
The monster in wall check is just like necros said, it's a QC side thing, in the function walkmonster_start_go. The way the QC tests for a monster stuck in a wall is to call walkmove(0,0), the function for walking monsters on the ground. This function returns a float value of 1 if the movement was successful and 0 if it wasn't. If the movement fails then the error message "walkmonster in wall at: " is printed.

The problem is that walkmove can fail(return 0) for three reasons. One is that the monster is stuck in a wall, which is the behaviour the code assumes. The second is if the monster can't physically move that far, like when there is a wall in the way. This cannot happen in this case though, as we are walking the monster 0 units. So you only end up in a wall if you started in one.

The third reason it can fail is if the monster isn't on the ground, as walkmove is only for monsters that are walking on a surface(surprisingly enough). So if the monster is spawned in the air it's going to fail this check. Usually the preceding line of code in walkmonster_start_go drops the monster to the floor first, but if your monster is too high to drop(more than 256 units above a surface) then it won't work.

Since you mentioned avoiding telefragging as the reason the monster is so high, there is another possibility why droptofloor isn't happening. I'm guessing that you're using some kind of spawnflag teleporting, rather than the ID setup of info_telport_destination and teleporters outside the level. Some code(mine included) modify walkmonster_start_go to ignore the droptofloor call - precisely for the reason you're giving, so that the monster teleports in from where they are placed, which is allowed to be in the sky. Of course, then the code should really skip the "monster in wall" check too, as it'll always fail even when the monsters are not stuck. I guess I should contact inside3d about correcting my teleport flag code then... 
for some reason remove_skip doesn't work on my map. it always stops after saying "bsp is version 29" without removing any faces. could this be related to fact that i'm very close to hitting the marksurfaces limit and have exceeded clipnodes by 10k? compiler is treeqbsp-bjp by the way. 
After Exceeding Maxsurfs Etc. 
skippy tends to trash the bsp and cause all many of problems. 
Oh Well 
i changed the object in question to a health trigger. thx 
Old Chestnut I Know, But... 
...I have just added 20+ monsters without making any changes to brushwork. Marksurfaces have risen from 31065 to 31665.

If marksurfaces are created as a result of the way the brushes are split in the qbsp stage, does it mean that monsters can cause a different split? And if so, is there a benefit to keeping monsters off of the ground in the mapping stage.

I ask because I have at least another 80 monsters to go and am in danger of exceeding the marksurface limit, and I want my map to be playable in FitzQuake.

(I am probably getting too tired/old to adhere to the critical technical disciplines of Quake mapping these days) 
If So, Easy Fix 
Compile the map one with all the monster entities in it and let it exceed marksurfaces. Use adquedit or similar to export the entity list to a .ent file. Compile the map again in it's current state(ie. with enough point entities stripped out to compile with marksurfaces under the limit). Then just import the ent file into that copy of the bsp. Equivalently you could do an -onlyents compile to add the monsters back in, and this might be a little easier to set up with batch files. 
monsters have no effect on the bsp tree :)

As for what caused your increase in marksurfaces, I have no idea. Are you sure you didn't do anything?

Also, I've heard rumors which I find very hard to believe that things like vis results are actually different based on the speed of your CPU and stuff... I really have a hard time accepting that the compiles are non-deterministic. But, I don't know everything, so :P 
once I noticed the same thing as Mike did. I exceeded the marksurfaces limit when placing monsters (no brush changes). Wise people told me that monsters don't affect marksurfaces, so I believed them.

Anyway, some maps with exceeded marksufaces limit can still be playable in fitzquake (and all the other engines I think). When I got the crash problem the first time I started making small changes to the map and tried it in the engine each time. After n attempts map started to load without problems. Though I still have no idea what was the case of the problem and solution.

It's kinda Quake mysticism. 
Another Question To Coder About Engine Messages 
I always get a message when I test my map on skill 2 (-developer 1 option, aguire's engine):


WTF is this? And why it appears only when I play on hard skill? I suppose that's because of a big ammount of monsters (>200), but I don't get it on skill 1 where monsters are only about 20-30 less. This message dissappears only closer to the end of the map after I kill about 150-170 monsters. 
th_stand is the standing animation for all monsters, and walkmonster_start_go is the function that gets called everytime a new monster is made to set up common stuff between all walking monsters...

but i've never seen error code like that in the qc, so it must be an engine thing... 
I doesn't cause any problems (at least I didn't notice them so far). It is just annoying message at the top of the screen. I just wanted to get some ideas of how can I get rid of it. 
Are you using a custom mod for this map, perhaps with a custom monster that only appears on hard skill? Those messages sound like the kind of thing I'd add to a monster when diagnosing a bug and trying to pin down where it occurs. 
It happens in my map that you've seen (beta1). But I think all custom monsters appear in all skills. So no new custom monsters on skill 2 that weren't on skill 1 
Didn't we discuss (and solve) this issue five months ago? It's a bug in the Arcane progs that I later sent you an update for. 
Ahh Whoops 
thought you were talking about stock id progs :)

yep, that'd certainly explain it. 
indeed, I forgot about it.

The thing is that I found another bug in progs and asked Preach to fix it, but I forgot that I was using your fixed version.

So I have two versions of arcane progs atm: the first - your version without crashing bug but with version with ammo bug and the second - Preach's version without ammo bug but with crashing bug.

I think you should contact with each other and make an ultimate version. 
Light Styles 
Are lights with "style" toggleable? And if not, has some clever person devised a 'hack' to make them so.

I am sure I remember this cropping up quite recently but I can't seem to find anything. 
Possible With Qc 
but no way to do with in stock progs, afaik.

toggleable lights have a unique style for every different toggle light (set by the light.exe), which is set to a single light level and only goes from on to off in the progs. 
QC Code 
How I suggested to do this last time it came up can be found on the following page:

But yeah, you need a custom progs to do it. 
Necros, Preach 
I Pose A Question For The Quake Geniuses 
Hub-style level transitions.

cool, you're still reading.

For a real useful implementation you'd (I'd) want:
o persistent entity states upon returning to a map
o a set of global flags for triggering things across maps
o the final exit trigger to display the intermission with stats for all levels totaled (or even broken down)

What would be necessary for such a thing? There's a lot to do in QC, of course. But QC doesn't have control over saves IIRC - so you would be required to mess around with the engine, no? And if you're messing with the engine, why not just up the limits to allow the whole map in one huge BSP instead?

(the answer to that being, of course, compile time on the map, and ease of messing with savegame code vs. difficulty of raising all internal limits).

So assuming one is not above including an .exe with his maps, what's involved?

I would think the following but go ahead and argue with me cuz I'm dumb:
o Bunch of stuff stuck into the player struct for preserving cross-level trigger flags, and filenames of temp saves used to track recently visited bsp's
o Bunch of additions to endlevel trigger to handle preserving vs. dropping cross-level information, and stashing away level state in a savegame file
o Bunch of additions to player spawning functions to handle preservation of keys and stuff, and correct location within the map based on previous exit trigger 
Good Question 
i'm interested in this issue too.
some old rpg/adventure-style mod (don't remember the title) had some sort of hub code even back in 1997 or so. but i think it didn't have a 'final intermission' summarizing the stats of all maps... 
some old rpg/adventure-style mod (don't remember the title) had some sort of hub code even back in 1997 or so.

The Demon King 
Don't Know About Engine Stuffs, 
but there's is a limited amount of what you are saying in quoth. basically, you can make it save the monster count from previous levels and tally up a total count after a bunch of maps and to also retain certain keys between maps, instead of resetting it. also, there's the mapindex to close off maps after you played them in the start map.

basically, it's just passing numbers from map to map via the parm# floats. monster counts are straight floats, keys and mapblocking are handled with bitflags.

thing is, there are only 15 parm variables, i think. if you were making a new .exe, you could just up the amount of variables passed from map to map, so you could carry along whatever you could possibly need, and just store map settings in variables on the player.

but if you're modifying the exe, you could probably get rid of all this hackery, and make a proper hub engine i suppose... 
Hexen2 which is directly based off Quake has a hub system.

IIRC there's nothing stopping you from looking at the code. I know that there is an open-source Linux port. 
Here It Is 
Hammer of Thyrion

Hexen2 port for Unix, Mac and Windows

why not email the devs there? they're pretty active. 
I seem to remember there being an experimental codebase for having a hub using the old (now I beleive not even managed) MHQuake engine. It involved using the FRIK_FILE qc extension (requires engine support also) to automagically save all state changes between individual bsp loads.

oh, and since it's relevant: 
What A Plonker! 
Without going in to too much detail (it's too embarrassing) I have 'lost' my heavily modified progs.dat.

I have managed to replicate most of it as I kept sources and had notes for my own ideas but I am stuck on one thing: I had monsters who were spawned-in being angry regardless of whether they could see the player. I have an 'angry' flag on the monster (spawnflag = 8) but cannot figure out what actually made him angry when he landed.

I've played with FindTarget and FoundTarget but am getting nowhere. I cannot remember where I got this idea from but as I have added the angry flag to every monster, I must have had something working originally.

Is there any chance that someone knows what I am talking about? 
add this into walkmonster_start_go (and the other ones) at the end. add an if check for the angry flag.

self.enemy = activator;
obviously, this means it will only work with a monster that has been triggered to spawn, since a monster that is spawned normally won't have an activator. 
Append 2: 
this also assumes you are running the walkmonster_start function after spawning the monster... if you use the hipnotic method of creating a monster (spawn the monster, but set it invisible without running walkmonster_start, then copying the monster and making the copy run walkmonster_start) it won't work either.

difficult to say without knowing how your spawning works. 
I'm using PreachSpawn_v1.0, ("style" "1") so you got the right idea.

'self.enemy = activator;', doh!

As always, thanks for your help. 
Mark Surfaces Again 
Still having problems with fluctuating marksurfaces.

Please see attached file showing editor view, in-game normal and in-game showtris2.

Can anyone explain, or better still tell me how to avoid, the mashing of my brushes? 
a screenshot showing r_drawflat would be better, since showtris outlines the triangles drawn by the video card, but drawflat shows the polygons created by QBSP more clearly.

As for what's making those cuts, I don't know. Sometimes there's an obvious bit of brushwork nearby that can explain it. QBSP is still a mystery to me. 
Take 2 
Just for completeness:

the ceiling is one brush with nothing else attached above i.e. it touches the void. The 'curve' that we see does not reflect any brushwork on the other side of the visible brushwork. The right-hand wall also touches the void.

With marksurfaces bobbling around 32K and a desire to ensure the map works with FQ, I find myself having to remove trim. I have already cut the map in half and it would defeat the object to split it any more. 
can you force qbsp to split the brush the way you want by first shaping the brushes in the proper pattern, then doing a texture shift of 1 unit difference on each brush so that qbsp doesn't combine them? 
Just For Fun 
I removed the 3 brushes that gave me a curved corner, and this was the result:

---- WriteBSPFile ----
Before After
10568 10559 planes
32563 32164 vertexes
13300 13015 nodes
3107 3106 texinfo
25959 25429 faces
24486 25105 clipnodes
7356 7261 leafs
32165 31634 marksurfaces
119337 117378 surfedges
60330 59343 edges
145 145 textures

Increased clipnodes and decreased marksurfaces.

If anyone has not yet fallen asleep, what have we learned here?

No, I don't know either. Oh well; plug on, plug on. 
The thing is that these are pretty much single brushes: the wall behind the ammo is one, the ceiling is one the two faces are one etc.

Is there an optimum size that qbsp likes to find? (although I would hate to map to specific sized brushes, so perhaps I don't want to know that)

I'm just going drop some more monsters in and then call it a day. 
TreeQBSP Users 
Thanks to ORL, I've found a bug in Tree when having >32k clipnodes that corrupts the clipnode information.

Hopefully I've fixed the bug now, but I recommend switching to TxQBSP permanently as it doesn't have this bug. 
but there is no way to have opaque water and solid sky with txqbsp... 
TxQBSP even for QuArK users? I remember TreeQBSP was recommended for us (if I am not wrong). 
TxQBSP run fine even with QuArK... It is just an external program to call from QuArK, and has nothing to do with the editor. Maybe only the saved map format could have an effect (i.e V220, etc..) and I'm not sure about that point.

FYI, I'm currently using QuArK 6.5.0-alpha2 with aguirRe's TxQBSP, aguirRe's VIS, and a aguirRe's modified TyrLight ... and all the stuff works fine ... 
i got same as JPL but QuArK 6.5.0-alpha8 new version of quark :\ suck :((( dont compile my base map :( give lots of errors :( leaks everywehere and say stuff like maxsufarces limit bla bla bla :) errrr i will keep this version a lottttttttttt 
There was something wrong with the new version, they released a bugfixed build.

JPL: It was something with the map format QuArK writes, maybe with the .12345 floating point stuff or something. Dunno. 
thks Spirit_ i think i will stick to this version a litle wile :) is perfect for me!!!

;) i dont have problems at all, despist other poeple say Quark owns!


ban worldcraft :p 
can have opaque liquids, just add -nowatervis. I don't know what you mean by solid sky, both compilers use CONTENTS_SKY for sky.

Tx was originally the *only* compiler for QuArK so it'd better work with it ... ;) 
Door Sounds 
I haven't full vis'd my map yet and get plenty of packet overflows, which I'm not too concerned about.

But would this also account for occasional door opening sounds playing continuously: not every door and not every time? 
packet overflows often result in dropped sounds 
Thanks, I'll carry on not being too concerned then. 
Rocks Rock 
just a short question: does anyone know a good tutorial on making good looking rocks? (i don't mean terrain via triangle method, which i already use) i mean rocks like in kona's maps for example. thanx 
More Qc 
How might I emulate ai_forward(x); without using the walkmove function?

I want to move a monster in its forward direction x units where the direction has to be found AND he may be stuck in a wall (which is where the walkmove function (correctly) exits with FALSE).

I guess I can change self.origin but am stumped on how to calculate the new origin taking an unknown direction into account.

Any offers? 
if you set the movetype to MOVETYPE_NOCLIP, does it still abort? with that movetype, the monster wouldn't collide with anything, so walkmove would possibly not abort? 
Collision Of Your New Monster 
You've said that the monster may be stuck in a wall at the start of the move, but how should it end the move? Is it ok for the monster to, for instance, be stuck inside another wall? Or inside other entities, possibly including the player? If you're doing some kind of ghostlike creature, that doesn't care about intersecting anything, then the crude way to emulate walkmove would be

setorigin(self, self.origin + v_forward * x);

but that's going to do no collision checking, and also move your monster in discrete steps. Of course, in basic quake walkmove moves a monster in discrete steps, but in engines with motion interpolation this usually gets smoothed out. So a better way might be:

self.velocity = 0.1 * x * v_forward;

assuming that the monster is going to think in 0.1 seconds time. You must make sure that the following think function either resets the velocity or gives it a new one.

Both of these functions are going to plow the monster straight forwards, so make sure they face the right way first(possibly with ai_face();)
For the velocity one you'll also need to give the monster a movetype that accepts velocity(eg MOVETYPE_NOCLIP). Finally, these functions don't think about the vertical, and the monster won't follow a floor(how could it if it's in a wall...). So there's still a lot to think about. 
Yes, I did try changing the movetype but the walkmove function ignores that. I can't fault that as once the game is underway you wouldn't expect to find a monster in a wall. 
what exactly is needed? when you say it needs to find a direction, you mean it needs to be using AI to track towards the player? 
if you just want it to move forward in whatever direction it's facing, preach's method will work absolutely fine, btw. 
I can ensure that the monster will move into clear space and that he will be on the floor even if he is partly in a wall, and I only want him to move in his forward direction. I can also ensure that he will not collide with either the player or another monster while he is moving.

I will move him only one or two units per animation frame and I have time to ensure that his animation will be complete before any interaction is required.

I'll play with the setorigin version and let you know how I get on.

Thanks both of you. 
Hey Efdat, 
your inquiry kind of got lost up there. I assume you mean the effect Kona commonly uses that blends rock material with building surfaces. This is done the same way that landscapes are handled in Radiant (without the terragen plug-in), except using a vertical surface instead of a horizontal and the end is tapered where you join the surfaces.

I recall a tutorial being linked on on how to accomplish this technique, but the site that I was looking (leaf-node) for is no longer available.

The way it is accomplished in Radiant (doesn't work in 1.5, you have to use
earlier versions) though is to make a square or rectangle and duplicate it.
Point your cursor on the side you want to manipulate on the duplicate block, press the left mouse button and cntrl key together and pull in the direction you want it to go. From there it is a matter of aligning several blocks together in a pleasing manner. 
thanks, i'm gonna try to port those instructions to QuESt (the good old :) i'm afraid that that's the way i'm already doing it (vertical triangles) and i simply have a lack of creative imagination for rock forms. i often have problems with working from a simple brush to natural forms. i thought there might be some kind of standard method that could help me there... 
Don't expect too much from yourself. You don't have to use too many triangles to make it look good. Use pretty large triangles. Make some wedge-shaped faces and some pentangle-shaped... some rock pillars... make some slanted floors and ceilings... just no 90 degree angles. If there are places where the seams look bad, cover it up with a pillar or something. Let the textures and lighting do the work; don't make your rock too detailed and don't light it up like a Yule tree. Break up walls horizontally or vertically into several brushes. Another idea is to build a framework of pillars and iron beams, and put the rock between those. It will look as if the pillars are set into the rock. Small, shallow pools of water are helpful to cover up less-than-imaginative rock formations, too.

I'm making rocks atm for my dm4 remake (I settled on mine theme) and I have those problems a lot.

Mine levels in Q2/Ground zero are really pretty inspiring. I often wonder how little you can get away with. 
Movlight How ? 
I downloaded the by Marc Fontaine. A modification of a func_train to use for a moving light source in Quake, but
I didn`t get it working. (I use QuArK)
Can somebody help me ? 
D3 Map Compile Times 
what are average times for a map of say, 1k brushes, 500, 4k?

i have this tiny map which is taking forever to compile. i think it's about 500 brushes, possibly less.

i thought the whole point of d3 was that compiling takes a lot less time...

windows reports d3 is using cpu cycles for something, and it's certainly eating up ram... does it just crash without telling you and stay frozen, pretending to compile? :P

btw, no monsters in it, so it's not making any aas files either. 
i post to fast >_< just figured out what the deal is... apparently, i'm not doing skyportals right. :P 
I'm sure someone can help but you need to give more information e.g. have you set up a light_move entity with path_corners, are you using the revised progs.dat or have you incorporated the qc files into your own progs.dat, is anything happening and if so, what?

Also, what is your expectation for this - it doesn't light up the room as it moves around, it is simply a moving light source: basically a glowing blob that moves. 
thanks for your answer. I`m a absolute beginner and had the idea of a moving light that lit up the walls while moving, but after some googling for that, I found out that it is very hard or probably not possible at all. This (found in the ID-Database) has an example map, but that has only a moving sprite, not a real light. Today I thought maybe the misc_fireball is something to use for this, but I`m not a programmer. I think this qc-stuff is to heavy for me.

What is the revised progs.dat ? 
OK, the moving sprite is all that happens. I don't know of any way of lighting walls and ceilings in the way a hand-torch would light a dark scene, which I suspect that is what you are looking for.

The revised progs.dat that I referred to was supplied in the and needs to be used in place of the standard progs.dat. It contains the necessary compiled .qc files for movelight to work in-game.

The standard way of using these modifications is to set up a separate folder inside your Quake folder e.g. c:\Games\quake\movelight, and extract the files from the zip file into that. Then start Quake with the command -game movelight +map light. 
hi ladies!

i�m trying to make a .qkr file for Quoth,this way Quark can load the entaties, but when i open the addon in Quark dont reconmize the size that monsters ocupied :\ any help?

just made for two monster�s to test!!! i like Quoth mode a lot and i want to map more for it! so this might be nice when is finish :) and maby someone will find it nice also :| 
Yes, that was exactly the way I tested this "light-map", but as I say, it was only a moving sprite, not a light.

But this lava-blobs are looking like a moving light ( or is it just a fake ?), and if it is really a moving light, it must be possible to change this extension (qc.file) to something new, where you can choose the direction, speed, distance, etc... (in the editor)
Than you have a mov_light extension. Of course you have to compile a custon progs.dat to get it working.

Or did I talk nonsense, I don`t know ? 
Stop me if I'm wrong, but what you're saying is that you'd like an entity which emits light in the same way as a lavaball or a missile does - a small ball of dynamic bright light. The only difference is that you would like to be able to move this light like a func_train. If this is what you want, then this can be done fairly easily. 
Sounds great. Thats exatly what I&#180;m looking for ! 
Something Wrong .... 
should mean > exactly what I&#180;m looking for! 
Wrong Again ? 
looks like the apostrophe did not work.
so once again
Thats what I am looking for !!! 
The movelight is an s_null.spr with an EF_BRIGHTLIGHT effects.

void() light_move =
if (!self.speed)
self.speed = 128;
if (!
objerror ("light_move without a target");

self.noise = ("misc/null.wav");
precache_sound ("misc/null.wav");
self.noise1 = ("misc/null.wav");
precache_sound ("misc/null.wav");

self.cnt = 1;
self.effects = EF_BRIGHTLIGHT;
self.solid = SOLID_NOT;
self.movetype = MOVETYPE_PUSH;
self.use = train_use;
self.classname = "movelight";
self.avelocity = '50 50 50';

precache_model ("progs/s_null.spr");
setmodel (self, "progs/s_null.spr");
setsize (self, '0 0 0', '0 0 0');
setorigin (self, self.origin);

self.nextthink = self.ltime + 0.1;
self.think = func_train_find;

It is therefore a dynamic light in as much as it moves by use of path_corners but it doesn't dynamically light the set as it moves e.g. the flashlight in HalfLife. I think this is what jiri_b is after. 
could you just make a regular func_train, give it the ef_brightlight .effect and use a skip texture on a 1x1x1 cube? wouldn't need any qc for that 
Necros' Solution 
Sounds about right, I'm trying to see if there's a way to make one that's also non solid. I think there is but it may be one of those hacks that's more trouble than it's worth. I'll see...

Otherwise that mod is the way to go, notice how in that code the entity is given a sprite s_null.spr. This is because an entity with no model does not get sent over the network, so clients won't see the light updating position. 
Good news for QuArK/Quoth users ! 
Good luck. I started that once but gave up early because it was so much work. Haven't got the files anymore, sorry. 
I'm playing with the Vermis in a small test map and notice that he doesn't follow me (shooting) once I drop below a certain point: he just keeps firing at where I was. I'm no_clipping around the map just to get an idea of what he does.

Is there a specific number of units involved e.g. x units below his centre of origin?

Also, is the spread of the missiles adjustable as if you are too far away you can just sit there and they always seem to miss. Perhaps it is a case that he only fits a certain kind of environment spacewise? 
Perhaps it is a case that he only fits a certain kind of environment spacewise.

exactly right. he, like all monsters, shoot in a cone around his fov. but unlike other monsters, his vertical size is massive, so you'll notice how he won't be able to shoot you when down around his 'waist'.

and yes, his projectile spread is constant. after a certain range, the spores stop being a threat.

designing an area for the vermis really is a matter of plopping him in first, and building the area around him.

if your map has the vermis exposed all the way down to the bottom of the model, you'll need to keep the player away from it because he won't be able to attack you or grab you. on the other hand, if you keep him at grab height, then you can let him get as close to the vermis as you want. 
necros check your email 
Moving Light Again 
I tried the easy solution by necros, without qc, but could not get anything working. First tried it with a func_train, but without success. Than thought maybe better start simple and tried to built a fixed light and failed again.
Not shure if I set up everything right in quark.
Here is a screen of the setting.
Whats wrong? help 
I once had a complete varation of all the possible moving light types, I'm searching...

please give me a link to the and I'll explain. 
Found Them 
here you go...

if you need help, ask me. 
:) Thanks 
You're Welcome 
I didn't use the altered progs.dat and it still worked.

only effects 1 and 8 were really interesting.
I saw in the readme you can change the muzzle_bright in other options.
Qspecks can tell you which number to use. 
Sky Lighting 
I have a sky emitting light throughout a level, but in one specific area, I'd rather it didn't, anyone know of a trick to achieve this? (And no removing the sky light and using lots of point entities instead is not an option). 
I think it is possible by adding a polygon within the sky brush, at least if the sky brush is thick enough to insert something inside it. I'm not sure but I think it is the way Quake shadow logo is produced in some Quake Level... 
Right, I remembered there was some trick like that, will try it out, thanks! =)

Anyone know any vis that supports dual cpu and dual core machines? 
I already asked aguiRe on that point some months ago.. aguirRe told me the very first vis.exe Id "release" was unix oriented and was supporting dual CPU usage. Unfortunately, he didn't think that any nowadays vis.exe is supporting dual CPU any more.
Maybe it will come back soon, as many brand new PCs have now dual CPU/core, that could support such a feature...
I think aguirRe would have better infos than me on that point ;P 
the quake logo shadow thing only works because the skylight is simulated using a point light entity above the shadow casting brush.

I think Bal is using the light emitting sky texture thing.

Is there a way to fudge a sky texture's name so that it behaves like a sky but the light compiler doesn't register it as one?

Hmm. what if you compiled the level with a dummy texture for your fake sky so that the light compiler didn't treat it as sky, then replaced the dummy texture afterwards in the bsp using TexMex? I have no idea if that would work correctly but it's probably worth a shot. 
Yeah good point, probably wouldn't work with the brush technique... Will try switching the textures after it's lit, thanks for the idea. 
Sky Texture 
I expect that the texture switch will work with just one problem - the surface won't be marked as CONTENT_SKY. This means that rockets that hit the surface will explode rather than being removed, and other similar effects. I'd imagine that the texture will still render correctly though. You can see the same thing happens in DM3 as it was compiled with an out of date version of the bsp tools. 
I still haven't tried any of this as I'm still at work...
But considering my sky is just pitch black in that area, any trick to simulating a false sky? some pitch black liquid maybe? 
try the dummy light trick with a negative light instead, and darken the regular sky texture for that section of the sky. 
Non Sky Content 
Is it really a problem that the sky isn't truely a skybrush though? All the ID maps have this behaviour and don't seem to suffer for it, so I'd still say use Kinn's suggestion unless it causes a problem. It was just meant to be a quick warning in case it is important. Black water brushes would do a pretty good job of simulating sky if it does matter, the thicker you can make it the more likely it will be that the sound isn't audible. 
Nah Wont Work, 
only one sky will show 
I Mean 
only one sky will show

My suggestion. I didn't see Preach's answer that fallowed until now. 
Nehahra Engine / Transparent Objects 
Did I need special build-tools to compile a map for nehahra?
At the moment I use txqbsp, rvis and tyrlite for fitzquake compiling
and it worked fine.
But for the neh-engine, Iam not satisfied, because the test-map is to dark and the brush that should be transparent, is not transparent at all.
Did I need other built-tools and other additional command-line settings
for this engine? 
Nehahra Engine / Transparent Objects 
Did I need special build-tools to compile a map for nehahra?
At the moment I use txqbsp, rvis and tyrlite for fitzquake compiling
and it worked fine.
But for the neh-engine, Iam not satisfied, because the test-map is to dark and the brush that should be transparent, is not transparent at all.
Did I need other built-tools and other additional command-line settings
for this engine? 
No you don't need any specific tools for Nehahra maps, just place the right entities in your map (according to the devkit documentation), and it should all work fine once in Nehahra.
Map too dark is probably just cause the engine is configured differently. 
Thanks for your help. You are right
the engine was wrong configured. 
Preach / Anyone 
I wanted to take a look at the teaching old progs thread but can�t view all threads.

What�s the specific key setup to create an explosive info_notnull?

It may be easier to just post the link direct to the thread.

Here You Go: 
Now For Destruction 
I Prefer Affliction 
Or Deriliction? 
Transparent Textures 
is it somehow possible to have partial transparent textures in q1 like in half-life? 
not in stock quake. it can be done in tomaz quake with tga textures and alpha channels, but i don't know about any other ports. 
ok - than I built my map without tansparent textures,
because I prefer fitzquake.
necros - thanks for your answer anyway 
Weird Ingame Issue With XP 
I have a strange behaviour with my office PC labtop. I installed FitzQuake and the rendering is quite weird. When the game is launched, there are some weird HOMs-like and flickering effects everywhere... I have to type Ctrl+escape to return to XP, and then click onto the reduced FitzQuake window to return to a "normal" behaviour. So I decided to try also aguirRe's GL Quake, and the game never started (black screen... and Ctrl+Alt+Del to stop it at the end...)
I guess it comes from some missing options I have to set, but which option(s)?: that is the question... Anybody already faced this issue ? Any idea(s) that could help ? 
A Sound Question 
Can someone clarify this for me:-

There are 8 channels for sound. If I am playing a sound on CHAN_VOICE, can that sound be stopped mid-stream other than using another sound (or null.wav) on CHAN_VOICE. Put another way, if I end up calling more than 8 sounds to play at the same time, will the last sound called 'overwrite' an earlier one.

I am not clear on the use of the sound channels and cannot find much in the way of explanation. I have some Quake C Definitions that show:-

CHAN_AUTO = 0; // Create a new sound
CHAN_WEAPON = 1; // Replace entitie's weapon noise
CHAN_VOICE = 2; // Replace entitie's voice
CHAN_ITEM = 3; // Replace entitie's item noise
CHAN_BODY = 4; // Replace entitie's body noise

For example, should I use CHAN_AUTO or CHAN_VOICE for music. What does it mean by 'create' and 'replace'?

Any pointers? 
FQ failed to load a map and gave a SZ_GETSPACE: OVERFLOW error but didn't crash.

Does this imply that I'm only just over the limit? I had just added 4 ammo packs and 3 health packs, all of which are transported-in after the map starts (player lands on trigger as the map opens). 
I don't know about CHAN_AUTO, but the other channels will kill any previous sound playing on the same channel.

This is useful if, for example, the guy is in the middle of talking and you want him to yelp in pain. It makes no sense to hear them both at the same time.

Regarding the engine stuff, I have no clue. I forgot what SZ_GETSPACE: OVERFLOW means. I think it has something to do with allocating space for strings, and maybe this includes the entire entities string from the bsp, which might have just gone over the limit by adding the boxes? I'd ask Aguirre for sure. 
Sound Channels 
each entity can have up to 8 channels (?) through which sound can play.

if a sound is told to play on a channel where a sound is already being played, it gets overrode with the new sound.

CHAN_AUTO (0) picks any free channel automatically. 
I notice that CHAN_AUTO is not used very often (8 times in ID';s original) but CHAN_VOICE is used by every monster, the player, door, client and ai.

Does that suggest that CHAN_AUTO is less likely to be overridden and is a better option than CHAN_VOICE.

But could it also mean that if we have (say) 8 weapon firing monsters coming at the player, who is firing his nail gun constantly whilst standing next to two wall torches, near an ambient wind noise, when he activates a trigger that calls a CHAN_AUTO that that sound won't play because there are no spare channels?

I have a global sound that stops mid-stream for no apparent reason other than at the time, there is quite a bit going on. I'm looking for a way to maintain that sound regardless of any other sound that may be called.

For example, if I have a base level and the player has activated an alarm that spawns a steady stream of defenders, I want the alarm to continue regardless of everything else, until the player finds the silence button, which then stops the spawning. If I allow the alarm to go silent too early, the player won't understand what is happening - suitable messages will have told the player what the alarm means.

(That kind of gives the game away, so this message will self-destruct in 15 seconds) 
this message will self-destruct in 15 seconds

But only if the sound does not get overridden. :P 
.MAP Format And Brush Grouping 
I'm writing a program that will generate a .MAP file. I'm like to group some brushes. I noticed that in Worldcraft 1.6a, the .MAP file does not have any grouping info but the .RMF appears to. Is it possible to have grouping info in a Quake 1.x .MAP file? If not, does anyone know the breakdown of the .RMF format?

That should be "I'd like to group some brushes." 
I guess some compilers support func_group, but there's no real way of grouping anything in the .MAP format.
.RMF is a binary format that as far as I know noone has bothered figured out how works. Checking it out in a hex editor it looks like just serialized stuff, I'm sure it could be figured out one had the dedication. 
Looping Siren 
It might be best if you made the siren sound a non looping file, and then made the entity repeatedly play the sound at the same interval as the loop did. That way even if the sound was occasionally overridden by other noises, it should keep returning. 
Good idea. 
If you only want the Group information in the .map file (and visible in the editor as a different colour outline of the brushes) then BspEditor has that facility.

Example brush from the .map file:
//"0007" "0"
( -128 -512 -48 ) ( -256 -512 -64 ) ( -256 -512 0 ) ROCK18 0 0 90 1.0 1.0
( -256 -512 0 ) ( -256 -384 -48 ) ( -128 -512 -48 ) ROCK18 0 0 90 1.0 1.0
( -128 -256 -64 ) ( -256 -384 -64 ) ( -128 -384 -64 ) ROCK18 0 0 90 1.0 1.0
( -256 -512 0 ) ( -256 -384 -64 ) ( -256 -384 -48 ) ROCK18 0 0 90 1.0 1.0
( -128 -512 -48 ) ( -256 -384 -48 ) ( -256 -384 -64 ) ROCK18 0 0 90 1.0 1.0

The "0007" is the Group number and the Group's Index is part of the header information, which gives the Group's name as used in the editor.

In this particular example, the Group's number is 7, which I called Island in the editor and coloured it green. I have 25 Groups in this map (not all of which are different coulours) and I switch off any Group that I'm not working on in the display although the editor saves all Groups at every save regardless of the display.

If that helps? 
Mike Woodham 
Hi Mike:

Thanks for your help. Just two questions.
So "0007" is the group number. Is "0" the group index? That is, if I have 25 groups, will the group indicies be 0 to 24? Can the group number be any number?

Where can I get the BspEditor you use? I don't want to get the wrong one.

In my example "0007" is the Group number but I do not know what the "0" is. The index I referred to is a list of the Groups used. Here are the first 9 lines of the file that I used in the example earlier:-

//BSPGROUPINFO"None" "255 255 255" "0"
//BSPGROUPINFO"monsters_easy_only" "192 192 192" "0"
//BSPGROUPINFO"monsters_norm_only" "192 192 192" "0"
//BSPGROUPINFO"monsters_hard_only" "192 192 192" "0"
//BSPGROUPINFO"first_area" "255 128 128" "1"
//BSPGROUPINFO"cave1" "0 255 128" "0"
//BSPGROUPINFO"clip" "255 0 255" "0"
//BSPGROUPINFO"island" "128 255 128" "1"

The first line shows that I have 26 Groups. They are numbered 0 to 25. The first Group is by default called "None" although it can be renamed but it will always be numbered as zero.

The set of three numbers "255 255 255" refer to the outline colour in the editor, in this case it is the default white. I then created the other Groups that you see. I don't know what the last "0" is.

You will find BspEditor here

If you use the contact button there, the guy who has updated the editor will respond and will be able to give you much more technical answers than I can - I am just a user. 
each entity has it's own sound channels, and the game has a maximum number of channels for sounds.

one entity with a sound playing on channel 1 won't override another entity with a sound playing on channel 1.

but having one entity start sounds on the same channel is useful, for example on doors. that's how they stop the looping sound when a door stops moving, by playing the stop sound on the same channel.

i don't know how many channels the game itself has, but it's not a lot. there may be priority on channels, but i'm not sure. it could just go by which sound was started first. but yeah, if you have any long sound, make sure it's not looped and manually play it again via qc to make sure it never gets cut off.

i believe ambient sounds, started at map load time never cut out, but that's just because i've never noticed that happen. 
I made a mine lamp and wanted to add it as a b_model. But its a *.mdl file.

Is there a program that can make a bsp of it? 
Make sure to add -condebug +developer 1 to engine cmd line and inspect qconsole.log after you've run the engine. What does it say?

What gfx card and OpenGL version is it? Does WinQuake run on it? Does any other OpenGL app run on it? 
I have +developer 1 cvar for sure, but I'm not sure about -condebug. I'm not also sure about gfx card, and openGL version, I have to check it.
I also don't know if another OpenGL application is running at the same time...
Nevertheless, WinQuake is working fine.. while very slow with my current project... (i.e very choppy)
I'll verify all these things by monday, and give you feedback then. 
Lightmap Editing 
I'm just wondering if there is any lightmap editor available for q1 format maps. Is it possible to extract the lightmap to images and reimport them into the bsp at all? All I really need is a tool that can increase the brightness whilst still keeping contrast, so a light scale operation would probably also work, but I don't think there are any utils that will do that for me. Does anyone know of anything that can help me? All my maps are too dark on other people's computers because I have such a bright screen... 
I don't see anything strange compared to what happened with my home PC in the console. Maybe the 2nd line message that says wipx_init: unable to open control socket but I'm not sure...
I guess it is a WinXP issue... Nevertheless, what should I focus on that could help me to solve this issue ? 
Gamma correction was designed to compensate for different monitor brightnesses. Have you tried that? 
Since you claim that my engine won't start properly, the log should show where it crashes (if it does crash, that is).

I asked for a couple of things before, where are the answers? I can't say anything without a lot more information. 
I guess so, but it doesn't work on all glquake engines, and some people bitch a lot if a map is too dark on their screens. 
OK, sorry for this, but as I'm at office, it is a little bit tricky for me to "play" cause I'm in an open space.. and everybody could see me... :(

Nevertheless, here are the characteristics of the labtop:
CPU: Genuine Intel CPU T2500@2.oGHz
VCard: Intel 945GM Express Chipset Family
OpenGL Version: Not known but DirectX8 is installed (BTW our IT engineer seemed surprised I mentioned OpenGL for WinXP... where could I pick this information ?)

BTW, I just made a small test with glquake131, and the game get stucked at the beginning (no possibility to move at all...), and I had to reset and restart the computer...

Oh and here is the qconsole.log

Console initialized.
Winsock TCP/IP Initialized
WIPX_Init: Unable to open control socket
Exe: 00:10:49 May 26 2005
32.0 megabyte heap
Video mode 1280x720x16 60Hz initialized
FOUND: ARB_multitexture
FOUND: ARB_texture_env_combine
FOUND: WGL_EXT_swap_control
FOUND: EXT_texture_filter_anisotropic
Sound Initialization
Set primary sound buffer format: yes
Using secondary sound buffer
2 channel(s)
16 bits/sample
11025 bytes/sec
DirectSound initialized
Sound sampling rate: 11025
CDAudio_Init: No CD in player.
CD Audio Initialized

joystick not found -- no valid joysticks (a5)

========= Quake Initialized =========

execing quake.rc
execing default.cfg
execing config.cfg
execing autoexec.cfg
Unknown command "gl_texquality"
Unknown command "r_interpolate_model_weapon"
SpawnServer: start
Clearing memory
Programs occupy 405K.
meshing progs/player.mdl...
408 tri 628 vert 1367 cmd
meshing progs/eyes.mdl...
16 tri 24 vert 53 cmd
meshing progs/h_player.mdl...
40 tri 64 vert 141 cmd
meshing progs/gib1.mdl...
28 tri 46 vert 102 cmd
meshing progs/gib2.mdl...
82 tri 138 vert 305 cmd
meshing progs/gib3.mdl...
20 tri 32 vert 71 cmd
meshing progs/v_axe.mdl...
184 tri 288 vert 629 cmd
meshing progs/v_shot.mdl...
128 tri 190 vert 412 cmd
meshing progs/v_nail.mdl...
188 tri 312 vert 687 cmd
meshing progs/v_rock.mdl...
54 tri 86 vert 189 cmd
meshing progs/v_shot2.mdl...
152 tri 250 vert 550 cmd
meshing progs/v_nail2.mdl...
190 tri 302 vert 661 cmd
meshing progs/v_rock2.mdl...
124 tri 204 vert 449 cmd
meshing progs/bolt.mdl...
26 tri 52 vert 118 cmd
meshing progs/bolt2.mdl...
26 tri 40 vert 88 cmd
meshing progs/bolt3.mdl...
26 tri 40 vert 88 cmd
meshing progs/lavaball.mdl...
20 tri 32 vert 71 cmd
meshing progs/missile.mdl...
58 tri 100 vert 222 cmd
meshing progs/grenade.mdl...
14 tri 24 vert 54 cmd
meshing progs/spike.mdl...
4 tri 8 vert 19 cmd
meshing progs/s_spike.mdl...
4 tri 8 vert 19 cmd
meshing progs/backpack.mdl...
110 tri 160 vert 346 cmd
meshing progs/zom_gib.mdl...
20 tri 32 vert 71 cmd
meshing progs/v_light.mdl...
172 tri 282 vert 620 cmd
meshing progs/flame2.mdl...
86 tri 140 vert 308 cmd
meshing progs/flame.mdl...
122 tri 198 vert 435 cmd
meshing progs/zombie.mdl...
347 tri 559 vert 1225 cmd
meshing progs/h_zombie.mdl...
49 tri 73 vert 159 cmd
40 entities inhibited
trigger_teleport, target 't11' has no target
Server spawned.
CL_EstablishConnection: connected to local
3 demo(s) in loop
Client LOCAL connected

VERSION 1.09 SERVER (4223 CRC)Serverinfo packet received.


CDAudio: drive not ready
CL_SignonReply: 1
CL_SignonReply: 2
CL_SignonReply: 3
26.3 megabyte data cache
CL_SignonReply: 4
Sending clc_disconnect
VID_Gamma_Restore: failed on SetDeviceGammaRamp

Hope it is enough :) 
Comments to the info; I've heard Intel onboard chips (and/or drivers) are terrible for gaming, so that might be the reason. OpenGL info should be obtainable from the desktop RMB configuration (advanced). Maybe newer (or older) drivers are available from Intel?

If you had listed the qconsole.log contents from the run of my GLQuake instead of Fitz, you'd also known the GL-version ;) Didn't you get any log from my run?

You could try adding option -nomtex to see if that makes any difference. Try also -window to see if window operation is possible and use desktop resolution.

Have you tried another OpenGL app (i.e. not Quake) to see if that works? If you don't know any other, there should be screensavers in XP that use OpenGL. You could of course also try other Q1 engines; Joe, DP ...

You could also try asking Baker at QuakeOne forums, he seems to know a lot about Quake startup problems. 
if they want to use an engine that doesn't support gamma, there is still a way to do it.

In the control panel, the display settings for most cards should provide a way to set hardware gamma. This is exactly the same gamma setting that fitzquake/darkplaces modify when playing, by the way.

There is also a program called "setgamma" which you can add to a batch file if you want a one-click shortcut to launch the game with the correct gamma. For example:

setgamma 0.6
setgamma 1

You can get setgamma from the fitzquake website here (direct link): 
Ok, But Suppose I Still Want To Increase The Light Level In Map 
Is there an easy way to do it other than by tweaking all the lights individually?

Just read the txt files for tyrlight and Bengt's light tools and found -range and -dist command line options in the tyrlite text file. Hopefully that will work ok. Fingers crossed.

If any of you tools guys are listening, a brightness/contrast adjust option would probably be pretty damn cool too (that affects the lightmap after generation and I suppose would be able to be run on any bsp), if it is straightforward enough to implement. 
Some Compilers... 
have a -scale option ... but maybe this is really only for quake2 compilers... 
Since tweaking light levels in already existing bsps is the main reason why I've developed my Light tool, there are a lot of possibilities to very easily set new parameters from the cmd line.

Check out the readme carefully, experiment a bit and you'll see how easy and fast it is.

And the tool that does the brightness/contrast level adjustments is ... Light (any light tool) ;) 
Ignoring What's Already Been Said... 
Doesn't setting a minlight increase all brightness in the map? It might look bad, but it can't be much worse than adjusting the gamma. 
only sets a higher minimum value. All lightmap areas that are above that value won't change. 
I made a second try this morning, using -window and/or -nomtex, but it didn't help at all... :/ After the game was launched, and stucked, I had a WinXP message stating that ialtmngr5 process was not responding... (I'm not sure about the name of the process). but it seems that it comes from the Video Card (I asked to my IT engineer that looked my suspiciously...)...

I made the same tests with FitzQuake, and fortunately it is working perfectly in window mode ! No more flickering/HOM like effects

Thanks a lot for the information: you rock ! 
Let's hope it continues to work, there are probably driver issues (the engine should never be able to bring down the OS). Also note that you might be running in 16bpp colour mode (the earlier Fitz log indicated that). 
Only if you use TyrLite minlight (default), if you use additive minlight (ArghLite style, option -addmin) instead, you'll get a *much* better minlight effect. It's actually one of the really essential features of my Light tool. 
oh, cool. 
Thanks for the info. I just scanned through the text file and found the following options for anyone that is interested:

-addmin = makes the minimum light additive.
-range # = scales all lights by #
-globrange = scales sun lights by -range (afaik)
-light/-maxlight # = minimum and maximum light levels. Can also be set in the worldspawn.

I'm posting this because a lot of the useful stuff is contained in the changelog info, which is a little bit time consuming to sort through.

I'll have a play with it and see if I can improve things. 
Light Options 
-globrange should be avoided (and is default off unless requesting other tool compatibility). -maxlight is also not very useful, use -lightcap instead to limit strong lights (but is less effective if you use "wait" keys).

The main global tweak options are -light, -addmin, -range and -dist, combined with -sunlight options.

More detailed descriptions are at the end of the readme, after the changelog. 
Light Options 2 
... and if you feel adventurous, try the global -anglesense # option. It can seriously change the lighting in a map ... 
BspEditor Updated 
seemed to make a massive difference to the lighting. Even range 1.05 make the level a lot brighter. What are the values I should be using? I tested 0.5 and nothing really happened.

The bit at the end of the readme doesn't contain any information on distance scaling (search for -dist) and -range is only mentioned in the changelog, so that's why I mentioned certain commands before.

Anyway, thanks for the help. I will have a play with the -dist command tonight and see how it affects the lighting. 
and -dist are from the original id Light tool, I assumed most mappers would know about them thoroughly ... ;)

Anyway, the default for -range is 0.5, therefore 1.05 is more than double intensity. Default -dist is 1.0, lower values means lower attenuation and therefore brighter.

To get a more even lighting, you typically lower range and dist, for more contrast (more digital on/off lighting) you typically increase range and dist.

To understand more about how various options affect the total lighting in a bsp, use the BspInfo tool: bspinfo -lightstat3 mymap >bspinfo.txt.

You'll then get a histogram over the total light distribution, it's basically like a DNA fingerprint for the map. 
now I understand why it looked the same at 0.5 ;)

I will try 0.75.

Thanks for the information about the histogram thing too. Sounds interesting. 
I'm not sure if it's worth your time, but I don't think the original tool parameters were every really explained in a manual or text file, so it would probably be useful to add a section to your text files explaining all the original compiler features that still exist in your tools. 
Stop, Stop... 
...this sketch is getting silly.

They are clearly item_rockets in the map view of the editor, and they are clearly item_rockets in the .map file after I've saved it.

So why are they poxy spikes in the game? I need rockets. If I didn't need rockets, I wouldn't have put rockets in the map. But I need rockets.

Why... who, is changing my item_rockets to item_spikes. Come on, own up. I am no longer amused.

Will some clever clogs kindly tell me WTF is going on? 
I have a brief explanation for each option (with default values) if you run Light without parameters. 
Does this happen after loading a saved game? If so, you might've run into the mixed models progs bug. It typically happens when you have random precaching order of models. 
No, it's straight from a fresh compile.

It's got to be something in the spawn qc (can't blame anyone else if that turns out to be the case!) but I'll check it tomorrow. 
Computer Security 
OK, I checked the CCTV and now know what happened.

My house was broken into and someone started-up my computer, changed one line of code in items.qc, saved the file, shut-down my computer and left the house. I've asked the police to arrest Cut N Paste and bring him to justice.

How does one write maniacal laughter? 
Like This 
Harharharrr!!! Hahahahahagahkhahaha!!! 
i thought it was 'muahahaha'? 
No, That Is Diabolical 
and Spirit's version is Pirate-Rapist,

for maniacal, you need something twitchy and indiciative of a loss ofcontrol.

Like a, 'he. he he. heh?!? HA-HA-HA-HA-HA-HA AAAAHHHHHH'

Far from perfect, but a little Joker and a little Stewie mixed in and it should be right. 
I Had My NewBoss 
qc-code one night in the SinglePlayer area, and it ate all my progs.dat 
Worldcraft 3.3 Questions. 
I like WC 3.3, but there are two small problems that are making me fucking pissed off.
1: the monitor I'm temporarily on is fucked up and dark - is there a way to increase texture brightness?

2: I like that the brushes are different colours. that's nice. but I hate that when you clip a brush it turns black. So much in fact that I group any brush I clip to avoid the sitution. I don't mind losing all the colours if I don't have to deal with the blackness.
Can this be changed?

Map To Mdl 
I've downloaded 3D Exploration today with the intention of converting some brush work into an .mdl. There is a 30 day free trial for the software.

When I tried this earlier today it worked fine: open .map in 3DE, export to .dfx, import into Qme and save as .mdl. Easy.

But now 3DE crashes as soon as I try to open any .map file. I don't know why and the error log is not very helpful.

I don't want to have to try to recreate this brushwork directly in Qme, so does anyone know of any other way to convert brushwork to .mdl using freeware? 
Hey Mike 
you can convert the map file to Quake2/3 format with Sleepwalkr's map converter and then create a bsp with Q3map2 and run Q3map2 a second time with the -convert option and it will create an .ase model. From that you can load it in a model program like Blender (will need a script you can get from Q3Bits site) and then convert to .dxf or
Those processes are so convoluted it cracks me up. :) Sorry, I've had to do some incredibly obtuse file conversions before, but nothing that involved. Where's the step where you convert it to XHTML so you can view it in IE? :) 
I Was Saving That For The Hardcore Lesson 
done using a QBasic script after your put the model through an assembly language decompiler.

Mike, another converter utility that may be helpful, BitUrn. 
Thanks for the info. But... er, um... perhaps I won't go down that route after all. 
To Clarify 
the blocks I am referring to in part 2 are in the 2d view, obviously.
Question 1 will be sorted out soon, because I'll be moving back to my original comp, but question 2 is important. It's the biggest problem I have with WC 3.3. 
Does That Mean 
the drew is finally back for good? oh, my dreams have come true! (at least the g-rated ones :P) 
Yeah, Well 
We'll have to see if I can get my shit together here. It's all fucked up right now. But I'll make my triumphant, dominating, swaggering speedmapping return soon. And Neg!ke, you'll get the ladyboy photos soon, too. 
Also, that is the last ladyboy joke I'll ever make. It's dead now. And I don't like to joke about dead girls, even if they had a dick.
Moving on, can anyone help me with these WC problems? If you do I'll give you a SM sometime soon. 
Arghargh Milkshape Argh! 
So I want to animate a model. I added a "skeleton" of joints. Then I selected the specific joints, hold shift, selected the appropiate vertices and clicked assign. I did that for all body parts. But when I now select a joint and move it, the vertices are not following (as I think they should?).

Any idea? 
Killing The Player 
Aside from multiple info_notnull explosions is there an efficient way to kill the player after a time limit has passed. Basicly they need to escape (change level) before a time limit has passed. I�m working under Qouth and the info_command allows me to use the console command kill. This doesn�t work because it still applies after the player completes the level - restarting it. As well as this the player doesn�t die, the level just restarts instantly. If all else fails I can just set up lots of explosions, but I get the feeling there is a hack of some kind that will let me do this neatly.

...that covers the volume the player may be in at the end of the countdown. Make it hurt big time though, and of course make sure there are no pents available.

CZG made a level called "Sky Palace" which demonstrates the concept admirably. But it doesn't seem to be on his site any longer

But I think it's available at quaddicted: 
Neg!ke's HL Textured Speedmap. 
Neg!ke made a speedmap with HL textures where you had to minutes to reach the toilet before you exploded. You should ask him how he did that - perhaps you can trigger a trigger_hurt that surrounds the whole level when the countdown expires - I've never bothered to try, but I would imagine that is how it works. 
like than said.
standard trigger hack with a large brush covering the entire map. when activated it only kills the player while the monsters stay alive (in most cases). 
You can't delay the activation of a trigger_hurt in standard quake progs, so use a teleporter with the player only flag set, and teleport the player into a hurty place. 
Oh Wait Yeah 
you can probably do it with one of those info_notnull hacks

"use" "trigger_hurt"
"targetname" "killAll"
"solid" "0"
//brush info

But the teleport way might be preferable anyway since then you don't risk getting massive packet overflows as all the monsters are gibbed simultaneously. 
Triggering Triggers 
Perfect - maybe now I�ll try revising my .fgd. 
Multiple Monsters Triggering 
Hi there. I was just wondering if any of you more experienced guys can help me with a simple(?) problem.. I just can't figure out how to make an event being triggered after a number of monsters have been killed. I.e. you must kill three badguys in order for a door to open. I am using worldcraft 3.3, mapping for q1. 
You must use trigger_counter entity.
So, all 3 monsters must target the trigger_counter.
The trigger_counter count field must be set to 3
The trigger_counter must target your door in order to open it at the end... 
Hey Nos... 
Use a trigger_counter with the count set to "3", then give it a targetname "whatever", then give each of the offending beasties a traget field that targets "whatever", aim the trigger_counter at the event. 
Hehe, Snap! 
Almost :) 
Thanks Guys 
Very kind of you to help.. thank you 
Pregame Introductary Text 
Another question from me: How do you display those little "stories" before or after a game.. you know, the text that "plays" on screen. Is it possible to create such an event with a map editor perhaps? 
At top of you map, there the worldspawn, in which you have the message field. Put your message there, and it will appear at the beginning of the map ingame. Just be aware that you must not use /n" and " to avoid engine crash (it's not happening all the times but this sometimes the reason for...) 
When I open the "map properties" - window, I see that it says "worldspawn", but the only text I can add there (under "text on entering the world") only displays on the console when the map starts. I do not see any other spot to enter text..?! 
... try it... 
I Did 
Yes.. I see the text I entered ingame, but that's not quite what I meant. I am trying to find out how to copy what happenes after you have defeated Chton in the first q1 episode. After completing that episode the word "congratulations" appear in the headline, before text is displayed, telling the story of the game so far... 
You Have To Compile A New Progs.dat For That 
It's in client.qc, line 160.
If you don't know how to compile a new progs.dat or you don't want to include one with your map, there is no way to change it. 
Can I learn how to compile a progs.dat? If so.. where do I get started? 
modifying progs is a fairly advanced task - from a mapping perspective anyway, and it sounds like you're learning - I wouldn't advise going for coding just yet.

Having said that it's fairly simple to find the specific message and rewrite it as you please; though it does mean you'll have to release a pack instead of just the .bsp and compile the thing in the first place. 
Ok, I think I'll just stick to mapping for the time being. 
This thread is active, I must say. Have everybody figured everything out by now, or what..? Well, I sure have not. For instance, is it a problem to have two brushes occupying the same space - like, say I want to make a column appear to support a wedged ceiling.. so I simply create a brush from the floor to the ceiling, only that brush "collides" with part of the wedge. Should I carve the ceiling with my column, or just leave it the way it is...? 
Just Leave It 
QBSP will sort it out just fine.

Be careful with having two faces overlapping though. 
Brush Junctions 
No or big overlaps = OK
Small overlaps = very bad

Usually, neat brushwork pays off in the end. 
And, Under All Circumstances... 
...avoid "carving". Your tool of choice will make far worse decisions about breaking up brushes than you, with a bit of planning, will. 
Small Overlaps Are Bad? 
Why? What's "small"? 2 units? 32? 
Thank You - You Guys Are The Best 
Ingame Monsters / Entites Pitched In Black 
I have a weird issue in my current project: ingame, I have 2 monsters ( i.e Scraggs) and an entity (i.e a Quoth crucified corpse) that are completly pitched in black... To see their color, I have to shoot them very closely (i.e with DBS)... otherwize they look like shadows, full black, without any colors, even if in a lightned area... Is there any explanation for that ? 
Models Only Get Lit From The Brightness Directly Below Them 
So if either of these are hanging above somewhere dark, (as one often does with scrags and corpses) they won't be lit even if you place a big bright light right next to them. 
It's Pretty Strange In Fact... 
... because Scraggs are teleported into a wide-open area with a sunlight value of 150.. so I was expecting them to be lit... The more weird is that I have already 2 other teleported Scraggs in an other area that don't have any problem ... Any idea so ? 
Oh Also 
There is a limit in the engine as to how far below the model the brightness trace is run, I think it's around 1000 units or so, but metlslime turned it up in fitzquake. Don't know how big your level is, so if that's not the problem I really don't know. 
OK, your informations gave me 2 different ways to follow in order to solve my problem and have a correct diagnosis. Thanks a lot: it was really helpful ! 
You might try lighting the box the Scrags are teleporting from to see if there is any difference.

Also, with crucified monsters, if they are placed slightly inside of other brushes, I have noticed they aren't always lit properly. Try nudging it around a couple of units to see if the lighting changes. 
Crucified Stuff 
You've probably already done this, but, if your corpse is crucified (ie. in the map ;) then make sure the spike is a func_wall or illusionary to stop it appearing black like you describe. It only turns up black if it's origin is inside a piece of solid brushwork - then light assumes it is outside the level and doesn't consider it. 
ijed: you are rigth, the origin of the crucified corpse was located in the wall: I moved it by 0.1 outside the wall and the isuue was solved....

czg / generic: In fact the Scraggs were correctly lit. The issue came from the fact they start to fly from a zone without brushes... except skybox.. so no solid wall below them... It is easily visible when the monsters fly from a solid area to a skybox area... and then faded from lit to black...

Thanks a lot for all the help provided ! You rock guys ! 
QC Gurus? 
Which is the best, and why (formatting apart)?
I'm looking at 'if', 'if/else' or 'if/return'

void() do_job_A =
if (something == 1)

if (something == 2)

or b)
void() do_job_B =
if (something == 1)

else if (something == 2)

or c)
void() do_job_C =
if (something == 1)

if (something == 2)

There may be 8 or 9 choices for the variable called 'something'. 
It Depends 
on if do_this1 and change_this1 somehow depend on each other. Otherwise the main principle is "always do as little as possible", which usually translates into else ifs (or even better, early returns) with the most frequent alternatives in the beginning.

If the condition "something" is complex, then split it up in nested or else ifs, with the most frequent and fastest conditions first. QC doesn't "early out" like e.g. C does. Function calls (especially calls to visible() or similar) should typically come last.

You can also take a look here:
Putting it in a lavapit and making it optional was a tight job. Now I'm at the point it iniates lavaballs from its bottem and fires them from its head. I rather would see it iniating from its head.

As I'm standing on a ledge, and when I turn back far enough, I still can see the newboss
and fire at it, but it doesn't seem to see me.
One can only kill it by firing on its bottem.

Because I borrowed it from the spellmaster, which is much smaller, the qc doesn't fit well on this much bigger monster.

What should I change to the newboss.qc? 
This is very phallic if you run the die sequence backwards? 
I Know 
This mdl I made myself, because the one in the deathmatch maker had a rather plump way of falling down.
Made no sense for such a big object.

I find it strange if I see it in Qml or Quark it has a right bounce box, but if I shoot it at the top it won't get hurt.(?) 
Hitbox, Bounding Box And The Rest 
The box you see in quark/qml is the box that bounds the size of the model. It's used by the engine to determine when the model is drawn, but nothing else. The hitbox is determined by the QC, specifically this line:

setsize (self,'-32 -32 -24','32 32 64');

Adjusting these values will give you a larger or smaller hitbox as you require. The first vector gives the coordinate of the lower left part of the box relative to it's origin. The second vector is the upper right coordinate, so it defines a cuboid hitbox.

Making it see from a different point of view may be a little more complicated to fix, I'll try and post about that later. 
preach, I wondered about that quiete a time.
To make it launch from that height was already a fix, it tended to start shooting in angles up and below the player. 
Knowing how poorly the q1 engine and compiler generally handles slanted stuff, how insane would this be:

I want to design a map that's made of concentric sections surrounding a circular core. Every area of the map would have a gentle (or, near the center, not so gentle) curve to it. All lines would either be radial or circumferential. Essentially the entire map would be designed for polar coordinates, but imposed on a square grid.

Insane? Mad? Masochism? 
You mean like this?

Yes, the compiler handles stuff like this fine. 
Sweet Jesus Gibbie 
like I said, you're out of your mind. :) does that even come close to the 8 grid? 
handles stuff off the grid afaik. For SM32 I had to rebuild Gibbie's bit because it was on a floating point grid >:(

Radiant handles stuff down to 0.25 I think, and last time I used it you could build

I think the plan to make that in Quake is masochism. I built about half of my wolfenstein map at 45 degrees when there wasn't much need for it. It wasn't particularly difficult, just time consuming and annoying to build. Having said that, gibbie's map looks like it is generally at more challenging angles.

Gibbie: How about an editor xz view? I want to see how the ceilings were built. 
Shady xz:
Girl8 xz:

In gtkradiant 1.5 you have to turn off "Snap planes to grid" or everything goes wrong. The smallest grid for both maps is 0.125. That is also the smallest grid you can set in gtkradiant. However if your brushes are not on the smallest grid (eg because of clipper usage) i think it will still save them properly.

Anyways, most of the time i don't mess on such small grids. I mostly just use prefabs from a curvey thing of concentric brushes i once made, kinda like:
This also has pre-aligned textures :) 
A map called "girl" filled with phalluses? And people thought I was perverted. 
What's Perverted... 
about filling a girl with phalluses? 
about filling a girl with phalluses?

I really hate during a DP when they rub your weiner up against another guy's junk while they are giving oral, but other than that, nothing! 
I think that I am glad that I don't understand American too well! 
the plural 
yeah, but generally it only takes one to fill 'er up. 
Silent Push 
is there a way (hack) to have a trigger_push that does not play the wind sound? 
Silent Push 
As far as I can tell, the windfly.wav is only used by the trigger_push. Therefore if you are doing a mod you could get away with supplying ambience/windfly.wav in your mod directory where you have a copy of null.wav (from the sound/misc folder in pak0) and renamed windfly.wav. That's a hack.

If you play with Qc it's straightforward to create a flag for noise or no noise.

But Preach will probably come up with some wizard way of doing it :) 
'Fraid Not 
The function that causes the push of the trigger also specifically plays ambience/windfly.wav - unlike doors which play whatever wav file is in self.noise1 for instance. So there's no possibility that the sound could be changed to null.wav by entity field editing. The only possible line of attack would be to make sure that the player's .fly_sound is set to a time far in the future, but I doubt there is any function in the QC that will perform this. 
i already expected it to be impossible. thanks for clarifying. 
Are there extent AI mods that would give monsters (I'm thinking an enemy human-type thing) the ability and logic to duck-and-cover and work as teams and stuff like that? 
Can I 
make spikeshooters fire diagonally in Q1?

If so, how? 
Diagonally In Which Direction? 
Do you mean 45 degrees down, for example? Then no, AFAIK. Otherwise, yes. 
I want two shooters mounted on the ceiling firing in an "X" pattern. Both downward and 45 degrees inward.

Nothing can be easy :-(

anyway, straight downward will do. I figured out how to do that at least. 
Diagonal Spikeshooters And AI 
Diagonal shooters are easy to do. Info_notnull with these fields

use spikeshooter_use
targetname blah
wait -1
spawnflags as for desired spikeshooter
movedir vec

Where vec is a vector in the direction you want the spikes to fire. The velocity the spikes are fired at is 500*vec, so to match standard quake behaviour this should be a vector of unit length. Of course, the advantage of this method is you can actually control how fast the spike fires by varying vec - I hadn't thought of that before.

This sets up a triggered spikeshooter, if you want a constantly firing one the setup is a little different:

think shooter_think
wait n
nextthink 3
spawnflags as for desired spikeshooter
movedir vec

Be warned you need something else in the level to precache the required entities, like a regular shooter of the required type.

inertia: AI_Cafe is a good place to start looking, there's certainly an example of making enforcers duck there

Working in teams is a bit more vague though, as the quake AI atttacks are basically relentless and crude. There's only so much teamwork you can put into constantly spamming grenades until you die. If you had something more specific in mind, like say navigating more sensibly in packs rather than the current all rush straight at the player and collide, then maybe... 
I want to have really intelligent packs of enemies, so that the whole "assault a base" thing could be done in a more tactical style. 
I hope I understood that. Thank you Preach!

TROUBLE: Building E1M2

I need help. I am trying to build, straight from Romero's zip file.

QBSP gives me a warning about texture +1SLIPBOT not found. Of course, there is no such texture in wizard.wad! Is the map file faulty? I went the extra mile and downloaded wizard.wad from quaddicted. Problem remains. I changed that face to wiz1_4 or something, warning is gone, but:

QBSP then doesn't write a .prt file for no apparent reason. Sorry, I have no idea of the details involved, just trying to build the map. The wad is in a dir named gfx in the same folder as QBSP, the map wants gfx/wizard.wad. That should be OK.

Following that, vis says "no prt file found" and exits :-(

I have built an original and a modified without problems with the same setup. Got a .prt file without problems.

Qbsp does NOT give any error messages, just no .prt file.

Aguire ? 
...I've spike shooters firing at all sorts of angles in qte2m2? I'll check tonight, but I pretty sure all I did was add an "angles" field to the shooters then plug in pitch and yaw. 
so you're thinking like, sneak into the storage shed, unscrew a light bulb so that someone from across the couryard notices it and comes over to investigate, kill him, but then hide the body so that nobody notices it and sounds the alarm, then throw a pine cone over behind the trucks so that they guards hear it and go investigate, leaving the front gate unguared when approaching from the west, then sneak up and garrote the other guard, then take his keycard and use it to recode the security locks... 
All is fine. I have a prt file.

I fixed two leaks in e1m2. One was two parts of a slanted roof not lining up, the other involved some seriously twisted brushes (like, really deformed.)

qbsp had silently (grrr) produced point files, which contained leaks that quest didn't see. 
yeah except the player would have a sneaking suit.

and a box.

or a few boxes. 
...adding the "angles" field with value "pitch, yaw, roll" to the shooter was how I got them to fire at angles. 
That sounds way easier. thanks distrans :-) 
I'm still missing the fishcount correction for my progs.dat of the proxsys mod.
Where can I find a good fish.qc ? Or was it qstats?

Also still searching for the angle error of the newboss. 
it's a one-line fix. Just look at the swimmonster_start and swimmonster_start_go and related fish functions; you should notice that there's two copies of the line that increments the monster count, and you just delete one of those copies.

(this is from memory so the details may be wrong, but I know that if you look at the source, it becomes ovbvious.) 
but I'm a madcap when it's concerning qc.
even changing a line and correct it makes the compiler peak to errors.
I'm using fricdos, others won't even compile.

and I see two times swimmonsters_start but I can't delay them. If I delete the first one the fishcount still is double. 
Maybe A Stupid Question 
Hopefully an obvious one.
I was sitting around with some free time today so I decided to try and make a little speedmap. However I've encountered a frustrating problem along the way...

I have three doors, all with different names. They all go down. They are all within a close proximity to eachother. I have a trigger_counter that causes one set of doors to go down. When this happens the other two doors that do not yet have triggers also go down. Any ideas as to why?
I tried copying and pasting, then changing the name of one door. No doors moved at all, even when triggered... Can someone help with this?
if the doors' bounding boxes overlap or touch, they might be automatically linked by the func_door logic. To prevent this, you can use the spawnflag "DONT_LINK" or whatever it's called on each door. 
does the same logic affect func_trains? 
i don't think so. 
How do I open a Keydoor at the moment I'm in front of it? So not when I find the key somewhere else and return to an open keydoor. 
set a spawnflag on the door (8 or 16 I think, one is for silver and the other is for gold) 
In Hammer/Worldcraft there is a "Gold key required" tick box in the properties field of a door entity. This way you can change the proper spawnflag. If your editor doesn't have such simple "feature" you should really change it :) 
I am using Quark65, and when I set a door to a key it changes the spawnflag to 8 or 16. If I return to the keydoor it is already opened. 
maybe you have added some wrong spawnflags to the key? 
You don't need to set a 'target' on the Gold Key or a 'targetname' on the door as you would for a button operated door.

I don't know if this helps? 
For further details about flags, etc... please take a look at Quake Map Specs link below

Enjoy ! 
You would find also precious information about Quake C here

Enjoy ! 
It was rather simple. I always used a targetname to a keydoor.
Then they open straight away.
Without target/targetnames they open at the trashold. Me donkey.

Thanks for your reply.
Another strange thing. Can changing texture (so not polys) influid the lightmap texture?
I mean just correcting a few margins, not scaling.
My map crashed on allocblok=full after I tried to retexture it.
The original map compiled fine. 
Switching textures should not affect lightmap size, but rotating a texture on a polygon might increase lightmap size just like scaling does. 
what metl said, but I'd guess that since you typically change the texture in the editor, it's very likely that minor brush variations occur, leading to a slightly different lightmaps requirement.

Since you're using QuArK with its float coordinates, this is probably even more likely. As you're also flush to the lightmap limit to begin with, even small changes might put you over the edge. 
re: post 5874, I came across a wierd effect where multiple sets of triggers and relays and counters were non triggering trains or were triggering more than they should have been - wierd.

The idea was archways (func_trains with -1 wait on each path_corner) over a floating plaform in the void - if you destroyed the pillars (func_walls killtargeted by trigger_once with health) holding them up then they would collapse, taking part of the platform (another func_train) with them, but only one at a time.

It worked, sort of, except for the problem with archways only falling after the others were all destroyed, or else destroyed in a different order. This was annoying but solvable - the main reason I scrapped it because the Vermis� spore attack wasn�t doing any damage to the trigger once�s, only the players attacks.

I�ve changed it around now and it works better in the new style, without destructable scenery. It was a bit cheap when you fell into the void because of a missed shot.

Cheers anyway. 
Thanks Everyone. Especially Metl. 
Animated Textures 
I changed some textures of the hipnotic pak.
Some computer compenents I retextured to animated.
It are 7 frames. If I look at them in game they work fine.

On my other computer I load the bsp and see one frame meshed out as a white/black block.

How can the same bsp act different on two computers? 
Style Question 
I'm in the process of doing the Episode 1.1 thing, i.e. upgrading episode 1 with pak1 monsters and traps.

Would you guys consider it out of style to include some (read: a little) Quoth content? For example the Bob, voreling, drole, and the weapons/powerups?

Right now I'm installing Quoth again just to check some things out. I think if the Base project is successful, it will pretty much establish Quoth as a standard, so I might as well use it.

Especially if we see this Quoth 2 thing that I keep hearing about. 
And... (this Forum Needs An Edit Function) 
What would you like to see changed/corrected in episode 1? Apart from the missing light texture in Ziggurat Vertigo :-)

now's your chance. 
Quoth is designed to go hand and hand with Quake content. The original Quoth I kind of view as an extension of the Underworld theme. So, yeah, sure, make a Quothique episode one. KellCro already have done the SlipGate Complex in the Quoth pack. A few points.

1) I'm not crazy about Bob.

2) I don't see Quoth2 coming out. I could be wrong, and Kellcro are doing a suprise behind the scenes, but I doubt it. More likely both are burned out on Quoth, Quake,and all the good stuff in life.

3) If you see Quoth2 coming at you, run like hell. It will suck you in to
its vortex and never let you go.

3) Does the Sentry in the Quoth 2 beta remind you of someone who comes around only once a year? 
EkderWorld Theme I Mean 
yeah, he does :-)

I know what you mean about Bob. I spent the last few hours playing chapters and the quoth (test) maps again. Bob (like several quoth enemies) has too many hit points compared to standard monsters, and he can be a bit annoying (just like that flying polyp thing.) Also the explosion etc. is a bit overdone.

The model and skin however I think are very cool.

After playing those maps again, the only monsters I'd want to include are vorelings, but the price of requiring a pak file is a bit too high...

You're right, if this were episode 4 (which I'm not a fan of) the picture would look very different. With those crazy maps like the Pain Maze etc.

thanks for input. 
if I'm going to make this easily speedrunnable (which I intend to) there's not going to be a custom progs... so... 
On Topic 
Is there any trick to animated textures? I just apply the one that starts with +0 right? The rest of the stack should be included by qbsp I guess.

I can tell it's not working because other animations (spinning globes, buttons) get played; my own ones don't.

Sorry if this is a stoopid question. Is there something in the texture itself? 
animated tex folow frame rules.
when you have made a +0_frame.bmp the most common why is to follow up:


when youre frames are ready import them all together to the texture editor. Watch out for the + mark, windows don't like it in names.

If all went right they should animate.
If all went wrong ( + not acomplished, wrong framenr, bad size) you'll end up with individual frames in your editor. 
Free Music 
Is there anywhere that I can get my hands on some decent Quake type music to include in a map pack.

I would like between 5 - 7 tracks on a dark theme. I could just set up the cd entry for the pack to play off the original Quake tracks or else Distran's Travail set but want something that hasn't been used, at least for Quake - and don't want to steal the Travail tracks anyway.

I've got my hands full finishing off the pack and my composition is rusty to non-existant.

I thought about including tracks from the rare q3 maps that have thier own music (with permission of course) but these are fairly disparate and I'd want something a bit more cohesive.

You could ask these for permission: pretty dark, weird style though (if I remember correctly)

Or browse through until you find something nice. 
These look perfect. 
Too many light styles on a face ?

I can have too many lights?!

There are just simple point lights in the area I'm working on, plus three light_fluoros. I didn't set style flags on any. 
Oh And... 
I'm really sorry to ask so many stupid questions. ISTR that you could alter the radius of a point light (how far the light travels.)

Goldenboy / Columbo I Know You're The Same Guy!!!!13 
lights that you turn on/off with a trigger or button generate additional light styles (specifically, one style per unique targetname.)

Radius and brightness are together affected by the "light" value. If you want to shift the radius independently of the brightness, you can use the "wait" value. 1.0 is default, and values > 1 will reduce the radius, and values < 1 will increase the radius.

Basically, radius=light/wait 
Haha :-) 
yep. Sorry I double-post regularly... it's because I'm routinely using the Edit function of other forums right after/during posting. I often go "man I forgot something!" right after posting.

Some of it comes from having a browser open while mapping. A question arises, I make a post, I think for a minute, bang! another question.

I'm trying to cut down on this. Really :-)

Thanks for light/wait info. I don't think I have any switchable lights there though... the error popped up while I removed/relocated some point lights in a very defined area.

No more questions tonight :-)

Light Styles 
I believe there is a limit of 4 unique light styles per face, someone correct me if I'm wrong please! 
What exactly counts as different light styles then? Everything that is in the "style" flag?

I have controlled all the lights in the area (I know where it is because it popped up after I worked there.) None have a style value other than 0 (unset).

There is actually one switched light there (it is the bridge/nailgun area of e1m1.) The nailgun room goes dark when you touch a trigger etc. as we all know. I did not change the size of the door and I did not change any lights in the NG room, just outside (in the bridge area.)

Can slanted/angled faces make this error suddenly appear? I'm pretty much rebuilding parts of the level now because I decided to align all textures. ^^

Is there a way of checking at which coordinates the affected face is?

And the questions of today:

1) I am teleporting in monsters with the standard teletrap setup. Apparently teleported monsters wake up (they seem to lose the ambush flag which I set.)

Is there a way to make teleported monsters (any monster, really) return to the ambush state (not moving until it sees you), either via a trigger that the monster touches, or via quakeC (nextthink or the like)? I could of course use func_doors to trap them, but that seems a bit bulky.

Basically, I want to re-stock an area with monsters, all triggered by a trigger_once and teleported in. Those monsters should then go to ambush state (do nothing until player in sight.)

2) Is it in some way possible to get onto the TOPMOST crate at the start of e1m2, without explosives (i.e. in normal singleplayer)?

There are slopes nearby. Perhaps with enough speed... Anyone managed this jump? Possible or not? (in netquake)

What determines the height of a slope jump? The slope's angle? The speed?

and yes, this has level design implications :-)

3) Hypothetically, let's say someone would find a lightning gun just before entering Ziggurat Vertigo (also in normal singleplayer.) Furthermore, let's say the following maps had double the monster count, plus tougher monsters.

It wouldn't be imbalanced, would it.

If you're using my Light tool, you'll get coordinates and tex name for each face with too many styled lights on it. And I think switchable lights also count as styled (e.g. a light can't be both switchable and styled at the same time).

This problem can be seen e.g. in hipend. 
I got the full download of your tools and suddenly all problems are gone.

The Light warning has vanished (I got my sanity back, thanks) and all animated textures are there.

Just wow.

I was using tools modified by Alexander Malmberg before (from the quest website.) I am using quest because I can't run radiant on my laptop (no GL) and no other editors will run under Linux.

Luckily, your tools run under Wine (windows emulator.)

thanks man. 
Deserves some sort of Quake community medal. 
Well I think if we all just spelled his name right consistently that might be thanks enough. :) 
I won't look back. I even tried writing Linux makefiles for his tools, but apparently they contain windows-or microsoft specific code. No idea. They don't compile.

Anyway, the tools are great (the lighting! WOW) so I'm absolutely going to live with that.

I knew I didn't have more than 2 light styles there :-D :-D :-D 
Anyone Know A Way... 
to get a list of all the precache models in a level along with the total number? 
for mdl/bsp/spr and soundlist for wav. 
Just the job. Thanks very much.

232 models :/ I guess that means I have at most 24 more triggers, doors or additional precaches I can use, though I suspect there are some engines that precache their own extra things for enhanced explosions, shotgun shells etc.

Do you know off the top of your head the max number of edicts? Is edicts something that can be increased at the command line in a regular Quake engine? 
Oldest engines (DOSQuake?): 450
Old engines: 600
Old Neh engines: 1000
Joe: 2048
Fitz: cvar, up to 8192
My engines: 4096
DP: 32768

Other engines may be different. I haven't seen any cmd line option for edicts.

Usually, it doesn't help much increasing just the edict limit, as having many edicts will just generate packet overflows or SZ_GetSpace errors instead. The only engines I know that can handle many edicts are DP and my own. 
Size Limit On Rooms? 
I'm working on a level where you are at the top of a tall cliff and you're shooting rockets down far below. Is there a limit to the size of a room in Quake? I get a lot of tearing in the distance I think because the room and blocks are too big. 
How Do You Mean? 
By tearing - it sounds like HOM (hall of mirrors). It also depends on your engine. In AguirRe's the only limit is created by including fog, which sets a clip plane before it's end that can chop long distance stuff (not sure how far, 1024 units or so).

If you include fog with a low density and have long distances this'll crop up. If not you should be able to see from one corner of a max extents box to the other. Though it does depend on the engine.

Other than that you can try looking for tiny brush misalignments - the usual cause for HOM's. 
I'm using WinQuake and might start using DOS. I made my giant room smaller and now it doesn't tear much (unless you get in a certain corner with a lot of enemies around). It was just a test map. I was curious if there was some set limit you weren't supposed to go past. Thanks, ijed. 
In Original WinQuake 
try setting

r_maxedges 100000
r_maxsurfs 100000

or just use my Enhanced WinQuake and save yourself a lot of trouble. 
I know the game is ten years old, but I want to design it for the original. 
thanks for the info, you fountain of knowledge you. 
Hi Ijed... 
... looks like you found some trax for your pack, but if you need sound in the future drop me a line. 
What is the best program for drawing your own Q1 textures? 
Thanks for the offer, though I found some that fit really well. I thought about asking but didn't want to because it'd be alot to make in a short time.

But now I've got some computer issues so I don't know how long it'll take for release; bah. 
search Wally or Texmex 
Thanks, Madfox. 
Marksurface Issue 
I'm currently working on a big project (i.e Doom3 Hell level remake), and I exceeded this evening the maximum marksurface value (i.e message is WARNING: Marksurfaces 34803 exceed normal engine max 32767 , with aguirRe's TxQBSP v1.12). I'm able to load the map with aguirRe's engine, but it is choppy as Hell with FitzQuake...
I just would like to know if there's something I can do either to dicrease Marksurfaces in a map... without removing any poly (and it is not yet finished....), either if there's something to do with engine options... or if I have to restrict the map to aguiRre's engine ?
Any advices ? 
if you're planning to expand the map further, you likely have a problem. you can try to lower marksurfaces by turning some structures into funcs, moving them away from adjacent brushes, or reducing faces by merging them into individual textures. 
According to other mappers, marksurfaces might go up and down while adding more brushes, so you could try continue working on it and see if they drop.

Furthermore, if Fitz is just choppy, I doubt that it's the marksurfs that's causing it (normally it would crash if the marksurfs were exceeded). You could also check with e.g. JoeQuake.

Try upping heapsize instead and see if that helps, e.g. 48-64MB. 
Yes Marksurfaces Can Make You Insane! 
Sometimes they go up other times they go down.
I'm having trouble with marksurfaces as well on the map I have in beta.
I have found that Fitzq can handle marksurfaces up to around 38000 and then it crashes! Anything under this seems to be safe although it's over the max. 
...if you can build it over the limit Fitz will handle it to where Hrimfaxi indicates. But, JPL if this thing is as big as I think then you might seriously consider chopping it up at some logical point. The only way I could get qte2m3 to work in the end was lop off everything past the GK door and turn that into a separate "end" level...that and simplify some of the natural rock formations in the main map (that was painful =/ but necessary)

Good luck with it either way. 
Fitz And Exceeded Max Marksurfs 
I am currently having problems with the number of marksurfs in my large map, but fitzquake still loads it. The thing you need to be careful of in fitz is that when marksurfs, clipnodes etc. are exceeded, memory gets randomly overwritten. I don't know exactly how random this is, because at the moment there are no noticeable problems with my map. However, when I had too many clipnodes as well as marksurfs, the last func entities that I created were becoming nonsolid - I guess this is just because there were too many clipnodes to fit into memory and the solid entities were the last things being loaded so they became nonsolid.

I have had fitz crash because of exceeded maxsufs before, but oddly it doesn't crash as soon as you pass the limit. Anyone know why? 
Thanks a lot for all the advices... I think I will continue my work as I just need one more corridor and a room plus the final area to finish the map... Maybe it will pass with a fullvis process... In anyway, I already have an idea where to split the map... I'll see that later when all the design will be done. Maybe FitzQuake will be able to load it without choppy thing... I don't know what happened, but it occurs after the first monster spawn... pretty weird... I have to re-test it to see if the problem is persistent....
Thanks a lot again ;) 
MarkSurfs Crashing 
The limit *is* 32768, any engine that's not fixed to handle a higher amount will behave unpredictably due to memory being trashed. Depending on how that memory was/is being used, you'll get different results.

JPL: did higher heapsize help the choppyness? 
I still not tested it yet... but I think I've always a -heapsize 48000 added in the command line.. (note I'm not usre of the value ;P ...) 
Well, having -heapsize 48000 option doesn't help much with FitzQuake: the result is that i need to cut the map in two pieces.... Not a big deal....
Anyway, I already said it but, thanks a lot for all the help above :) 
Leaks Leaks Leaks 
C:\Program Files\worldcraft\Q1Tools>txqbsp -quiet -numpercent capacitance
TxQBSP 1.11 -- Modified by Bengt Jardrup


Building hulls sequentially...
Processing hull 0...
WARNING: Reached occupant at (512 -1240 8), light
Simplifying ... Leak file written to capacitance.pts
Processing hull 1...
WARNING: Reached occupant at (64 -256 32), info_player_start
Processing hull 2...

34 warnings

So, yes, my map leaks. I don't know why.

The map is completely sealed. I do have complex brushwork, as in 3/4 of a pipe wrapped around curved corners. Could this type of manipulation cause a map to leak, even if it is completely sealed in the editor? 
If you are using Worldcraft, the answer is yes. The most likely problem you are likely to face regarding leaking maps and worldcraft is that you have used vertex manipulation to create an invalid brush (i.e. a non-convex volume, or non-planar face). When you try to compile a map with such a problem, the brush shape will be changed by the compiler so that it is convex, which can result in leaks appearing.

You can check for invalid solids by hitting alt-p (should also be in the map->check from problems menu), which will give you a list of problems with your map. DO NOT let Worldcraft auto-fix your problems, as it can sometimes make things worse by deleting things that only required minor modification. The go to error option is, however, completely safe, and is VERY useful for tracking down solid entities that don't have any brushes (if you merge two solid ents, one always remains and causes problems, but can be selected by checking for problems and deleting it manually.)

There are other reasons that a leak might occur, but I think the above mentioned vertex manipulator abuse is the most likely problem. Try checking it out.

By the way, if you add a lot of fields manually to entities rather than modifying your FGD files to include them, Worldcraft's problem checker will report the key/value pair as being an error ("entity has unused key/values") These errors can be ignored completely. 
...Ionous is mapping again! I thought we'd lost you buddy, welcome back. 
If you can't sort it out, send me the zipped map+wad and I'll check it out. 
i got 311 on mine :\ and i dont have leaks to... 
One thing I found with terrain mapping (lots of wedge brushes) is that if it's a long thin wedge then it won't break, but usually breaks any thicker wedges nearby so that the leak goes straight through a solid brush. The only decent way to het round this is avoid thin wedges, or else have a big block inside your terrains, usually alot of em, though that's a ugly and wasteful fix.

Other than that turn all pillar / pipe / cable flanges into func_wall or else leave them 2 units from touching the wall or floor. The second can still produce vis crashes if you have lots of them but the first is completely safe, as long as you don't breach edicts.

As than says use the check for problems function, but don't auto-fix. If you do have invalid brushes you may not be able to fix them without creating from scratch, though that depends on how complex they are.

Can't think of much else (I assume you know about the pointfile command - type it ingame at the console and it's show a particle line pointing at the precise location of the leak).

Hope that helps. 
Many Thanks 
Yeah, i am using Worldcraft.

It appears i have been caught. I was using the method outlined in CZG's curve tutorial to bend a 3/4 piece of hollow pipe (roughly 256 in diamter, with 32 thick edges). When using this method, i found that the edges weren't aligning on the vertices with exact precision, so i using vertex manipulation to get it right. I then got lazy and started doing it purely with vertex manipulation. I'm guessing that might be the problem part.
I have used the "problems" feature, and it claims that the map is without error. It once had errors, but i fixed them manually, and then worldcraft seemed to like it enough to not give me an error.

Thanks, it's been a long time, my mapper's block had gotten so bad that i just decided to stop for like 6 months. Things seem to be going good now. Hopefully Travail isn't giving you splitting migraines.

Thanks for the offer. I'm not going to be able to touch Worldcraft again until maybe tomorrow, most likely Friday, so if i still can't make the bad leaks go away i'll drop you a line.

I wasn't specific enough in my post, but the "pipe" i spoke of is actually the hallway, so i'm not sure if making something like that would work as a function_wall. I may be mistaken, but i'm not sure if i could use a function_wall as a border to the void.
What you said about terrian is interesting though, since i do plan to use a good amount of terrain in my map. What do you mean by breaking brushes, wedges and leaks through solid brushes? I don't quite understand the explanation.

Thanks for the help all. 
Nope, you can't use a func_ to stop void ;)

The pipe thing (I use the czg method as well) is awkward, you've got to figure out the system of thinking in base 8 and even now I end up redoing it a few times to get it right for a corridor or whatever. I wouldn't recommend vertex manipulation for this - it'll drive you up the wall.

Also, you can just make a blocky corridor when seen from outside, then make it round on the inside with the 12 sided cylinder and double-wedge corner piece. Since the outside is void and not world nobody'll see it.

By blocking off broken brushes I meant putting a quad brush inside your terrain, sealing any hole it has from the void - but this is a big waste and will fuck vis.

When making terrain copy and paste a single unmodified wedge as many times as you'll need it then vertex adjust each piece seperately - WC tends to create errors when copying multiples of these. Either tiny misalignments (leaks) or a slight lip in the ground, so that you hit an invisible wall in the game when walking in a certain direction and then can't get unstuck. 
One other thing, probably something else you already know, but I didn't figure this out until a long time of using WC - you can move the camera (not just rotate it) in the 3d view with right click.

If that helps. 
Thanks for the heads up on the camera deal. I always found it annoying that the camera use was limited. That makes it better to use. 
Camera In WC 
they are great.

In addition to being able to move the camera around in both 2d and 3d views, you can create multiple camera views per map by holding shift and dragging in the 2d view when in camera mode. There might be a key to cycle camera views, but I don't know it if there is. Deleting a camera will return you to the last one create before that, or just the default camera (which doesn't have any icon in the 2d views).

In addition to the mouse controls, you can also move the camera around with d/c (zoom in, out - also works in 2d views) and s/f (roll, not very useful). Also, if you learn the shortcuts to switch between camera and other modes, the fact that controlling the camera requires you to be in camera mode (aside from moving it via the keys) won't slow you down anymore. 
iirc, it's page up & page down to cycle through cameras...been a while for me though 
pgup and pgdown work, but only in camera mode. In selection mode they seem to do something weird, like add the previous selection to the current one. Maybe you can use it to get the last selection if you lose the selection.

...hmm, just tried it, and in selection mode pgup and pgdown have very odd behaviour. This is what it says in the WC help:

PgUp - previous selection in "hit" list
PgDn - next selection in "hit" list

Whatever the fuck that means. 
WC Help 
I think that many WC and Hammer users should spend some time reading the users guide included in the program. It is an interesting read. There are many tips and pictures. All the features mentioned above are described throughoutly.
Here is a section from Hammer manual about the cameras:

Using Cameras

To take advantage of the 3D view, you need to be able to place cameras. Cameras determine your vantage point(s). Hammer provides you with precise control over the camera movements in your map.

A camera in Hammer (as displayed in the 2D views) consists of two parts: the eye, and the viewing angle, which is represented by a line extending out from the eye. The length of the line that represents the viewing angle is not important, though it can help you aim the camera exactly at an object.

While it is possible to move a single camera all over the map each time you need to look at something new in the 3D window, it is more convenient to have easy access to multiple cameras placed throughout the map. Hammer allows you to easily cycle through multiple cameras by pressing PageUp and PageDown.

Camera Placement
Placing cameras in Hammer is extremely simple. First, switch to Camera mode by pressing Shift+C, then hold Shift and with the left mouse button, click-drag a line in one of the 2D views. This will create a thin red line with a large dot at one end. The dot is the camera's position, and this is where the 3D camera view will originate. The red line is the camera's viewing angle. You can adjust either end of the line to change the view. Follow the above steps to create as many cameras in your level as you need.

Note: There are a number of options available to you when using multiple cameras. You must have the Camera tool selected to take advantage of these:

PageUp: cycle up to the next camera position
PageDn: cycle down to the last camera position
Delete: delete the current camera position
Shift: hold shift and click-drag with the left mouse button to create a new camera.

Tip: While in camera mode, you can adjust the camera position by moving the eye or viewing angle in any of the 2d windows.

Mouselook/NoClip Style Movement
Version 2.1 of Hammer introduced a new style of 3D View movement called mouselook movement. It is designed to be the same as when you are in the game and walking around with +mlook (mouselook) and the NoClip cheat both turned on. It can be enabled or disabled by pressing (lowercase) z.

Moving your mouse around will change the player's direction of focus, while W and S control forward and backward movement, and A and D control sided to side (left and right strafing) movement.

The old style keyboard shortcuts (listed below) still work. You can disable this new movement style by going into the 3D View options and disabling use mouselook navigation.

Keyboard Shortcuts
There are a number of keyboard shortcuts that you can use to quickly maneuver through the 3D view without switching to the Camera tool.

While holding the spacebar:

holding the left mouse button allows you to rotate your angle of view in any direction, while the viewing point remains stationary.

holding the right mouse button will allow you to move left, right, up, and down while keeping the viewing angle constant.

holding the left and right buttons and moving the mouse causes the view to strafe forward, backward, right, and left. (note that this makes the following behavior redundant).

While holding the spacebar and Shift:

the left mouse button acts the same as above.

the right mouse button allows you to move forward and backward, as well as from side to side.
I Agree 
read the manual :) The manual will also have information specific to your version of the editor, be it worldcraft 1.6a full (what I use) or one of the more recent Half Life versions/ Hammer.

There is no noclip style movement in WC 1.6a, nor is there any decent hardware acceleration, but I like it's simplicity. 
the below isn't described in the manual though :)

if you merge two solid ents, one always remains and causes problems, but can be selected by checking for problems and deleting it manually

I didn't know about the above fact but it sems to apply for hammer also. If I knew it before I could solve some problems easily.
Than seems to know many WC features and tricks that aren't described anywhere. 
that is one hell of a nasty problem if you don't know what the cause is or how to fix it. Still, you know now, eh? :)

The absolute WORST problem you can get in worldcraft, however, is when you use the clipper on a multiple brush (or single brush if you are silly) selection and accidentally clip along one of the faces of a brush. This creates an infinitely thin brush which will crash compilers and is a fucker to track down if you have added a lot of other stuff since creating the problem. If you know it can be caused by the clipper, at least you know roughly where the problem might be and in which brushes it is in. 
The Absolute Worst Problem 
In WC is using the carver - this evil tool tends to destroy everything it touches. There's no way to delete it from the toolbar which is a shame. Another problem is clipping across multiple brushes that aren't touching (such as when using the czg curve maker method). It'll crash maybe 15% of the time, so always save before doing this.

Never really used the pgup pgdn controls, they didn't seem to follow the order of creation for cameras and in a big map it's pretty creaky switching all over the place to find the one you want. I'll give that a try again, though. 
Carve Is The Worst Problem? 
I beg to differ. I will agree that carving can sometimes cause a mess of brushes. But, if you know how to carve carefully, you can avoid most problems. Almost all of the complex brushes in my maps were made by carving. Why? Because I know what carving likes, and does not like.

And in my opinion, carving is much much quicker than manually adjusting the surrounding brushes, which is usually a pain.
As long as you carve carefully, you should never have any problems. I use it constantly, and do not plan to stop. 
WC No Crash Tips 
The more you save, the less it crashes. I don't know why this is, but I tend to save very frequently (at least every 5 mins) and it almost never crashes.

Using the clipper can sometimes cause a crash, but if I take it slowly and save between clips when using the tool several times, I don't seem to have any problems.

The only time WC really ALWAYS crashes is when I've been using it for several hours, done a lot of work and then exit. It always crashes when it's closing after a long day of mapping, but otherwise WC crashes are incredibly rare for me these days. Maybe it's my pc, or maybe I'm just naturally avoiding the things likely to make it crash. Hmm. 
Well, I Learnt 
That it likes to crash at certain times, so I ended up saving before doing anything I know is risky. I also save compulsively and rarely get crashes.

The one you mention, than, seems to be the compiler crash. It always happens with a bigger than small map build or two. It's not a problem since it's shutting down anyhow, but annoying when it doesn't remember last map worked on on reopen.

Orl - I thought you used QuArK? 
Why did you think I used Quark?

Ever since day one of mapping, I have always used Worldcraft 1.1a. And sometimes 1.6.

And 1.1a can crash much more frequently than 1.6, if your not careful. 
A Half-remembered Post About Orlmap 

Always use 1.6a, tried the 3.3 conversion but it needs some stuff ironed out - the wad limitations mainly. 
Yeah But 
I have my reasons for using 1.1a than 1.6.

And yes, I did try the 3.3 conversion, and after a minute I immediately lost my mapping erection. 
Hardware Reasons? 
Also, an implant can help with the other problem. 
The Reasons Are... 
... certainly not related to hardware. I'm up to date with all that :) But here are my reasons why I prefer 1.1a to 1.6

1. Zooming. In 1.1a the zoom value is about .06 for each zoom in, whereas in 1.6 the zoom value is .50 and this frustrates me, because either its too close, or its to far away. At least in 1.1a, there are much more zooming values and I can map comfortably.

2. Slowness. 1.6's 3d view runs much slower compared to 1.1a. Even if it's the same exact map, 1.6 renders it much more slowly than 1.1a, thus making texture alignments a real pain in the ass, and I'm forced to use visgroups, which you don't need in 1.1a because it never slows down. And another weird thing. The wireframe 3d mode in 1.6 renders MUCH slower than textured or solid mode. But in 1.1a, Wireframe mode renders much faster than textured or solid. Whats up with that?

3. Selection handles. I hate these things. They not only distract me from the actual brushes themselves, but they sometimes get in the way of other items, normally entities. Thank god 1.1a doesn't have them.

I may have a few smaller gripes about 1.6, but these are the real main issues. However, I do have positive things to say about 1.6

1. No file size limit. 1.1a has a .map file size limit of about 1800kb. 1.6, as far has I know, has no limit.

2. Better shearing manipulation than 1.1a.

Thats about it really. All those extra features in 1.6 I do not use. Anything 1.6 can do, 1.1a can do as well, to a degree. And there you have it. 
The Problem Appears To Be Fixed 
I had no luck fixing the leak myself, so i sent it off to AguirRe. He said that he really couldn't do much, as it seem that my curves were not exactly snapped to the vertices, so it was causing the compiler all sorts of headaches. So i thought that perhaps if i scaled up the size of the pipe, that would make it large enough to have all of the vertices lie on the grid. I rebuilt, and tested, and was met with failure. Several times, to the point of my girlfriend imploring me to stop working on it.

(I didn't)

Well, since this wasn't working, i rebuilt the pipe example in CZG's tutorial, which obviously compiled without incident. I compared this to my failed ventures, to see what was different. I'm pretty sure i've isolated the issue.

In order for curved pipes to compile properly, it would appear that:

The diameter of the outer region of the pipe must be equal to the radius on the inner section of the pipe.

On the pipes i was trying to make, the above ration was not used, leading to a leak every single time.

I'm guessing that if the ratio stays the same, it betters the scalibility of the pipe, so when it's stretched in strange and unusual fashion, it causes for vertices to be formed off-grid. Or something.

Does this sound cogent? 
Like I Said Before, 
You have to think in base 2 (8 for doing the stretching). Basicly everything in games works on power of two and is sqaure. The textures in Quake that are rectangular slow down the engine because it basicly converts them to square before drawing.

The wedge used for the pipe bending is 2x4 to the grid, which means all subsequent structures are based off that ratio, if it's different or off-grid then it won't work, like you say, lots of holes and warped shapes.

Hopefully that makes sense, but usually you just have to sit there in editor and mess with it until it clicks. 
The textures in Quake that are rectangular slow down the engine because it basicly converts them to square before drawing.

Okay, this isn't really true. Video cards (except some of the newest ones) can only handle texture dimensions that are powers of two, but they don't have to be square -- a 64x128 texture is just fine, for example.

Second, non-power-of-two textures don't slow the engine down except perhaps for a few nanoseconds at load time when the engine resamples them to a power-of-two so that the video card will accept it. But there is no performance hit during play. 
Ah, Ok 
Although I did mean power of 2 textures that are rectangular.

The problem with non power of 2 on modern cards is that a default colour is generally inserted to fill in the space and make them power of 2. Which can cause some strange visual effects, like a load of black lines marching down a wall or pixellated artefacts on eg. a fontsheet. 
is that really true? I would think that sort of artifact would result from bad resampling done by the application.

I assumed that the cards that truly support it (using ARB_texture_non_power_of_two in OpenGL for example) would support it seamlessly and without artifacts -- otherwise, what's the point?

However, I have not personally seen it in action. 
A fontsheet is typically 1024x2 and we spent nearly a week trying to sort one out, convinced it was an art problem but unable to find it. Turned out nobody thought to check the dimensions. Random letters had a one pixel almost invisible line along one edge, but depending on the tv / where the text was on the screen it could be invisible.

We weren't building for PC but it's the same kettle of fish. Turned out the image template was saved in 1023x1024, thanks to some option of the fontsheet exporter. These are the basic kind of things that are overlooked for platforms, like full .png support etc. 
what platform? are you sure the hardware really supported it and there wasn't some code in the API that silently resampled it at load time?

I confess to know basically nothing about console development, except that PS2 devkits are really noisy. 
And 360's Drop To Pieces 
Bounding Box V Model... 
One beastie I'm working with at the moment has a bounding box as big as the doggie but a model that is quite low to the ground. The player can actually jump over the thing. So, does collision detection work differently model:model and model:world? 
...I'm using fitz80 (with a custom progs) and when I'm in -developer 1 and have the SNG, if I shoot a brush object I get a message telling me what it is (worldspawn, func_wall etc.). Is this a feature of fitz80 I've never noticed or the result of ineraction with the progs? 
Bounding Box 
The bounding box of the model is only used for the engine to determine when it needs to render it. But the hitbox set by the QC with setsize() is used for collsion between player and monster, for instance. So if the height is set low enough you can indeed jump on them.

And that SNG message was a dev thing I put in to try and fix a bug, it'll be removed in the next version. 
Lightwave To Quake Map 

Having some problems getting a lwo to convert into a map or bsp? Any recommended tools or utils? A lot have disappeared over the years, anyone got any on a dusty harddrive. Many thanks. 
Ta Preach... are the bomb, as usual.

I definitely won't be binning that progs version :). It's annoying when one is "playing" in developer mode, but might be extremely useful when one is debugging a level. 
...I'm using fitz80 (with a custom progs) and when I'm in -developer 1 and have the SNG, if I shoot a brush object I get a message telling me what it is (worldspawn, func_wall etc.). Is this a feature of fitz80 I've never noticed or the result of ineraction with the progs?

huh... must be the progs :) 
Modding Is Easy 
Checking your post to make sure it isn't broken? Or ever returning to the thread?

That stuff's tough... 
Yep, I'm Dumb. 
That should have been in the Jobs thread.

(Posting in the right thread? That shit's damn-near impossible.) 
Quoth Add-Ons 
There are several Quoth add-ons being developed and the current situation is that all have to co-exist in the main Quoth directory. This is cumbersome and highly error-prone both for developers and players as pak files must be arranged/renamed to avoid conflicts. When more paks are added, the situation will deteriorate pretty quickly.

I'll probably add a new engine option -quoth to solve this problem in the same manner as other major Q1 mods; hipnotic, rogue and nehahra. This option will make it possible for each new Quoth mod to have its own directory and still load things from the main Quoth dir. So instead of having a command line

-hipnotic -game quoth

you'll have e.g.

-quoth -game warp

(if the mod is called warp) and instead of having conflicting pak files all in the Quoth dir, you'll just have the overriding ones in your own mod dir, beginning with pak0.pak and upwards as usual. Engine resource search order is then current dir (the mod dir), quoth and finally id1.

The -quoth option will automatically set the -hipnotic behaviour for the engine (basically the status bar), but will not add the hipnotic dir in the search order, i.e. it will not require anything from hipnotic paks. AFAIK, this is how Quoth wants it; it doesn't require hipnotic to be installed to work.

The engine code to add this behaviour is simple, just a few lines in a few source files and it follows the same manner as all other major Q1 mods. I'm testing it right now and it seems promising.

Any comments to this? Have I missed something? 
while i think that's a really cool idea, wouldn't it be better to have a way so you could load any mod like that? ie: quake -base quoth -game warp so that it could work with any other mod out there where people would make new mods for it. 
LordHavoc recently modified -game in Darkplaces in a very interesting way.
Usually you want to put replacement content in either id1/ or another directory such as pretty/ inside your quake directory, in DarkPlaces you can run multiple -game options at once (such as -game ctf -game pretty -game dpmod to have texture overrides from pretty, maps from ctf, and gameplay from dpmod) or multiple gamedirs specified with the gamedir console command (gamedir ctf pretty dpmod).
I wonder though what priority there is. Looks like the last -game overrides the previous. "-game first second third" would be more logical on a first glance for me where first is the "master" (overrides all previous). Dunno.

"-base quoth -game whatever" looks nice to me. One should not want to use more than 2 mods at the same time anyways (normally). It would be a bit nicer if something was changed in .pak usage. Like getting rid of the pak0, pak1, pak2 and allowing any name for them (maybe even proceed to .pk3 or just .zip/.7z/something). Maybe choose the paks with 1..., 2... in their name to be first, second priority.
Just brainstorming. ;) 
Looks Like A Nice Simplification 
The multiple packs pending are going to be awkward to arrange properly, so this is a great idea. It has other side bonuses as well - quicksaves, screenshots and demos (etc.) will be kept seperate, allowing clean folders without conflicting junk confusing what's where.

Warp enters final beta in seven days since I've got plenty of time to work on it atm; having this feature will allow me to avoid stepping on anyone's toes or mangling the end-user's Qouth folder.

Good idea! 
I thought about that too, but then you'd lose the custom connection with hipnotic behaviour, which means you'd have to specify that as well.

More important, this is a really simple extension and it's not like there are dozens of major Q1 mods ... This is basically the first SP mod after Nehahra that needs this treatment.

As for DP, AFAIK it already uses precisely this syntax probably more than any other engine for all its supported mods; nehahra, transfusion etc.

Simplicity might also be imperative to getting metl to put it in Fitz soon ... ;) 
So, this is something i've thought about before.

The way -game works is it adds a few extra paths onto the list of searchpaths for loading a file. For example, if you are playing rubicon2, then quake would try to load each file from locations in the following order:

rubicon2/ (unpacked files)
id1/ (unpacked files)

There's no reason you couldn't add more -game commands on the command line and have them added to the searchpath list (after increasing the array size so it doesn't overflow.) Paths at the top of the list would always override paths further down the list.

I would prefer to mimic darkplaces syntax (-game quoth -game mymod) for the sake of standards, rather than "-quoth" which would be inconsistent with DP and would provide less general functionality (since it only works with quoth.) But I understand that you'd still need -hipnotic.... hmm.

In the case of fitzquake, since you can dynamically change moddirs using a "game" command in the console, I would have to modify the command to take more arguments... "game quoth mymod" for example.

One weird thing about -hipnotic and -rogue is that they do more than affect the searchpath list, they also change some things in the HUD. Fitzquake currently can't turn that stuff on or off in the console, unfortunately. It's something I should look into. 
I can see how -quoth makes the task simpler from a coding standpoint, so maybe your idea is the right one :) 
If There 
ever was a standard in handling add-ons to add-ons, it *is* the -hipnotic, -rogue, -nehahra syntax. All engines work like this and should therefore be able to add this option without problems.

My proposal is a simple and neat solution to a growing problem. Once you start generalizing it, it'll just be more convoluted and less coders will be interested in adopting it.

A few simple lines in a few source files, that's it. In my engines, it's actually only two files and the header file is optional since the var is only used in common.c.

It should also be noted that a Quoth mod that's distributed in this way, will not shut out all other engines that don't support it. The player will then just have to re-arrange the pak files in the main Quoth dir instead, and this is something they'd have to do anyway.

The only drawback I've seen so far is that someone (like me) that regularly swaps engines while testing mods, will have to make some arrangements when using engines that don't support the -quoth option.

But I think I'd rather have that, than the pak file mess in the Quoth dir that I have now. 
i meant standard in the sense that the only engine that can currently load quoth + another mod is darkplaces, so if we copy that then all engines do it the same way.

However, I support your plan for its simplicity. You could probably convince lordhavoc to implement it in DP as well, since he often adds things to DP that are motivated by the needs of specific mod projects. 
There Is 
of course the question of Quoth2, should it be put in the main Quoth dir or should it always be included in newer Quoth mods?

The former is the most space-saving alternative, but it basically requires that Quoth2 is completely backwards compatible in order not to break existing Quoth1 mods. Also, it requires that any further Quoth core development has the same characteristics.

The latter requires more duplicated files in newer mod distributions, but OTOH it'll not break anything and is the preferred route if Quoth is going to be further developed. There's a lot more freedom in this alternative.

Naturally, both routes will quickly become a seriously complex mess if new Quoth mods are placed in the main Quoth dir (which is the current situation).

There are of course more alternatives; e.g. to rename the existing Quoth dir to quoth_old and put together a new Quoth dir that essentially is Quoth2, which then can be used as the base with the -quoth option. Or add yet another engine option -quoth2 that automatically will include both dirs in correct order.

But all this is probably stretching it too far, this is not a proposal to solve any and all potential problems in the bright future when there are dozens of new Q1 mods in various versions being released each month ... 
The way I handle multiple pak files is with symlinks.

I name my extension pak "plaguespak.pak" and make a symlink like this:

ln -s plaguespak.pak pak(number).pak

That way I always know what is inside a pak file.

It's the same with progs. dat and (Q2) files; I have a progs.dat.qdq linked to progs.dat, a linked to etc. The expansion pak retains a meaningful name _and_ the engine thinks everything is OK.

In my mod directories (like BB, hipnotic etc) I have the corresponding speedrun demos; I just dumped the paks in there, named them nhrun.pak and linked them to pak(number).pak. So I can easily watch a NH run of the map I'm on without changing gamedir or using complicated command line switches.

I guess that's expecting too much from the average windows user though :-/ afaik symlinks are practically unknown in that culture. 
Uh, Yeah 
I don't know what the hell you're talking about ;)

Now for wikipedia . . . 
No problem. At least you didn't ask if I was taking drugs.

A symlink is practically something that looks like a file, has a name like a file, but in reality only links to a file.

You can have a file called pak0.pak whose single purpose is to link to another file. If your Quake engine calls for pak0.pak, the symlink pops up and says "Hey! That's me!" and in reality only redirects the Quake engine to "quoth.pak" or whatever (any path really.)

Thus your Quoth pak can keep a name that means something instead of being renamed to pak0.pak (where you quickly forget what the hel is inside it.) Pretty neat feature.

When you combine this with shell scripts, you can do all kinds of stuff with files (create a symlink before you start your program, delete the symlink on shutdown, automatically... anything. You can redirect binaries to a number of different config files etc.)

For example, I have extra X11 config files for games in fullscreen mode. The game gets their own X server, their own config... and afterwards, everything looks like normal again. (X11 is Linux' windowing system.) The benefit is that nothing else uses that instance of X11, so the game runs faster/better. Symlinks are used to redirect the X11 program to non-default config files.

yadda yadda :-) it's practical for PAK file housekeeping purposes, that's all.

I also use symlinks to my Quake config in my mod folders. 
Without Knowing 
any details, I assume it's an OS/FS feature available in *nix? I don't know if Windows' NTFS has a similar feature, otherwise maybe upcoming (Vista++?) versions of it might.

Sounds useful if you know what you're doing. 
Sounds useful if you know what you're doing.

That pretty much sums up the *nix experience :) 
any details, I assume it's an OS/FS feature available in *nix? I don't know if Windows' NTFS has a similar feature, otherwise maybe upcoming (Vista++?) versions of it might.

There are NTFS hardlinks, which are basically the same thing I beleive, and I don't think they're officially supported. It's one line of script-code in AutoIt, I've used them to get around certain apps that don't tolerate root directories well (so I hardlink a subdir somewhere to that root dir and all is well) 
While testing the new -quoth engine option, I noticed that in Quoth2 (beta from Nov 2006), there's one h_scourg.mdl that's required from the hipnotic paks to work.

Are you aware of this issue or should I assume that Quoth2 actually will require hipnotic to be installed? 
we're aware of it, it's just the scorpion gibbed head model we forgot to put in the beta 
I've simplified the -quoth option handling and removed the global var so it's even easier to add the feature now. With this design, you can still add the -hipnotic option if you want to, even though Quoth normally doesn't need it. Idea copied from JoeQuake.

Code sections below from two areas in Fitz' common.c (leading dots only for indentation):

if (COM_CheckParm ("-hipnotic") || COM_CheckParm ("-quoth"))
....hipnotic = true;
....standard_quake = false;

if (COM_CheckParm ("-rogue"))
....COM_AddGameDirectory (va("%s/rogue", basedir) );
if (COM_CheckParm ("-hipnotic"))
....COM_AddGameDirectory (va("%s/hipnotic", basedir) );
if (COM_CheckParm ("-quoth"))
....COM_AddGameDirectory (va("%s/quoth", basedir) );
I'm working on detailing a Q3 map at the moment, based on a blockout I did for the Raven lunchtime RA crowd. It doesn't need detailing because they play with it as is, but as long as I have the layout I figured I might as well throw some guns in the corners and make it Lun3DM5.

I wanted to go for a similar theme to Strombine, with plenty of brick and metal trusswork, but I'm finding myself getting stuck. I had gone ahead and been as abstract and free as usual with my blockout since surely I can bend any theme to any shape because I'm fucking Lunaran, but I'm finding the proliferation of 26� and 45� angles really don't lend themselves to the boxy functionalism of a factory space. They also make it impossible to do the distinctive sloped ceilings and peaked roofs.

My original plan had been to just go ugly 70's poured concrete everywhere, because the images you see of old bunkers and other structures where the whole building looks like a blank canvas for weathering and decay are really awesome. I thought I might get that kind of variety out of liberal decal use but it turned out to be a lot of decals for very little payoff.

I'm still wanting to do something that's less abstract and fantastical than previous maps, just because doing the same thing over and over is easy, but I'm afraid I might have confined myself to such things by starting with a blockout shell that requires it.

It's probably nothing anyone can help with per se, I just thought I'd vent, and GA is currently wrapped up in a discussion about economics. 
I saw your Q4 Strombine map (thank to PlanetQuake), and I think you should open a news thread for this map: it deserves it IMHO. I don't have Q4 on my PC, but the shots are particularly realistic: Good work ! 
so yeah, i'm working on a map (q1). i've been using glquake to test it, with no problems. i just tried it with winquake though and got the error:

"mod_numknown == MAX_MOD_KNOWN"

when i tried to load it, resulting in winquake dying. any ideas? 
It's An Array 
of known "mods" in the engine that's exceeded. A mod is any unique bsp/mdl/spr that has been loaded into the engine in the current session.

The original limit was 512 and you typically exceed it by loading many bsps in sequence that also require many mdls/sprs. My engines and DP have higher limits.

What exactly are you trying to do when this happens? 
I see now that the original limit was actually only 256 in WinQuake and 512 in GLQuake, that's probably why you're seeing a difference. Still, it's not so common to hit that limit. 
I See.. 
well, it was only the 3rd map in the session i'd loaded, was checking round 2 others first (it's kind of an episode i'm working on).. and i'm sure i've played through many many more maps at a time than that! could it be something to do with not allocating extra memory? just realised i didn't do that

still i tried again and got it to load on it's own.. just relieved it's not a prob with the map 
It's A Static Array 
in most engines, i.e. it doesn't help to have more RAM or heapsize. Is it reproducable? Are you using a custom progs that loads a lot of stuff? 
Texture Trouble 
So here I am, mapping away happily in WC 1.6. I make a wall, it has Texture X on it. I replace it with Texture Y. I save, and close WC for now. Upon re-loading the map in WC, the wall that I replaced with Texture Y, still has Texture X on it.

Apparently, this certain wall does not want to change its texture, no matter what I try. I mean, I can change the texture to Texture Y during my current session in WC, but once I save and re-open it, the texture reverted itself back to Texture X. What black magic is this?

Anybody else experience something like this, and have a solution? 
Worldcraft Texture Naming Bug 
You've got to rename texture X or Y to fix it, inside the Wad. I'm not sure what the proper convention is so that Worldcraft doesn't revert your textures. Alot of Kell's metal textures have the same problem, just for the name, though its not something that was possible to forsee.

Its an irritating bug but can be easily solved in TexMex. 
Well I Fixed It But.... 
Renaming the texture in the wad file was not helping. Here was my situation.

I have 3 textures. wbrick_egy wbrick_egyv1 and wbrick_egyv2.

The wall that was reverting its texture was the texture wbrick_egyv1. So I went into Wally and renamed the 2 textures to wbrick_egvn1 and wbrick_egvn2.

So back into WC, the texture name of the wall was wbrick_egyv1. If I changed the texture to wbrick_egvn1, it would look like it changed, but in reality, the texture name was still wbrick_egyv1. So no matter what texture I could have put on that wall, the texture would have always been wbrick_egyv1.

So the only thing I could do to fix it was to delete the wall and make a new one with the correct texture. 
I believe WC 1.6 only uses the first 8 letters of a texture name when matching names. 
I've Had This Problem 
i *think* the way it works is that when you're replacing the texture, if the first ~8 or so digits of the new tex's name are the same as the old one, it doesn't save properly and reverts to the old texture when you reload. next time it happens try renaming your new texture to w_brickegbnv1 or something like that 
D'oh Too Slow 
For Rj 
In the mapping contest thread you wanted to know how hard it was to add monster spawning to the standard progs. There's a tutorial on how to do that at:

It might not be exactly how it's done in quoth, but it will probably do what you want. 
Thanks Preach 
i'll just go step quietly back into my corner.. 
I Made 
a so called spawn64 progs for JPL's CDA map, it has basically the same spawning as Quoth (or Zerst�rer actually).

If you wish, I can update it to my latest std id1 fixes and you could check it out. 
Just Fyi 
i don't think the quoth spawning is that good... in fact, it's probably the worst way to do it. preach's looks a lot lot better and a lot simpler too. 
would it be possible to change it then? without b0rking maps using the previous method? remember, when it comes to code I know nothing 
just delete all the spawning stuff and use preach's nicer method, replacing spawnflag values where appropriate to keep it from breaking existing maps.

i really only skimmed his method though, and it may not be any better. :P

it looks like all the spawning stuff goes through the same function, unlike how i did it which was to have a seperate function for each monster.

preach's method looks more streamlined and... uh.. unified, i think is the term.

it's just that it's really boring and long to do cause you gotta open up 20 or 30 something monster qc files and change the same lines of code over and over. 
NOOOOoooooo !!!!! 
If you change spawning method, I will have 3 maps to rework entirely !

And what about back compatibility ! Please don't do that Kell ! 
wtf do you think I was asking about? backwards compatibility is exactly what I want to keep 
i would have said yes but judging by the previous few replies, preach's technique looks more like the option to go for. what other fixes are incorporated in your progs?

i've been slowly grappling together bits of code from various sources to come up with my own progs.dat for the episode i'm working on. i'm no coder by any means but i'm starting to understand some of the qc basics & have gotten a few new mods to work ok. i actually browsed the inside3d tuts before but somehow missed that one.. dammit 
Too Many To 
mention ...

As for spawning simplicity, how can it be much simpler for the mapper to just add 64 to the spawnflags and a targetname for a teleporting monster? 
aguirRe is right i use in Quoth and real easy what�s the big problem? 
Sorry, I misunderstood the subtelty of your sentence... and I also think that spawn64 method is really good. it is very simple to use, so please don't change it.
Maybe coders have another point of view... but I think the sipmpliest it is for users, the better it is.
My 2 cents... 
Quoth Spawning 
Works well, and is very simple to use. The func_hordespawn has an issue but nothing killer.

As far as I can see the only way it could be improved is spawning entities with preset variables, targets or killtargets, for example.

HL1 had this but from the (very) little I know of QC it's none too simple. 
quoth spawning lets you set targets and killtargets no problem. In fact, enemies you choose to spawn can be set up exactly as if they were regular unspawned enemies because that's what they are. The spawnflags just delay their spawn. You can even have them spawn and go to path_corners and it works no problem.

Unless you are referring to the hordespawn. I guess it would be cool to be able to set enemies spawned with that to have targets so you could unlock a door after the player kills 10 monsters spawned from it. I've never tried to use it though, so maybe there is a way. 
Yep, Hordespawn 
The open a door thing is a bit straightforward, I was thinking to make some of the more complex horde battles a la Serious Sam - the arena spawns thirty fiends, after you kill ten of them it spawns twenty scrags, once you've killed a total of twenty monsters of either type it spawns ten shamblers and once you've killed all the shamblers the door opens.

And then, if the player runs away they live to fight another day, but if they kill all the monsters a MH unlocks. 
...I could use a hand finishing a DM level if you've got the time and the inclination. Your email in the "people" section seems suss. If interested send to my gmail :) 
Worldcraft Starting To Stress Me Out. 
So, after a long discussion with aguiRe, apparently WC 1.6 likes to misalign my brushes. What I mean is, I could be working in the .rmf adjusting wedge brushes with the vertex tool. The vertices of the wedge brushes might look perfectly aligned in the .rmf, but in the .map, some vertices are misaligned, sometimes but 8 units or more.

Has anybody else experienced this before? If so, how do you go about working around this?

I'm currently doing my mapping in the .map, but I want to go back to mapping in the .rmf. But with this vertex mishap, I simply cannot. 
It is sometimes necessary to break wedges diagonally into two separate "spike" brushes, like when trying to create a spiral path ala CZG's curves tutorial. 
wc does that because it doesn't check to see if your brushes are valid or not. If you use vertex manipulation, you can totally fuck up the validity of a brush if you so desire, so you need to be careful to keep faces planar and brushes convex. As generic mentions, you can build more complex shapes by splitting brushes with the clipper tool. An interesting feature of worldcraft is that if you split an invalid brush with the clipper, the misaligned vertices will change position.

You can actually create REALLY huge problems with the clipper if you aren't careful though. When clipping multiple selections, be sure not to clip along the face of a brush, as WC will create an infitely small brush that will stop compilers but can be a total nightmare to find. 
As Well 
Avoid long thin triangles, or ones where the centre handle is close to an edge. 
I Followed Generic's Advice And... 
...split the wedges into 2 triangles with the clipper tool, then readjusted them. Surprised to say, that did the trick. So, for every brush I'm going to adjust with the vertex tool, I should split into triangles first? 
Basicly. It's slow but that the way brushwork is. It depends on how complex the shapes are, for simple terrain you can get away with wedges as long as the centrepoints are fairly central to the brush.

For complex stuff you'll most likely have to break it to four pointed brushes. 
So, for every brush I'm going to adjust with the vertex tool, I should split into triangles first?

not really. providing you keep your faces legal then there should be no need for this.

if you can't figure out what a legal face is then imagine 4 points laid out in a square, like so:



and imagine you have a square sheet of thin metal that sits on top of it, meeting each point at the corners.

now, imagine raising point 4 by 5cm or so, and trying to lift one corner of the metal sheet to align with it.. you'll see there's no way to do it without bending the sheet. this is the equivalent of creating an illegal face in your map, so WC ends up trying to correct it when exporting. in order to make it legal yourself, you could either a) raise points 2 & 3 by 2.5cm each, or b) saw the sheet in half diagnonally (clipping equivalent) so you end up splitting the face into 2, which gives you more flexibility (as has been said, 3-sided faces are always legal)

i'm not sure legal/illegal is really the best term but it works :p ..i guess than had it right with 'planar' 
Do you mean you're having the problem with wedges (5-sided) or tetra triangles (4-sided)? 
Whew, Lot Of Stuff To Remember 
I pretty much understand now how I should go about adjusting brushes with the vertex tool. I have never used these 2 tools before, clipper and vertex, and this is why I am asking these questions. I have always been a man of carving.

Thanks much for the help rj, generic, than, and ijed. :)

Do you mean you're having the problem with wedges (5-sided) or tetra triangles (4-sided)?

5 sided wedges is what I was having problems with. 
Demo Question 
I have a demo on one of the Travail DM levels that I'd like to use as an opener for the mission. Unfortunately, the demo was recorded on a previous version of the map to the release version. The only difference between to two versions is the Text at worldspawn and the CD track number; file name etc remains the same. Is it possible to hack the demo file so it links to the latest version of the level? Alternatively, is it possible to hack the demo file so it plays with a different CD track? 
Dirty Map Title Hack 
i don't know how to change the cd track, but you can change the map title by editing the .dem file with a hex editor if the intended title is shorter than the present one (fill the remaining characters with blanks). maybe there's a better way, demo editors for example (e.g. filmat11?). 
There Should Be 
several ways to do those things, I'd probably hex patch it as the CD track and message are at the beginning of the demo file. You can probably also use lmpc, demtool or other similar utility (see SDA downloads).

If the demo isn't so big (dzipped), send it to me and I'll try to patch it. 
Cool... guys are champions, as always. 
Ingame Proposal 
I wondered if it would be possible to add a short ingame show-demo like in hexen2 to a map to give the player information about some act-in-game after pushing a button.

Maybe it has something to do with changing the progs.dat, I don't mind, just wanted to know if it's possible. 
It's possible in some sense, but it's not all that easy, and you need some custom code to do it. You might want to check out zerstorer for an example of what can be done, pushing a button in the second level(among the dead) gives you an in-game cutscene of what the button did(in a different part of the map to the player). The main restriction is that you can't actually play demo files as such, without disconnecting the player. So instead you need to recreate whatever you want to demo "live", which might require a lot of custom qc code.

You might also want to look at the "custents" mod, which has some cutscene code supplied already.
This will allow you to change the player's view to a camera when they press a button, and do some scripted sequences. You might need extra code depending on what you want to happen in the cutscene. 
Does it fairly neatly - but its a big download for your end users. 
Would help if I linked to a download site you could actually download it from, try: 
supports an in game camera mode that can be used for scene like actions, (close up of Chthon: "Quakeguy we meet again, but this time I have the
upper hand! See. No lightning rods anywhere!), but as far as demos -- I haven't realy experimented but there is a QuakeC patch somewhere in here:
(sorry, having a brain fart over its name)
that lets you trigger cvars so maybe a setup like this would work:
trigger_cvar(entityfield savegame) --> trigger_relay ---> trigger_cvar(entityfield playdemo) ---> trigger_relay ----> trigger_cvar(entityfield loadgame) 
Ah, Missed Preach's Post! 
Cutscenes Via Cvars 
This method has potential, but there's a problem with the way you describe it. At the moment, once you load that savegame, the first thing the progs will do is load the cutscene again, as you saved just before that command. So you need another cvar like scratch1 as a check to whether the cutscene has run. Something like

cvar_set(scratch1 1)
trigger_cvar(entityfield savegame)
if(scratch1 == 1)
trigger_cvar(entityfield playdemo)

at the end of the demo stuffcmd "scratch1 0;loadgame"

Then when it loads, the cvar has changed so the cutscene isn't run. 
In the unreleased portion of FMB-bdg (The Imp's Castle) I had used the cut-scene module from Vision by Darin McNeil.

The scenario is that just as the player picks up one of the keys, the view is switched to a camera showing a reinforcemnt troupe of Ogres rushing across the castle courtyard towards the player. So, the player has been warned but he doesn't know exactly when they will arrive.

I works quite well and was very easy to incorporate into the progs.dat. 
Vision Pak 
Yes, I'd also suggest to take a look at that: 
Thanks for your answers! I asked it on the Quakeplanetforum to check if the dates were changing (they didn't) and got rather cheered off.

I don't care about some coding, but I remember this question being asked earlier. The main reason was demo's need to be loaded in the quake engine before the game starts.
And working with camera's is already a big count on my knowledge.

As for the hexen2 exampel, I thought it was made with the Quake2 engine(?) which has other capabilities. Although I thought Quake and Hexen could go through one slipgate.

I'll check the custom ent mod, and try the others also. I ain't have a straight idea for it yet, but as I found myself at some strange mapping ends I was intrigued by the way it was done in The Portal Of Praevus. 
New Old Q1 DM Map - Golden Apples Of The Sun 
So errmm.. I have this q1 dm map, a sequal to my old map "Shall I compare thee to a summer's day" (Summer.bsp) which is 99% finished. it seems however that I just can't get the time to finalise it. It is enormous, fits 16 players easily, and I am not sure what to do with it. What do you guys think? Keep at it or dump through lack of dm interest?

My Suggestion, Keep At It 
and give the map file to Than (if he concurs) so he can build Single Player play into it. Your map would then get the audience it deserves. 
Release It! 
if it is a good ffa map then the qw ffa server(s) will probably install it. 
Good idea but haven't spoken to than in ages.
Is he on #terrafusion maybe? 
Than's Here 
And I'd say if it can fit 16 players then you can get SP working well inside. With or without SP you should release, don't give up. 
On Here 
and TCE as YMLL :) I posted in your level design thread a while ago in fact.

Not sure I really have time to work on an sp conversion of your map, but I wouldn't mind having a look if that's alright with you.

If the map is really big it might be a bit daunting to do a good sp conversion. DM3RMX was a good month or two of work, though a lot of that was spent building stuff, so perhaps adding SP to an existing dm wouldn't be so hard. 
Long time no speak Than :-)
let's continue this on email?

h� that vision pak is great!

Must thank that Darin McNeil for his sense of scripting, although it's more then ten years ago. Had to know this earlier, but before it was just spagethi to me. 
Quake C Triggers 
I'm currently having a look at triggers in QC and am wondering how to implement a new touch trigger type that doesn't precache any model. I basically want this so that I can have a lot of touch triggers without wasting precache ents on something that can be represented by two position vectors.

The plan for the triggers is that the mapper places a point entity on the floor and then enters a vector that defines a box from that point as an offset in x,y and z. The main problem is that I don't know how to make Quake understand that the player has entered this area. The other problem is that I barely remember how QC works at all :)

Any tips would be awesome. 
More Regurgitation Of Q2 Lazarus 
. . . where they had exactly what you're describing, a bbox min and max the defined the area as a trigger once / mutliple / whatever.

I seem to remember it had the problem of always being solid, though you could tell it to autokill itself afer triggered.

There's plenty of documentation of the planetquake/lazarus page, don't know if it'll be much help for Q1 though. 
Point Entity Triggers

The first half of the post is how to do it, but it's missing one very vital line...

"Find the line
setmodel (self, self.model);// set size and link into world
and replace it with this chunk of code"

should also mention that you are looking for that line in the function "InitTrigger" found in subs.qc

If you have any questions on why it works then fire away. 
Re: Quake C Triggers 
Seems pretty easy actually. All I need to do is create a new InitTrigger function that uses setsize instead of setmodel and then copy the main trigger functions (e.g. void() trigger_once) and replace the InitTrigger call with a call to my new function. I should have probably waited a little longer before posting a message about this actually :)

If it doesn't work then I'll post again >:) 
It's even easier, you replace the lines in the original InitTrigger, so it now works for both types of trigger. Then you don't need to create any new classnames in theory, just creating a point based entity with classname trigger_multiple will work, and the same goes for any types of trigger. Saves a lot of copy-pasting with the same change over and over.

The added trigger_multiplep class is just a convenience for mappers using worldcraft, which gets confused if you add a point entity with the classname of a brush entity. So you create a new class, which then just calls the exact same code as trigger_multiple. Kinda like how monster_ogre_marksman just gives you the same entity as monster_ogre(except the classname). 
Marksmen Are Different 
Seems not to be widely known because its easy to miss, but the difference between a marksman and standard Ogre is that the marksman doesn't play his alert snfx - the Ogre roar / growl we all know and love.

But you probably already knew that ;) 
I tried that too, but I wasn't sure how to differentiate the func from the point ents in code. Can I just do
if(self.model) {setmodel(blah);}
else {setsize(blah);}?

I tried using self.mangle as the differentiator last time, which didn't work, though I guess that was a pretty dumb idea anyway.

Are you sure it's safe to meddle with the inittrigger function? 
Yeah, it's because the alert code checks the classname to decide what alert sound to play, and doesn't have an extra check for monster_ogre_marksman. Other places this matters are infighting - monster_ogres will attack monster_ogre_marksman, and obituaries, which are uncredited if the marksman gets the killing blow. Most interestingly, while the monster_ogre uses OgreCheckAttack, the marksman uses the generic CheckAttck function to decide when and how to attack.

The differences between the two are that OgreCheckAttack always melee attacks if at melee range, and always fires grenades if enough time has passed since the last attack and line of sight is not blocked. CheckAttack is more probabilistic, with 20% chance per frame of a missile attack if near, and 5% per frame if mid range. On the upside for the marksman, the minimum time between attacks is shorter, randomly between 0 and 2 instead of 1 and 3 for the ogre. So at short range the expectation is the marksman fires faster, at mid range the regular ogre comes out on top, on average. Pretty much all of the marksman's advantage is gone in nightmare.

If you look at the OgreCheckAttack code you might see "chance" assigned various values depending on how far the ogre is from the target. This is all totally redundant, as the function then goes ahead and fires anyway without testing chance. Seems most likely this is leftover code from the generic function that should have been deleted, not an intended design that should have been fixed up.

One other thing I thought of about the AI here is that it shows you how the chance function is not a good way to try and make the enemy close the distance, firing occasionally. Even with a low probability like 0.05, we expect a shot every two seconds. If you're designing your own monster, and you want them to occasionally lay off the attacking to get close, a more reliable way of doing it is to set an attack_finished time.

A crude decision process would be to randomly decide with p = 0.7 say to not attack for a while and instead close in on the player. Then set attack_finished to time + 2, and the monster will just run at the player for that wrong, then decide if they need to melee or close in further, or if this time they should attack. It's useful because it allows you to make a command this frame that affects the ai for several frames in the future. Making better decision than random number generators would be the next step, like deciding to close in if the player has a RL out. 
Checking whether the entity has a model is a safe way to decide whether the entity is a brush model or a point entity. The original function just assumes the trigger has a model. Any existing maps will always go down the branch of the if() statement that does setmodel, so its behaviour is identical to the original in this case. This will happen for any brush model you give it, as they must have a model by definition. To the engine, a brush entity is really just a point entity sat at the origin with the model field already set. The brushes themselves are just part of the bsp file.

So it's safe for brush entities, but is it safe for point entities? Well, all brush entities have a model, but some point entities have a model too. The important thing is that you wouldn't set the model field on the new point entity triggers you create. That way you can be sure they are safe, as you have complete control over them.

Of course, the question arises, what happens if you make a point entity, and give it a model? Does the sky fall in? Well, it gets treated as a brush entity would, so it gets the size of the model you assign to it. In fact, it works perfectly well, you get a player sized trigger by setting model to progs/player.mdl.

But didn't we just say that the function works in exactly the same what as the original quake function when the model field is set? Yes, and this means that the same thing happens in regular unmodified quake! So to save brush models for things like monster trigger_teleports in normal quake levels, you can make point entity trigger_teleports, give them a "model" "progs/player.mdl" key, and then set them up as normal. Obviously less useful for other triggers where it usually matters what size they are, but still, it's a very cool hack. I might go post that in the "new tricks" thread, just discovered while I was posting this... 
Point Entity Trigger_teleports 
Setting the model field might be useful for regular teleporters (would it be also possible to set it to, say, the size of a Shambler if the model is precached?), but it's not needed for monster in-teleports as the triggers also work without as long as the monsters touch them at their origin. This works with all triggers btw. 
Oh Yeah 
Any model will do, it's just that the player is the largest model that's always precached. Didn't know that about point sized teleports, but it's good to know. 
Is it possible to disarm a standard Ogre so that it will never fire a grenade and always try to close the distance to the player through a hack of base progs?

From what I understand, no, but then I don't yet know anything about QC. 
'fraid Not 
I've been caught out before declaring things aren't possible by hacks, but no I don't believe this can be done without modifying the qc. 
Is it possible to move them in non 90� angles like 45� or 33�? Using Quoth. 
use a func_train instead 
Func_rotate_train ? 
.. but not so much information given on Qutoh tutorial.. I guess it is quite similar to func_rotate_dorr techniques.... Ask Kell if you have doubts.. 
I should have added that I want it to move not on the xy-plane but "vertically diagonally".
Rotate would be an idea but I really don't want to do that kind of freaky and hard stuff. =) 
thanks for the advice, but it doesn't seem to work. Regular triggers still work ok, but nothing happens when I try to load a trigger without a model. The ent is there, but the size has not been set. I'm guessing there is something about if(self.model) that makes it never return negative. Here is the code:

void() InitTrigger =
if (self.angles != '0 0 0') SetMovedir ();
self.solid = SOLID_TRIGGER;

setmodel (self, self.model);
self.modelindex = 0;
self.model = "";
//use mangle for the offset from origin that defines the bounding box. origin is MIN, mangle is MAX
if(!self.mangle) self.mangle = '64 64 64';
if(self.mangle_x < 1) self.mangle_x = 1;
if(self.mangle_y < 1) self.mangle_y = 1;
if(self.mangle_z < 1) self.mangle_z = 1;

setsize(self, '0 0 0', self.mangle);

self.movetype = MOVETYPE_NONE;

The code in the else statement works on its own, because it used to be in a separate function used by separate point triggers that worked just fine. 
Point Triggers 
Just tested it, that code works fine. The problem might be that your editor is attaching a model to the point entity you're using. You can't check whether it had a model set using the edict command since the self.model code resets it. Instead, extract an entity file from the bsp and see if it has a model number there. 
A Few Questions 
Hey, I'm working on my second map and I'm running into a few problems that I hope someone can help me out with. I'm using Worldcraft 3.3 with the Quake Adaptor, all the progs that came with it and everything is at default.

The lighting on this brush is messed up, I'm not sure what's going on. Here's a pic.

I'm having trouble adding powerups to my map, quad, pent, and eyes. They seem to load fine in the editor. But when i load up the map, they aren't there. I'm really stumped here.

I'm also wondering how to trigger stuff to happen when monsters die.

For example. The player walks into a room, bars drop down and block all the exits. After the player kills the mobs, i want to the bars to open. Porting monsters in after a monster dies is something I'd like to do too.

Sorry for the newbie questions, but Google didn't help much :)

Oh is there any good tutorials out there for this kind of stuff?

Are the brushes perfectly aligned? Is there anything behind that brush? Which light tool do you use?

The powerups don't appear because they touch the wall or the ceiling. You have to make sure their bounding box is some units away from any brush solids. Type "developer 1" in the console and run your map, then you'll see the corresponding warning messages.

To trigger stuff when monsters die, simply give them a target. If you want the bars to open only when all monsters are dead, let them target a trigger_counter which then opens the bars if it has been triggered the amount of times set in its 'count' field. 
/slaps Myself 
Well i figured out why i couldn't add powerups. I just had to place it above the brush somewhat. I guess it can't be flush with the surface like all other items. 
Are the brushes perfectly aligned? Is there anything behind that brush? Which light tool do you use?

They look aligned in the editor. But in the game theres a small black line between some of the brushes. It's a 12 sided cylinder. I use the light tool that came with Quake Adapter. Light 1.43 by Bengt Jardrup.

Thanks for the help, I'll have to play around with all these triggers that I've never really used :). 
There are some good tutorials here:-

Although they use the BspEditor (which I use) in these, I think they are pretty generic in terms of teaching the basics.

If you haven't settled on your editor of choice, I would recommend that you give BspEditor a try - the latest version is a superb tool. 
Try snapping all the brushes to the grid. The bugs may be caused by floating point vertices. 
Quake Adaptor 
this sounds serious :) 
Yeah, you are right about worldcraft screwing up trigger_multiples when they are created as a point entity.

To get them to work properly you have to first create the trigger, then go into smartedit and finally add both mangle and ORIGIN values manually.

The alternative method (and my preferred option) is to create a trigger_multiple_point entity in Worldcraft and then strip the _point part from the classname in a text editor before compile.

Perhaps there is a way around this by modifying the entry for triggers in the WC FGD file, but that seems like more hassle than it's worth, and there are probably command line programs that can strip text from files that can just be added to the compile batch file or whatever.

This sucks, but I guess this type of trigger is only used in maps that are going to push the precache model limits, so it isn't really something most people will have to deal with. 
Preach, I finally noticed the link to an earlier post you made ( and have just realised I basically said exactly what you did again. Sorry for the wasted time. I'll see if I can track down a util to strip out the _point part of "classname" "trigger_multiple_point" lines from the .map file and make a useful post shortly :)

By the way, what qcc compiler do you recommend? The size of the progs.dat that Kell sent along with the code is around 100kb smaller than the one I compiled with FrikQCC, and it won't even compile using proQCC.

Necros, if you are reading, please let me know what QC compiler you use along with any special options. I'll probably send you an email about this shortly. 
Stripping Out Point 
That's the idea for worldcraft, although there's a way you can do it in the code rather than have to edit the bsp(in the case that you're using the custom code - when using the player.mdl hack you need to go entity bashing). What you do is add a function to the code:

void() trigger_multiple_point =
self.classname = "trigger_multiple";

This basically just creates a new entity class that's identical to trigger_multiple. It's better to do it this way rather than copy-paste the trigger_multiple code for three reasons:
1. It's quicker
2. It saves space in the progs
3. If you change the trigger_multiple code at any point, you don't need to remember to make the changes again for trigger_mutliple_point.

The reason for the line self.classname = "trigger_mutliple" follows from all that discussion about monster_ogre_marksman behaving differently to monster_ogre. In fact I was meant to mention this in that post, but got carried away with the AI changes. I don't think there's anything in standard QC that checks classnames of triggers, but best to be safe, it's easy to imagine a use for a check like that.

For compiling I use FTEqcc - - at the moment, it's got a lot of options for optimisations, plus a few advanced features like macros and a precompiler that I never use, but it's nice to know that they're there. FrikQCC is also a popular compiler, and the different sizes might just be the number of optimisations you're applying. So try out FTE and see if it works better. 
For vanilla Quake or Quoth:

a) Is there a way to push the player "vertical-diagonally"? Like / or \.

b) Is there a way to make the trigger_push behave like the great Q3 jumppads?

If no, then someone should really make the code for this I think. :D 
Set an "angles" key in the trigger_push with a value of x y z, where x y z are numbers determining the angles of where the trigger pushes you.

I don't know exactly which angle is which, or if it will always work, but I have managed to create a similar diagnol push like you mentioned.

Play around with the angles a bit and see what you come up with. 
Diagonal Trigger_push 
Yes, it can be done with the "angles" field like Orl said. Tip: The viewpos command (e.g. in Fitzquake and aguirRe's engines) makes it alot easier to get the proper values when you're not sure how to change the x y z ones. This is also helpful for the intermission mangle.

Q3-like jumppads work the same way. Small trigger_push on the floor with "angles" and a proper speed value. 
More Quakec Help... 
ok, so i've been messing around with code alot this weekend, mostly copying & combining bits from various sources & editing trivial stuff.. i'm still fairly new to it. i've been trying to come up with my own entity though, it's a 'gib fountain', which spawns a bunch of gibs when targetted, as if you'd just twatted a monster with a quad rocket 8)

at the moment i have:

void() SpawnGibs =
sound (self, CHAN_VOICE, "player/udeath.wav", 1, ATTN_NORM);
ThrowGib ("progs/gib1.mdl",;
ThrowGib ("progs/gib2.mdl",;
ThrowGib ("progs/gib3.mdl",;

void() misc_gibfountain =
self.use = SpawnGibs;

which works, huzzah. but i'd like to know if there's any way to make it retriggerable? at the moment it only works the once, any additional triggerings will only play the sound. is it something in the throwgib function that needs changing? 
Are you using a wierd source base or something? Having just used that code and a trigger_multiple, I get a gib fountain that spawns gibs every time it is used... 
It Appears.. 
..that i'm a bit of a tool. i had a 'throwhead' in there as well which i took out when pasting the code on here since i didn't think it'd make a difference.. apparently it does 8) cheers for checking it out though.

there's another thing that's been playing on my mind... where abouts is the code that determines how monsters behave differently on nightmare? (aside from the small bit in combat.qc that reduces pain animations) and is it possible to get a custom monster, say a boss type guy, to always behave as if skill 3 were set? 
Fast Attack 
The other ai change in nightmare is the continual attacking without delays. I don't have a copy of the quake source on me right now(new hard drive arrived!), but inside3d provides an online copy. There are two bits to this,for the first you're looking for the function SUB_AttackFinished() in subs.qc. Basically all this does is means that attack_finished is never updated in skill 3. Monsters will not consider attacking while time < self.attack_finished, hence the delay in non-nightmare skills. Both the check for attack_finished and the call of SUB_AttackFinished are found in CheckAttack (or the monster specific variants) in fight.qc.

The other important function is SUB_CheckRefire. This function is only called for some monsters, the grunt and enforcer from what I've seen. Basically it sends them right back into firing as long as the enemy is visible. The self.cnt thing makes sure they only fire twice in a row before returning to some decision making. This is because SUB_AttackFinished, which resets self.cnt, is in the ai code(see fight.qc for all that). So they'll fire once, SUB_CheckRefire makes an automatic second shot, then they'll get back to the ai decision making(which almost always makes them shoot straight away again, since it's nightmare and there's no self.attack_finished set).

To make a boss monster that behaves like nightmare, you basically want to make sure it never has attack_finished set to something greater than time. So there are crude ways to do this and nice ways to do this.

Crude way:
In the sequence of "frame functions" that actually makes the monster attack, just stick a line somewhere that does
self.attack_finished = 0;
Since attack_finished is updated in the CheckAttack function, which is called before the first frame function, you can safely change it at any time after that and it'll be obeyed.

Nice way:
Write your own custom CheckAttack function for the boss monster that either doesn't look at attack_finished before firing, or never updates it with SUB_AttackFinished. CheckAnyAttack in ai.qc is the place to add this new CheckAttack type function to, look at the shambler example to see how. This may seem like more work, but it's worth it because you get much more control over how your boss behaves, in ways other than the nightmare difficulty. You can make them that much more intellegent with what attack they choose at each point. 
Muchos Gracias! 
i didn't think to look in subs. writing a custom CheckAttack function sounds like an idea.. but since i haven't fully planned out this guy's attacking capabilities just yet i'll probably save that one for a later date. in the meantime pasting this bit of code into subs seems to have worked:

void(float normal) SUB_AttackFinished =
self.cnt = 0; // refire count for nightmare
if (skill != 3)
self.attack_finished = time + normal;
if (self.classname == "monster_bossname")
self.attack_finished = 0;

}; a tempfix at least. perhaps a little less crude than the other way.. just :p 
Is there a hacky way to use trigger_push entities that only work after having been triggered themselves? The standard use/touch "SUB_Null" hack doesn't seem to work, but maybe there's another method.. 
Not got time to test, but I suspect it would if you set movedir manually to the unit vector in the direction you want to move them. Sorry if you've tried that already... 
Triggers On Lift
The left trigger lowers the lift (toggle door), the four small ones are fake buttons on the lift itself. Is there a way to trigger them so they'll wait until the lift has made its move (so it doesn't go down again immediately when touching the upper triggers while moving up)?
Simply triggering them restults in a crash. I couldn't think of a workaround (maybe there is none). Of course, if everything else fails, I'll resort to a regular button solution, but I wanted to try the fancy way first. 
By Proxy 
There's a hacky way to do it. Basically mimic the usual logic gate setup, so each of the four small triggers fires a trap_shooter at a trigger_multiple with health somewhere away from the main map. You'd need one shooter for the top pair of buttons and a different one for the lower buttons. The trigger with health targets the lift.

You then have another toggle door with the same targetname as the lift which blocks the shots appropriately. So while the lift is moving up, this door must block shots from both shooters. When the lift has reached the upper position, only the shooter linked to the top 'buttons' can see the trigger with health, and vice versa.

You can probably simplify the setup a bit by thinking about how long the trigger with health takes to reset after it takes damage. If you make this amount of time the duration of one movement of the lift, then it doesn't matter whether the shooters can see the trigger with health while the lift is in motion.

As a final nice touch, you can make the 4 mini triggers silent, and have the button sounds played by another entity, triggered with the same name as the lift. That way the feedback to the player is better, as they'll only hear trigger sounds when the button has actually worked. 
Logic Gates. Of Course! 
Works perfectly, thanks. 
Quoth Entities 
I'm checking out Quoth at the moment, and combined Necros' bunch of .def files into a unified Quake/Quoth .def for me to use (there were a lot of duplicates, and some missing entities, and no references to models, so Quest suddenly didn't draw the models anymore.) I think I got most of it right, but there are some blank spots.

The missing ones:


I think that's all.

Could one of the Quoth guys post the .def entries for those entities? Especially the bounding box stuff.

I know your time is limited, but I could safely use Quoth for my project then. 
Don't Know .defs 
But why not copy another weapon and rename it - they're all the same apart from name.

The Vermis is

(-64 -64 -448, 64 64 256)

with the 'bulb' being in the centre of that box. It's pretty good at clipping the player with its throw attack, so give it around 256 units in each direction to throw the player; or stick it in the middle of a pit.

Also try and make sure it clips as little as possible with the floor; there's a bug where it can throw the player through walls. 
Thanks :-) 
I got the following message while loading my map:

"Error: Too many static entites"

What am I suppose to remove from the map in order to solve it ?

Thanks in advance... 
Static Entities 
torches/flames, illusionaries, globes/bubbles 
Thanks, I loaded the map with aguirRe's engine, and it shown that I exceeded by the limits by 3... I just made a test removing 4 lights: I hope it will work now ;)
In anyway, thanks for the reply: you rock ! 
QC Fix Also 
If you want, you can quite easily modify the qc so that torches have a spawnflag for not being static entities, if you want those three torches back, and have the dynamic entities to spare. 
Bubbles are not static, I think. 
Even simpler: use the info_notnull modelindex hack for dynamic torch models along with three independent light entities. 
QC Fix 
.. it's not my cup of tea... and maybe I will have to split the map in order to avoid such problems... I'll see...
Anyway, thanks a lot for helping ;) 
Static Entities.. 
what advantage does an entity actually gain from being static?

i've had the problem before and have noticed the 'makestatic' function in qc.. thinking how simple it would be to remove it altogether. but would that cause problems further down the line? 
Static Entities 
They don't ever get sent over the network once the client receives them, which saves bandwidth and protects a little from packet overflow, although since the entities don't change it's not much good. The main advantage is that it saves you a conventional entity slot, and there are only 600 of them. 
Well, the whole thing is academic, since these limits were put in place for PC's made ten years ago.

It's why I prefer to work in AguirRe's engines. 
Windows was put in place for PCs made 10 years ago :-D

It's not good if OS-specific code is introduced into originally multiplatform software, or if projects (including their dependencies) depend on specific OSs. Windows development environments seem to have a tendency to automatically introduce Windows dependencies in the code...

I don't think that is an academic question at all because you can't assume that everybody on the globe uses Windows in the year 2007.

Platform independency == User friendliness! 
Fair enough, I suppose its far from academic if you can't run the stuff yourself.

I've always used windows (Mac a few times) mainly because it's what everyone else has ie. few compatability problems. 
"everybody else has (Windows)"

see? that's the problem. Once someone else is using Linux, you've got a huge compatibility problem.

It's not a law of nature that the Linux user accepts your proprietary .doc files for example. Unix has been around longer than Windows, so I could very well tell Windows users to "read the f* manpage."

I'm really not trying to start an argument, just pointing out that that ("everybody uses Windows") is subjective perception. That was a practical argument in 1998 in most of the USA and western Europe, but it isn't anymore.

I'm not "nobody."

Just the same you could say "everybody has 3D hardware and a recent computer, so we should get rid of software rendering" or "everybody has DSL so we should make Quake demos AVI format."

Same thing; I could imagine a dozen cases where someone has good reasons for not meeting those criteria.

:-) The world is bigger you know. 
I was agreeing - it's a misconception - 'everyone' 
since these limits were put in place for PC's made ten years ago.

i had a question about that, actually.

iD had self imposed limits on maps (like total texture size), so why did they also have engine limits? if they had made quake to have a max of 5 billion edicts, but only used max 256, would it have mattered? is there some actual programming reason behind it, or was it an arbitrary choice? 
Linux Sux 
if you use linux you are a pederast 
There's A Reason: 
Small number ranges require less memory. In particular, integers in the range 0..256 will fit in C's unsigned char type, which takes up less memory than short/int/long integer types (on most machines).

If you only have a few megabytes in which to fit everything, cramming numbers into these tiny ranges becomes crucial. For another example, see Quake's wobbly animations - you can clearly see vertices snapping from one value to the next. 
iD had self imposed limits on maps (like total texture size), so why did they also have engine limits? if they had made quake to have a max of 5 billion edicts, but only used max 256, would it have mattered? is there some actual programming reason behind it, or was it an arbitrary choice?

Mainly becuase it's a lot easier to write data handling code if you can assume a fixed limit than if you have to dynamically allocate memory for everything. A lot of stuff in quake is allocated in fixed buffers.

Other limits are imposed by the network protocol, for example 256 models means that you can use a single byte to index them.

And then, some limits are a combination. For example, MAX_EDICTS was 600 in standard quake, and this was becuase all edicts were in a static-sized buffer in memory. Edicts actually take a lot of memory per edict, and quake was designed to run in 8mb of RAM, so this is understandable. Also, looking at the size of the standard id maps, 600 is plenty. But when I added the max_edicts variable in fitzquake, I still had to set a hard limit of 8192, becuase the network protocol imposed its own restrictions on this number (which I can't recall at the moment, but I think has to do with the other bits being used for something else.) 
Skip Problems 
So, i've been using tyrann's skip tool recently, and it's worked fine, and suddenly in the most recent versions of my map (after merging in a couple new rooms from another .map) it stopped working correctly. Now what it does is remove hundreds of random non-skip surfaces from all over the level.

Has anyone else had similar problems? 
Yes, it doesn't work very well on big maps actually... I experimented the same fucking behaviour on SRC when I tried to add glasses... 
I've had the same thing, Tyrann always said it really did that after a while. =\ 
... And A While... 
... is not top priority actually... ;P 
Skip Problems: Happy Ending... 
I sat down tonight and wrote a new skip removal tool from scratch, which seems to work correctly with my problem map. Only thing it doesn't do right now is remove skip faces from brush entities (did the Tyrann's tool do that?)

Still got to give props to Tyrann for the proof of concept though; I wouldn't have been able to code this so fast if I didn't have a basic idea of how his tool worked. 
Brush Entities 
The Tyrann skip tool certainly removed faces from brush entities. I can't say for sure if it never caused problems, but I've certainly made a few maps and encountered no problems with this aspect of it. It's very good news that we've got a tool that works for the world model though. 
Yes, It Does 
and it causes a HOM in GL engines. And I have plans for this feature
and it causes a HOM in GL engines. And I have plans for this feature.

what makes neg|ke the awesome-est. I would never think of HOM as a feature. 
well, i'll see about adding brush entity support tonight, and generally clean it up so other people can use it.

Oh, and I still have to test it in various engines, since the basis of the tool is a hack that works only because of the way quake renders bsp models. 
he's a hom-osexual 
Going to beat off in front of those mirrors over and over again. 
and it causes a HOM in GL engines. And I have plans for this feature.

Will these plans be ruined if I play with gl_clear 1? 
PLEASE add support for liquid brush types! I need that for my basemap which is having a few problems with Tyrann's tool, but I can't have glass+water if I don't use a skip removal tool. 
right, i forgot about that. So we want removal of *skip as well as skip, basically? 
actually I guess i'd need:


for all three contents types, plus *skip when you don't want the water ambient sound. 
To make ambient sounds disappear ingame, just use aguirRe's vis tool: there are -noambient<lava/water/slime/sky> option that allow to remove them, check .. It has been added since rvis 2.30 ;) 
i meant removing ambient sound for certain brushfaces, not the entire map. 
Not necessarily. Since I use gl_clear myself, I will keep that in mind - some trigger_command trickery will probably do the job. Furthermore, software engines might be driven out by clever use of the limits. 
Skip Progress... 
I added entity support and liquid support last night. 
you are a god.

Does it have options so that only skip on entities may be removed? I have a feeling it was the removal of skip from world brushes that was causing the problem with Tyrann's tool, so it might be sensible to at least have an option to disable it if it starts to cause problems with your tool too. 
no, but i'd rather try to actually fix the bug if we discover that my tool is buggy.

Of course if it turns out there's a bug I just can't figure out, adding that feature would be an option. 
what is the method you settled on using to make glass? 
Different Glass Solution 
I'm using glass at the moment under a Warp Version of Nehahara made by AguirRe - I failed to do this for warp through oversight.

I was reading through the documentation again and realised alpha could still be applied to any entity - func_wall glass. I haven't made it shootable yet but thats just a case of a snfx and trigger_once. And you can't spawn glass gibs because that's from the progs. 
I've got a few random thoughts for coding things in a simpler way, using wrappers on some of the built in functions, and before I forget them I figured I'd share. Putting it in mapping help because it doesn't belong anywhere else really.

The idea of putting wrappers comes from frikbot, at least that's where I saw it first. Entities that aren't players can't receive messages like centerprints. But instead of put exceptions for the bot in every weapon pickup, ammo pickup, etc, all the mod does is rename the function centerprint to centerprint_true, then make centerprint a function to check if the target entity is a bot, and send the message to centerprint_true if it's not. So the credit for the idea goes to Frikac.

The functions I'd put a wrapper on first are the precache functions, something like:

string(string s) precache_model_true = #20;

string(string s) precache_model =
return "";
return precache_model_true(s);

This very simple wrapper doesn't run the precache if you've past the initial window, frame 0. In one fell swoop you've protected yourself from the game ending error that occurs when you precache things late.

This sounds like it's not much use in itself, because if the model isn't precached you're still gonna have problems if you try to setmodel, and you surely shouldn't be writing code that tries to.

Suppose though, that you were trying to spawn a key at some point in the game(that feature is done btw). It would be really nice to use the regular key spawn function item_key1, as it already does all the stuff you want it to. Plus if you ever update the code for the normal item_key1, you'd probably want to have the same changes applied to your later spawned key, so copy-pasting the code isn't ideal. But if you try to re-use the spawn code, the precaches end the game with a console error.

The first way to fix this would be to just add exceptions
if(framecount == 0)
precache_model ("progs/keymed.mdl");
to each instance of a precache, but the wrapper saves you a lot of time and effort. It does add an extra if statement to each precache you call, but that's a negligible effect, as it's only an extra load in the pre-game stages, and isn't called all that often even then. So I think it's a winner really.

So that's not precaching when you don't need to, but we can also go the other way. There's no need to take the risk of setting a model that isn't precached during frame 0, because we can precache it then. Rename setmodel to setmodel_true, and then add

void(entity e, string m) setmodel =
if(framecount == 0)

below precache_model. This allows you to write more compact spawn functions, you can setmodel directly without bothering to precache. Of course, you still need to precache any other models that might be needed in the course of the game, and any sounds, it can't do all the work.

The really useful part of this one comes from brush entities. Once you've made this change, you can add a point entity with classname, for instance, func_wall. Then give it a model field of "maps/shelf.bsp". Then you instantly get the ability to load the external model shelf.bsp into your map. This would allow you to create prefab func_walls that are used many times in your map, but only use up one precache. You could do the same thing by adding a precache_model(self.model) line to the func_wall code, but this way it works for all your brush entities, for free!

The saving of a few precache slots or lines of code may not seem that helpful on it's own, you might never need such external bsps. There's an idea I've been playing around with that would suddenly make this a much more useful tool, but I'll have to save it for another day(once I've coded/tested it). Hope there was something useful in this long, rambling post, have fun now! 
Almost like you're thinking of a form of mapobjects there, Preach. 
Rotating Brushes 
is there a way to do it that isn't weird and complex (like the original rotating stuff in the first expansion pack)? 
I explained it in the basepack thread (or perhaps this one) already, but basically it involves using a liquid brush as the visible glass with an invisible (by using skip) func_wall for the collision detection. Using skip you can remove surfaces of any water brushes near the glass and create the impression that the water is butting up against the water.

The main problem is that it only works on gl engines and requires the user to set wateralpha, but using Quoth you can set it automatically when the map loads so it isn't a problem for my basepack map.

Another problem is that the water and glass will share the same level of transparency, but using lighting and fog intelligently around windows can hide this problem well.

Alternatively you can require Nehahara or whatever, but I'd rather try and support all GL engines and software if possible. The map actually loads fine in software, but you can't see through the glass. The only software engine that supports transparent water that I know of is tochrisquake. I am not sure if Bengt has added it to his SW engine or not. 
ok thanks :D 
Wrappers And Rotation 
So, the cunning application of the external bsp files is this: rotating entities. Once you have the two wrappers described in the last post set up, add the following entity to misc.qc

void() func_illusionary_rotate =
setmodel(self, self.model);
self.movetype = MOVETYPE_NOCLIP;

Now you can easily set up a rotating entity in your map. First thing is to make your rotating model. Start a new map, and make the object you want to rotate. The important thing to do is to make the origin of this new map the axis about which your object will rotate. Set up some lights around it, to match the area of map - you don't need to be too precise about this, since it's rotating you can't sensibly have one half shadowed and one half light. Just give it about the right levels. Then compile it and leave it in the maps directory.

Then you just add a point entity to your actual map, with classname func_illusionary_rotate, avelocity set to how you want it to rotate and model to the path to the bsp model you just made. Position it so the point entity is on the axis you want to rotate about. Nice and simple, and it avoids the difficulty aligning the textures and setting up those origin brushes or whatever hipnotic had you do.

Obviously this is a simple example, but you can use it as a base for the more complex rotating things. For instance it's not a solid entity, but quake can't do solids rotating without an engine fix, so anything you'd do would be some kind of hack. I'm sure it's possible to adapt the hipnotic hacks to this method. Hopefully soon I'll have one of my own hacks worked out, and I'll post that too. 
Monster Count Issue On Reload.... 
Copied from Base Pack thread: On my current project (I used Quoth) I have a weird effect when (quick)saving, and reloading the map. The monster count (at the end of the level) doesn't correspond to any of the skillset.. Any idea about this issue ??
Is it something that is Quoth related, or simply a Quake bug ? Or could it come from my map ? 
Very Strange 
The total monster count is saved directly in the savegame file, you can see it by opening it as a text file. It might be that somehow the server and client parts of the game are becoming desynchronized, you have to do a bit of work to update the client if the total number of monsters has changed. It's possible that somewhere the client is getting a (correct) update to the number of monsters, but the server isn't. Then when you save the game, you're going by the server's record of things, so you run into problems.

Anyway, I'd have to see the map and the save file first, it's not a issue known to me before now. 
This Is 
actually one of the most common bugs in many mods; monsters are being spawned, resurrected or killed without being accounted properly (via killed_monsters and total_monsters vars plus updating the client).

It can be pretty tricky to track down these issues, but in all progs that I've fixed, the killcount should (hopefully) be correct. 
does DecodeLevelParms() get called when you load a save game? it might be messing up with left over data in parm11 and parm12... 
Monster Count 
DecodeLevelParms(): Err, how can check its use ?

As far as I understood, it comes from the Quoth mod, so how is it possible nobody saw it before ? 
nm, i checked and it can't be because of decodelevelparms. 
Qc Help 
As I'm developping a new Quake1 monster I want to give it some crossed over functions. So I altered the demon fiend in a kind of tribolitus creature, gave it a new skin and now I'm working on a qc for it.

As far things went right (had 15 vertice meshes in 81 frames) and now I see the creature everywhere...but nevermind.

I wrote a qc, which is a mix of the demon fiend and the lightning bold of the shambler. I'm almost done, but the last vexing problem is that by imitating the shambler's blast the qc compiler keeps bumping on

shambler.qc:194:Castlightning redeclared

The creature.qc compiles right now but shammy not.
Is there a way to relay this message or is the Castlightning an unique statement in the qc. I mean can it only be used once? 
Defining Functions 
If you copied and pasted the Castlightning code from shambler.qc with no modifications, try adding
void CastLightning();
to the very beginning of your new monster's .qc file. Then, delete the copied CastLightning code from newmonster.qc .

If you copied Castlightning but modified it, give it a new name like Castnewlightning in your new monster's .qc . 
I knew modding with the Q1.qc can lead to a story without end. After changing the one line, others seem to jump up.
I had to change the fight.qc also and of course now other unknown punctuations appear.

I didn't change CastLightning in the monster.qc and changing it to CastNewLightning seems to help. Now it comes to a broad stroke, only the behaviour of the

function Monster_JumpTouch was not defined

breaks up again.
So I'm plotting further again.

Thanks for your advice, lurker! 
Function Declaration 
What the problem is:

The compiler will only let you call functions that it already knows about, functions that you've already written earlier on in the code. If you want to call a function which you haven't defined yet, then you must do something called prototyping. A prototype is where you just tell the compiler the name of the function, warning it in advance that you are going to define it.

What to do:

The error you're getting tells you that you need to create a prototype of the function Monster_JumpTouch. The prototype looks like this:

void() Monster_JumpTouch;

Add that line at the top of your qc file(or anywhere above where you first use the function) and the error should go away. 
thanks for your attention, preach.

to keep it simple, the monster.qc is identic to the demon.qc , except the lightning beam addition.
This means, as in the demon.qc it starts with the


statement, and further on in the jump function


self.touch = Monster_JumpTouch;
makevectors (self.angles);
self.origin_z = self.origin_z + 1;
self.velocity = v_forward * 600 + '0 0 250';
if (self.flags & FL_ONGROUND)
self.flags = self.flags - FL_ONGROUND;

so I can't find the reason why the compiler bumps. 
That bit looks in order, so the problem might be elsewhere. Check that Monster_JumpTouch isn't defined in both monster.qc and demon.qc, even though the error message doesn't sound quite right. Also, what are you using for compiling? If you use something recent like FTEQCC( then you get more informative error messages, as well as warnings that can help you pinpoint errors. 
thanks for the link, preach! Suddenly I've got a progs.dat Only the messages run so fast I have to turn back to dos to watch them. I'm testing now how far things run.

I have two different prototyping for them, so I used Demon_JumpTouch and Monster_JumpTouch.
But as I copied them, their statements are the same.

I use the old proqcc and fastqcc as compilers.
They give a clear overvieuw of what's going on, but tend grimm for giving a progs.dat when errors appear. 
There is a GUI version which allows you to read the output of the compiler in a window, and gives you a full windows interface for selecting optimisations etc. You can nab it from 
That's better. Although now I get 81 warnings from all kind of errors I suppose I don't have to take need of.

Now I'm so far I have two monsters, the demon and the gnerk seperated in one level. I had a rude job to model the head of the thing, because one can't just cut them off from the base part in Qmle.

The strange error occurs that the gnerk stands alright, but at leap moment it freezes for 3 seconds and then starts jumping again. Also the ligtning beam doesn't appear, although it doesn't give a message error.
For your convienent I have the two altered qc files from the fresh Q1.qc downloadable.
Maybe you could be so kind to take a look at them. I can't think of a line that's wrong.
The Gnerk_JumpTouch keeps bumping. 
Don't worry too much about the warnings, they are in fact mostly from the original ID code, only two from your own code, and 1 of them is harmless. The other one tells us what the problem is:

gnerk.qc:52: warning: function Gnerk_JumpTouch was not defined

You may be thinking that you did define such a function, a copy of the Demon_JumpTouch function. However, you renamed it Demon_GnerkTouch rather than Gnerk_JumpTouch. Fix that and your monster should work, somewhat. It won't freeze up when jumping in any case.

The problem you'll next encounter is that your monster isn't ever going to use lightning. This is a much knottier problem, discussed in the next post. 
Preach the lurker map of vertical event crash in the 2 new progs.dat in old quoth works nicely 
New Precaches For Quoth2? 
Trinca/Preach: My map was pushing precache limits in id progs and Quoth progs due to func_illusionary (and func_wall?) abuse. It originally crashed Quoth but worked in id progs due to a couple of extra Quoth precaches. If more were added since the official Quoth release, that would do it.

I'm not sure it's a big deal, however, since the map uses no Quoth features and works with id progs.dat . 
I'm still looking to much to the outcome of fastqcc. If i see errors I want to devoid them.

I had overcome the freezing of the gnerk by changing line 110:

void() gnerk_jump10 =[ $leap10, gnerk_jump1] {

self.nextthink = time + 3;
// if three seconds pass, assume gnerk is stuck and jump again


void() gnerk_jump10 =[ $leap10, gnerk_jump11] {

//self.nextthink = time + 3;
// if three seconds pass, assume gnerk is stuck and jump again

so by changing the gnerk_jump1 to gnerk_jump11 and adding two slashes for the self.think the error faded.

I now tried your way by changing Gnerk_JumpTouch into Demon_GnerkTouch, which also works. But it still gives that nasty error in fastqcc. I don't mind, but as I worked on the NewBoss earlier I found myself only content by getting a clean outcome.

And yes, why doesn't it struck its beam?
Seems that Shambler doesn't give pass to his magic laserbeam so easily! 
I lost a really long, nicely formatted post about the various systems that govern ai decisions, then the computer crashed. Here we go again:

It's quite hard to follow how the various functions that govern the decisions the monsters make. The functions involved for any given monster are spread out over 3 qc files, so here's a summary of how a monster goes from running to attacking. It starts in the running animation frame functions, which call ai_run().

ai_run(float dist) (ai.qc)
The first thing this function does is check if the current enemy is dead, and find another target if so. Once satisfied with the enemy, the function checks self.attack_state. If it is set to AS_MISSILE the function runs ai_run_missile, and if it is AI_MELEE it runs ai_run_melee. Otherwise the function runs CheckAnyAttack to see if the monster should attack yet, and if that returns false the monster runs forward the distance specified by dist.

CheckAnyAttack() (ai.qc)
This function asks the question "is this a good moment for the monster to start attacking the player?". If it is not then the function returns FALSE. If it is, then the function returns TRUE, but also starts off the attack sequence, in a way that varies from monster to monster. If you look at the function you will find lots of lines like:

if (self.classname == "monster_shambler")
return ShamCheckAttack ();

So it's actually another function that determines whether an attack occurs. If a monster is not on this list then it uses CheckAttack to decide.

CheckAttack (fight.qc)
This generic function checks if the player is in line of sight, and then if they are in melee range executes self.th_melee. If the monster does not melee attack, then there is a chance it will enact a missile attack from self.th_missile. The exact probability of an attack depends on the range. Otherwise the function returns FALSE, so the monster will go all the way back to ai_run and run forwards.

ShamCheckAttack() (fight.qc)
It's interesting to note that ShamCheckAttack has a slightly different approach to CheckAttack. Although the decision process of whether to attack or not is similar, if it decides to missile attack, it just sets self.attack_state = AS_MISSILE. Then the next time the monster runs ai_run(probably the time of it's nextthink), it will run ai_run_missile.

ai_run_missile() (ai.qc)
This calls self.th_missile only if the monster is facing the player, making it slightly different to the CheckAttack method.

So at the moment the Gnerk is using CheckAttack, and so leaps at the player before it is facing the right way(DemonCheckAttack uses the AS_MISSILE method). The first thing to change would be to add a line
if (self.classname == "monster_gnerk")
return GnerkCheckAttack ();

to the function CheckAnyAttack. That way you use the GnerkCheckAttack function you added. You have to prototype it before CheckAnyAttack.

There are a number of ways you could add the lightning attack. One would be to add lines like

chance = random();
if(chance < 0.1)
return TRUE;

just after the lines

if (enemy_range == RANGE_FAR)
return FALSE;

of GnerkCheckAttack. This directly calls the attack. The problem is that it misses out on the AS_MISSILE bit, so the gnerk will attack before it's facing the player. Another way to do it would be to set

self.th_missile = Gnerk_ChooseAttack;

in the monsters spawn function. Then write a function Gnerk_ChooseAttack which randomly selects either gnerk_jump1() or gnerk_magic1(). You could even make it select the attack based on effectiveness, but that would be contrary to the tradition and style of Quake... 
Oh... My Odds And Maths 
My god, Preach, if I had the knowledge you had I probably made my own Quake mod of Hellboy. I'm only joking of course, although the idea won't leave me alone. But this little creature took already 825 verticemeshes of my time, so.. let's get on with it.

First let me thank you for your thouroughly explination of the source code. I'm beginning to understand it has more to do with comparisions than with logical copying. And me maths are a wreckage, but right.

I'm glad someone took the time to make an odd fool like me to understand how things work and I'm really gratefull for that. This qc can't stand a wrong aphostrophe and that hurts.
I hope it wasn't my code that crashed your computer.

As far I can understand I tried your first attempt on the GnerkCheck Attack, and I hope it was in the fight.qc and not in the ia.qc(?)
Changing the line gave me a few errors as the compiler doesn't want the gnerk_magic1. I have reposted the fight.qc so you can see.

It has gone deep in the night as I rearranged new gnerk sounds from the hellboy dvd, and my nerves started rumbling the same.
But the change from Gnerk_jumpTouch to Demon_GnerkTouch was a good hint! So far things run great, even in fastqcc. Hope my language also... 
More Prototyping 
You also need to prototype gnerk_magic1 before you use it in GnerkCheckAttack. Once you do that it should work fine. The usual thing to do when you get that error is check whether the function is defined before or after in the code. If it's defined after then you need to prototype(or move the order of the functions around, but not a good idea when they start in different files). If it's supposed to be defined before, then check for a typo - remember function names are case sensitive too! 
Great Preach! 
Good Old Quake has got an new monster coming!!!
Tricerops Tribolites combines demonfiend attack with shammy's lightning bold.

Fox must have been mad to make this attempt, but succeeded and becomes madfox again! 
Please Help Me 
So my problem is HexenII related, but I thought that is a general problem too.
The first is that I need years to vis my map (several hours on my celeron 700)
The next thing is that the water is not vised. Usually it is vised on default. (=now it looks like quake1 with r_novis 0 and r_wateralpha <0)
So I checked the log-files of the compiling tools and have only one error in the bsp.log: "r_cutnode new portal was clipped away"
Does anybody How do I fix that? 
I know nothing about, but if:

- it was a Q1 map
- fullvis was slow
- by "not vised" water you mean transparent

then I'd say thet you've a leak that the compiler isn't telling you about, a very common error in old build tools.

If the map format is reasonably similar to Q1, you might be able to try one of my qbsps, just to see if it finds a leak.

Otherwise it's probably time to pull out the old leak hunting tricks, e.g. put big solid blocks over parts of the map and rebuild until you've nailed the leak. 
Thanks Good Idea 
I guess the hexen bsp-format is very similar to quake1
I will try it 
I Got This 
TreeQBSP v2.04 -- Modified by Bengt Jardrup

Input file: ./maps/
Output file: ./maps/mymap127.bsp
---- LoadMapFile ----
*** ERROR 03: Line 17: Invalid brush plane format

Elapsed time : 0:00

Peak memory used : 1.4 MB

Build failed, because it did not create the (+BSP) file: C:\appl\spiele\hexenII\
Build failed, because it did not create the (+PRT) file: C:\appl\spiele\hexenII\
Or If 
my qbsps can't read the format, you may be able to export the map from the editor (e.g. QuArK) to Q1 format and then rebuild.

Or if you can find more recent tools that can build HexenII bsps, maybe they'll work better.

You can also verify that your map leaks by noclipping outside, if you can see the textured outside of the map, it leaks in hull 0. 
The Error Message 
indicates that the brush face format is incompatible with Q1. Since I see you're using QuArK, try exporting the map to Q1 format if possible.

If you can't proceed, send me the zipped map and I'll see if I can figure out what's going on. I don't have HexenII though, so I can't check it out in-game, but I've QuArK. 
No It Does Not Leak 
I can't see the textures outside the map.

Maybe it has something to do with:

a) It's a big outdoor map
b) It's the map I started mapping so almost everything is off grid 
More Than Likely 
Its the grid; It's a bastard to fix as well because the errors can be all over the place.

I'd advise adopting a preferred grid size in future for all walls / floors and sticking to it, only going smaller for details or different mapping techniques - curves, terrain etc.

I don't know QuArK much but I'm assuming theres a vertex manipulator - that'll allow you to snap everything to grid, although it'll be a gruelling task.

Another option would be to cut out a piece of the map and copy paste it into a new file, correct it and make sure its not leaking and then c+p the next section until you've got all the important features. Fairly primitive way of doing it but you'll be sure to have a very clean mapfile. 
You Can Check 
the mymap127.prt file, again if it's similar to Q1 then there are two numbers on the first two lines of the file. The first is #leafs and the 2nd is #portals.

If they're high (>10000), then you've probably too much solid detail and need to simplify or turn into func_walls or similar.

Having a messy outdoor map is a good start to a major vis headache ... 
I Guess I Have Got To 
tidy up the mess end compile it later and also with other tools. Apart from the off grid there are a lot of microbrushes too
(There is a lt of work to do)
I might ask later if that does not fix the problem

Thanks a lot for advice :) 
Trigger_relay Sounds 
How to avoid trigger_relay to emit a sound ? I have 4 choices in QuArK (i.e 0: none, 1: secret, 2:beep beep, 3: large switch). I selected the "none" option, but I still have a "beep beep" like sound ingame... Is it the normal behaviour, or am I missing something ? 
Don't put anything in the "message" field. Right? 
Not Sure 
But 0 should work - different editor. Maybe try editing the .map direct with notepad.

Another question, similar;

How do I stop a door_secret playing its touch sound after it's opened? Using in the case of ones that remain open.

If all else fails I can just embed it in a wall recess or clip brushes. 
Trigger_relay Sounds 
I checked the .map file, and the sound filed is set to "0"... pretty weird.. any idea where it could come from ? 
Does It Have A Message Field? 
Yes, it has a message field... is it the cause of the "issue" ? 
Oh, and one of them doesn't have, but the beep beep sound is here BTW 
Triggers Beep 
when they have a message field, unless it's completely empty ("" no space).
If yours also beep without, check the trigger/button firing them. 
OK, I have a single trigger_realy that causes the issue: it is generating a beep while triggering a sound, and it is not really the effect I wanted... I have this one to check particularly: thanks for the info ;)

BTW, as I already launched a fullvis run, is it possible to hack the BSP to remove the message field, or is it mandatory that I recompile all the stuff from scratch in order to obtain the wanted effect ? 
Set the trigger's sound field to an invalid value then, like 4.

You can easily recompile the map with -onlyents if you only edited entity flags. Remember to run light -onlyents too if there are switchable light styles in the map. 
I'll try it... and even if it doesn't "work" as I want, I can launch again my fullvis, as it was running only since 12 hours... so not a big waste of time...
Anyway, thanks ! 
Sorry for flogging a dead horse:
Would it be too much work to add support for detail brushes to Qbsp? After all, it has been done before by Alexander Malmberg - the source code is available too
Are there obvious reasons why this would be unfavorable, technical issues or the like?

Func'ing architecture does work, but it has disadvantages too. Detail brushes (not splitting geometry) might be better in certain situations. 
I Know About 
those versions, they're introducing new file formats (e.g. map and prt) and AFAIK require modifications of all tools (possibly engines too).

I don't like messing with the original formats; I want to keep the stuff open-ended so you always can use whatever step that works best for you.

There are already "Q1" maps/mods that require specific tools and/or engines to work. 
Detail Brushes... 
...could not be compatible with the stock quake engines, as far as I know.

One thing that could work is having func_walls or func_illusionaries that cast shadows on the world and on themselves. I guess you'd have to have a flag or key that tells light.exe which bmodels you want this feature for. Then, you'd need to run each light trace through both the world BSP and every shadow-caster entity's BSP, and see if it collides on any of them before reaching it's target.

Obviously this would only make sense for entities that don't move. 
Light Issues... 
recently i've noticed a few problems when lighting rocky/terrain areas:

using tyrlite v0.92...

anyone have any tips on how to avoid these? is it just a case of dodgy brushwork or are there other light utils that fix it? 
Do You Use QuArK? 
Had something similar when I did not add -etp to the Qbsp.exe 
Try updating to latest TyrLite, 0.92 is really old now. If it is what rudl suggests (i.e. you're using the QuArK ETP feature), then a more recent TyrLite will fix that.

If you want to try my Light (and still have the ETP issue), make sure to add -etp to the Light cmd line (not qbsp! ;).

If it isn't an ETP issue, then using 4x4 oversampling might help. If all else fail, it's probably a brush alignment issue and might be fixed by manipulating the brushes near the spot. 
Sure Light 
not qbsp!!! 
figured i'd give your light util a try. the same result seems to occur (i use worldcraft, so doubt it's ETP related) but i've decided i need to completely rebuild that rock section anyway because the shadowing looks weird in too many places.. it could use neatening up too!

on a related note, i've been playing around with your util & quite like the "second sunlight" feature (as well as the -soft option). i have a suggestion though, i'm not sure how plausible this is, but is it technically possible to add some form of falloff to sunlight, similar to that of attenuation 1 lights? i ask as i've been using attenuation 1 lights as a replacement for sunlight recently (since until now i could only get sunlight in one direction) and have grown to like the effect they give, where the light starts to gradually fade out towards the ground (with a very subtle ratio). if this were possible with sunlight/second sunlight then it would make things an awful lot easier! 
It is still possible that its the -etp because when you open the quark .map file with worldcraft it does not delete the echanced texturing 
->aquirRe's convmap tool 
i've never even heard of enhanced texturing. based on that is there much chance of my map having used it? 
Quark always uses it when you have very complex structures (detailed oudoor-brush)
I always use -etp even if I don't have this problem 
Sorry I wrote enchancd texturing in my last post
ETP=Enchancd Texture Positioning 
Are those faces completely black or very dark
if they are very dark it can also be caused by the fast light option (is always activated when QuickGo) 
If they are not completely dark I'm pretty sure that it is caused by fastlight (it is not very accurate and does not calculate the detailed areas) 
You can't have attenuated sunlight, it would kind of defeat its purpose ... You can however change the way sunlight (and other lights) affects angled surfaces via the anglesense features.

Also, make sure to use sunlight3 instead of sunlight2, it greatly improves details in the sunshadow. See readme for lots of details.

ETP is just a name for any method of specifying texture positioning that couldn't be done in the classic Quake map format. For Q1 I only know of QuArK ETP (its default map format) and Hammer's Valve 220 (recommended for QuArK, too). With those formats, you can freely rotate textures in all three planes.

If you're using WC 1.6 or earlier there's no ETP. The bad shadows are then probably caused by complex or bad brushwork and they might be reduced by using -soft -extra4 in my Light.

However, it's rather common to have a few bad spots in terrain-like brushwork. I'd guess it's a limitation of the bsp format/tools and/or accuracy of float values. 
Defeat Its Purpose? 

i was more thinking of technical limitations.. i'd disagree that it had no purpose. i made a little demo map & took two screenshots to compare:

the first is with your sunlight & nothing else; the second is with attenuated lights & no sunlight info. whilst the shadows enhance the first screenshot, i think the second provides a much nicer & more realistic feel with the fadeoff. it probably shouldn't replace normal sunlight altogether but i think it might be something worth looking into at least..

btw, i turned -fast off and it seems to have reduced it a bit a few bits remain but they aren't so noticeable. i'll start doing extra compiles nearer completion.

and it's WC1.6 i use, oldskool bi-planar texturing all the way ;) (although admittedly the lack of freedom can be a pain in the arse sometimes)

thanks both of you for the suggestions! 
I Didn't Say 
that attenuated lights have no purpose ;) I meant that there's no such thing as attenuated sunlight; the distance attenuation at any practical surface difference near the Earth is next to nil.

Since there already are attenuated lights in the light tools, the sole purpose of sunlight is that it's non-attenuated and with parallel rays. Before, mappers used to add many pointlights or "delay 3" (infinite) lights along the skyline to mimic real sunlight.

And while I may be biased here, I think the first shot is the most realistic one, although the 2nd is also interesting. In any case I definitely recommend adding subtle ambient pointlights to outdoor areas to reduce the somewhat uniform sunlight. Maybe some hint of a cloud effect ...

Btw, if you use WC together with TreeQBSP, I'd suggest adding the -oldaxis option to handle 45 degree textured surfaces correctly. 
what you say about sunlight in reality is very true, but if the sunlight in question isn't direct (ie, it's a cloudy day) and you have a fairly enclosed chasm environment (like my maps tend to be quite often :p ) then the further down you go, the less sky the rock is exposed to. maybe it could just be called 'skylight' as opposed to sunlight.. or something. i dunno. i guess i should just figure out a way to combine both methods & stop moaning about it :p

and thanks for the oldaxis tip, i've noticed quake renders diagonals differently to WC.. 
Also Worth Adding.. 
if you look back in the screenshots thread at the 'numen' preview i posted up, you can see the skybox i'm using and can hopefully see why i don't consider sunlight appropriate, since the sun is pretty low & the majority of the sky is a flat orange shade.. infact i've already got the sunlight at a low z-angle (-15ish) in the first map since it really makes an impact in the 2nd shot 
El Cubric 
I worked some time with qmle and imported dxf files. Is there a way to foresee the excact shape of the model?
I mean, let's say I want a cube of 64x64x64 as new imported stand model in qmle.

Point is that when I import a dxf file it is imported in qmle as a random shape. I can never tell the excact measures. I could use the transform tool, but in this way it won't become the cube I need.

My solution seemed to created a 64x64x64map, compiled it to bsp and try bsp2mdl and try to load it in qmle.
But the dxf files I draw from it change shape when I import them to my CadCam programm. 
it was easier than I thought as the qmle grid measures are 32. 
Since your tools compile the half life .map format into a q1 bsp, could they also just spit out a q1 .map from an hl .map? 
Fixed Grid Size 
The thing about the quake model format is that it stores all of the coordinates of the verties as single bytes, in the range 0-255. The model then has an offset vector and a scale vector in floating point values. You may find if you save and reload your model in QMe then it will have developed inaccuracies. The grid in QMe works seperately to this rounding off, so it usually just makes things worse.

Of course, if you only have one frame, then the upper and lower boundaries of the model will always be correct, as they are stored as '0 0 0' and '255 255 255' as bytes, meaning one is the offset vector, and one is the offset plus the scale vector.

The easiest way of thinking of this in my opinion is that quake creates a grid with 256 gridlines in each direction, then scales it so that it exactly contains the model in all the frames. The vertices that are furthest out on each direction sit on the edge of the grid, and everything else is snapped to it.

The problems will arise once you make the model larger than that 64x64x64 box in some frames, in any direction. Then the scale and offset vectors get recalculated, and the box vertices get snapped to a new grid. One way to get round this is have a frame somewhere in the model larger than all the other frames, with two vertices placed very carefully. For instance, if you have one vertex at '-128 -128 -128' and one at '127 127 127', and nothing outside those ranges in any frame, then your grid will be in multiples of 1 quake unit. If this isn't a clear explanation, take a look at:
which shows it in practice.

The thing is, adding this weird sized frame is just tricking the tools into making the scale and offset into being correct. At some point, I plan to modify my export script for blender so that you can specify offset and scale manually, rather than have it calculated automatically. Of course, if you make the scale too small to accomodate the model then outlying vertices will get squashed, it'll need some thought. 
No, they don't export map files. You should be able to convert using QuArK, though. I guess another way is to just use Hammer/WC3.3 for continued editing of a Valve 220 map.

I also heard something that one version of GtkRadiant could read Valve 220 maps and then save into Q2/Q3. This could then be edited directly in Gtk (possibly also exported to Q1) or further converted to Q1 by e.g. my ConvMap. 
I Should Add 
that converting a Valve 220 map into plain Q1 might result in screwed up textures as some ETP stuff can't be represented properly. 
Thanks Preach, for your explanation!

I just started at good luck, making a model base with one square stand position of 64x64x64. Then I imported it into Qme and took the output mdl to quark47. A quick vieuw in Quake, with a transposed e1m3 file and a cube 64x64x64, translated the stand position.

In this way I could manage to recalculate the measures until it became a regular fitting cube form. To my surprise it were the correct double 32 measures of Qme.

Another point appears with the texture. I took a_floor1 because of it clear square outfit. But as I had to diminish the texture to 79% for the model, they seem somehow flattened in game in opposite of the mapbox textures.

I think I have to live with it, because I see no other way. It looks as if the model, hidden in the map boxes, will reveal itselves in some way. Also models always have a lightened shape, as map boxes receive their lightning from the light.exe themselves. 
I've been snooping around and I think the map exporting functionality has been removed from gtkr. I might be wrong though.. 
Ok, I'm trying to make a ceiling fan that rotates in the normal way (around the vertical axis.)

Problem: No matter what I do, it rotates around the horizontal axis. It looks very stupid.

It's the first time I do this... I'm a bit unsure how to proceed.

I have my rotate_object, the fan. I have an info_rotate directly below it, on the axis of rotation. Below that is my func_rotate_entity. Rotation is working, so the targets etc. are OK.

1) Do the info_rotate and func_rotate_entity need to be on the _center_ of rotation, or is it enough to put them anywhere on the _axis_ of rotation?

2) For rotation around the vertical axis (Z axis I assume), what does my rotate key need to look like? I tried 0,0,90 and 0 0 90 but neither seems to be working. I also tried 0 90 0 but nothing changed...

I need a bit of help here. czg's tutorial isn't very specific and I think it contains errors. 
Figured it out. I'm officially stupid. The vertical axis is the Y axis. ^^ I seem to have missed some geometry lessons.

Someone should make a clearer tutorial, or Kell could just put an example map into Quoth. I might make one and donate it.

I Don't Know 
of any specifics regarding rotating stuff, but AFAIK the vertical axis is the Z-axis. Maybe your problem is related to the sometimes strange key formats; yaw/pitch/roll etc. 
Rotatings are a cunt to set up - czg's tutorial is fairly clear, but the idiotic way that the rotatings were coded makes it a process of trial and error to implement, since I believe that it does use both angles and pitch / yaw / roll.

I'd guess that this hacky code got past when the Hipnotic project leader was off with flu. 
I found out by trial and error that the Y axis is vertical. The Z axis is "depth" and thus one of the horizontal axis.

X and Z are horizontal, Y is vertical. In math, X goes left-right, Y goes bottom-top. Z is "depth" in three dimensional space.

The "mechanical" part was pretty simple actually. The rotating object itself is turned into, surprise, a rotate_object. It rotates around a corresponding info_rotate. Third we have the corresponding func_ entity, like func_rotate_entity and func_rotate_door. This point entity has all the information, mainly the "rotate" key. It holds the combined direction and speed information. "rotate" "0 45 0" gave me what I needed: Turn 45 degrees per second, around the Y axis.

Luckily I didn't have to set up collision detection. Player has no RL, so he shouldn't be able to reach the fan. :) Laziness!

Don't Mix Up 
No Z is usually vertical
In quake for instance, z is vertical

IN Math it is relativ, because you can rotate the coordinate system.
but always the same is:
when you look through the z-axis in the positive way then, x is right and y is left
when you look through the x-axis in the positive way then, y is right and z is left
when you look through the y-axis in the positive way then, z is right and x is left

Had my final exams focused on geometry ;) 
Then how do you explain that "rotate" (0 45 0) makes it turn around the vertical axis?

The key's format is (x y z) so in translation, that means "turn 45 degrees per second around the Y axis."

So either Y is vertical in Quake, or the func_rotate_* is buggy. Or the whole map is rotated and I didn't notice. :)

Anyway, it works :) 
3dsmax is the most common 3d tool for games because its cheaper - alot of people prefer maya (forget shitty softimage) but it does the same thing; changing z for y. And has alot of other problems for exportation.

Key Format 
Again, I don't know any specifics about func_rotates, but the key format pitch/yaw/roll is one of the used ones and then your example means 0 degrees vertical pitch, 45 degrees counter-clockwise around the z-axis and 0 degrees roll around that vector (possibly not used).

And you can look in any Q1 editor to verify that z-axis is indeed the vertical axis (i.e. up/down from the floor). 
ijed: Ballache is the right word :)

AguirRe: That is so far over my head, I might have to re-read that when I'm less tired to grasp what it means. It sounds reasonable though. 
An Easy 
test is to load a map in FitzQuake or any of my engines and use the console command viewpos.

Then you'll get the xyz coordinates of your current map position and then three extra values that specifies how an intermission entity key should be specified to look in the same direction as you're currently looking. Move the view and check again to see how the values change.

This is one of the formats used when specifying a vector. Another is the more simple spot/sunlight key of TyrLite or my Light; pitch/yaw. See the readmes for more details on this. 
Didn't know that - should help alot; the intermissions in warp were shit, I just added a roll value to make them more interesting. 
I realize you're probably right. I will run some tests on this.

It would explain a few things. 
So Now I Understand It: 
The "rotate" 0,0,0
does not mean x,y,z
It is not a kartesian coordinate system it is a Spherical one. 
Spherical And Greeks 
It's basically like a spherical system, but with one important difference. In the wikipedia article the three coordinates are (&#961;, &#966;, &#952;), and &#961; is the radius, or distance from the origin. Quake angle components are more like (&#966;, &#952;, &#951;), where &#966; and &#952; are as before. &#951; is not the distance from the origin - instead it is the "roll" component. The easiest way to think about this is if &#966; is moving the mouse up and down and &#952; is moving the mouse left to right, then &#951; is rotating your monitor about. Of course, you don't usually do that for a viewpoint, but for a model it might make sense to rotate it on that axis. 
Arrgh, Not Greeks 
Clearly func doesn't like greek characters, lets do that again with letters

It's basically like a spherical system, but with one important difference. In the wikipedia article the three coordinates are (rho, phi, theta), and rho is the radius, or distance from the origin. Quake angle components are more like (phi, theta, eta), where phi and theta are as before. eta is not the distance from the origin - instead it is the "roll" component.

The easiest way to think about this is if phi is moving the mouse up and down and theta is moving the mouse left to right, then eta is rotating your monitor about. Of course, you don't usually do that for a viewpoint(unless you're an alien crawling on the ceiling or something), but for a model it might make sense to rotate it on that axis. 
To Make 
it even more interesting, the pitch in the intermission mangle key is reversed to the sunmangle pitch. In intermission, a negative pitch is pointing upwards, while the same in sunmangle points downwards.

I don't remember now if the yaw is different as well in the two variants.

It wasn't meant to be easy ... 
More On Q1 Entities 
can be found here:

The info_intermission seems correctly described, but I don't know about the rotate stuff. It might help to check it out, though. 
"Now for a func_rotate_entity, you must give it a "rotate" key and set its value to three integers,
"0 -90 0" for example, which will make it roatate clockwise along the Z axis at 90 degrees/second. You
can set it to rotate around all the axis too, and to make it rotate the other way, just add/remove a -." 
It's Only Wrong If... 
... you say "x,y,z". If you say "x,z,y", it's fine.

Again, from czg's tutorial, "...and 'angles' '0 90 -180' will make a door that rotates 90 degrees counterclockwise on the Z axis, and 180 degrees clockwise on the Y axis. Of course set it to whatever suits your needs." 
Yup. I thought it meant "x,y z axis."

My head hurts. I guess I'm more the trial-and-error type. I have a good idea how to make it behave like I want now.

Sadly a rotate_entity seems not to get lit by dynamic lights. Makes it look a bit funny. Oh well, just don't give the player rockets then... but then you have deathmatch, where people are going to want rockets... right now, my cool fan looks stupid when hit by a dynamic light (flashlight.) i.e. nothing happens... I'll just tell player to not ever point it upwards... :/

would a func_movewall (or whatever the collison detection thing was) fix the dynamic light issue? 
No Dynamic Lighting 
The movewall works pretty crappy as well - and feels messy to use since you're making a bunch of clip brushes linked to the rotatable.

Having said that I doubt anyone will notice that the lighting is off if you set it up right.

The way I'd do it is to put a pointlight with delay 4 in the centre of the fan with a very low light factor, just higher than your minlight - assuming the fan isn't in a vertical shaft with sunlight coming down.

Delay 4 changes the attenuation of the light to be a local minlight - a delay of 2 could work as well since it increases the range of the light whilst making if fade more softly as well.

I'm not sure about this but you could also move the model away from the point entities and put it in it own little room (somewhere the player will never get to to) and light it there. Then, in theory, it will snap back to its target point (info_rotate) on map startup . . . I have no idea if that will work - maybe its asking too much (ie, a bone).

Just a case of messing with it until it works - even more trial and error ;) 
Forgot to mention that you'll also need compilers that can handle specialised lighting - AguirRe's for example. 
"assuming it isn't in a vertical shaft with sunlight coming down"

muahahah :)of course it is. I sent you the beta btw so you can see for yourself.

The idea with a separate room for the model might be worth checking out. otherwise I'll just very slightly light it from below, although that is illogical because sunlight comes from above. The underside _should_ be dark, but hey, if it's for the greater good...

^^ play the beta! Uuh yeah! :) 
Building the radar tower tonight! Mapping is fun!!! Blowing up things is fun!

Thanks world!!! Thanks Quoth!!!

Quakes Not Dead! 
Hi i have a fairly noob question but it can be difficult to find tutorials for modding old games with so many sequels...
how can i import md1 models into worldcraft 1.6 so i can place them in a map? 
Short Answer - 
You can't, at least not directly. You can do a hack that allows you to spawn .mdl via an info notnull - but it doesn't work too well since the model is offset from its origin and cannot be rotated. This means its annoying to place and also needs geometry outside the world so that it doesn't cause a leak, if in an even remotely enclosed space since the offset is pretty big.

QuArK can load .mdls into a map but I don't know if it can convert them to world geometry - probably not.

Some mods have included a way to spawn models / mapobjects into the game - Nehahra had such an entity, which gave us the monster head on spikes in the realm of the ancients as well as alot of other stuff.

A very hacy way to do it is to replace a static model entity that the game knows exists with the model that you want - which is how I did it in warp, replacing the Shub teleport train model with a sleeping soldier (one of the death poses). But that means modifying your root directory; making a mod folder.

Another way to do it would be to open qme, export the model to .max (or whatever 3d software you can get your hands on) then export again as some kind of prefab for, probably, QuArK again. 
I built a map with Radiant 1.5, in Quake 1 mode, in hopes of compiling it in the original quake but every time I try to build I get "hqbsp" not found. Any ideas where I could get it? I've googled it but no go. Any ideas? 
I'd guess that hqbsp is a map compiler.

Find the batch file that is used for compiling Q1 maps. It should have a line like "hqbsp *.map", followed by "vis" and "light" entries.

Load that file in a text editor and correct those entries so they call the compiling tools that you have.

It might just be a path error; in that case, find out where the hqbsp.exe is located and put the complete path in that batch file. Like "C:\blah\blah\hqbsp.exe" instead of "hqbsp.exe." 
Getting Into Quake Mapping 
I've been mapping for Doom2 for the last year and managed to get quite good at it, but ended up getting frustrated by limitations in the engine.

Quake1 is the only other game I would want to map for... but as usual, the thing that always puts me off it is just the cumbersome nature of moving around brushes.

I mean, there are 3 windows, and four brushes per empty room. If you want to do something as simple as resize the room then you have an awful lots of clicking to do and make sure the brushes are not overlapping.

Doombuilder was an amazing editor in that you really did not have to keep clicking different icons to do a function, and in fact you could do a large amount of the editing in 3d mode anyway.

I don't know if it's just that the editor I use is crap or if I'm missing out a lot of shortcuts or if this is just the way it is for editing more 3d games like Quake... but could someone give tips that will speed up the constant resizing a brush in 10 different windows?

What is the best editor for Q1? I'm using Worldcraft 3.3 for now. One thing that annoys me is that if I want to zoom in or out I can't just do it with the mouse wheel, but I have to actually click on fucking zoom icon, then do it, then click back on the selection icon. 
I think you'll find most people here either use Radiant, or Worldcraft. That doesn't mean they're the best but they're obviously good enough for most people to keep using, release a lot of good maps, and not switch to a different editor. There are a few others that also have a few followers each, like Quark, and BSP.

But no matter what editor you use, you will also probably have to accept the different way of building compared to doom, and after some time getting use to it, it won't bother you as much.

There are a lot of very nice things about the quake style of building with brushes. The rooms are harder to adjust, true, but all the stuff you put INTO rooms (crates, light fixtures, etc) are much easier to move around, copy and paste, and delete. 
there are indeed a number of hidden shortcuts..

i'm not familiar with WC 3.3, but in 1.6 the D & C keys will zoom in and out on whichever window the cursor is hovering over. you can also move around easier by holding the spacebar whilst clicking & dragging (with either mouse button if in the 3d window)

a few others i discovered by playing around include the *extremely* useful cloning function, where you hold shift + drag a brush, entity or just about any object to create a duplicate. there's also holding shift whilst selecting a face in texture application mode, which will allow you to select the whole brush, and obviously, ctrl + clicking to select multiple faces (or multiple objects in general)

vertex manipulation can make resizing things easier too. say, if you select all the wall brushes in your room, go into VM mode, then select all the vertices at the top edge and drag them all upwards, you'll have a raised ceiling without messing up the proportion of any doorways etc

like i say.. i haven't given 3.3 a try so not sure if those shortcuts work, but give them a try 
Bsp Editor 
I think that BSP Editor is very interesting.
I was trying to learn it during last few days. You can do many things in the 3D window and the mouse buttons have many usefull functions. You can customize any shortcut you want anyway using the cfg files.
Check out the tutorials on the page if you want to see what is possible. 
those shortcuts helped a lot... plus I also discovered the WASD movement in 3d mode much like Doombuilder.

I'm just gonna stick with Worldcraft for now... although I haven't yet checked if it builds Quake maps properly yet... 
Sometimes It Does ;) 
mouse wheel = zoom
right click = pan
spacebar = clone selected brush(s)
click and dragging is context sensitive (outside a brush stretches, inside a brush moves)
ctrl+click+drag = skew

v = toggle vertex selection on and off
e = edge selection toggle

etc etc. it all comes down to rememebering shortcuts. doom's map building didn't need them because they were much simpler maps. you'll see-- once you start to get used to shortcuts, it'll be second nature to you.

i've since remapped most of 3ds max to gtkr defaults because it's just that ingrained. �_� 
I Wondered 
is there really a prog called bsp2mdl?

I'm searching this because I need to relight a model I've made. I don't know if there are other solutions. For now I'm working on a new quake1 model what seems to be somewhat too bright.

I'm checking all my archive disks, so far I didn't found anything, also qpub doesn't seem to give an answer. Now I'm at the point thinking I had the prog on a crashed disk. Or does it only excist in my imagination? 
... Or Better 
what is a good method to make a new model change its brightness?
Is this just a skino.bmp adjustment in Wally?
Or is there a prog that could fix this? 
can't you just open the mdl in qME?

Brightness of a model is based on the skin, and of course the engine will brighten/darken a model based on where it is located in a level. 
I created the model in am2000 and altered it in QMLE. I experienced in Fitzquake it is just too bright, in Aguires engine it is just too hazy. Point is it isn't a usual model.
It's a reversion of a textured cube, but as it being a model it appends different lightment then the usual textures.
So I can change the skino.bmp but then it will look different in all excisting engines. I'll send you the file, it's easier to understand.

Therefore my question of the bsp2model prog.
I thought it could be used to relight the model's brightness. 
well... you can edit the texture simply by using qME -- qME can export pcx files, you can edit the pcx file, then import the pcx file.

Also, be careful not to have any accidental fullbright pixels in your texture, that will make it look bad in fitzquake/dosquake/winquake becuase they support the fullbright colors of the quake palette.

Also, fitzquake, dosquake, and winquake will look brighter than in glquake and aquirre's engine, becuase fitzquake/dosquake/winquake have overbright lighting which glquake and many glquake ports lack.

I don't know what causes the haziness, could you describe it? Or post screenshots to compare hazy vs. non-hazy? 
Oh... I just got your email and looked at it myself.

Your texture is fine, the problem is the lighting in your level. Since fitzquake can go up to 200% brightness, you see the actual differences between the walls and the monster. Maybe the model is 170% bright, but the ground lightmaps are only 160% bright. In glquake these would both be flattened down to 100% and therefore match perfectly.

So the solution is, you need to carefully adjust the lighting. You want the lighting on the wall to match the model. The model gets its light from the floor under its feet. So, make sure the floor under the feet matches the walls. If the model is too dark, add light on the floor under its feet. If the walls are too dark, add lights to brighten the walls but not the floor. 
thanks for your answer.

I had a hard job making the model fit excactly.
The alignment with the walls didn't fit in pixels,everytime it made a pixel more or less, so I had to change it to 0.25
I'm not really sure if it is excact on ground as models stand +1 on ground. Maybe it is only a case of lightning.

But I still wonder, where is the prog bsp2mdl? 
Just so it's clear, bsp2mdl won't help you with this problem. (assuming it exists at all) 
I thought I heard of it in case of giving excisting bsp_models new lightning.

Thanks anyway! 
I started working on a Quake map a couple of years ago but stopped after a few weeks. Now I tried to continue working on it but every time I try to load the map it crashes. The problem is with a file named "D3DRM.DLL" in the Worldcraft directory. I'm able to load the map if I remove this file but then it won't show the 3D Textured view. So - what to do? 
Water Brush 
I read a tutorial that said if you put a ! in front of your textures name that when applied to a brush it would make that brush act as water however it doesn't. Currently my texture is names !water.mip Any ideas as to what I map be doing wrong? 
which game? In quake water texture names need to start with an asterisk (for example *water) -- Not sure about half-life. 
Please Help 
I compiled a map and when I look in a certain area it's like there is a leak in the map.
When I go into this certain area I can't see the area where I looked in this area.

Very interesing is:

QuArK exports the .qkm as .map and compiles the .map (if I understand it correctly) ->got the strange problem

I opened the exported .map compiled it again (I don't reaklly know why I did that) and it worked. and also had a shorter vis-time

I got in both cases no error messages 
Your problem description is a bit vague, but I'd guess you're talking about a HOM (Hall Of Mirror) effect inside the map. Check out my ToolTips document (section Portal Problems) for more info on this.

By re-opening the exported map and rebuilding, you can very easily get this effect, due to re-ordering of brushes and float value inconsistencies.

My compilers try to reduce this problem by sorting the brush faces deterministically. 
How to flip a vertical cylinder brush horizontally? The "flip objects" thing doesn't work. 
Water Brush2 
"which game? In quake water texture names need to start with an asterisk (for example *water) -- Not sure about half-life."

Wally texturing program said a ! is needed before the name for water. Is it in deed a * instead? What is the symbol needed for transparency for glass? 
Assuming you're asking about quake, there is no transparency feature on textures in quake.

There are some custom engines that support transparency per entity, using the "alpha" field -- but this doesn't do any per-pixel masking, it just sets the transparency over the whole entity. You could use this for glass, if you made the glass into a func_wall entity. But this is not a standard feature of quake nor supported by most engines.

Not sure why wally suggested !, but since wally supports multiple games, maybe this is intended for a different game? 
Also check out this general faq on quake textures: 
...what game? What editor? Try rotate 90 degrees rather than flip. 
I'm using Worldcraft and Quake is the game. There is no rotate function. 
Works with Quoth or Nehahra+
AguirRe's glquake or Qrack or Joequake or DP 
Can be set in any mod and to any entity, but only the engines you point out do anything with it.

Yep, it can be set on monsters as well, maybe for a Doom1 effect; like the semi-invisible Pinky demons.

Mikko: click on the brush / group you want to rotate a second time after selecting it, you'll see the selection handles change to circles; grab one and you can rotate it, holding ctrl to rotate by fixed 12.5 (?) degrees. Shear is also done in the same way - the selection handles move to the centres instead of the corners. 
Thanks! Why didn't I notice this before (the map being almost done and everything)?

Anywayz, I have a problem with keys and doors that require keys. The map I'm working on is hi-tech themed. This means I would rather NOT have rune keys but I don't see any way to change the keys into hi-tech versions. Also, when I run to a door that requires a key I don't have I hear this "clank" you're supposed to hear in medieval maps but not in hi-tech maps. How to change this? The entity properties window didn't have anything that could have been of use. 
in Worldcraft, Map > Map properties... > Ambience sets the key style.

Check the Flag that corresponds with the required key for your door in order to hear the "clank" sound. 
did you tried to change worldtype field type to base in worldspawn (i.e value = 2)? It should allow you to have Hi-Tech keys, and a kind of buzzing sounds when doors refuses to open, etc.. Try that and recompile the map.. ;) 
Great - thanks!

Here's another one: Where to get that cool wind sound that plays whenever you enter an outdoor area? Couldn't see it under ambient sounds. 
It is an ambient sound indeed: use ambient_suck_wind point entity where you need to have a wind sound... 
It's Not 
Nope - that wind effect is different (used in Wind Tunnels, for example). The one I'm talking about can be found pretty much from every outdoor area in any hi-tech map. For example, in E1M1 right after you exit the first elevator. 
Oh, this effect comes from the sky, not from an entity. To obtain the same effect, you have to build an open area, with a sky... and maybe you need at least to vis the map to obtain a correct rendering but I'm not sure... Good luck :) 
can be found pretty much from every outdoor area in any hi-tech map

i'm a little confused... the wind sound can be heard in (i think) *every* map since it comes from skybrushes.

but it does indeed need to be vised to hear it. vis sets which areas can 'hear' the sky sound, so when you're in those areas, it seems to come from everywhere and not a specific point. 
Thanks Again... 
Yeah, it seems that all the leaks around the map caused the vising process to fail. I had known of these leaks but I thougth there were just a few of them and that I could take care of them later. So yeah, I spent two hours hunting and fixing them (around 10-15 of them around the map).

Live and learn. 
A Map Will Not Vis With *any* Leaks 
You Can Always 
force qbsp to produce a prt file or even use bsp2prt, but it won't exactly reduce fullvis time or improve r_speeds ...

With old versions of TreeQBSP, you could even get a huge and invalid prt file even if the map leaked. Then fullvis would go on for ages and either crash or produce completely invalid PVS data. E.g. sm36 had this issue in 2002. 
I wonder why the game won't show all the leaks in one go - typing "pointfile" only shows one leak at a time. This is why it took so long (two hours) to remove all the leaks.

But anywayz - another question: How to change ALL textures of one tile (say, "floor01") into another (say, "floor02") so that you don't have to change them one by one? 
Use the Replace button on the Texture Browser. Also, read your Worldcraft documentation ;) 
Every WC user should at least once read through the documentation supplied with the program. There are many usefull tools and shortcuts described in there. Many of them are pretty hard to find when just experimenting with editor.
Read the manual. In this case it will make your life a lot easier :) 
Yeah, I've been scanning through some old websites searching for good tutorials. They're usually way better than built-in guides. And I guess I forgot all about the built-in tutorial so...

But anywayz - any suggestions for late evening lighting? I noticed the sky texture itself doesn't emit light like in Quake 3 engine games so everything has to be done manually. Should I use many light entities with little volume or one or two entities with more volume? The point would be, of course, to make it look so that the sky emits the light - not some tiny light sources on the ground. 
Use AguirRe's Light Tool... 
With the -sunlight and -sunlight2 parameters for good-looking outdoor lighting ;) 
why sunlight 2? Is it for when you want to set your map on a planet with multiple suns, or is there a more cunning use of it?

Also, are there any light compilers that support radiosity aside from that old one riot made? (where the hell can I find that anyway?) 
Riot's Q1rad 
is at

I don't know of any others for Quake. 
Helps make the shadows cast by -sunlight not as harsh (i.e. not pure black). 
That Right 
it's pretty much a blend of varied angles to get a softer shadowing effect. 
Don't Forget... 
...sun_mangle, especially if you're using a skybox that shows the sun. 
Is There A Simple Way To Calculate The Sunmangle? 
I tried viewpos facing directly away from the skybox sun but it's wrong - seems I'm missing some simple change between the coordinates of viewpos and sunmangle.

The idea is to have the light look as if its coming from the correct planar angle and altitude. 
As I've Mentioned 
before; there are several formats for specifying a vector in Quake. Viewpos only works for intermission format. For spotlight and sun mangles in Light you use the simpler yaw pitch format.

-sunlight2/3 (the latter is recommended) can be considered "outdoor minlight".

See readme for more details on these subjects and more. 
Texture Alignment 
in WC some of the textures seem alligned, once I fire the map up in quake that is no longer the case. I'm pretty sure theres a command that can be entered to remedy this but I can't remember... any help? 
Drew, Try This 
either -oldaxis or -alternateaxis may work depending on your compiler. Check the docs. 
Will Do 
Yet again ;) 
But What About Colored Radiosity? 
What will we do without that?

(seriously, color+radiosity in light, tightly controlled and used with the right artistic restraint, looks amazing) 
neither seems to work for WC 1.6... 
i was never a fan of the q1rad compilers. maybe i was just using it wrong, but i found that, while it would get rid of ugly harsh shadows, it tended to wash stuff out too much, giving more of a rough ambient occlusion look. getting nice contrasting shadows was usually more work than it was to make fake radiosity with the regular light compilers. also, it took longer, which was another big reason. :P 
I Reduced -bounce 
when using q1rad which allowed me to control the lighting a bit more.

My recollection is q1rad can't support switchable lights though, which is a big negative for many single player maps. 
My recollection is q1rad can't support switchable lights though, which is a big negative for many single player maps.

That is correct... it also crashes out on large maps before it finishes. 
Yeah, I remember back in the quake2 days thinking that -bounce was another one of those command line switches where a bigger number meant your map would be better. All of my quake2 maps were very bright and yellow. 
All quake2 maps were very bright and yellow.

fixd 4 u 
Rotating Stuff 
I'd be interested by the use of rotating stuff in Quake: So, is there any tutorial, or any map example that explains the use of <*>_rotate stuff (Quoth)?

Thanks in advance 
Thanks, I already know that one...

Nevertheless I'm really interested about a map example... It will be more helpfull I think.. ;) 
Rotating Sandwich 
The two posts at the start and end of this link give a method to make a func_rotate in a way I reckon is easier.

No example map, but I think it's easy enough to experiment with. 
look in the "GPL map sources" thread, maybe one of the GPL'd maps has rotating stuff in it. 
Preach / Metlslime 
Thanks for the infos ;) 
Hipnotic Progs Doc And Example Maps 
Light, Jr. 
Anyone know anything about lightJuniors? I've got them in a RTCW map to keep the baddies from being blacked out, but they don't seem to be working? Anything I have to do other than simply have them in there? 
Oh, Nevermind. 
After scouring related forums and sites (and not finding a damned thing), and even hitting up the folks at #splashdamage, it took me a good soak in the tub to come up with the idea that my single-room map (and lightgrid) was too small to make the lightJuniors effective.

And I was right. 
More Mapping Fun! 
Now that I've gotten the lightJunior stuff figured, my walls seem to be lit oddly:

Yes, those are patch curves on either end, and yes, everything is caulked -- both behind the curves and on the unexposed faces of the wall brushes.

But wait, there's more! Soon after that cropped up, I ended up getting leaks through solid brushes:

Have no idea, what's going on -- mebbe my comp will be a pool of goo before morning... 
I was exactely looking for this ! Thanks a lot: you rock ! ;) 
I Know It Isn't Much Help, Biff 
but I never had any such problems when making my wolfenstein map. What compiler are you using? I was using the one that shipped with gtkradiant 1.1 or so, and then switched to q3map2 for the final compile. The compile tool versions are listed in the text file for the map.

The source is included with the map if you are interested in having a look anyway

Not really any similar instances though, as I'm pretty sure I only used curves for pipes. 
Too Dark 
Another n00b problem. I made a bridge that's supposed to come out of its "locker" once you push a button. However, the bridge is all dark once it gets out. The same with door frames (the inner parts).


Move the bridge into its open position, reverse the move angle, and check the "Start Open" spawnflag.

Dark insides on doors can't be fixed in the same way because then the door fronts get dark, and that's even worse. Can't think of a way to fix that unless you've got a compiler that has entity minlight. (I don't know of any compiler that has that.) 
Dark insides on doors can't be fixed in the same way because then the door fronts get dark, and that's even worse.

They CAN be, if you're willing to fully light the recess in which the doors reside when they are open. 
I'm using Worldcraft 3.33 for Quake 1. I want to make a button trigger multiple doors which open at different heights. How do I do this? 
Hmm, I have fixed it by making two buttons that overlap 
two buttons is not necessary.

You can give the button a "target" and both doors the same "targetname" and it will work. 
OH I see, that's obvious. Thanks

Can I put a button on a door? I wanted to have a block rise out of the ground after pressing a button and there be another button on the block. 
I wanted to have a block rise out of the ground after pressing a button and there be another button on the block.

Unfortunately this is not possible (at least with standard quake entities.) You can probably fake it, though, as follows: (Note that this entire thing will only work once; once you push the button and it dissapears, it can't come back for another push.)

First, make a func_door that looks like a block and also includes a "pushed-in-button" as part of the block geometry. Second, make another func_door that looks like an unpushed button. These two doors will rises up exactly at the same time and travel the same distance (this requires careful use of the "lip" field on both doors.) Third, create a trigger_multiple which covers the space where the button will be after it rises. This trigger will point to a "logic gate" which will then trigger two things -- 1. it will target whatever you want, and 2. it will "killtarget" the func_door that looks like a button, making it disappear. When it disappears, it will reveal the "pushed-in-button" that is actually part of the block, making it appear that the button actually moved.

Finally, becuase you want to killtarget the fake button but not the block, they need seperate targetnames. Becuase of this, you will also need a trigger_relay so that one event can make both func_doors rise at the same time.

The logic gate will ensure that when the block hasn't risen, the trigger_multiple does nothing and players won't realise it's there. (A logic gate, in case you didn't know, is a spike shooter pointed at a shootable button, with a door in between. It will only pass on the signal if the door is open.)

So here's a list of entities you need:

1. Input: this is whatever makes the block rise.
"target" "block"

2. Block: this is the func_door block with the pressed-in-button added.
"targetname" "block"

3. Relay: this is the trigger_relay.
"targetname" "block"
"target" "fakebutton"

4. Fake button: this is the func_door which looks like a button.
"targetname" "fakebutton"

5. Trigger: this is the trigger_multiple that users will touch when they are attempting to push the fake button.
"target" "logic"

6. Logic gate shooter: this is a spike shooter that attempts to shoot the logic gate button.
"targetname" "logic"

7. Logic gate door: This is a func_door that is closed whenever the block hasn't risen, and open whenever the block HAS risen.
"targetname" "block"

8. Logic gate button: This is the func_button that the shooter is aiming at. (Hmm, does anyone know if the same entity can both target one thing and kill another? If not, we need another relay to kill the fakebutton.)
"health" "1"
"killtarget" "fakebutton"
"target" "whatever"

9. Output: This is whatever the risen button is intended to trigger.
"targetname" "whatever" 
Re: 8... 
... AFAIK target OR kill, not target AND kill. So, the extra relay is required. 
Thanks Than 
But I ended up rebuilding the test map, and all seems fine now. Have no idea what was causing that sort of thing -- but if I have any more probs, I'll look into that link. 
Re: Button 
Thanks for the help. I wish I understood. 
if it seems too complicated, you should probably go with something simpler for now. For example, have some bars block the button or something. 
What Is That Blocks The Player On Corners Sometimes? 
like here:

It might be QuArK floating point gayness but I know I found such edges on many maps. 
neg!ke just answered me:
qbsp bug, move the vertices or clip.
Or Merge The Brushes 
it's clip hull expansion logic. angled faces are expanded at an angle, and straight faces straight, so brushes that line up visually will end in different places after being expanded differing amounts on differing axes. 
You Can 
visually inspect the player clipping hull by using the -hull 1 qbsp option. The map will probably look a bit different ... 
I just made the /^\ part 1 unit smaller on each side. Looks the same and got rid of the problem. Now that I think about it I simply could have made the one part a func_wall I guess. 
I thought (almost) all brush expansion problems were fixed in the most recent aguirre/tyrann tools... 
That fucked THF in some area, and I had to clip these corners... and it seems expansion problem are not completely solved... 
I used the clipping tool after doing some vertex editing and now I'm getting all kinds of errors with QBSP.exe whenever I try to compile.

So - what's wrong and is there any safer way to build a structure like this?: 
Clipping can cause alot of problems under the right circumstances - minor foibles of the various software that can mangle a map.

An important one in WC1.6a is that clipping across more than one brush in a window where those brushes are not adjacent causes it to crash - but not if you clip from a window where they're touching / stacked.

From the screenshot I'd say you need to rebuild the corner, but sticking to the grid; when you make the angle lock it to the grid as well - at 45 degrees. So all the brushes will have compass rose angles.

It an enclosed brush (not a wall against the void, ie. no leaks) so what errors is bsp giving - is it removing faces on any of the brushes?

Anyhow; the basic answer is rebuild it, hanging onto the grid for dear life - when cutting, scaling or whichever manipulation you make. 
A clarification - you don't need compass rose angles, just to snap to the grid size of your choosing. 32x2 or 16x2 in that case I reckon. 
Don't know what the fak is going on. I removed the structures (see the screenshot) and it still gives me shit. I removed some other crap I had recently built and still the program acts like a teenager. First it gives the usual "This program has encountered an error and will close" (QBSP.exe) Windows error message and then the compiling stops and tells me that a BSP file was not built. 
AguirRe's tooltips - just about every existing bsp error is listed in there. 
If you're using the default WorldCraft qbsp, then try one of my compilers and see if it helps. If you're already using one of them, I'd like to see that map file. 
Thanks - that just may have saved my map. I actually tried removing the whole area I had worked on today but even that didn't work. But these tools solved the problem and fixed a bunch of others as well (buttons not making a sound etc.). But I also noticed that some textures on curved surfaced got rotated 90 degrees. 
Switch To 
TxQBSP (recommended) or add the TreeQBSP option -oldaxis
WC = Piece Of Crap 
I cannot believe how much headache this program is giving me - and I'm trying to build the last room. Now I can no longer select anything in 3D window. This actually has happened before but then I just restarted the program. Any ideas? 
This was a big problem for me to, but luckily Pope knew the answer on how to fix it. All you got to do is uncheck "Hardware Acceleration" in the options menu. You should now be able to click on objects in the 3d window after doing that. 
Yeah, Heardware Accelleration Problem 
unfortunately it runs slow as shit without hw turned on. I still use 1.6, but I should probably switch to hammer :/ 
WC Upgrade 
The transition from 1.6 to later versions is basically painless. All you have to do is make sure you know how to compile hl .map format into q1 .bsp format (say, using our modern compile tools). You'll have to get a q1 entity placement file working, as well. It's worth it! 
Okay, it works now.

Two questions:
-How to make monsterspawns so that stepping on a sector triggers the spawns?
-I tried using the portal texture that usually ends a level but it's not visible in game. 
1: Put monster into trigger_teleport, put tele_destination_something to where it should appear, make trigger_once for player to step into and target the trigger_teleport by it (eg trigger_teleport has targetname "montele1" and trigger_once has target "montele1").

2: trigger_teleport are invisible. Just create a new brush at the same place and give it the *TELEPORT texture to have it visible. 
1: Use Quoth, put monster where it should appear, set DELAYSPAWN flag on the monster, make trigger_once for the player to step into and target the monster by it (eg monster has targetname "montele1" and trigger_once has target "montele1").

@ Spirit: sorry ;-) 
Ha, actually I really second the suggestion to use Quoth. 
I'm not gonna use Quoth since I want this level to be accessible to everyone. The fact is that many casual usermap players are just too lazy to install any extra material just to play a usermap.

In WC, I noticed this thing called Default light level. Do mappers usually use this? 
But its an easy way to spoil a map if you set it too high - experiment until you get something you like.

It depends on the mood you want, typically set it so its less than your sunlight (which I'd advise using unless you don't have any sky brushes) with your actual pointlights being higher than that.

As I said before read aguirRe's documentation, there's alot of stuff to play with there, like anglesense, that can change the style of the map, only adding one (or a a handful of) variables to your worldspawn (SmartEdit). 
Your choice, but Quoth is on its way to become a sort of standard... when Basepack and Quoth2 come out with the _real_ goodies, it will be a defacto standard.

I think everybody here has it, and thinking back, many maps released in the past months use Quoth, as well as mapping projects like the vertical map contest and of course Basepack. Also Ijed's Warpspasm...

The only ones who don't have Quoth are probably very casual players or newbies (not many). Or QW players.

With the project I'm coworking on atm, I was reluctant in the beginning to use Quoth, but it's really for the better. I can not imagine using the trigger_teleport setup anymore. The thought alone is enough to make me go *brrrrrrrrr*. It's a pain in the ass that Quoth can spare you (plus some of the new monsters are really good, like the Rocketeer or Voreling.)

Think of it as a mapper's toolkit, rather than just a mod. It's not just about new monsters. It gives you as a mapper, more freedom and more possibilities, while not requiring any custom engine.

It's your choice though :-) 
I can send you an updated .fgd if you want to use it - meaning all the options for light, Quoth entities etc. appear in WC without having to mess about with SmartEdit. 
probably this is not the right place, but i want to ask a Q4/D3 mapping question. it's stupid but how the hell can i set a screenshot on map load in d3 engine? 
Should someone prefer .def files, I have a unified Quoth+Quake one. :-) 
D3 Loading Screenshot 
The loading screen is actually a GUI.
Take a look at the original GUI files and you can probably figure out how to make a copy with the relevant file pointer changed.
I don't remember if there's a naming scheme that decides what GUI the game shows during load or if it's written in a script/decl somewhere, but I remember the whole thing as being easy to figure out. 
Items Disappear 
I started adding items and monsters. Now, why the hell do some items insist on disappearing? I have checked that they're not limited to any particular skill setting and so on so what's the problem?

The teleport thing doesn't work. The platform that has been tied to trigger_once entity doesn't show up in game.
In Build, all you had to do was to add a sprite called Touchplate and give it a value. Then you added Respawn sprites around the map and linked them to the Touchplate sprite. Quake is like Doom - the monsters have to be somewhere in the map before you teleport them.

"The only ones who don't have Quoth are probably very casual players or newbies (not many). Or QW players."

Yes, but the map is 95% done so it wouldn't make any sense to switch to Quoth at this point just to avoid having problems with teleporting monsters.

Standard or not, it's still extra hassle to many casual players. This is just a usermap and therefore not worth the trouble.

I of course have Quoth, play maps that support Quoth and think it's a fun pack. The monsters are particularly entertaining. 
Dissappearing Items 
I'm guessing you've gone beyond a certain size, which means WC won't display all the objects - remember, its about as old as Q1 itself. To get around it use visgroups.

I could go into a detailed explanation but they're pretty logical and easy to use - properties of whichever object, set it to a visgroup, set the hand of that visgroup on or off and update - the off hands visgroups are invisible in the map. Useful for building stacked levels or just seeing the geometry without alot of entity boxes in the way.

Also, for the platform you mention, it's probably better to make it a func_wall that is killtargetted by the trigger_once - the monster's stood on top and falls into the teleport field after the func_wall is removed. 
The items are likely disappearing because they are placed too close or even inside the walls. Move them a few units away from any adjacent geometry. Type 'developer 1' in the console and load your map to see corresponding warnings.

If all you wish for is teleporting monsters, then there is no need to go for Quoth of course. Just put them inside trigger_teleport brushes in a room outside of your main map and have some trigger_once (or any other entity) fire them as explained above.

As for casual players not caring for installing extra mods: It's probably true, yeah. But then again, if they are too casual to even read the text file coming with the map (explaining what is required to run it), they don't really deserve to play it at all.
Of course, if you're benevolent, adding some 'protection' can't be wrong when using a mod... But that's another story. ;) 
Okay, the items weren't inside walls but apparently too close to them (had no idea that's a no no).

Anyways, I asked a few days ago about sunlight. Now, I have no idea where to put that "-sunlight" command (I have Aguire's tools). I checked "Extra" options from the Run window but apparently I had no idea what I was doing since the program crashed/didn't have any effect when I tried putting that -sunlight somewhere there. The txt file provided no instructions for n00bs like me.

The lighting system is pretty new to me. In Duke3D (and in Doom) you construct all shadows manually by building sectors and then shading them. I actually made a map ( for Q3A but that was a bit - but not much - different (GTKRadiant) and it's been years. 
Start using the tools from the command line. That is where you add such options as "-sunlight". In the end, the trouble is worth it (imo). 
Now the teleport thing works but I have no idea where the monsters go. The monsters are teleported from their original location but they don't end up where they're supposed to end up. I'm supposed to add info_teleport_destination entity to where I want the monsters to appear, right? And the trigger_teleport is supposed to target it. 
That's Correct... 
as a test, make sure the destination is off the floor a fair amount.

In radiant the bounding box can rest on the floor, but if you're just placing a zero-sized point (does worldcraft do it this way? -- probably, since worldcraft users are always putting ammo in walls and stuff) then it need to be up... try 48 or 64 units... 
Yeah, it works now but the monsters get telefragged. I guess I have to make separate teleports for each dude. 
oh, yes you do. I didn't realize you were pointing them all to the same spot. 
Pretty Much Done 
Yeah, well that wasn't the real problem but the fact that the destination entity wasn't enough off the floor. Of course, I have been making sure when placing items and other entities that they're not inside walls but I didn't know that's not enough.

Anyways, if I want killing one monster to cause another one to spawn, is it done the same way as other monsterspawns, just with the exception that I replace the trigger_once brush with a monster? What if I want it so that a total of three etc. monsters need to be killed before another wave steps in? 
Anyways, if I want killing one monster to cause another one to spawn, is it done the same way as other monsterspawns, just with the exception that I replace the trigger_once brush with a monster?


What if I want it so that a total of three etc. monsters need to be killed before another wave steps in?

Have all three monsters point to a "trigger_counter" with a count of 3, and that trigger_counter points to the teleporter. 
Coloured Lights... 
Hi all, I'm currently working on a Q1 base level using JPL's converted d3 texz and would like to add to the d3 effect by including some subtle coloured lighting. JPL has attempted to get me going in this area but I think I'm missing something. I use WC1.6 and compile using aguirRe's tools except for lighting, for which I've substituted the latest tyrlite build.

Can anyone:
- point me to a tute
- carefully explain their method
- point to common mistakes made by coloured light noobs :) 
Please send me an email explaining which method you are using, plus a map example with something you tried to do (e.g, a square room with 4 ligths of different colors would be enough I guess), but for which you were unable to obtain the wanted effect (explained what you wanted as well BTW)...
I'd be happy to help you on that point. 
Tyrlight is the enlightened one who has shapened Quake with coloured light.
I think you can find all tutorials there. 
Not really about mapping but how to enter spectator mode so that you can take all these nice screenshots with enemies and no weapons attached on the screen? 
Try Adding This In Your Config, Then Press Q 
alias screenshot_on "r_drawviewmodel 0;crosshair 0;viewsize 120;fov 120;bind q screenshot_off"
alias screenshot_off "r_drawviewmodel 1;crosshair 1;viewsize 100;fov 120;bind q screenshot_on"
bind q screenshot_on 
Fov 120 Is Way Too Much 
Only By 30 ... 
I still play in fov 120 in any game that lets me, feels so weird when it's less. =\ 
Monsterspawn Failure 
Why do some monsterspawns refuse to work? The target and name tags are correct - I have checked this a zillion times. The teleports are teleports and they're of the same size as all the other teleports around the map so it's not that the monsters are too big. Also, believe me I've checked they're not too close to any walls.

I have around 30 spawns around the map so having four malfunctioning teleports is not such a big issue but it's actually becoming an obsession. And it's three specific areas. 
the teleports are teleports? huh?

You stick the monster you want to spawn halfway into a trigger_teleport. The monster and the trigger_teleport get the same "targetname" field. The trigger_teleport targets an info_teleport_destination. Make sure the info_teleport_destination doesn't have the same "targetname" field as the other two!

You have all the monster/trigger_teleport setups in a separate dedicated spawner room.


Did you get skills messed up (does Light give you messages like "X has no target in Easy skill" etc)?

The trigger_teleports can be any size, it's enough if the monster touches them. Each monster must have its own trigger_teleport! Make sure they don't touch (leave some room between them.)

The info_teleport_destination, as you noted, should not be inside walls etc.

Do you get any error messages? Tried setting "developer 1" in the console, or starting the game with -developer command line flag? Those give you more messages.

And I hope this doesn't upset you, but can you see now why I suggested Quoth? :-) 
"The monster and the trigger_teleport get the same "targetname" field."

I haven't named the monsters but I don't think it matters since 90% of these spawns work fine without targetnames.

"Did you get skills messed up"

No. The monsters are there - they just don't spawn.

All the spawns are in a separate room, each monster having his own telebox and so on.

Developer 1 doesn't show anything relevant.

Anywayz, this had me wonder:
"The trigger_teleports can be any size, it's enough if the monster touches them."

"You stick the monster you want to spawn halfway into a trigger_teleport."

What do you mean by "halfway" in this context? 
The monster and the trigger_teleport get the same "targetname" field.

This isn't required, but does have the benefit of making sure the monster wakes up as soon as he spawns in (instead of waiting until he sees the player) 
Halfway means, the monster and the trigger overlap. You shove the monster 16 or 32 units into the trigger.

Perhaps you should mail the map to somebody else, perhaps AguirRe, and ask if he can take a look at it? 
Map Dimension Limits? 
What are the maximum and minimum X, Y, Z coordinates for a standard Quake compatible map?

If I recall, I think maps have dimension limits of 4096 x 4096 x 4096 but this might be wrong.

Is the answer -2048, -2048, -2048 to 2048, 2048, 2048?

Part B:

What are max/mins in aguirRe's engine and DarkPlaces?

I have an idea for maze generator or possibly a dungeon maker for Quake that writes the .map randomly (for all practical purposes) and then compiles it and it should be rather easy to make [because I have the source for such a program and just need to make it output the brush coordinates]... I just need to know the limits.

Thanks to whoever knows the answer. 
One third of Darkplaces' maximum: 
The Q1 Map Limit 
is +/-4096 in all directions, i.e. a box with 8192 unit sides. Most engines (including mine) are using those limits, while I think DP has (+/-)64k.

I'd rather not think about a maze that challenges any of those limits ... 
I'd Rather Not Think About A Maze That Challenges Any Of Those Limits 
I'm laughing, like for real. ;)

That would be the most frustrating map ever. Even with 8192 it still may be the case. 
I already made three of those (8192) :P 
Just For Shits 
I'm debating making a 8192^3 level... using special tools of course. 
To Clarify 
By special tools I mean writing some evolutionary search method to design levels. I really doubt it'd actually be 8192^3, but that could potentially happen if the algorithm is designed in the right way. I don't have the time to work on this any time soon, but the idea seems like it could have merit for game designers, in order to generate... well, whatever is desired. Practically speaking it would be incredibly difficult to "get right," but whatever.

I can think of some func'ers who would be interested in implementing this... 
What The Hell Are You Talking About? 
"I seriously think I might make a map using a tool that doesn't exist and that I don't know how to write, but I imagine someone else on func will write it for me." 
Removed The Five Malfunctioning Spawns 
One last question: is it possible to make an elevator (func_door) so that when it goes down (activated by a button), it stays down, and has to be once again activated (by another button) to go back up? I tried the "Stays open" value but that prevented it from going back up altogether. 
The 'toggle' Spawnflag 
it will do what you want. :) 
Tyrlight 99c is crashing on a specific plane in my map, consistently, only in colored light mode. Is there any way I can trace that back to a brush, or whatever else might be causing it? I really don't have the patience to just start fucking with random brushes and 'jiggling the handle' until I maybe get a result. 
Aside From Divide-and-conquer Compiling, That Is 
I asked previously (#6385) about how to take screenshots so that the weapon doesn't show and I received a reply in #6386. However, is there any way to fly/walk around the level in a spectator mode so that the monsters cannot see you? I'd like to snap a few shots with monsters posing in them but so that they're not trying to shoot me. 
i think if you type 'notarget' they won't see you. also set crosshair 0, r_drawviewmodel 0, viewsize 120, and fov 105 or something. afterwards you'll probably need to brighten the shots up a bit in photoshop (play with curves). 
shrinking the map down to smaller and smaller bits to isolate the cause of the error didn't help. tyrlite -lit crashes within the first few dozen faces no matter what map I compile with it, even maps with no lights.

trying other BSPers in advance doesn't help, so it's probably not a compatibility issue there. tyrlite 0.99c has in fact been confirmed to work when compiling a map with a .lit, right? 
bamb is getting the same crash in a different map on a different computer. apparently it's tyrann's fault! 
Lun... am I. Thank goodness I'm not as stupid as I thought. It crashes out at 12-20 faces for me. 
look up the Quake cheat codes(noclip/notarget), and set sv_altnoclip 1 (works in Fitz and aguirRe�s engine), then you can fly around using the mouse like in Q2. 
Well, the map is finally done and I no longer have to bug you with stupid questions! See the news section for details (well, in a moment at least).

Thank you all for help. 
Hey guys, I might not hang out here much anymore, but I still take bug reports. Someone email me a map which is killing my light util and I'll fix it. 
So Far All Of Them 
are we using it wrong? 
Send an email 
My Point Is 
he can place a single brush and press 'hollow' and it'll crash his compiler. that's all we've had to do. 
How do I change the gravity for a map in WorldCraft 3.33? 
Map, Map properties and then Gravity.

Default is 800, and I think Ziggurat of Vertigo is at 300. 
Takes A Custom Progs.dat Though 
and don't forget to use a towel. 
custom gravity won't work without custom code...

unless preach knows one of his many secret map hacks :) 
Searching Textures 
I need a texture that looks similar to the clock texture in the rogue missionpack. Does anybody know ewere to find or if such a texture exists?

Don't Recall 
the Rouge pack havung a clock texture, but there is one in the Scourge of Armagon pack. It may be worth checking out. 
Dark Artifacts 
I compiled with light options -soft -extra4
If there is an easy way to get rid of those using compiler options I would love to do it. I won't change anything on the map because it is supposed to be finished. ;) 
I Mixed It Up 
Sorry I meant hipnotic not rogue 
Just open the .bsp with Texmex and it'll extract all the textures. 
If you're using some sort of ETP map format (e.g. QuArK etp or Valve 220), try the -etp option and see if that helps. 
Thanks, but I already have the clock texture, but I need a second one that looks similar.
QuArK can also extract textures 
That Shot Looks Interesting 
There are two clock textures in the kingpin wad, although they might not be exactly what you are looking for. 
Fix For The .lit Issue 
New version of my utils with a fix for the (again, silly and obvious) bug when running light with "-lit" is now up. 
That looks nice indeed. I bet there are some wicked clock textures in American McGee'S Alice. There is a wad somewhere if I recall right. 
I'm Mapping Tonight So... 
...hugs and beer to you Tyrann! 
...what is the relationship between fog and minlight? 
American McGee's Alice Wad 
I've never seen an alice.wad so I quickly compiled one. Many textures look horrible in the Quake palette but there are also many nice ones.

Spirit: please mirror it at 
Fog / Minlight 
Fog and minlight have nothing to do with each other. Unless I don't understand the question... 
neg|ke: done

aguirRe: Thanks, didn't help in this case though. The map is done now. :) 
Thanks cool textures, but I need something more Quake like.
I already try to modify the texture of the missionpack a bit. 
thanks tyrann! works a peach. 
Is There Any 
limit to how many monsters I can have visible on screen at the same time? I need something that looks like an army.

What would happen if it's too many? What breaks first? 
Re: Gravity 
so there's no way to change the gravity for a player (without him using sv_gravity)? that sucks 
...that answers the question, thankyou! Oh, and thanks for the bug fix, now Ruined Nation looks even more D3 than before. 
Packet Overflow? 
(I don't mean to interrupt anyone's conversation here, but I was trying to determine what are the "packet overflow" limits for Quake 1 in this test map:

I'm using WinQuake and prefer to design for DOS / WinQuake rather than the more powerful ports. (I'm guessing packet overflow is related to that). I guess the main thing is just to avoid rockets/grenades if you're trying to put a lot of enemies onscreen. I'm still interested in the limits of the Quake 1 engine if anyone has made a chart or document of some kind. Thanks! 
IKBase Wad? 
Does anybody know where I can download the legenday IKBase wad, cause I wanna check it out, but all of the links I find on google or whatever dont seem to work. If only I'd been up to this sort of shinnannegans 3 or f4 years ago! 
i think if you name your bsp file e1m8.bsp, you may be able to trick the engine into using the 100 gravity from that map.

basically, when the map loads up, if the filename is called "e1m8.bsp" it sets it to 100, otherwise, it sets to 800. 
Renaming the bsp is the worst way to do it (besides, it won't even work just like that because the file in the pak has a higher priority than stuff in the maps directory and would therefore be loaded instead). Either make your map require a mod which has a trigger_gravity (e.g. SOA) or trigger_command (e.g. Quoth), or simply add a centerprint in the beginning telling the player to change sv_gravity manually. 
files in paks have to be lower priority, otherwise, how would progs.dat files in mod dirs do anything? 
Re: Gravity 
Quoth allows you to set the gravity in the map's worldspawn.
Using trigger_setgravity only changes gravity for the player who triggers it ( not monsters or coop teammates ). 
files in paks have to be lower priority, otherwise, how would progs.dat files in mod dirs do anything?

I'm sure we've had this argument before :P

priority runs thus:

mod pak file -> mod folder -> id1 pak file -> id1 folder

so if someone made a map and named it e1m8.bsp and placed it in the id1/maps folder, it would not be loaded: e1m8 in the id1 pak0.pak would supercede it.
If, however, their version of e1m8 was placed in a mod folder e.g. quoth/maps it would be loaded instead of ziggurat vertigo while playing Quoth.
As neg|ke says, this would generally be bad form for a mapper to do. 
yeah, i remember discussing that with you. :)
i forgot that the id1 folder was at the bottom of the barrel though. :P

and i totally agree it'd be bad form to name your map the same as a stock map. 
thank you for gravity information. i'll look into quoth.

don't care about bad form, though. Prefer it, usually. 
Packet Overflow 
is just one of several different choking symptoms that indicate that the engine can't cope with the current situation.

AFAIK there's no simple formula that'll tell you if a particular engine's going to choke or not, you'll have to try to provoke it. Most engines will choke very easily, as your small map clearly demonstrates. 
I wasn�t able to get your test map to overflow in aguirRe�s enhanced engine. 
Is here an easy way to recompile a Q3bsp back to a map file?

I remember there was a script for it, using it with blender and so. But I don't mean this.

I'm glad I finaly have my Qrediant nightly working on win98.
But winbsp can't handel q3. Q2toQ1map won't work either. 
can BSPC do this? (the tool normally used to create bot files for quake3) 
Orphaned Textures 
Does anyone know where I could find the full than_industrial texture set? Than's planetquake page (pq/cesspit, right?) is gone. 
for your help, metlslime! 
Msd, AguirRe 
Most engines will choke very easily, as your small map clearly demonstrates.

To my surprise, I was not able to provoke any "Packet overflow" messages in Proquake 350 software (!) with Msd's map.

The map was fully playable, the lag was almost unnoticeable. And I have a stone-age system.

It answers my own question I asked earlier: it is very much possible to have lots of enemies onscreen at the same time. Enemy count alone seems to be no problem.

I myself intend to use about 100 Knights. That should be no problem because they only have a melee attack. Right? No particles or projectiles or dynamic lights.

What is the hard-coded limit for this? There must be one. 
You're Not Trying 
hard enough, try throwing a quad grenade in there and see what happens ...

Visible monster count is most definitely a problem, try out my lr/lrb maps that I posted earlier on shub-hub. Even if the monsters haven't seen you or do anything except standing idle, most engines will choke completely on that (if they can even load the map at all, try Easy skill on the smaller map).

Knights are easier as they don't produce new edicts like e.g. HKs or Ogres do.

There are many hardcoded engine limits, some of them don't translate very well to an easy explanation. 
Oh, Fuck You Aguire, I Didn't Say My Problem Was 
specifically with the last combat, I said I stopped there. I saw the giant doom-style pile of ammo and was a little war-weary by then so I saved and quit.

thanks for the protip. 
i think he was telling golden_boy that he wasn't trying hard enough to generate a packet overflow. 
I was being stupid, should have thought of explosives. Hm. There will be a way though. Who says the player will *fight* them. 
...I'm dabbling in Quoth at the moment, thought I'd better release at least one Quoth map before the update. Anyhoo, when I was placing ammunition and health whilst building Travail, it went/appeared where I damn well put it. This is far from the case with this level build. There is a huge difference between placement in editor and in game, this despite the size/entities definitions being the same for both the Travail and Quoth .fgd file.

Blame Worldcraft 
/*QUAKED item_cells (0.0 0.5 0.8) (0 0 0) (32 32 32)
/*QUAKED item_health (0.3 0.3 1.0) (0 0 0) (32 32 32
/*QUAKED item_rockets (0.0 0.5 0.8) (0 0 0) (32 32 32)
/*QUAKED item_shells (0.0 0.5 0.8) (0 0 0) (32 32 32)
/*QUAKED item_spikes (0.0 0.5 0.8) (0 0 0) (32 32 32)
sorry aguire, that was a totally different thread I thought I was posting in

hee! :( 
Worldcraft No More Please... 
Did someone indicate a few weeks ago that it's possible to build Quake maps with Hammer if one happens to be sick and tired of Worldcraft? If so, are there any instructions available on how to set things up, and what possible downsides should I expect? 
Try BspEditor 
Everything you need is on this page: 

go to developer/Map Editors

I prefer QuArK 
Sorry -- 
I should have explained: my map was saved and compiled just at the point where the packet overflow was becoming acceptable. If you throw the grenades then the packet overflows start a bit because the backpacks drop, which push the poly count over its limits, I think, or it's the gibs. Anyway, I originally had a much taller tower with about four times as many enemies, heh. I just wanted to make a level that had a horrendous amount of gibs going on. 
Are there any limits to what shape a func_door can be?

I have a door which is a 7 sided semi-circle, 8 units wide, (152*76*<128 vertical>) and its supposed to move up into another similar shaped slightly wider brush, but it behaves strangely in that it doesnt trigger even though theres no targetname.

Any clues? 
I came to an even more dire problem with another map I was making -- I tried putting some enemies inside a box of explosive boxes (so that the explosive boxes surrounded in the enemies in a box-like shape, that is), which I thought would be fun to blow up, but Quake only handles about four or five of those boxes and a few enemies in the same room before it crashes -- you're just supposed to use one or two at a time. The barrels in Doom were definitely more fun! 
The exploding box idea is pretty weird =) There used to be this game "C-Dogs" (a top-down 2d shooter) which had some levels with explosives lined around all walls. The trick was to not die (there would be chain reactions etc). I remember it to be really, really funny. It's sad that this would not be possible in Quake then... it was one of the ideas on my mental list.

The mass enemy idea I have is to just spawn in something that looks like an army (Knights are fine) and having the player feel like he's getting totally swarmed. He would not have to fight them though, they would be some distance away. So no chance of gibs etc. occurring. Perhaps some hack to take away his weapons, to make sure... it would be just before the end of the level.

There is an older speedmap (Doom theme?) which has quite a lot of different enemies at the same time (like 30, and then another 30). It was fun and I don't remember packet overflows... although there were ogres , hellknights and vores involved... I'll see if I can find which it was, I'd like to play it again. You get a bunch of weapons at the start (Doom style) and then chaos... 
Approaching Army 
You could put a transparent "glass" between the monsters and the player. 
Explobox Crash 
Too many explosions at once crash the game because all the particles exceed the active edicts limit, I think. Only limit-removing engines can help here. 
Explobox Crash 
No, it's because of a QC bug that too many of them won't work together; they'll cause a stack overflow in most engines.

This bug and too many others to mention are fixed e.g. in the Warp or Travail progs. With one of them, you should be able to have more boxes (and spawns) without stack overflow.

And particles are not edicts, usually they're controlled engine-side with the -particles option. Having many particles will cause a slowdown in most engines, though.

And poly count doesn't affect packet overflows either, the former is entirely client side and the latter is mostly server side. Gibs (ot other edicts) will definitely increase the risk for overflow, though. 
Weird thing is I have a func_door elevator with loads of brushes, (all 90 degree angles tho) nearby which works fine.

No clues? 
It's not too clear what your problem is, but AFAIK the size or shape of a door affects its function in no way at all, unless you're talking about the lip value.

Doors trigger when a player or monster moves with 64 (?) units or so, if it has a targetname and is next to another door then both need to have their 'door don't link' flag checked in order to work. 
You could put a transparent "glass" between the monsters and the player.

Yep... or I might find a clever way to end the level, and then just have the army shown by the intermission cam. Something like that.

Linux Mapper? 
Was hoping to find some decent mapping tool that I could use in Linux, as I've been slowly transferring over to using Ubuntu full-time :) Any suggestions are welcome! 
GTKRadiant is probably your best bet for linux mapping. 
...I won't blame WC1.6, as I pointed out the size/entity definitions for the ammo and health are exactly the same in both .fgd files. Yet I can place with pin point accuracy in Travail and by pure guess in Quoth. Any other ideas? 
QuArK runs on Linux with wine (QuArK version 6.3 + Miniphyton) The tools were emulated too. 
Quest FFS 
Hmm, Ill try the doors dont link flag, I never thought of that. You see there are two doors not four units away from eachother. Ones meant to close (has 'starts open' flagged) and the one I was talking about is supposed to open, but only if youve got the gold keycard.

Thanks for the tip. 
Works like a treat, and you can use aguirRe's tools via wine for compiling, they also work fine :) 
Oh come on man, THRED is where it's at.

In all seriousness though, I would strongly recommend GtkRadiant 1.4 (hacked to work for Quake editing) if you're on Linux.

Also, if you're on Linux, be sure to direct your self-righteous fury [1] at anyone who has released updated Q1 compile tools for win32 but has actively refused to port them to your operating system of choice.*

[1] Otherwise known as "I fucked myself in the ass, but I cannot admit that to myself, so I'm going to accuse you of fucking me in the ass, mister tools programmer!"

* Actually, don't - you'll just make yourself look like an idiot for saying something so astonishingly ignorant.
Fribs means, is that you can ask for Linux ports but you can't demand them. 
Interesting looking game. Something for DOS made in 1997-1999?

"Enemy count alone seems to be no problem."

yeah I think you may be right.

"The mass enemy idea I have is to just spawn in something that looks like an army (Knights are fine) and having the player feel like he's getting totally swarmed. He would not have to fight them though, they would be some distance away."

I've never actually finished a map before but I think that's the best thing, to keep up the illusion and intensity of enemies swarming in, even if it's never more than five on screen or something.

I tried a glass wall once with a lot of enemies behind it -- maybe similar idea to what was brought up. You jump down into a room after being chased and suddenly you see a ton of enemies in the room, impossible to fight, but then are supposed to be like "phew!" when you realize they're behind a glass wall. But somethign about it was just didn't work, so i scrapped it. i can't remember 
re: items

I checked with my own copy of WC and both the quake.fgd and quoth.fgd Works fine.

I really don't know what could be causing the problem, but nothing was ever added to Quoth to alter the ammo/health items that I can recall.

You don't have alternate ammo/health bmodels in a folder somewhere, do you?

Edit: yeah, I just looked inside the Travail pak0 and there are alternate bmodels :P I'd have to decompile them to actually see, but I can only conclude the someone on the Travail team made custom 'corrected' versions, so that their origins were in the center of the boxes.

The original id ammo/health boxes have their origins at the bottom corners, not the centers, and those are what Quoth uses too. 
...thanks for looking into that Kell, for a moment I thought I was going bonkers. I remember the introduction of the new bmodels into Travail, something to do with how the models lit I think. I'll start using bottom left (?) as a reference. Thank goodness I'll get to release a map with hordes of "Bobs" in it :)

Cheers Kell! 
Thank goodness I'll get to release a map with hordes of "Bobs" in it

You evil, evil man. 
Also, if you're on Linux, be sure to direct your self-righteous fury blah blah blah...

... at their fanboys, or at people who overuse the word "gay" on internet forums in relation to other people's choice of OS or software license, or _their_ fanboys, and be sure to bring this up in completely unrelated threads, months later, because that makes you look really smart.

CDOGS is a 1996 DOS game, yeah, but there's also an SDL version for gay OSes and probably even Windows. 
Why don't people use Allegro? You have to include the same DLL over and over again with SDL. 
New Travail Models 
The new travail models only have changed lighting - they needed to have lighting style 15, which wasn't affected by environmental light changes. The geometry was never altered, and the code in the current version of quoth and current version of travail both have the same sizes and origins. I'd check to see if the difference is in the fgd, I remember the same issue used to exist in standard quake fgds, before someone posted a fix. 
I have some stuff I'd like to use for an original soundtrack for my new level.

What kind of file does the sound have to be?
Is there any magic conversion software I might like to be aware of? 
Light Options (For Ricky) 
I recommend always using -fast -soft -gate 1 even for release builds, as the quality loss due to the speed options is negligible. Just add -extra4 for the quality (and slower processing time).

-sunlight 0 will turn off sunlight, even if it's written in worldspawn and you can use this to speed up process while tweaking indoor lighting.

-nolight turns off all non-ambient lights and you can use this while tweaking outdoor lighting, e.g. while finding a good sunlight angle and intensity.

In big maps with many lights, this can make a huge difference in turnaround time. For more details, please see the Light readme where all this and more is explained. 
** ERROR 42: Didn't split the polygon in SubdivideFace near (2956 912 -1024), pipes

this just halted progress on my Speedmap.Can anyone help me? 
"SubdivideFace: Didn't split the polygon near (x y z), texture"

One or more textures are scaled too small on a face. Find face and increase scale. 
I think I know where it is... 
that was easier than I thought! 
I was looking for a mapping tricks as adding models to maps and other cool tricks but I have'nt found anything... anyone have something like that? 
The 'Teaching old progs new tricks' thread - there's a hack that lets you spawn models in a map, but it doesn't work too well because the model is offset. Aside from that Nehahra lets you spawn models in a map. 
thanks a lot :) 
I can't find it :( 
ok, I got it :> 
Is there a reason why vertex editing in gtkradiant is like pulling teeth? 
It's because pulling teeth is unpleasant.
There was this old lady from Karelia living in the same apartment complex area. She sometimes took care of kids etc, everyone knew her. I was playing at the yard, a nanny was looking after us. I was maybe four and had a tooth that was loose. I told this Karelian granny about it and she, being the vigorous person that she was, promptly ripped it out. I remember spitting blood for a long while after that. The snow turned red. Fascinating. 
That Was 
... nice of her? 
Now That Was Good Story 
I can see her yelling, 'get up and walk it off!' 
Use 2/3 point clipping instead. It actually works and doesn't shit the bed regularly like vertex pulling in radiant does. 

Use the what now? 
I'm at work now and don't have radiant installed here, but there should be a button/command to toggle clipping mode. Maybe a button at the top that looks like 3 points connected together?

Clipping mode allows you to define a clip plane (using either two or three points, so it can be tilted on whatever axes) and use it to clip brushes (as you would clip paper with a pair of scissors). You can discard either part or keep both.

This basically allows you to come up with whatever shape/angle you wish without resorting to vert manipulation, which is crap in radiant when it comes to brushes (as you well know). 
Vis is not nice. Im running it with -numpercent, base went from 1 to 100, then it says Full. So far it just says Full. Dont like it! Will Full go from 1 - 100 in the same ways as Base did? 

Oh, that kind of clipping. The 2/3 thing threw me at first. Right. I'll try that. Thanks. 
Worldcraft 1.6 
While mapping yesterday, I did something and I don't know how to change it back. My mouse cursor became a hand within WC and all it does is scroll through the 2d views. I cant zoom in, nor add any brushes or entities. I'm stuck in this "scroll" mode. I have never had this happen to me before, and I don't know how to get rid of it. I've tried reinstalling WC to no avail. Anybody have a solution? 
After checking in Hammer it seems that your space key is stuck somehow :P 
Well, that was weird. Right after I posted here, I loaded up WC and the problem was gone. I'm almost positive my space bar wasn't stuck in any way. But at least now I know what to do if it happens again. Thanks. 
quake vising goes through 2 'passes'. the first, base vis is what you get when you do the -quick. the full is the actual vising... it'll go up to 100 *eventually*.

depending on the level, it can take anywhere from 10 minutes to uh...2 or 3 weeks. 
Yeah, Eventually... 
When its done, I'll post my new level. Eventually. How long did it take to do the Warpspasm levels? 
I Ran Em 
Overnight. Some didn't take too long, a handful of hours (5-10). The worst was Sealed City, because the vis blocking was so bad. 
CDA took 1248 hours... I hope you do not have wide open area into your map ;) 
He He 
Its one big wide open area with v. tall buildings!! Still going, hasnt said 1 percent yet... 
Make Sure 
you haven't blocked the vis console window with mouse or keyboard and verify that vis is still hogging the cpu. 
You set windows priority for vis to high?

I think we talked about this but I can't remember.

I think it was the obvious answer - 'you can, but it's risky'. 
Just Use 
option -priority #, where 0=below, 1=normal (default) and 2=above. This only affects thread priority and is not risky in any way. You're probably thinking of setting process priority to High or even Realtime, which is usually a very bad idea.

In any case, you typically don't raise the priority for a cpu-intensive app like vis, you lower it so other apps can run.

This way you can vis in the background while playing a game or whatever and as soon you stop keeping the cpu busy, vis will return to full power.

You typically raise priority for apps that normally block a lot on I/O operations (disk/network etc) like copy-processes or similar. Then they will operate faster if you also have a cpu-intensive app running at normal priority.

Priority is not a gas pedal ... 
Vis sucks.

I have gotten to the point where I have discovered the autosave feature! Yippee! It has only failed on me once so far (AAARRGH!!).
Like it because if I want to know how much progress has been made, if I restart the computer, or stop the app, then restart it again (from worldcraft prompt, with only vis selected) when vis starts (as long as it doesnt fail to read the saved vis file) it tells me roughly how much progress has been made!

I think Im pushing 13-14 percent!!!

Does the process window get to a point where it nolonger has any room for more text?
It often looks as if it has frozen!

Tried '-priority 2' but got bored with it (its pretty boring anyway).

What do you mean 'make sure you havent blocked the vis console window with mouse or keyboard'. How do you make sure vis is still hogging the cpu without pressing ctrl,alt and delete? Or is that what you would have me do?

Also, using XP, I always run compile tools from Worldcraft. Not being a programmer or anything, is there another way of running them?

If anyone can answer any of these questions (AguirRe), say something funny or say something to boost morale, it would be much appreciated! 
It's not VIS that sucks, it's mapping in a way that does not work well with Quake/VIS. 
Large open areas with little vis blocking always result in long processing times. Sometimes it even takes days to get one single portal done.
Don't run vis from Worldcraft, run it in the command prompt with -v. You can break the process with ctrl+c to resume it later (safer than restarting the computer). 
So many questions ... Like neg!ke says, don't run any tools from inside WC, its console window is not very good. Use a std command prompt "dos-box" for builds.

If you're using the AutoSave feature to see the vis progress, something's seriously wrong. Don't do that, you'll just slow down the vis operation by constantly restarting it. You'll get plenty of progress info while it runs if you haven't disabled it.

In a real console window, you can block the process by e.g. starting to select text with the mouse, pressing Pause or other user input. Use Task Manager in XP to see that the vis process is using almost 100% of the cpu.

Finally, if you've only reached 13-14% after running for a long time, you're looking at ages to reach 100%. The fullvis process almost always slows down *very* much in the later stages and the final few percent can easily take 50-90% of the total time. Ask JPL for details if you want to know more about vis patience ...

You'll probably have to clean up your map if you want to be able to fullvis it before the year 3000AD. Remove/simplify/func_wall brush details, add proper vis-blocking, split map etc. 
Use a std command prompt "dos-box" for builds.

he means the windows command prompt. don't go installing DosBox and trying to compile in it. 
Does Vis 
support two cores?
Because Cpu gets never over 60% when vising 
It just occurred to me; you seem to be using the -numpercent option in WC's console. That won't work, that's probably why you're getting weird printouts. I'd suggest using default settings or better, stop running tools from inside WC. 
No, vis is single-threaded. 
CDA really took 50 days to vis? shut up! 
Yes, it took exactly 1218 hours = 50 days and 18 hours of full vising... so when some people says I'm not patient... believe me, I know what is to be patient ;)

The big issue of CDA is the wide open area with bunch of brushes, and the terrain... I had several choppiness issue that forced me to put the latest fight under ground... otherwize it would not have been playable, even with aguirRe's engine (choppy as well)...

Well, I will not make the same mistake twice :P 
A Better Question Is 
is it worth even vising if everything's visible anyway. Does it reduce the visible faces much? CDA was unplayable on my old comp anyway. What are the differences in r_speeds between unvised, fastvised and level 4 vised? 
if everything is visible, I don't think fullvis or fastvising a map makes aby differences... The thing that make the difference are the "donnut" vis blockers, or something equivalent...

And concerning the use of level 4, sincerely I don't know...

But all of that is obvious and I guess everybody already knew it ;) 
but I meant CDA for example. Was it really worth vising it? Did it help much after -fast? Actual numbers... 
Well, in the wide open area, I guess it didn't helped much at all... while I cannot confirm it as I didn't have any idea of the final result (i.e difference of face numbers between fast and full vis...)

And I will not try to make the test just to obtain the results difference... The only good point is that aguirRe's vid tool is bug free for sure ;) 
Well, in the wide open area, I guess it didn't helped much at all... while I cannot confirm it as I didn't have any idea of the final result (i.e difference of face numbers between fast and full vis...)

And I will not try to make the test just to obtain the results difference... The only good point is that aguirRe's vid tool is bug free for sure ;) 
Fucking Double Post 
Sorry for that :P 
a few func_walls and an XP Home Command Prompt later, and its been going for about 21 hours, says its 30% done, I think it says thats 20% of the time its gonna take, if that makes sense. At this rate it should be out Monday. Maybe. So thanks for the help!! Command prompt IS A LOT MORE STABLE THAT WC PROCESS WINDOW!

I've always been a click person, using a MSDos command prompt is something I've always managed to avoid. I've clicked on Wolf3D, Doom, Quake, Duke3D, Heretic...

Luckily I know to type 'cd c:\vis', then 'vis -level 4 -verbose sickhill'. Or else I'd be really scuppered, wouldnt I?

Just out of curiosity, what is CDA you all keep talking about? Which map is that? 
I think it says thats 20% of the time its gonna take, if that makes sense. At this rate it should be out Monday.

Err, I would not like to discourage you, but, as aguirRe's said, vis process is slower and slower during the runtime process (i.e: percent value will not increase faster even if you have vis blockers somewhere...) so, be prepared to wait longer than by next monday...
According to my humble experience, when the percent value reach 50%, generally it cost twice the time already spent.... so you are far away to see a finished fullvis process....

Wait and see: patience is welcome there ;) 
CDA FastVis 
It makes a big difference already in the main room, but if nothing else it makes the end arena a lot better. Otherwise the whole map would be in view while fighting the big beasts.

I just made a quick fastvis and tried running it in Fitz on Hard, there were packet overflow almost immediately and then continuosly even with all the entity saving tricks in the progs.

So I'd say it was well worth it, although it could probably have been made easier with map adjustments. 
Hence The Maybe. 
Im happier with it now though. Atleast I can see whats going on.

I had some stuff - a monument with 3 spheres, a fork-lift truck, some decorative window frames. By turning them into func_walls I dropped the vis leafs from 11000 odd to 8087!
I think that made a big difference.

I tell you though, the sound of the fan over my processor is doing my nut! 
Good that vis works better now.

You can find JPL's CDA review+map here: 
Which Map Is CDA? 
Im curious. JPL made it right? AguirRe has the source (just for his own personal devilment I'm sure).

What exactly is CDA an abreviation of? 
Castle of the Dark Ages! Looks good. Cant be arsed with fileplanet though! I'll look for it elsewhere... 
Try Quaddicted 
And for reference Google some of the ancient vis explanations on good blocking and how to have big open areas without murdering vis time.

There's a load of material out there, but it'll take some searching. 
Visit my website ;) You'll get all my maps then. 
Yes, it took exactly 1218 hours = 50 days and 18 hours of full vising...

isn't that the one where you took some buildings and took some trisouped terrain and put them together by carving one out of the other, or was that someone else?

I still get the night sweats about that story. 
iirc that was Mike Woodham, who used someone else's map as a carving tool.

you know what could have been interesting in that map would be to actually just use a custom quake farclip setting and fog without any vis (or just fast vis).

would that work? 
you know what could have been interesting in that map would be to actually just use a custom quake farclip setting and fog without any vis (or just fast vis).

would that work? 
god damn. :( 
He He He 
is that my Halloween themed lava in those shots JPL? It's been awhile, I've forgotten about that texture. 
Close farclip and fog - like Turok. 
the reason i ask is because i don't know if quake stops paying attention to objects outside of the farclip or only stops drawing them. you might get packet overflow even if the objects aren't being drawn on screen. 
Necros / HT 
necros: I don't know about farclip / fog use in Quake.. maybe some custom engine is using this feature.

HT: No, all textures are from DKT3, it is not your lava texture for sure ;) 
in fitzquake:

fog 0.5 0.326 0.326 0.326
gl_farclip 768

for example. the fog blends almost seemlessly with the void colour. in engines like aguires where you can set the void colour, you could then set whatever fog colour you want to match the void colour. 
Void Color? 
is "r_clearcolor #" in fitzquake, where # corresponds to the palette index 
oh can you do it in fitz too? cause aguire's engine doesn't have gl_farclip (i think metl added that himself?)

so you could do exactly what i said in fitzquake then. ^_^ 
Note: fitzquake doesn't use the farclip plane to do any visibility culling, so you probably won't get much of a speedup from it. Unless the video card itself discards the polygons more quickly, in which case you might get a speedup on the hardware side. 
aww, oh well. :) 
Sky Values 
what is a good (yaw pitch roll) value for skylight? 
Depends on skybox's sun position, but generally yaw is an angle in 0-360 degree range, pitch is a negative value in -90 0 range and roll is null

Just test it, as example by default I use 45, -45, 0 is make the sun rising at 45 degrees on xy plan, with a incidence angle of 45 degree... It can be tuned if you want more/less shadows, more/less angles, etc... 
What's that site again where there are lots of textures ripped from games like Kingpin, Jedi Knight etc? I forgot the link. 
Ah Bloody Hell 
I've already got the Kingpin set, and was pretty sure I got it from Qauddicted . . . 
Even Though The Url Says Kingpin 
there are texture sets from several other games as well. No wads but images (tgas and so on). 
but I found out they are rather ugly quality. Apparently all downscaled to 256x256 and somehow the colors look bad too. :( 

I don't know if textures are missing from it as the overall count is fairly low (~200). Most of them look good though. Unusual scale, yeah. Many 256*256 or 128*256 ones. 
Well just wanted to say that my problem in HexenII (post #6177) is fixed.
Just in the rare case that someone will start a hexen2 map, It is necessary to add a -watervis command to qbsp.exe.
Hexen2 tools are really the worst documented tools, there is NO satisfying documentation avilable 
Does Anybody 
Know how to make the textures and 3D views a little brighter in WC 3.3?

BTW I changed to WC 3.3 yesterday and it is great, I was reluctant to change but its just as easy to use (if not easier) and the texture alignment bugs I was experiencing with 1.6 are all fixed! 
Blood Splats 
I used to have a 'mod' a long time ago, when I was about 15 years old and all it was was a progs file. All it did was produce zombie gibs (the ones they hurl I think) which would follow the trajectory of bullets fired into enemies and stick to walls behind, then slowly slide down to the ground, producing good old quake blood particles the whole time. I think it was really cool, but I cant find it anywhere and I wouldnt know where to start in programming it. Does anyone know where I could find such a file, or have the time to 'knock one together'? 
When did The Forge go down? 
It Has Not 
It just does that sometimes. A pain in the butt when you need to consult the site but can't. 
I downloaded The Reckoning - the Q2 mission pack - textures (from Quaddicted) but they can't seem to work (wrong format or something) with WC 3.3.

It'd be even easier if I were able to rip the exact set of textures Lunaran used in Lunsp1. 
I Think 
WC 3.3 has to convert WADs to HLWads in order to use them. If you are using the Quakeadapter package, theres some sort of program with it that automatically converts them for you, located in the program files\worldcraft folder.

Maybe this helps?

Alternatively get a program that rips mips from bsps and converts them into WADs, although WC 3.3 may still have to convert to HLwad to use them. Are you using the Quakeadapter package with 3.3? 
Will only work for Q1 with the Quakeadapter, unless you make your own version. To rip a wad from a bsp use TexMex, though you'll still have to convert it to use with 3.3, and if its bigger than 1024 textures then it won't load at all; you'll have to split it up.

The wads that TexMex creates are automatically usable for any Q1 specific editor - 3.3 was locked for HL1, which is why you need the adapter. 
Yeah, Q1 is the game I was talking about and yeah, Ricky, I found the texture converter and converted them to hlwads.

Does anyone have scrolling rock/grass textures? 
Does anyone know where I can find Biffs new improved IDbase textures? 
You mean tiling? All should be if they're made for games. In both cases try Quaddicted;

Not sure if it has what you want, but its hard to imagine it not being there. 
I meant textures that give the illusion they're scrolling, like the waterfall textures (+1_fall etc). 
i dont think those exist. but you can easily make them yourself using, e.g., using offset in photoshop.

Too much Doom? Linedef tag 48! 
BspEditor Update

Support for high-res textures and sky_boxes.

Dropped support for BspBuild (boo... ) so I won't be upgrading. 
Speaking Of Hi-Res Textures... 
Are there any tutorials on using 24-bit TGA's in Quake? It seems like some refuse to tile correctly.

If not, how do disable/override using 24-bit textures in FitzQuake?

3 point clipper looks cooler in bsp than radiant. :( 
Origin Brushes 
Anyone know of a compiler for Quake 1 that supports origin brushes? There's talk on the inside3d forums of one existing, so it'd be great to have a copy. 
that would be great to have if it exists, and I think it is at least possible that origin brushes could be supported, but I don't know offhand whether the quakec func_rotate_* code would have to modified to work correctly with it. 
At the moment a rotate_object with a target uses the matching target entity as it's origin vector. Then all the brushes are moved that distance in the opposite direction so that they line up again. That's the same effect as the origin brush would have, so the hipnotic code would work straight away. Still might be worth revisiting that code though... 
That's the same effect as the origin brush would have

Well it's not just the actual pivot point that is important. It's also the default placement of the brushmodel in the world, which affects things like texture alignment and dynamic lights -- both of which are incorrect the way we currently do rotating brushes. 
If Someone 
Could find the time to streamline / rebuild from scratch the shitty rotating code it'd be nice.

It doesn't have to be easy to build a rotating object, but it should be possible in, say, a speedmapping session.

I suppose AguirRe is the one to ask about compiler compatibility. 
I see what you mean now. In terms of default placement when you load the map, it'll load in the right place, you wouldn't have to fiddle with the origin any. In terms of whether the texture alignment/lighting would be correct, that would really depend on how it was written. The most straightforward way of doing it would just use the hipnotic code straight away, except it would calculate the origin value based on the origin brush instead of the targeted entity. So it'd have the same problems. You could rewrite the whole thing - and if you were bothered to do that you might as well add origin brush support at the same time. But I wouldn't want to... 
Aw . . . 
Heheh ;) 
I Know, But I'm Allergic To Programming 
Oops Wrong Post 
I need a Q1monster that can walk, but also swim.
Would this be a holdup to the walkmonster_start code?

I mean, I can't put both in a qc-script?
Or something like a fly/walk monster? 
kell and i toyed with this for a bit and it's definatly possible.

i would recommend you make a new ai_run function. in it, you need to check the pointcontents() of some point (i used the origin) in the monster to check every frame if it is in a liquid or not.
if it's not in the water, you need to remove the FL_SWIM flag (and likewise, add it if it's IN water). the FL_SWIM flag is what lets fish and stuff move around in water. apart from that, there's very little that needs to be changed, although i'd recommend adding a new trigger_jump type brush entity to help the monster make the transition between water and land, unless you want to build ramps all the time. 
. . . 
Sounds like the Nehahra Jagger. 
for your answer, necros. Fact is my qc knowhow isn't bigger than a mouse, and even that I could make hardly go walking.

If I look at the ai_run function I haven't a clue where to begin.
There's a FL_SWIM flag in the monsters.qc where the options for moving monsters is specified.
So I guess making a new ai_run function isn't enough. 
JPL Or Anyone... 
What is the best way of doing coloured lights?

What light util is best (does AguirRe's support coloured lights?)?

To my understanding a light ent needs to have the key;


with a value of something like

'255 0 0' - pure red
'0 255 0' - pure green
'0 0 255' - pure blue

Fitzquake is a good engine to use? Any others?

I have tried experimenting but when used a method like the one described above, Darkplaces seemed to show the lights as being rather ugly incorrect 'rainbow' type effects?!!

What am I doing wrong?

Note - I am aware that there are supposedly two types of bsp coloured light info files - a bsp30(?) with the info stored within the file, and a 'lit' file which would go alongside a bsp29(?), and that bsp29(?) is compatible with non-coloured light supporting engines.

This is what I know (or what I think I know), any help mucho appreciatado! 
The field you are adding are correct (i.e _color <R> <G> , R/G/B values in 0-255 range)
Also, try to be as smooth as possible: I mean that strong colors generally kills the map, giving it ugly rendering.

You also need a light tool that generates .lit file (like Tyrann's light tool as example: check out )

OTOH FitzQuake supports colored lightning, aguirRe's engine doesn't. you just need to put both .bsp and .lit file in the map directiry, and it is done...
Concerning DarkPlace, AFAIK it supports colored lights, but needs .bsp file using bsp30 format, and bsp29 + .lit file are not correctly handled..

On my side, I genrally use .bsp in bsp29 format with its .lit file: it can be independently loaded on different engine that support (or not) colored ligths... and I don't use DarkPlace at all: it sucks IMHO... just a question of taste... and FitzQuake is the reference engine here... please be "corporate" :P
I completly forgot that <bold> </bold> story... gasp :( 
I have much experimentation to do later! Thanks for the info - I know it sounds like I already just about knew what I was doing, but for some strange reason I havent managed to successfully create a coloured light yet!!

Its finding the right mix of colours to get a good looking light I guess.

Hmmm, I wander if the map I'm creating will run on fitzquake, cause I know AguirRe's engine will handle big maps, and my map is currently quite big (not as big as The Sickbase though)! I guess thats why you made Five Rivers Land three maps rather than one... 
How do you get a shade of yellow using RGB configurations??! Green would have to be used with both red and blue I 'spose, but to what degrees? 
Not Sure For Quake 
But typically green would be 0 255 0 and yellow 255 255 0. That should produce very bright colour, so lower the 255's until you get something that looks good. 
For Color Choice 
Just use your prefered image tool (e.g Pals2Go, PSP, Paint, etc..) or this link .. ;)

For yellow, I use personally RGB as 255 255 220, sometimes 255 255 200.. Lowering all the fields will pull the color to "grey"... and decrease its strengh actually... It is far better to play with delay and wait value... though...

Let's experiment: this is the best way to go :P 
I experimented some last night, and managed to get some coloured lights working in a small map, but when I put some in my larger map (3mb) tyrlite gives the error message:

"color 0 < 0"

about half way through the total number of faces!

Yes I was using a command prompt. I tried making sure that none of the color values were 0, but that didnt make any difference!!

before that I was getting another error message that said something about a 'stack overflow', something like 'drawskycolor'. Anyone got any clues?

JPL - That website you have linked to is very usefull! Thnx! 
What is the command prompt you used ? 
Just XP Home 
standard command prompt (a dos box). Also tried Worldcraft process window with -nocount 
I was refering to the light tool command line you typed in the prompt "DOS" window.. Did you add a -lit option ? What is the light tool you are using BTW ? 
Oh, I See... 
Tyrlite 0.99e

light -lit -extra <file>

I also have a copy of Tyrlite 0.99c but havent tried it, I wouldnt have thought it would be much different

It says:

lighting face ##### out of 11### (ish)
gets to about 5000ish

then says:


color 0 < 0 
Maybe you can do several things:

First is to test the light tool without -lit option, to see if it has any effect

Second is to check all your light in the map file (e.g, open the .map file a look for all light entities and their related strenght, wait, delay, _color field description). Maybe something wrong has occured due to a hidden space in a field etc...

Third is to try another light tool that support colored lights: maybe it can come from a bug of tyrlite... but I don't really think it could be that...

Kepp us informed please ;) 
Im Gonna Go Try It On My Lunch Break 
im gonna try hmap2 (lordhavocs) stuff aswell, although im not sure if it'll work with the color values already in the map cause they gave an example color in readme as '1 0.6 0.4'
Although its supposed to support halflife light ent fields '255 255 255 300' - last figure is 'light' level (brightness). Ill see...

Are there any other color supporting light tools you know of? 
AguirRe's Tools 
Before I post some shots of 'successfull' tyrlite rendering on my level, I would like to say some things:

AguirRe - your tools rock!

Maybe its because I work too much detail into my maps, but your tools handle them all perfectly where others wont! I get the best looking results with your light tool. Other tools supposedly even offer extra8x8 lighting options, but on my maps they give crappy looking results. Yours (always run with -extra4 -soft) give really good looking results.

Either of your bsp tools compile my maps where others wont, same for your vis!

Its just a shame that you light tool doesnt support coloured lighting. Have you ever considered creating a version of light that does? Im sure it would be the best light tool ever made for Quake! 
Tyrlite Problems 
First of all I would point out that the bug I reported before still occurrs as before when I use the command


When I dont it works OK but gives the following effects on solid entities:

Notice also the harsh black areas in the second shot. This sort of effect is continued throughout the map, in certain areas. The first shot shows some func_walls which arent being hit by the colored sunlight cast.
On the other hand areas outside where the sky colour is being cast DO look OK! Anyone got any idea why solid ents are doing this?

Hmap2 (lordhavocs) tool also will light the map if I change the _color values to '1 0.1 0.1' for example, but the weird effect occurs not only on solid ents, but also on some world areas.

For Tyrlite im using '230 40 40' or suchlike. 
There's Some 
pure disco inside them thar crates that's pushing trough! 
Disco Crate FTW 
Quad, Pent and Envsuit partying the Quake away.
Keep it! 
It is also possible to add -colored to the tyrlite command line: I don't know what is the effect, but I have it on my side... maybe it makes the difference.. though... 
Ha Ha! 

I added -colored to the command line and at first it wasnt working. I had a corridor in the level with a curved cieling, the corridor also curved round a corner and sloped downwards (I know, I know). I know that the way I was doing it (with six-faced brushes, each face having four edges) was giving me illegal faces, so I made each brush unto four brushes each with four triangular faces, and re-made the corridor using vertex manipulation (pain in the arse). This stopped the corridor from leaking (I had originally boxed it on the outside).
Anyway I dont know if any of this had any bearing on the light tool, but with the command line:
-colored -lit -nocount -extra
(in the worldcraft process window I might add..) it seems to be working (h00ray!!) which is a relief 'cause I was about to either sack off the coloured lighting completely, or change it all round again to accommodate q1rad, as a last resort.

So, thanks JPL for help, and me for persisting! 
Thanks for the kind words, I'm glad my tools work for you. As for coloured lighting, I'm not very fond of it and it would significantly make the tool more complex and slower, so I have no current plans for it.

As for compiling your maps, try to build sickbase with hmap2 or most other compilers and discover the true meaning of "corrupt bsp" ... 
Just To Note... 
regarding colored lights:
In my limited experiments, Darkplaces handled .lit files just fine (contrary to what JPL suggested). Maybe you figured this out already.

Also, I find that colored lighting looks best when it accurately reflects the color of the light that is casting it. What I do is, open the light texture in a graphic editor, and use the color picker tool to select a good value from the center of the light. Then, paste that RGB value into the light entity.

Hope this helps. 
Grahf / RickyT23 
Grahf: About DarkPlace story, I tested this "feature" of bsp29 format + .lit in maybe a very old version... and so I uninstalled it... Well, maybe with a newer version it would rock again.. Or maybe I did a mistake at this time... Anyway, thanks for the clarification ;)

RickyT23: I'm glad I helped you at the end: you finally refined your process.. I'll look forward for your "colored" map :P
And as Grahf suggested, let DarkPlace have a new try to see if the problem is solved.. 
Colored Lights 
Fuhquake - Would have worked but wouldnt load the map cause I was using info_notnull 'use' 'OgreGrenadeExplode', with no Ogres in the level yet

Fitzquake - Worked fine.

Darkplaces - Worked fine.

Qrack - Worked fine.

Telejano - Worked too!

Tenebrae - No colours (shitty framerate too!)

Tyrquake - Untested

The map has no gameplay yet (although I have planned a lot of stuff for it, just not yet implemented it!), and I would say that the world is about 1/2 to 2/3 built, so we'll have to see how it pans out when the file is bigger!

AguirRe - I did try the hmap2 suite whilst trying to get the map to work with the coloured lights and you're exactly right - very bad process, bsp was leaking, no vis, lights looked horrible, but I had to try it just as part of the course of tinkering and tweaking.

I notice that your existing light tool has a Tyrlite mode (I tried to run it with -tyrlite95 -lit) which obviously didnt work cause lit files arent supported. You could always make a tool seperately from your existing one, so folks could use either?
I can tell from you engine that you are of the school of thought to 'preserve and not pervert' the Quake experience, so coloured lighting might be and enhancement 'one step too far'.
I mean I dont want to sound like I'm nagging or anything, more just speculating, and I'm not going to keep banging on about it, I just thought it'd be cool!!! :P

Makes me think tho, if Im using a red texture on some of my lights, with a red light, and Quake 'purists' load the level with white light, I wander if they'll mention the red texture as 'looking a little out of place'.

JPL - You ever get people complaining about coloured light usage? 
You ever get people complaining about coloured light usage?

Unfortunately yes... but only if the color are too "strong", e.g: full red, or full green, etc.. That's why I recommended to rather use "smooth" color values, in order to not "destroy" the texture visual...

Well, afterall it is just a matter of taste...

Keep it up ! 
PLay invein!

One of the best maps that used cloured lights!

In my opinion Coloured light goes very well with white textures.
And in general subtle coloured lights are better. 
PLay Invein!... 
too much trouble than its worth!

In order to play invein with coloured lights, I would have to use Darkplaces.exe OR dpnehahra.exe (which I cant find ANYWHERE), when I run Darkplaces with -nehahra or -game nehahra and then load 'map invein' it crashes with the message

more colours than expected 65472 should be 256

So im sure its great, I've seen the shot with the blood-red fog, but I'll be buggered if I can get it to work!!! 
use aguirRe's nehquake engine. 
that dont work neither!

gives error cant load models/explode.spr version 2 should be 1 or 32

or something like that.

Besides, that engine doesn't have .lit support does it? Kinda defeats the object of looking at the coloured lights! 
The One, The Only 
RPGSP1 made very good use of colored lights. 
My NehQuake should definitely wotk with Invein or any other Neh material, it's tailor-made for that.

AFAIK there's no subdirectory in Nehahra that's called models (following your error message), so I'd guess something is wrong with your Neh installation.

But you're right, NehQuake doesn't support static coloured lights, only dynamic ones and coloured fog (which is also used in Invein).

Also, DPNehahra is supplied inside the main Nehahra installation along with the other original exes. 
is the solution 
Sorry, the error message i gave isnt exactly what it said, I'm not in a position to re-try at the mo ;), I'll tell you what it said l8R.

Your only contains an exe called glquake (with nehahra icon), other files obviously but only the one exe! Weird really, I was expecting a nehquake.exe or something.

My only contains nehahra.exe, I downloaded it within the last couple of months!

I have tried the level successfully with the original nehahra.exe, like it but the white lights look OK, very dark in places, like the funky monsters tho!

(rushed message, boss got back, sat with him in office! :-( ) 
use aguirRe's nehquake engine.

isn't this windows-only? 
/me Inserts The Sheep In Inertia's Rectum To Stop The Bleeding 
Darkplaces is fully cross-platform, and has similar engine limits to aguirequake. 
Joequake should also be able to handle Nehahra
and there is a Linux version avalible too. 
I Wouldn't Recommend That 
JoeQ is otherwise a pretty nice engine, but it can't handle Nehahra properly:

- You can't play the whole game in one session (not even half), same for SON movie.

- You can't complete the boss map nehahra without massive packet overflows followed by an abort to the console.

- The entire upper area of neh3m3 is just one big packet overflow.

- The Neh cheat codes don't work, you'll have to use std id ones. This also means that you can't use these codes across a JoeQ client and another Neh server.

- The skybox in Invein is invalidly rotated, which is very obvious with the sun and lighting direction (this isn't JoeQ's fault though).

Possibly more that I forgot ... 
AguirRe's Tool And Coloured Lights 
Its just a shame that you light tool doesnt support coloured lighting. Have you ever considered creating a version of light that does? Im sure it would be the best light tool ever made for Quake!

There would be nothing stopping you would there, from running another lighting prog, say, tyrlite, to do the coloured light pass - generate the .lit, then run aguirRe's to use any of the other funky stuff you want. Just means running that part of the compile twice, but it's relatively quick isn't it. 
The coast is clear;

The error message I get when running Glquake.exe (extracted along with all of the other files in along with ivein.bsp is (fanfare...)

Mod_LoadSpriteModel: sprites/explode1.spr32 has wrong version number (2 should be 1 or 32)

Doesnt matter wether I load it using glquake.exe -heapsixe 56000 -nehahra +map invein
or run the .exe and load the map from the console. 
Joequake Gives The Same Message 
But Nehahra.exe works fine! 
Oh And Plant 
I didnt know you could do that!!! More experimentation is coming up!!! 
Hmm I was able to play nehahra with Joequake.
The endboss too. Yes there is a massive packet overflow.
And as far as I know Qrack has fixed the packet overflow. Tried the testmap with Qrack and there was no packet overflow.

Apart from the sky Invein is no problem. 
I use joequake only for invein, because of the included lit file. 
Well, I'd Take Your Advice But 
I get the error message above! Anyone REALLY CLEVER wanna tell me how to fix it?

I maintain Nehahra.exe works OK 
Did You 
install the progs-update? 
You can try to start normal Joequake and type gamedir nehahra in the console 
Im Sorry Rudl 
I did actually get really excited when you said 'Progs update', and hit myself gently twice on the side of the head. So I found it, and grappled with fileplanet until it was MINE!

I also ran standerd Joequake, and typed 'gamedir nehahra' as you instructed, and the console background changed, but when I type 'map invein', it crashed with the same message!

I dont understand it though - it DOES work with Nehahra.exe. Also is there or is there not a file called DPNehahra.exe? Because I have read documentation that says there is, but I cant find such a file, not on Lordhavocs website, google, planetquake (nehahra) or anywhere!! Its a mystery! This computer is a good speck (1024mb, Dual Core, ATI 128mb, XP Home) 
I got the same error when I tried to play invein with
software joequake
Play it with joequake-gl 
I Am Using Joequake-gl.exe... 
Im glad you have had the same error though (well not really glad, but atleast I know that Im no going mad!!) ;) - Ill try software Joequake, just for the crack!! 
Try That 
-delete the nehahra\glquake dictionary
-make a backup of your config and delete it
-I can send you my config (if you want)
-download the newest version of JQ, build 1862
start jq-gl again 
Ok, Send It To Me 
Mail is in the post. I know it sounds a bit desperate, but I'm annoyed cause I should be able to get it to work 
Also Strange 
is that your console background changes, when you change gamedir ingame joequake usually takes the conback in the joequake\pak0.pak
Do you really have the newest version?

A mail is on the way. it contains a variables.txt
add this in your config after the key bindings and delete the rest
So you can keep your key binding 
Am I supposed to save the file a c:\quake\joequake\config.cfg or what? 
Open your config.cfg in the nehahra dictionary with a txt editor and add the included text after the key bindings

JQ only uses the joequake/config
when you change gamedir ingame 
AFAIK you can't mix light tools like that, the lit file is not self-contained.

I'd guess that the lit file contains offsets directly into the lightdata lump of the bsp, so if you run e.g. my Light after TyrLite, you'll just get psychedelic colour effects in an engine that loads the lit file.

Search QMap thread or Func_ for earlier discussions about this. 
This is an epic!

Rudl - No joy I'm afraid my man! Just gives the same old message! Thanks anyway tho

AguirRe - Thats a shame. Ill still put it to test later on, but I would assume that you know what you're talking about! ;)

All the more reason for you to make 'AguirRe's super duper lit-file generating modified light tool!' - Its just that you're engine with -extra4 -soft does give really nice rendering. So if it were possible to get Tyrlite to make the .lit and then use your Light to do the rendering it would kick!!

BTW do you have any kind of explanation for the message I report on #6650?

I get it with your Glquake (from and Joequake, software and Gl 
Are you sure you have the big 50MB from fileplanet via the Nehahra site? As far as I can remember, it contains the old dpnehahra.exe, nehahra.exe (2.67) and nehexe.exe (2.55) engines.

The error message you're reporting now makes a bit more sense, but the spr32 format shouldn't be a problem, all Neh enabled engines can handle that.

I suspect that you somehow have an old nehahra installation that has outdated stuff in it. Otherwise I don't know, I haven't heard anyone having that issue before. Maybe Mindcrime knows what it could be or if anything has changed on FP recently.

I can't d/l the big file to verify what's on FP, it's a several hours job for me. There seems to be another copy at , but I don't know how they compare.

Btw, you only need the exe from, the others are source files.

Btw2, the -colored option of TyrLite that seemed to fix your problems, might not be a good idea to use. It sets the bsp30 format according to the readme, which may cause problems for other tools and engines. I'd stick to bsp29+lit. 
Well, Ill re-download Nehahra, and see if I do have an old version (although I downloaded it within the last 2 or 3 months).

As for the colored thig - I'll try it again tonight without colored, but according to JPL thats what he uses, and I was able to light the map without -colored but it wouldnt let me use -extra.

Maybe I am going mad!! 
ACtually I use -extra -lit -colored in the Tyrlite command line... and it works perfectly ! 
Yeah, Thats What Im Saying!!! 
I dont know if you read the Tyrlite.txt file, but it says that -colored defaults to bsp 30, so if that were true, the -lit wouldnt work. Which is why I didnt use -colored in the first place. AguirRe has read the readme (Tyrlite.txt) as well, and drew the same conclusion (naturally). However, after your and mine discussion the other day (JPL), I realised that if you DONT type colored, you get weird psychadellic effects like on post #6626, and if I used -extra, Tyrlite crashed! So as you and I both know, you need to use -colored even if you're doing bsp29 format with a -lit file, which directly contradicts the documentation supplied with Tyrlite.

So yes AguirRe, I know why you say NOT to use -colored, but actually it doesnt seem to work with .lit if you DONT use it!!!

In short - JPL I use the same commands, and it does work!!! :) 
It Works, I'm Sure, Well, I Think I Am :) 
I just checked it to make sure I wasn't going mad, I've done it before, I made a little test (box) map, compiled it, using tyrlite to make the .lit file, then ran the whole compile process again using your qbsp, vis and light, and the resulting map runs with coloured lighting in tact. 
Try Putting A Func_wall In It, And See What Happens... 
Plant - I honestly hope you're right, and I'm gonna experiment a bit tonight!! But try a func_wall! (I have a feeling that it will look a bit 'disco').

Rudl/AguirRe - Kick me!

I was using an old version of Nehahra afterall!!!

Now it works fine :P

(what a tool)

Too much mapping has driven me mad, like czg ;) 
and I use the -lit switch 
Mad I Tell You, Mad As A Hatter ... 
yeah, there could be some funkyness there, but you may be able to get around that?

Sleep time 
aguirRe is the one to listen to, he would know as well, probably better than anyone what the story is, just consider my ramblings as just that :) 
Where's Tyrann When You Need Him!?!? 
Look Here: and send him an email :P 
I Just Tried 
to re-light Invein (i.e. keep the lit and then use my Light) and then load it in JoeQuake (refused to load lit - invalid size) and Fitz (psychedelic lightmaps).

So I'm pretty sure it doesn't work. 
Yes, It's Prolly Problimatic To Say The Least . . . 
It's been a long time, I did mess around with it once before, thinking about it know, there must have been problems, but it's a long time ago. It does work for me in a little box test map, as far as the colored lighting goes, all looks as it should and everything is in place, until . . . you place things like func_wall's _door's etc, then the func_eee stuff starts to happen, disco, psychedelic lightmaps as mentioned above etc etc.

Oh well, looks like it's just one or the other, sorry RickyT23, wild goose chase.

So I'm pretty sure it doesn't work.
That's good enough for me 
I also discovered the 'truth' last night! 
See More Here: 
Well, Its OK 
Until I smash engine limits and only AguirRe's engine will run my map, I'll just stick to Tyrlite!! 
Progs.dat - Shambler Lightning 
I have figured out how to make lightning gun lightning which I can put in my level and then trigger to fire (almost) forever, as part of some sort of generator-type-machine, but isnt shambler lightning prettier?

Have been reading through Teaching Old Progs.dat New Tricks!

How would I change Lightning gun lightning for Shambler lightning?

What would I have to change in my info_notnulls? 
Oops - Forgot To Login!^^ 
You'd use

The particular function you'd want is CastLightning. Rather than setting "enemy" "1", which would make the lightning shoot at the player, make another info_notnull. Find out the edict number of this info_notnull, say 23, using the 'edicts' command in the console. Then set "enemy" "23" on the lighting shooter.

Be warned, this kind of hack can be hard to pull off when you have skill levels, because if monsters etc. get removed, the entity number of the lightning target can change. One way to avoid this is to ensure that the lightning target is added before any monsters, so nothing can be removed earlier than this entity. The other way to do it is to have three copies of the setup in your editor, one that only appears in easy skill, one for medium and one for hard. Then work out the correct entity number for each skill level. 
What If 
I edit the .map file using wordpad or notepad and move the entity to the start? Or swap it with the first one? Would that work?

Thnx BTW :) 
The first way would certainly work, except that you'd have to do this each time, which would be a pain. It's better to make sure that the entities are in order in your editor, which in worldcraft means adding them first - no idea about other editors. I think the latter way of doing it(one version for each skill) is gonna be easier in the long run... 
As it happens, I havent put any enemies in the map yet! I think what I'll do is use Weapon Lightning for the mo as a marker type thing, and then right at the end (after all testing and stuff) change it for shambler lightning. Anyhoo, its good to know I've got options here!

Thnx again!!! 
The Time Is Now 
If there's nothing in the map that's gonna get removed by spawnflags yet - that's the perfect time to sort this out! You won't have many entities to look for in your list of edicts, and you won't have to worry about anything getting removed. Just don't delete any entities currently in the map and all should(fingers crossed) continue working in the future. So I'd recommend change it now, get it working, then continue adding monsters etc. 
I hope so. I mean I'll try it. I dont know much about the transition between an .rmf file and a .map file. If the edicts are assigned roughly in order with the chronology of how entites are placed in an .rmf, then I would see how it would work! 
I believe that what Im gonna do is make the level to a point where I need some testers, cause that way after I have sorted out the gamepley, I can fix up the lightning using Notepad!!! - Then do it all again for the final version :|

Yes, I believe I have popped my .map-in-Notepad cherry. I see now why its called 'Hacking'

Worldcraft 3.3

Nice GUI and texture alignment stuff, but if you export a .map from an .rmf, then re-load it after a bit of tampering in notepad (or even without any tampering I guess) you lose all of the extra texture alignment info!!

I got the lightning sussed. I moved the targetted info_notnulls to where the first few entities start after all of the world stuff, then use AguirRes engine to look at the edicts, get the number, then change the 'enemy' key appropriately.
I have also discovered how you can clean up a .map file by removing any extra shit you dont need!!!

Worldcraft and notepad dont work in unison very well tho! Worldcraft takes stuff out and adds stuff in like extra keys on import!! So backups have been essential!! - I have to resume building on an un-hacked version. The experiment worked, but I will have to re-do it all again anyway cause I can't resume working on the hacked version :( 
Welcome To 
.map file mapping ... 
i just downloaded 1.5 gtk radiant and there isnt a textures menu can anyone help me? 
I only messed around with 1.5 briefly, I prefer 1.4, but anyway, is it called something else? materials or something maybe? What happens if you press the T key, does that bring up the texture browser? 
Press The Letter T 
and the texture window will come up. Personally, I only use 1.5 for creating prefabs but not for texturing. I hate the new texture methodology here because of the fewer options and the less intuitive set up. Why screw up something that had worked well since QeRadiant? 
ill try that if it dont work ill download 1.4 instead 
they moved the texture menu down so that it is part of the texture viewer portion of the screen. (I think) 
can you use 1.4 to create maps for temulous? 
any of the Radiant builds can be used for Quake mapping. This is I do it - I set Radiant for Quake 3 Arena, I convert the Quake wad I'm using to the Targa format and place them in my Quake 3 directory like this:

Next, you'll need the definitions file, go to
Quake3/BaseQ3/Scripts folder and replace the entities.def file with the Quake1.def file.
Which you can find here:
(Filezilla is the greatest!)

You'll have everything you need to build a map file. You'll run into a few things that might cause you trouble. Don't bother with the curve
tools, they wont translate over to Quake 1, and Quake 3 texture alignment is more flexible than Q1 native so it is best to experiment in this area to see what you can get away with.

Part I 
To Actually Build The Maps 
download the tools on AquiRe's site,

and read the instructions.

When I'm ready to compile a map into a playable bsp file, I make a simple batch file (a text file with a .bat extension) with this sort of text:

Txqbsp -q2map
vis -fast mymap
light -extra -soft -fast mymap

The -q2map is a conditional AquiRe added that allows the compiler to convert the Q3 map (Q2 and Q3 are the same format except for the addition of curves) into Quake data during compilation. 
Oh, And I Put 
Maps, wad files and the tools all in the same folder, but you can be more orginized if you want to by including directoy info like:

Txqbsp -q2map maps/

and include a line in the Worldtype for you wads like so:

does anyone have one for gtk radiant 1.5.0? 
I'm Still Using 1.4--never Saw A Reason To Switch. 
But this might help you. Documentation.

Also, here's a tutorial for 1.5 that I found in a few seconds via the magic of Google, but I have no idea if it's worth anything.;6785024;/fileinfo.html 
Quoth - Lightning 
I was looking at the Quoth tutorial yesterday and saw that they have facilitated lightning use with the entity trap_fired_lightning (or whatever it is). I may not have got the key name correct whilst sitting here typing but I was definately using the correct one yesterday (it is trap_fired_lightining, isnt it ;). How on earth do you make it fire downwards??!?! It doesn't matter what values I set for 'mangle' or 'angle', it wont fire downwards! Annoying really. I may just end up using the hacks I was gonna use for the lightning anyway, I just thought the Quoth one would be easier!

Any clues?

Ive tried 'mangle' '-90 0 0', '0 -90 0', '-90 -90 -90', Ive tried the same values for 'angle'. None seem to work!! 
Oh Oops 
Try angle -2 
If it says mangle in the documentation, that should just work straight up. I will take a look at this for quoth2. 
At the moment, mangle support isn't there, it will be for quoth2. Angles should work, but you'll run into the usual problem of the editor only exporting the yaw component. Your best bet is to add an info_notnull where you want the lightning to strike, give that a "targetname", and give the lightning a "target" key with the same name. 
mangle is the light direction saying "yaw pitch 0"
angle is the cone angle formed by the light

yaw is in [0:360] range
pitch is in [-90:90] range

As exmaple if you want a light that gives a top-down light cone you need a mangle set to 0 -90 0

But it mainly depends of both editor and light tool you are using

and Preach method is as good as it describes it, except it might consume edicts... but I'm not sure about that point...

and it has been saif, read the documentation of the light tool (if it exist)

Hope it helped. 
Lightning Strikes Twice 
What JPL says is true, but it only applies to lights, not the lightning effect entity - a quoth feature that sends a bolt of lightning like the shambler's in the direction given. I just through I'd mention that targetting spotlights at an entity doesn't have to actually increase the edict count. Just use an info_null, not an info_notnull, as your target, and it will get removed at worldspawn. This is the distinction between an info_null and an info_notnull, the former is removed when the map is loaded, so it should be used for compiler time purposes like targetting spotlights. The info_notnull is not removed, so it's intended use is as a target for things that happen in game, such as lightning bolts. 
I had alot of problems with the Quoth1 lightning in warpd. Originally the laser blasters all over the place were going to be lighning, but they all pointed in the seemingly random directions no matter what I did with angles nulls etc.

Possibly the edict load was too high and the lightning was firing at other stuff in the edict list. The random angles were always cardinal directions but never where I wanted. Perhaps its for the best since the blaster traps are at least dodgable. 
I can't seem to emulate the cardinal directions only bug, hopefully it's gone in quoth2 or it's just a high entity issue like you say. I've made a test map, which suggests that angles works in quoth, but you'll have to edit the entity file if you want more that a simple yaw, because that's all the editor exports. Also targeted lightning works, which looked broken when I checked out the code for quoth2, but I guess wasn't. "mangle" support is not in quoth but will be in quoth2.

Just posting this to say if anyone else has known bugs like this in the current version of quoth, now's the time to e-mail me or leave a message. If you mention it soon, it'll make it into quoth2, but inter-version patches are unlikely for anything but game breaking bugs.

And yeah, the blaster traps worked really well, enough of a threat that you had to take care, but also useful enough to turn against monsters when ammo was low. 
Unable To Find 
this is what it says when i load 1.5:
Unable to find default tag file C:/Program Files/GtkRadiant 1.5.0/ No tag support. any ideas on how i can fix this? 
Sorry guys, I've been away for a couple of days - thanks for the cumulative response!

OK - Spirit, erm, yeah, I hope your right!

'angle' '-2'

I'll try that!!!

Preach - Targetting info_notnulls - er, sorry, tried that too, doesnt work (not for me anyway).
BTW, what do you mean by editing the entity file?

As for the editor only exporting the yaw, erm I've been using notepad and a command prompt for tinkering around with this, cause its less stressfull when all your doing is changing key-values!!

Ijed - by the sound of it, you know what I mean!

JPL - easy-to-make misunderstanding! I have loads of spotlights, and lights like

'light' '65'
'wait' '2'

in my current level but as you may have realised by now, I meant lightNing, sorry, not lighting. Although I have been bombarding this thread with questions about lighting and lightning ;)

So in short I can either:

Resort back to using hacks do do the lightning (which did work :) (thanks Preach)


Hope 'angle' '-2' works!!! 
A few things that many don't know when they start but;

-1 is up, -2 down for angle keys.

Putting a -1 in the texture scale (instead of 1) flips the texture in that direction. Useful if you've got a written sign and the letters are backwards because of which way round it is.

Negative trigger hurt's give the player health (even though they still scream / do pain fx). It's also past the normal maxiumum.

There's probably other tricks that aren't quite hacks as well; delays for lights (aguirRe's page) or proper hacks; the Teaching Old Progs .dat thread. 
I don't know shit about 1.5 or Tremulous, but have you read these instructions and followed them?

Seems pretty straightforward...don't miss the part about downloading the missing files, etc.

If you have done all that, and things still don't work, I would suggest asking for help in the dedicated Tremulous mapping forum here:

...and probably read the guide at the top of that forum as well.

Google is your friend. 
Weird Angles 
-1 and -2 for angles won't work in this case. It only works for certain entities, namely ones that call the function SetMoveDir(), which correctly reads the angles. The function is designed for creating a unit vector that the entity uses for movement purposes. The lightning doesn't move, it just gets fired, so it uses the angles as they are set. More like a info_intermission(or it will be once mangle works correctly).
is a map that shows the info_notnull way to set it up. So try copying that.

Entity file: There are some quake tools, like adquedit, that will extract an "entity file". This is literally a plain text file containing the entity data from the map. It looks fairly similar to what you'd see in the map file, but without any of the brush lines for brush entities. The added bonus is that you can then import an edited .ent file back into the map with the same program, so you don't have to recompile it. Furthermore, some engines will automatically load an .ent file with the corresponding name of a map, in the same way they'd load a .lit file. Except this time it replaces entity information, not light information. 
Diagonal Arches 
Arches are a pain the arse already, but what I haven't done before is diagonal ones. How do I make it so that it will evenly fit into the space?

Here is a screenshot of where I want a double-arched window.

How would you do it? 
...and While I'm Here... 
Is there any way to just simply add a vert to a line on a brush? Really made life easy in Doom mapping, so I'm hoping for something similar in Quake, but I can't find any way to just simply add a new vert without having to clip the line. 
Kenny, regarding diagonal curves, I made this for you: 
Apparently a lot of people like a 15 degrees rotated version of the simple curve showed in my pic... here is the 24-sided version of it (linked by bambuz): Anyways this should give you some ideas how to make curvy stuff the right way. 
Why not making a simple arch+wall and rotate it by 45�? 
problem with that is that rotating it would result in all the brushes being off-grid and probably have gaps, creases, and overlaps. 
And why not making a wall and rotate the negative arch by 45� and substract the brushes? 
Im gonna retexture the map you posted and compile it and try it later, but looking at it in notepad I dont understand why the lightning has a 'mangle' and a 'target'. I mean I have tried both of these techniques but not together at the same time, mainly cause the tutorial said to use 'target', 'mangle' or 'angle' - one or the other?!!?

Also you have light entities with:

"classname" "light"
"light" "400"
"wait" "1"
"mangle" "0 -90 0"
"angle" "70"
"origin" "-96 -88 384"

Surely you could ditch the 'angle' and write

"mangle" "70 -90 0"

Hehe - I was thinking I'll probably end up just using the hack for the lightning anyway cause it sounds better!

Also if I had some small func_trains following a path round in a circular shape (a six or eight edged route), I could source some info_notnull lighning in the middle using the CastLightning style entity, and then target the trains using the 'enemy' key... - voila - Half-Life intro style scene! 
Substracting is just as evil as rotating. 
Just make the shape by eye - all of these fancy tutorials and techniques for making quake-friendly curves dont give true curves anyway. A true circle wouldnt hit a 1*1 grid anywhere (potentially). Use wedge shaped brushes to make the shape, or four-sided brushes with a clipping tool for example. If you can get all of the edges on the grid you can go back and re-make the shape using less brushes. 
Oh No - Wait A Mo 
If you make the arches as simple as poss, say with two wedges in each corner, rotate by 45 degrees, then use vertex manipulation tool to line the points up on the grid! I dont think you would get any illegal faces because its 45 degrees all the way. 
The thing about the fancy methods is they let you build it once and know for sure it'll work, letting you copy it throughout the level. Also you can make much more complex shapes, like helix' multiple curves etc. Look at the very first room in czg07c to see a good example.

And it's much cheaper for vis time. 
I have an .rmf called acurve.rmf full of pre-fabricated curved shapes. Its soo easy to use them for whatever.

The problem is that rudl needs it to be 45 degrees rotated. Thats a pain cause although you could fit all of the points onto a 2*2 grid or whatever, you might find yourself with illegal faces, which worldcraft will render ok, but by the time its been through a Qbsp.exe its gonna distort the shape - you might end up with small gaps between brushes.

1: Make your arch.

2: Rotate your arch 45 degrees.

3: Scale your arch in the X/Y plane by 1.060606... , OR up so the bounding box is 1.5 times larger than the original arch.

4: Snap to grid 1/4 of what the original arch snapped to (IE if the original was on grid 8, snap to grid 2) 
FYI, angle and mangle keys are not related to each other in a light entity, angle is spot light cone and mangle is spot direction.

Now you seem to be mixing up lighting with lightning ... ;) 
Dont listen to me anybody - I'm only ever speculating.

Rudl - Listen to czg, im only speculating here but I would say he knows about 50 times more about gemetry than I do. Maybe 52 times more...

AguirRe - I did not know that. So increasing the 'angle' of a light which already has a 'mangle' increases the size of the cone. Whats the default 'angle'? 
Gemetry = Geometry 
I cant even spell the word... 
Default is 40 degrees in QuArK...

Go experiment. 
Shazam Strikes Twice 
Sorry, the "mangle" key in the info_lightning_targetted isn't needed. I forgot to remove it when adding the "target" key. "target" will always override "mangle", because having a "target" specifies the end point exactly. "mangle", isn't as precise, saying that the endpoint is up to 600 units in this direction, depending on whether you hit something. Not to mention "mangle" doesn't do anything in the current release of quoth anyway.

And yeah, what aguirRe said about the lights. You should only need the knave.wad file to make it compile, worldcraft throws the others in for fun. It's a texture set well worth having. 
Thats a cool method it's


and it must be built over a square 
no works with other arches too 
Yeah I Realised That After I Hit Submit 
I usually put in 1.06060606006 because it's easy to remember and Ogier doesn't do more than four decimals precision anyway. 
It's possible to set the Number of decimals in Quark.
5 is the dafault value 
Better to scale by exactly 1.375, then shear to 45 degrees, and then use the clipper. Stuff is guaranteed to stay on grid this way. 
Bloody Lightning 
It seams that Preach's map lightning trap worked, so I tried putting my targetted info_notnulls back in an seeing if it would work. You see its not that it dont work at all, it makes the sound of lightning firing for a second, then nothing. So I took out my lightning ents and info_notnulls and put them in another simple room map with a simple brush trigger_once, and long and behold it worked!!

So now I'm think it something to do with my triggers (trigger_relays) - trigger_counter counts three buttons getting pressed, then fires a relay with a "delay" "1" and a message, then fires another relay with a delay that fires the lightning...? 
Did you enable the light "toggle" field ? If it is not the case, you are not able to switch on/off the light. and BTW, it only work with light of style 0 AFAIK.

Hope it helped 
LightNing :) 
Although if you set two relays you can turn a light on and off in rapid succession, emulating a strobe effect!!! So you could have a stobe light effect which could be activated from a light beginning either on or off! 
Arch Scale 
What is the correct scale and how to scale it?

I rotate it 45 degrees, go into transform, click scale, and add 1.060606 to X and Y cos I read it here, but it doesn't fill the gap.

I am basically using a half cylinder to act as a guide for the arch and need it to fit exactly in the space shown in the screenshot below.

try reading 
[i]1: Make your arch.

2: Rotate your arch 45 degrees.

3: Scale your arch in the X/Y plane by 1.060606... , OR up so the bounding box is 1.5 times larger than the original arch.

4: Snap to grid 1/4 of what the original arch snapped to (IE if the original was on grid 8, snap to grid 2)[/i]

This was the only reply that made any sense and seemed concise that even a n00b could follow. Problem is I did this and the gap was not filled.

You can either be a prick or tell me what I'm doing wrong. 
Make The Starting Arch Larger? Make Your Gap Smaller? 
If your gap is x wide (orthogonally), the starting arch needs to be 4x/3 wide.

In your screenshot the gap is 80 units wide, which is not divisible by 3, which is terrible. Make the gap 72 or 96 units wide instead, which would make the starting arch 96 or 128 units wide respectively. 
Does anyone know where I could get a hold of "items.wad"? It's one of the standard id wads I believe but my googling is coming up dry. 
Umm Willem 
aren't all the bsp item textures like ammo box in the normal id1 TEXTURES.WAD?
And the mdl models then have their own texes inbuilt. 
Item Textures 
None of the four standard id wads have those. You can extract them from the item bsps in the paks though. 
Just For The Hell Of It 
I extracted them from my own megawad:

There may be some missing, because I did it manually, but I think that's all. Also, the exlobox's aren't there.

Quaddicted also has a big list of wads, but I didn't want to download the full id wad just to check if its inside there. 
Tripping over ourselves to answer that one. 
Damn - Missed IT! 
Also you get funky Items tex in Worldcraft3 combo!! 
Thanks for the responses guys, very much appreciated! 
And to add a little more info ... Yes, Quake101.wad has them in there but I was hoping that the actual items.wad was floating around somewhere. However, extracting and creating a custom wad from that one would be a problem for me because, remember, I'm on a Mac here. ;)

I think I've got it from here. Thanks again! 
Differences Betwwen CA/RA/TF/CTF/DM Maps 
Hi dear mappers.

I am in need of knowledge. I am trying to build a tool that would automatically sort maps by "type" based on differences.

I think I understood that ALL of TF maps have a in_tfdetect entity, but is there anything that particular for the other types? CTF/RA/CA/regular DM and such? 
I think is the name.

I think there must be at least some special spawns in RA for the players waiting if not anything else... 
I Need Some Testing 
A spot of Doom style blasting!

Plenty pine-apples, plasma battles and powerups!! 
Bspeditor - Undo 
How does the undo function in bspeditor work? For now I can only undo few steps. Is there any way to change it? 
Fitz / Glquake Issues 
Hello, Im having an issue with a fresh install of Quake on an older pc (pent 3 with gf3 ti200) where no version of glquake will run.

First both fitzquake and glquake could not find glide2x.dll so I downloaded a copy of that, now both programs will launch but then fall back to the desktop with the error "genport I/O initialization error" and then something about a non existent SST before a final error message telling me to run in the correct colour depth or something...

Anyone got any ideas? 
Just delete all the dll files in the Quake directory (unless you installed some more engines who brought their own). 
Yup that worked, thanks Spirit :) 
Terrain In 3.3 
I thought it was just a case of dividing a brush into a mesh of vertices and then dragging the verts around to make some interesting mountains and terrain. But the mesh tool is only in 'Hammer' editor, and even that sucks ass.

Is it just just a case of building up a wall of multiple squares and matching up the corners with each verts are varying heights? 
I guess I was right in that last paragraph. Kinda made something that resembles a rocky wall using that method. 
That's generally the way it was done in Quake engines, yeah. Be aware though that if you put that sort of thing on the floor it can lead to a lot of sticky collision and weird sliding if you're not careful. In my experience, anyway... 
I Thought It Was Triangles 
or 'flat triangular prisms' rather than squares, cause if you have a 'square' face that isnt straight, or on one 'plane', then it is an illegal face. But if you use triangles you cant have an illegal face...

Or am I on a completely different topic? 
What I've Found Is 
It's still possible to make illegal or non-vis (the solid shape is treated as a leak - pointfile line goes right through the middle) prisms. Alot of the time now I use four sided pyramids just to avoid that. Maybe going to extremes but it tends to work.

Typically you get broken collision (player gets stuck on an invisible wall when walking from one direction but not another) when the brushes are misaligned, maybe by 1 or 2 units, making the difference invisible in most editors. Normally you must delete the offending brush and all adjacent and rebuild.

Wierd sliding tends to be caused with how you've built the geometry. Basically you learn what shapes the bbox's of Quake don't like to collide with. Typically it means not making the player walk along acute angles or severe angle changes. 
I made a tunnel in my current map with a curved cieling - the tunnel also curves round a corner and drops a total of 64 units on the ground too (ughh). If it didnt slope downwards it would be OK, but because it does I had to replace all of the 6 sided brushes which comprised the cieling with FOUR 4-sided pyramids (I think there is some sort of gap in the middle of each group of four) because bsp.exe was building the original set up with gaps between brushes by the time it had corrected all of the illegal faces!

I'm just glad to hear that someone elso uses a similar technique, cause I thought it was probably considered to be shit practise! 
Maybe It Is . . . 
The idea is not to have empty spaces in between brushes cos vis'll hack it up.

You can correct it in a drawn out way by turning the curved upper part of the tunnel into func_wall, then putting a real ceiling above that, so the map doesn't leak. The func wall receives collision and light, but doesn't cast shadows. That shouldn't matter because it'll have a false ceiling above, and the ends of the tunnel you can leave as real geometry since they don't curve.

As a further geometry hack / fix you can make the curves func_illusionary, then put simpler clip brushes so the player or monsters (especially fiends) don't get stuck.

As to it being bad practice, I think that's the only way you can make a downwards sloping curve. It makes a hell of a mess and produces some weird bsp errors but it works, sort of. 
But Does The Ceiling Need To Slope Down With The Floor? 
Just keep the ceiling level since the floor only drops 64 units, and then there's room above the exit of the tunnel (if there is such a thing) for a little detail of some kind. 
I Was Gonna Ask You Directly Czg... 
Its hard to describe but if you look at the picture below (ignore the disco crates) you can see one exit of the tunnel to the left of the image.

As you can see there is a border to the point where the tunnel meets the room, which extends 32 units outwards (constructed with help from the czg curve tutorial, I might add) but there is no similar margin on the other side of the arch, in the tunnel area, so if I kept the cieling horizontal it would look crap because the verticle side edges would be cut off with banana shapes at the tops or something...

Does that make sense, or do I have to show another image?

The way Ive done it is boxed (I know, I know) and to use the 'four four-sided pyramids in place of six sided brush' technique(vertex alingnment in 3.3 on a 1x1 grid (double ugh...). There are no clipping problems though :), and no cracks neither.

But my brain cant think of a better way, can yours? 
IMHO That Tunnel Sloping Down Is Overly Complex 
Just keep it straight then have a "porch" of sorts with some steps down.
Or some steps inside the tunnel. 
I Think You're Probably Right 
But seeing as I've already made it, and there are no clipping problems, I think I'll have to keep it!

I think next time I run a build, I'll try removing the box. There was a problem at one point with falling through one of the faces on the verticle wall (I think I had accidentally deleted one of the pyramid brushes), but I fixed that with a brush laid against the wall. The wall in question was the source of the leak also, and I havent tried a build without the box since.

Youre right though, next time I have to address such an issue, my approach will certainly be less of a time consuming one! 
Oh My... 
...please don't take this the wrong way, but it's probably not a good idea to ask for mapping advice in public and then ignore it. Doing so does nothing to encourage further assistance or bodies for beta testing.

It's only a small section of the map, why not address the issue now, especially if it isn't going to be particularly time consuming.

This is not a flame. 
Yes I understand what you are saying here.

I have a lot of respect for people like czg, ijed, AguirRe (blimey, who else...), er Preach, spirit, (people I cant off the top of my head remember), er Metlslime, Kell, as well as other people who help to test projects (Trinca, Maxfox, Sielwolf...), who freely give out their time and advice to strangers on the internet, for the good of Quake!

Thanks guys!

You included Distrans!

The context of the qustion I was posing above is as follows:

I had a problem, but solved it on my own terms prior to bringing it up on this thread (I only brought it up really cause somebody else (Kamikaze) was asking about terrain, and the Ijed was going on about using four sided brushes to do complex stuff).

Mr czg is somewhat of an expert when it comes to manipulating geometry in editors (not to mention design, imagination, gameplay, structure, all facets that make a really good mapper really...), so I was asking him if there was a simpler way of creating such geometry than the very amateurish and time-consuming one which I had used.

I interpreted his answer basically as 'no', which doesnt surprise me really, however because I have already spent the time making the tunnel, it seems to me a waste to disguard it now! No disrespect intended ;-P

czg is very right - certainly creating a lot of stuff in a map using the method I have used would be dumb-assed to say the least.

I have considered the unspoken ussue of rspeeds, and feel that compared to other geometry seen in maps, this example isnt really so bad as to remove it for that reason. 
World + Face Align 
Sometimes when I go into Face Properties in WC 3.3, both the world and face align are ticked, and I can't untick either of them.

Basically I was trying to untick world so that the texture being 128x128 would perfectly align and fit the 128x128 brush without having to align it manually by the X & Y axis. 
Rotate_object And Lit 
Having trouble getting rotate_object to light correctly when using colored lighting. Getting completely dark faces. I have tried hmap2 and tyrlite. I have found if I use tyrlite and move the rotate_object to 0,0,0 I can get faces lit.
Everything looks correct with lit file support turned off. BTW using Quoth and fitzquake080.exe 
Problem solved. Was using wrong values for Tyrlite. Had 0-1,0-1,0-1 not 0-255,0-255,0-255. RTFM i guess. BTW in WC 1.6 adding to the FGD

@baseclass = Light
light(integer) : "Brightness" : 200
wait(string) : "Fade distance factor"

Add _color(color1) : "RGB color"
Will give you the color picker as in quake2 FGD 
Thanks for that. 
Anyone here mapped for HL/CS etc.? Because I'm just wondering that, if I were to make something for Half-Life (the original), should I use Worldcraft 3 or Hammer (Steam SDK)? 
I think, it should have a HL1 profile built into it if you have HL1 installed on steam.

Nothing wrong with WC3 but Hammer is more up to date. 
Anyone know the command you type into the Quake console which directs you towards holes in the map? Ta. 
And I Forgot To Say... 
Alright: - Quoth - Info/Trigger_command - Centerprint??!?! 
I moved this over to the Mapping Help thread so as not to get told off:

I have got fog working in my level (hooray!!)


I cant get rid of the centerprint command. It seems that the command itself is set by the "message" key, and aswell as 'firing' the command, it prints the "message" in the center of the screen!! This seems a bit daft to me (or am I missing some spawnflag or something?) because surely the player doesnt need to see some cvar/command!

I am using the fog in a situation where you walk down a blind corridor, and there is a trigger at either end, and as you enter a room the fog is on, and when you leave the other end of the corridor the fog is off. But I dont want to see "fog 0.08 0.5 0.1 0.1" in the middle of the screen, with a sound effect. Any ideas? 
Is It Engine 
indifferent? I seem to remember this issue, but I don't recall any details. 
Center Print 
AFAIK, you have no possibility to remove the message... maybe it will be corrected in Quoth2 :P 
It's Alright Guys! 
After a bit more experimentation, I have found the answer:

info_command + trigger_multiple = no certerprint

trigger_command = centerprint!


"target2" "nameofinfo_command" = incorrect command usage console error (not crash)

hehe :D 
Good info: thanks ! 
Vine Textures? 
Had anybody ever used a simple vine texture with a background that can easily be made into a transparency? I'm generally unlucky in finding good texture repositories. Drooping vines, or anything close, would be really neet-o. 
Check there are tons of texture set there ;)
Make your choice 
Mirrored Textures 
For some strange reasons all textures that I apply to surfraces are mirror images (x-axis reversed). Why and how to revert them? (Worldcraft 3.3) 
In The Texture Editor Box Thingy 
where it says texture size x and y, change it to -1 instead of 1, or whatever you have in there, this will reverse the texture on the axis you chose. 
Terrain Woes 
This is my first real attempt at terrain in Quake. But it appears that what I do in the editor is not reflected in the game.

For example, here is what I've done as seen from the editor:

And here it is in the game:

You can see the edges/verts aren't connecting in the same way as they are in the editor.

I'm guessing it's a problem with the compiling tools? This screenshot wasn't VIS'ed, but on a brief previous attempt at terrain, the same thing happened while the map was fully VIS'ed. 
You're most likely making concave geometry in the editor and it's being moved to the nearest vertex to make it non-concave upon compile. It used to happen to me when I'd try to skew cylinders to make rocks.

Your best bet is to tri-soup that badboy like this: 
Yeah - That 
Chop it up into Five (wedges) or four sided shapes (pyramids) and you'll be good. For overhanging stuff I'd recommend pyramids, but it's more work to keep everything together. Wedges work best for floors; it's easier to keep them neat and without leaks or holes.

Also, you've moved over from Q2 mapping? Good to see you here. 
So Basically.. 
These errors have shown up because I was using rectangle brushes?

I think I tried using triangular brushes previously, but found it more difficult. Guess I will need to practice that. I know the method, just a case of trying to get it to look good!

ijed: No, I was into Quake mapping 10 years ago, but never really finished anything. I've made a few maps for Doom2 in the last couple of years but ended up getting frustrated with the limitations, so came back to Quake. 
go for wedges, ie a 5 sided brush, bottom and top are triangles. Bottom, top, 3 sides.
A triangular slab so to speak.

Then just always look at the brush from the top, select a the slab's corner vertex/endpoint, both the top and bottom vertex at the same time, and move that unit together. One corner of the slab. You can move it sideways or up and down too.

As long as all the three corner vertical edges of the slab are vertical, it stays as a legal brush where it's convex and all the sides are planes.
I made a pic ages ago but it's lost in some of those pic upload services, maybe searchable in this thread. 
Can't Find 
where i can send private message to users? 
You can't. This is a public message board no "communication service". Use e-mail. 
Should've Posted In The Site Help Thread... 
You know you could check the user in question's profile and see if they have their e-mail posted or simply just say who it is you want to contact and someone could probably help you out if it's a current user. 
Quark Users 
Hold n while dragging a vertex, sex! I never knew. 
What does it do? 
Single Vertex Dragging 
That's Really Easy To Do In WC. 
Just push "vertex tool" a few times. 
Ahh OK, thanks! I see that it triangulates the faces when you do that. Is that automatic? 
GtkRadiant Does That Too 
Assuming you have the 'vertex editing splits face' option on, anyway. It'll triangulate a face if you edit verts in such a way that the face is no longer planar. (It will also automatically un-triangulate (quadrangulate?) it when you move it back to a position that does create a planar face again, I believe).

It's a a nice feature! :) 
It is also possible to press n and rmb on it and force the vertex to the grid. Otherwise Quark sometimes moves other vertexes. And even then when you look at the .map file with a text-editor it's a mess too many dezimals. Vertexes that should be on grid because forced are not. That's (apart from the bugs) a reason why I switched to bsp. I couldn't finish a map with QuarK because I struggled with Hom effects as the map got bigger.

untriangulate does not really work in Quark. it results in invalid Polys or moves other vertexes. 
Oh indeed. And I thought I set the right settings this time (no floating point, Quake map format). Gah! 
Erm - Gawd... Transparent Textures I.e. Wire Fences 
Trying to explain but words are failing me...
(in a hurry)
You know in halflife you get those wire fences, and grills/grates etc, also stuff like vines and sometimes hanging cables which are made from brushes using textures which are fully opaque, except for one 'colour' which is fully transparent (i believe in the HL Quake Wad its a sort of blue colour)?

Can this be done in Quake?

Im thinking JPL is doing glass, Trinca did some in Wicked Base etc, but what I mean wouldnt be like that (func_wall with ".alpha" key).
I seem to remember one person say "why has no-one done this for quake yet, cause a lot of modern engines support it"

Does anyone know what I mean, or even better how to do it, i.e. what colour in the palette is "invisible"?

(I always thought it was funny in Halflife cause say the fence brush was 4 units thick, if you stood on one side then the other you could see the fence move four units cause the nearside of the brush would be the only visible side)

You mean like this?

It's done as a sprite, instead of a texture, but it's pretty damn close.

It's in the next Quoth pak. 
Yeah - Like That!! 
But isnt there a way of doing it with brush-models? 
I managed with Fimg to make a sort of drags-sprite like hexen2, only it moves to fast.
It is half transparant, but for making it with brushes I heard of a glass thing in the base pak developpement. See BasePack #252. 
you have to use sprites.

Unfortunately sprites can't be lit by the level's lighting calculations or by dynamic lights, and in any GL engine other than fitzquake you get pink edges around the sprites, plus in glquake the sprites are upside-down, plus glquake doesn't support oriented sprites, only camera-facing ones.

I actually have sprite grates in rubicon 2, but removed them from my levels after realizing all these problems. 
Oh Oh Oh ! Nice !
However, it seems to be applied only on a single face, and there is no thickness... Well, the visual effect is damned good !! Cool ! 
why not just use the alphamasked textures (fuck old engines compatribility, 90% play with the engines that support alpha) 
...Could you ellaborate?
What is an alphamasked texture?


Kell: - Honestly, "what JPL sed!" :D :D 
I've always enjoy the solidity of the Quake engine. Single polygon alpha textures have a paper thin quality that doesn't really appeal to me. I know I don't speak for everyone (obviously) but give me old school heft any day. :) 
Cannot connect to database - post lost. 
That Sounds Like A Real Shame Ijed 
I wander what you were gonna say?

(ironic you managed to post "bah" post) 
Yeah, And I Rewrote It And The Same Thing Happened, Only Just Got It B 
I agree that Quake looks better with chunky geometry rather than flat alpha textures, but for foliage there's nothing better. Also thinking if animated flames would be possible to replace the old rotating models, but that'd probably involve some sort of prefab creation.

Kell / Preach have eliminated the annoying HL1 effect of seeing both sides of the brush mentioned earlier, which is a good move.

Alpha mask is a black and white texture applied over the top of a diffuse texture - white is visible and black not, with shades of grey being semitransparent.

Quake uses colorkey, which basically defines a single specific colour as invisible (since it's just a string of numbers). The problem is that you get hacky edges from the image compression and there's no transparency gradient.

>> lucky I copied it this time. 
I guess the color choice has been done with a little bit of clue: like a nice pink flashy gay color :P 
its usually either retro gay pink, or modern gay purple. 
Not Really Mapping But... 
I want to convert Quake bsps to a format that Maya can read along with all textures and the lightmap. I wonder if anyone has already made a converter to do this. Anyone know? If not, then I wouldn't mind having a go myself sometime, does anyone have a copy of the bsp specs for Q1? 
Reading the BSP files directly takes balls of steel. :) Are you sure you wouldn't want to maybe convert MAP files instead? It would seem a lot easier. 
it can convert .map to .obj or .ma. without lightmap of course. 
An Idea Might Be To Team Up With An Engine Programmer 
And force the guy to write a thing that will dump the data you need. 
Bsp Vs. Map 
I think you'd want to read the bsp since it's been processed to create a continuous mesh with no t-junctions, no inter-penetrating polygons, no hidden polygons, etc. A map file is just a bunch of boxes all touching each other, with lots of wasted faces pointing outwards to the void. Who would want a mesh that looks like that?

Regarding reading a bsp file and getting a UVs and stuff; the code in the engine that does this should provide a good starting point. I believe it's gl_model.c that you want (can't recall for sure.) 
One down-side to bsp as a mesh is that surfaces are overly subdivided compared to what you'd want as a mesh file. This is becuase of the needs of the software quake renderer. Probably you could try to merge as many faces as possible during your import process, with the only problem being that otherwise mergeable faces might not be adjacent in lightmap UV space. 
yeah, I wanted to use bsp because it contains the textures and lightmap and also because, as you point out, it's a continuous mesh.

I probably won't end up doing anything though, because I have a lot of other stuff I want to do and I'm lazy :) 
Zerstorer Info 
Just discovered this - might be useful for someone (if there's ever going to be another Zer map):
There seems to be a bug in the bloodcube code preventing its time (30sec) from running out if there is more than one item_bloodcube in a map. This can be used as a feature. 
No Jpgs, Tgas In GtkRadiant 1.5? 
Trying to map for DarkPlaces with 1.5, and for some reason it won't load the jpgs and tgas I'm wanting to use as textures. I've checked the game file and everything, and even LordHavoc was stumped. 
I Love Biff 
Do you think it's related to gtkr 1.5? I made my map with it and i could load high-res textures fine. 
/Me HUGs Gibbie 
As far as I know. I could try a reinstall and see if that helps. 
I don't think that's gonna work. Try loading the bsp in QuArK and see if you've given the high-res textures the proper names? 
Do you mean they won't load in DP, or in GTKR 1.5?

biff, what map converter are you using (if at all?) Do the texture names in the map file have folder paths? (they shouldn't for q1) What format are the tga's? Radiant doesnt't like 8bit paletted tga's i've noticed, certain compression settings could mess things up too. I guess if you've consulted with havoc already you would know the proper override directory for the textures. 
They won't load in GTKR. Everything in DP works fine, I can even compile the maps and they run (mind you, without the rlit file for lighting). Some of the textures are in folders within the id1/textures folder, but the majority aren't -- and none of them show up in GTKR. All I get are the "shader file missing" icons for the jpgs or tgas, and the normalmaps. 
Oh wtf i thought you meant they didn't load in DP. u s. jk i l u! 
Re: I Want To Convert Quake Bsps 
It probably won't be satisfactory but q3map2 can convert .bsp to .ase so you could go q1->q3->3d-program ... I have no idea if it includes UV:s and lightmaps(probably not). 
GTKRadiant 1.5 Unable To Read Shaderfiles 
I have a problem here. I'm set up GTK1.5 for quake III level editing. It says that it's reading my shaderlist.txt file but it is unable to read the shaderfiles. Can anyone help me. 
Biff, Err 
Well I guess I have the same problem ironically; I just use gtkr 1.4 instead and it's fine. Looks like the answer there was to create a new project file, putting it into %basepath%/scripts (for you, id1/scripts), and giving it the correct engine and texture paths for your install of Q1/DP, thus creating a "mod directory" for radiant to work out of.

Some of the textures are in folders within the id1/textures folder, but the majority aren't

Where are they then? If the config files tell gtkr that the basepath is "id1," then "id1/textures" is where you'd want them.

Of course, gtkr 1.4's config files were nice easy text files, and 1.5 has bizarre xml monstrosities. Not sure how similar it would be for 1.5. 
Yeah Grahf 
That's the solution I've come to, myself. I'll just have to downgrade to 1.4 and hope for the best this weekend =D 
GTK1.4 is working, but not with the "progressive" JPGs I've been using (from the Rygel hi-def texture pack for DP). But once I converted them to .tgas, all went well. I dunno If I'll use those textures, maybe some of them, but at least I know what I can get working at the moment. 
Update (gah) 
Well, not GTK1.4 doesn't seem to want to save my maps. All the paths are in order (even the editor itself under the "save as" command shows the way directly to "\quake\id1\maps"), but the map still doesn't get saved. I even tried opening an old saved map and changing it (no dice). Mondo bizarro. 
Re: Zerstorer Info (#6836) 
Actually, I wasn't quite right.
If there are multiple bloodcubes in a map, their time adds up (the more there are, the longer the one the player picks up lasts, but itapparently does run out sooner or later). This way, one could make a map in which the player has the bloodcube the entire time. It can be removed by killtargeting it.

It's also possible to pick up several bloodcubes at once - this multiplies the damage. Of course, all of them also feed on the player, so his health is drained faster, too.

Thanks to aguirRe for investigating. 
I'm too stupid to set up GTKradiant for Quake correctly.
Where do I have to place the .wad files? 
In the id1 directory. 
Gtkradiant And Hammer Map Files 
I have a map file created in hammer. Is there a way to open it in gtkradiant? I get an "parse error at '[': expected '#number'" when I try to open it. 
In Addition... 
What neg|ke said will work for GTKRadiant 1.5, as I understand. For 1.4, look at a guide like necros's that tells you how to set it up (basically you have to convert the WAD's to jpg or tga): 
Func_train Control 
I want to have a func_train in my level that is to travel to a series of path_corners. I want it to travel to each path_corner and wait until triggered before moving to the next path_corner.

Is this doable in vanilla Quake? I have it moving to the first corner and stopping but then I can't get it moving again. 
not in vanilla quake afaik. maybe some clever hack? but not with the standard set of entities.

if you set wait to -1, it'll just stop at the corner forever. you can only make a train start by being triggered once. 
I didn't test it but, just imagine you would use several trigger_once (one for for each path_corner stop) in order to force the func_train to restart: wouldn't it work ? 
I tried that but it seems like you can only trigger the func_train one time. After that, it ignores you. I can sort of hack it using multiple func_trains but that's really depressing from a hackery point of view.

Would love to solve this elegantly... 
This Probably Won't Work 
I haven't got a chance to test this myself, and I doubt it works, but try creating a solid entity like this:
"classname" "info_notnull"
"solid" "4"
"dmg" "2"
"movetype" "7"
"blocked" "train_blocked"
"use" "train_next"
"speed" "100"
"nextthink" "0.2"
"think" "func_train_find"
"noise" "misc/null.wav"
"noise1" "misc/null.wav"

I'm thinking it will mess up because it doesn't do the setmodel(self ...) calls at the start, but it's worth a shot. And maybe some clevererer people than me will think of a solution. 
I Hope It Does Work!! 
Multithread vis for linux -- where to get the source? 
Multithread Vis 
for windows? Where to get the application? 

I've been away for awhile and that reads like a whole lot of crazy to me. :) Can someone confirm that what he said works before I hurt myself trying it? 
What I Would Do Willem 
is make a small test map:

Create a simple tunnel with a platform (like a station platform) running down the length of it. Make a func_train that you can target to a sequence of three or four path_corners, with your "wait" "-1" key on each. Also make your "trigger_once"s where you want them. Export to a .map file. Open the map file in a text editor, find the func_train entity code, and replace with czg's code. Make sure that you also add a line

"targetname" "nameoftrain"

and make sure that your "trigger_once"s all have the line

"target" "nameoftrain"

I dont know if it would work, and am not in a situation where I could try it out for you, but hopefully this helps :D

Keep us posted 
I can't try it until tonight, unfortunately.

However, I AM now tempted to try my hand at some QuakeC. 
Once Round, The Hacking Way 
Assuming that you only need the train to take the path once, that it doesn't loop, then there's a hacky way to do it. The first thing to do is to read the second half of this post and digest it

It might be worth making a quick test map and see if you can make a train that switches from one simple loop to a second simple loop first, to make sure you understand the hack.

Once you've got that down, the next step is how to do the specific thing you want. The trick here is to stack two path corners on top of each other at each stop, and make them target each other. While your train is "waiting" to be triggered at a "stop", it's actually going to be going back and forth between these two points, just moving nowhere because they're at the same location.

When you want the train to continue on, you remove one of these two stacked points using the trick in the linked post("use s_explode6"). Then you have another path_corner with the same name later in the entity list, and it'll head to that. You might find you have problems if you want it to stop and wait at that next point, you will need to make sure it's the other path_corner stacked at that point which has "use s_explode" set, or both will get removed when you target the first one to be killed.

The main problem I can see arising with this hack is the sound, you'll constantly hear the platform starting to move while it's "stopped", so you might need to make it a silent platform. If this is a problem, or you want the platform to loop endlessly but still wait for a trigger at each point, then you'll need to go the QC way. Which isn't too bad, this is quite a hacky hack. 
Quake C Question 
So now I've got the bug to play with QuakeC.

Can someone confirm this for me: Is it possible to define your own brush based entities in QuakeC? Say, I want to create a new kind of door or platform - is that allowed or is it just for stuff like new monsters and weapons? 
All of quake gameplay is made with QC 
Nice. I'm going to have a play then. Suppose I'll have to round up the source for QCC and get that compiled for OSX first... 
Not really mapping help but ... does anyone know where I might get a copy of the QCC source code? I've found many, many dead links on the web but not turning up much in the way of a real, actual download.

Or, you know, a binary that runs on OSX would be fine as well! 
I think it would better to base any work on a more modern compiler like FrikQCC or FTEQCC. It's not like I know anything about it but there often is some talk at inside3d about those. 
I would still need source code since I'm on OSX here. 
Oh crap, never mind! FrikQCC comes with source. Woot! 
Custents already has this feature for func_trains, i believe. 
Yeah, I've Used Frikqcc On Os X Just Fine 
For reasons I now forget. 
Alrighty ...

I found a version of QCC that would run on OSX and I found a copy of the 1.06 QuakeC source. I compiled the QuakeC and that all went well - no errors, and it generated a progs.dat for me.

However, when I load the game with my custom game (-game warren) I can't load any maps because it crashes out with:

"PR_LoadProgs: pr_fielddefs[i].type & DEF_SAVEGLOBAL"

Which, while obviously self explanatory (heh), has me confused.

My Quake version is 1.09 and the QuakeC source was 1.06 - would that be the problem? Does the error mean that I need 1.09 QuakeC source or does it mean that my QCC compiler is out of date?

I'm lost in a dark cave here and would appreciate someone throwing in a flare. 
I don't know what the error means, I'm afraid, but 1.06 is the most up to date version of the qc, the other updates only modified the engine. Did you actually make any changes to the source before you compiled it, or just built it straight up? 
I compiled it straight up although admittedly I probably didn't do something I was supposed to.

Looking at the Quake source, that particular error comes after it has started to load my progs.dat so it obviously found it and got past the first few checks. Then it dies.

Dunno what's up. I'll hack at it some more when I get some time. It's frustrating to get messages like that which are, essentially, meaningless. 
My suspicion is that my QCC compiler is horribly out of date or something. Would that mattter? Should I spend the time to frankenstein a new version together or does the QCC compiler version itself matter that much? 
It's possibly due to a old or dodgy compiler. This link claims to have frikqcc for mac:

On a pc, I'd only recommend using frikqcc or fteqcc, so I guess getting one of them for mac would be a good start. 
Oh hell, I missed that totally! I'll give that a shot tonight, thanks. 
use Quark :p

.fgd and .def are easaly converted to .qrk

thks headthrump!

work real nice! 
Does Quark work on OSX? I didn't think it did... 
Hey Preach, thanks a ton! That FrikQCC works like a champ. I'm off to play... 
doesn't Quoth also support trains that can be stopped and retriggered? I know at least that there are some enhancements to the standard entity. If you can't stop/restart trains, it would be a nice addition if it's not too late, Preach ;) ;) ;) :) 
thks headthrump!

o mundo sorrindo

(all the Portuguese I know, and I learned it from a ringtone) 
Hey, yeah, this is neat! I never played with QuakeC back in the day - this opens up a new world of level editing! Heh.

I made my mover class that I wanted and it was pretty painless! This is going to be fun. 
You should do me a progs.dat with blood splats (zombie gibs which follow the tradjectory of bullet impacts with all enemies, stick to walls and slowly slide down).

That was my favourite once upon a time, but I cant find it anywhere and I'm allergic to programming :D

Apparently its dead simple... 
I saw that tutorial over on inside3d. All you have to do is type into a text editor. Get on it. :) 
Yeah... ideal mod would basically be Quoth, with the above mentioned effect, and three increment painskins on most enemies except really weak ones (dog, fish, voreling)

I may have to start tinkering around with QC. No - wait - eyes growing redder, windpipe - tightening, skin - breaking out in - rash, nausia increasing... (*passes out from severe allergic reaction*) (*gone into anaphalactic shock*) 
Multithread Vis And Light Source 
Willem can you please email me the source code for your multithread vis and light? I am trying to get multithreading to work for linux vis and light tools and a working version would be helpful.

drofmij -AT- gmail -DOT- com 
Sure, I'll do it tonight. 
Seriously - Is There A Multithread Vis??!?! 
That would be cool. I want it. Where do I find Win32 exe?

(Is it as stable as AguirRe's?) 
Yep, the latest version of ToeTag includes a multithreaded version of VIS but it's only going to work on Mac OSX. The code was pretty easy to hook up in all honesty - it was mostly a matter of incorrect function names and a few small changes here and there. If anyone wants my source code for that you can grab it here:

That's the source code for the original id tools that I based mine on, and the multithreaded versions of LIGHT and VIS that I did. I don't know what's involved in making it Win32 happy, but I know that jimbo is working on a Linux version. 
Sound very exciting!!

Unfortunately, I feel the usual symptoms of a severe programming allergy starting to creep in!

There must me someone out there who is interested in making a win32 exe!!

If not, Q1 mapping in OSX seems even more attractive.
Well, I've done what I can. :) There's the source and I assure whoever looks at it that the multithreading in there works on OSX. It shouldn't be a huge hassle for someone to port it to Win32 unless multithreading on Windows is a complete nightmare. In which, you have my condolences. 
I Got This And Need Help Please 
BSP & Prefabs 
Hello, been lurking here for a while finally got time in RL to fart around with mapping and Ive started using BSP & that nice WC3.3 conversion. I like BSP better but it doesnt seem to remember what textures you put on prefabs. Ive been using the "Save Brush" feature I figured this was BSP's "Prefab Factory" equivalent. If there is something else or if anyone knows wether or not BSP will actually save tex info on prefabs please, please fill me in. I have been unable to find anything referencing this in the docs or in the cfgs.

Thanks in advance!

If You're Talking About BspEditor... 
The texture information is saved with the .bru file. However, if you then open that 'prefab' in a map whose pre-defined texture file (as defined in "worldspawn") does not contain the prefab's texture, BspEditor has nowhere to get the texture from.

If that helps... 
Possible Screw-up 
OK, I need some pointers here.

I'm working on a turtlemap which is like 80% done (no roofs and no monsters yet.)

My central area (a 1024x1024 atrium) shares the same sky with the surrounding corridors and rooms, because the roof construction is only made of a steel skeleton (no "shingles".) I'd like to keep sky visible and use sunlight.

So basically this is like a 1600x1600 area divided by some walls, and doors, and eventually probably inhabited by ~ 100 monsters - nothing more. Think Doom map with ceilings ripped open and 4 times the size.

How badly will something like this affect r_speeds?

Also, what kind of stuff apart from torches counts toward the static entity limit? ^^ I have a bad feeling there, too. This might combine into a gigantic mess.

It was my beginning concept though, large atrium surrounded by wide corridors with holding cells. Maybe this was faulty already, most maps have interlocking corridors and only peripheral outdoor areas.

It looked good on paper. Sigh. :-/ It's almost finished though, so we'll soon see anyway... maybe it'll serve as an example to others... :-/ 
Compile it and see if it runs in FitzQuake. Give it a full vis, and then when in FitzQuake type "r_showtris 1", to look at the mesh.

My visblocking is piss-poor at the best of times, but I know enough to know that you can get away with quite a lot when using a good glquake engine! IMHO. ..

As for there being about 100 monsters - this isnt too many for Quake by any means, so I wouldnt worry about that!

Try and block as many of the cielings off from eachother, think "If I put a sky-brush here, blocking this other part from view, will the player *really* be able to tell the difference, if they arent noclipping/flying around the map?". 'Vis-blocking' in this way will keep r_speeds down.

Try running the map in standard GlQuake or even software WinQuake, the original Quake executables. If it runs in them, I would say that its a reasonable statement that it will be fine in all other engines!!

Others will know better than me! ;-P 
Was Thinking... 
...100 monsters on the screen at once wont be healthy for Quake. AguirRes engine, yess, other engines, probably not....

...but who's crazy enough to put 100 monsters on the screen ALL AT THE SAME TIME?!?!? 
Basically what Ricky says - closing off the various sections into rooms that don't look like rooms because their ceilings are sky brushes - the player just assumes its all open space and not completely boxed in.

I mean using 'invisible' sky brushes with a skybox, basically. It works even if you have a pointed roof - put a wedge coming down from the topmost skybrush that meets its top edge. You have to find the best way to fake the visual effect.

Static entities are decorative objects - crucified zombies, func_illusionaries, flames, torches, light globes etc. But not lights, there's a few other exceptions as well.

The map is outdoor, as in lots of triangular faces? In a way that's easier to solve from a vis point of view (even if it's more work) in that you can just throw a dog-leg into a corridor that'll break up LOS more - in a brick or metal corridor you have to do more thinking, although wall pillars and corners help. 
I Am 
All the time, if it's less than 300 in view it looks desolated ... or limited by something ... 
Reminds Me Of That Kascam Demo You Sent Me! 
If the walls are high enough (while the player always stays down on the floor) and the rest is sufficiently visblocked, having only 'one sky' shouldn't be much of a problem. Vis time will be longer than with smaller sky units though.

Are crucified zombies static objects as well? I don't think so. 
Not Sure 
I managed to killtarget them in Nehahra, which should mean they're not, but I've heard alot of coders saying they are.

Another question would be does this apply to spawned models that don't necessarily have animation - Nehahra misc_objects, Quoth corpses and ID hacked bmodels.

I've never managed to decompile the QC and wouldn't know what it meant at first sight anyway. 
I Dunno About Nehahra Ents... 
...but the Quoth corpses, erm, I can tell you one thing: if you noclip outside of a map, you can still see the corpses (certainly in FitzQuake), whereas you cant see monsters/doors etc.

Hope this helps! 
obviously Quoth corpses are static entities... 
Quoth Corpses 
It's actually a bit more involved than that. The lynched and crucified corpses are static entities in quoth, and the flayed ones are dynamic - although the tutorial says all of them are dynamic. Changing them now would be a bad move for quoth2, as it might break existing maps by leaving them with too many static entities, or too many dynamic ones! So instead we now offer two spawnflags on such mapobjects. Spawnflag 1 will make them static, and spawnflag 2 dynamic. This allows you to balance your load of dynamic and static entities as you need to. It also extends to things like torches and flames. 
Sounds really cool!

When can I get it for WIP map, i.e. when is Quoth2 finished?

I mean, christ, I dont want it to be rushed, im just curious. 
Better Vis Saving Methods 
would be easier to judge if we saw the map, you can send it to someone on #terrafusion before vising (do you come/go there?)... Or if you can wait, over here... 
To Mike... 
Yeah I was talking about BspEd, been using the latest build. I am using the same wad I made the prefabs with. Its just taking the first non-animated texture in the wad and applying it to the entire prefab. Ive got everything set up in the worldspawn & whatnot. Drivers maybe? By now I am sure I am a version or two out of date with the nvidia drivers. 
Well, I'm not really used with dynamic vs static entities... so first: what are the maximum limit value for both of them ?
And as it sounds Quoth2 is progressing well, do you have an idea when it will be released ? I rely a little bit on Quoth2 for my next map actually... ;) 
The quoth2 content is basically done, we just keep tweaking things here and there. Although there isn't quite the same monster load in this release as there was for chapters+quoth1, there is a lot of peripheral content like mapobjects, plus a ton of code improvements and other 'under the hood' changes Preach has added to make everyone's life easier.

We could release any day, but I feel the mapping tutorial ought to be updated with all of the new content and features, otherwise there's no point in releasing; no-one will really know what's in the box.

But what do you guys think? Would you rather get the content now, and wait for me to incrementally update the tutorial over the next couple of weeks or so? Or just wait until I finally grind through it like last minute exam revision, so you can clear the first hurdles as soon as your downloads are finished? 
Well, having the pak without any explanations is not really helpfull for people, as nobody but the quoth2 team, knows exactely what's inside..
Well, it's up to you, but I'd rather prefer to read the "manual" before using new stuffs...

In anyway: it is a very good news !! 
I Reckon 
Take your time is better - there's always something left that you want to fix, rushing it at the last minute just means you leave in junk you'd normally sort out.

Writing the docs is a good time to take a breather and look at the whole project, rather than a collection of features under a microscope.

Thanks for the help so far. I sealed the map off with a makeshift skybox and compiled. I got "Too many portals on leaf" with (tyr)vis, so I hacked it and then it compiled.

R_speeds are around 3000 (fastvised) so it seems I should probably seal the areas off more (the sky I have now is just a box over the whole map).

I can close a few windows (no big deal probably) and I can do what Ijed et al. said and "fake" the openness. I probably will have to. I'd prefer a fast map.

Neg!ke, my walls are 256 units high right now IIRC. Without roof stuff. That seems to not be enough to block VIS.

I'll do the invisible skybrush thing.

I don't know if I breached any limits right now, because I run the map in my hacked copy of Tyrquake. ;-) the one that runs Marcher etc. so I wouldn't know. I have a LOT of torches though and there will be corpses. No more than 30 or 40 monsters will be visible at a time.

Louis, I have metal corridors (this is not the grotto map) and doglegging them would be a bit problematic... the outdoor parts are all triangles, yes (compiled fine). I'll close the windows for a start. I'll send you the map soon so you can take a look at it. ;-)

Some more questions arose:

1) How to make a func_train stop at a path_corner and wait to be retriggered? My .def file is rather sparse with comments, I tried spawnflags 4 but it didn't work.

2) My GK door makes the key sound when opening (this is Quoth) but the SK door doesn't. Both are standard two-pane doors and both panes have the relevant key spawnflag set. It's a bit strange.

3) The "angle" key on trigger_once seems to do nothing? No matter what I set it to, the trigger is always activated by touch, regardless of the direction the player moves. Does this even work? I used a value of 180 (due south) but it acted as always...

I checked #terrafusion once but everybody seemed to be away? I'll look into it.

Kell: I'd prefer full documentation, even if it takes longer. 
Sorry but I'm abroad for a little while and as I didn't bring my Quake laptop with me, I can't check things.

Might be worth posting a note on the BspEditor website, he always has answered me quickly.

If not, I'll pick things up when I get home. 
Please find answers to your question embedded below:

1) How to make a func_train stop at a path_corner and wait to be retriggered? My .def file is rather sparse with comments, I tried spawnflags 4 but it didn't work.

It is not possible without any QC hack of the func_train / path_corner. If you add a wait -1 to the path_corner, it will definitively stop the train, and there's no way to restart it... If I remember well it has been already asked in this thread last month... BTW: Kell, will it be a new Quoth2 feature ?

2) My GK door makes the key sound when opening (this is Quoth) but the SK door doesn't. Both are standard two-pane doors and both panes have the relevant key spawnflag set. It's a bit strange.

I never noticed that in Quoth before... effectively this is weird... I'll check that at home this evening, and I'll come back to you to confirm it.. maybe it is a real small bug...

3) The "angle" key on trigger_once seems to do nothing? No matter what I set it to, the trigger is always activated by touch, regardless of the direction the player moves. Does this even work? I used a value of 180 (due south) but it acted as always..

trigger_once angle field is effectively useless (AFAIK). No matter the angle you set, it will react as you mentioned it: I also experimented this behaviour.. so you can remove it, or put whatever value you want: it will work in anyway ;)

I hope it helped a little bit :P 
Fastvis doesn't tell much. If the map is really that small, try a fullvis and see what it's like.

The angle field does have an effect on triggers: it makes then only fire their target when the player touches them looking in the specified direction. It's only useful in very few particular situation but should be avoided in most cases. 
Kell/Preach - That sounds exciting, I have a 'virgin' map you see, the world is about 50% done and I'm kinda hoping to be able to knock a bit of Quoth2 magic into it! So far it has no monsters/weapons or anything except for some machinery, one door and an elevator and a few lights.

I was just curious about the timescale you guys were on, cause I remember you saying at christmas that it was nearly finished. I am by nature horrendously impatient! If it was going to take a long time, I would proceed to fill the map with Quoth1, but if all were left waiting for is a manual then I think I can wait!! :D

Please dont feel rushed by us people (well, me) take your time, please dont release it until you are happy with your creation, as I think everyone will be happier with a finished Quoth2! Patiently looking forwards :-P

Goldenboy - Have you tried AguirRes engine to run your map? I can guarantee that it will run your map! It also will tell you if you are over certain limits when it loads the map. My map 'The SickBase' was, in its released state, well over four of the hard engine limits for Quake1. My last map "The Hand" - I tested it in FitzQuake, but it was tailored to be touching a couple of the engine limits, and AguirRes engine was a real godsend!

I would also recommend his Vis too, as it saved my ass a couple of times, and frankly, now, I wouldnt use anything else!

Could you perhaps post a screenshot of your map? From an angle where you can see the upper section of most of the map? The idea of putting a massive skybrush over the entire level sounds like something I would have done when I started out, but nowadays I think I would spend a little time adding smaller sky brushes, to waste as little space as possible. This could save on speeds/vis times.

It would be easier to see what your facing if you showed a screenshot, perhaps noclipped out of the map, with gl_clear 1 on the console.

That is unless you are sworn to secrecy! 
"It is not possible without any QC hack of the func_train / path_corner. If you add a wait -1 to the path_corner, it will definitively stop the train, and there's no way to restart it... If I remember well it has been already asked in this thread last month... BTW: Kell, will it be a new Quoth2 feature ? "

This is true. It's not possible, AFAIK. I wrote some QuakeC that gives me a custom "func_mover" class that WILL do it but it's not part of any mods I know of.

However, if Preach would like to include it in Quoth2 he could send me an email. The code is real simple. :) 
Btw Kell / Quoth2 
Which new features are in exactly? I'm not interested in new overpowered monsters, but rather some new triggers/funcs and additions to existing ones. Those are the things that make a pack like Quoth useful. 
Re-movable Trains 
Are in Quoth1 
From the description it sounds like the windows are the problem. Just put a brush inside that's a window pane ie. glass texture, which should solve everything, although it'll change the look a fair bit as well since almost all window textures are bright + colourfull. 
I solved the train issue, Quoth seems to already have this indeed. You just set the path_corner to "wait -1" and check spawnflags 2 (apparently TOGGLE, just x in my case) on the train. Thanks Quoth guys.

The angle on the triggers definitely didn't work. I'll use something else.

Ijed, I'll just close the windows because I learned that monsters got activated when I didn't want them to, and this kinda sealed it for me. Problem--

Huge skybox: This was just so I could compile it for playtesting, I'll probably seal off the areas from each other now.

Will try a fullvis today.

AguirRe's tools & engine: Windows only, which is why I hacked Tyrann's already liberal ones. I have a stock Proquake 350 for testing the limits though. :-) atm I'm more concerned about roughly finishing it, then I'll take to the limits stuff.

Key sound issue still unresolved.

New question: I have a powerup (cross) on a func_train, which is supposed to raise the item out of the water/lava when triggered. This works with monsters, but not with the cross? The train rises when triggered, but the cross sitting on it doesn't. Does this just not work with items?

Screenie forthcoming. 
I considered doing that, was a bit leery since I have been hasseling him with noobie questions already. I figured I would ask here & do some forum dredging to see if its been covered before in the past since I have a couple days off. I suppose its not a huge issue really, more of a nagging question.

Thanks, Fatty 
the directional trigger - on the "teaching old progs.dat new tricks" thread, wasnt there a way of 'activating' trigger with another trigger, so it wont fire until another trigger triggers it? It wouldnt be directional, but I think maybe you could use it... 
About your 2nd question (i.e key sound when opening SK/GK), I checked it and it generates no sounds, except door opening sound... I'm in worldtype 2 (base)... and maybe it doesn't work at all here.... though... 
Triggers with angle do work the way I said. Try different angles or touching them while moving backwards and you'll see.

Is the powerup suspended or does it drop to the floor? It has to be placed above the spot the func_train will apprear in-game (first path_corner) and it should work. If it doesn't rise with the platform, try placing it higher above. 
Triggers And Angles... 
note: angle 0 won't work for this, use 360 instead (quakec treats a "0" value in a map the same as the value not being set at all.) 
direction dependent triggers: just tried this for both trigger_once and trigger_multiple:
"target" "silver"
"angle" "270"
works fine.
I suspect this: regardless of the direction the player moves is the misunderstanding. The angle specifies that the trigger only fire when its value matches the player's direction of facing, not their direction of movement.

key sounds: it would hep if you told us what key type you're using. If it's the quoth 'elder keys' then neither gold nor silver makes the key sound along with the door sound when used. I guess this was a deliberate decision to prevent the much more intrusive key sound from drowning out the door sound, though I can't honestly remember.
I tried out the other keys in appropriate maps and got the correct sound with all of them.

falling cross: I think this is a quoth1 error, caused by changes to the func_train that has them spawned in a map after items, instead of before as in id1 progs. I think. 
also, what metl said about 0/360 :P 
All right, thanks for helping.

Key sounds: Worldtype 1. Hm, if it works for you Kell, then it's probably my fault. JPL: Were you using Quoth? If so, I'm certain it should play key sounds when opening base keydoors. It does in one of my maps. Standard Id1 does _not_ play those sounds although they're in the pak files.

Angle triggers: Same. Anyway I changed all of them to info_notnulls so they, in turn, wait for another trigger. Works even better for me. (What Ricky said.) I knew about the 0/360 thing, but I couldn't get 180 to work either. Whatever...

Falling cross: I'll have to find another way then. Hordespawn can spawn items, right? That might work.

oh umm, JPL, I think Quoth1 doesn't have the key sound thing. :-P sorry, mess-up on my part. 
It's not a good idea to use hordespawn for items in quoth1, as it will probably break your monster count on the map. This is fixed in quoth2. 
Gb: No Problem ;) 
I indeed tested your issue with Quoth1 ... I didn't understood you weer beta testing Quoth2 :P

And I'm also waiting patiently for Quoth2 release, as there's no hurry on my side as my project is half completed regarding brush count... 
Yes, It Is!! 
That just makes me wanna do aliens Quake levels again. Make sum, I mean! Played Rubicon last night for the first time. I thought it was quite 'Alienesque'. I suppose my current map is a bit alien style. I'd like to think so. Theres something about creeping around dark techy corridors, exploring at the same time as looking out for nasty beasties! Hehe - new map will have SSG, SNG, PG and GL. They all fit that sort of style!

S00ry - I diverge.... 
Good to know. That'll do then. 
Sound Switching On/off.... 
Question: is there a way to swith on off sounds in Quoth ? Example: I want an alarm sound to start using a trigger (this one is supported), but if I want to switch it off, I don't know if it is possible (using a toggle field, etc...).. Any clue ? 
.MAP And .WAD File Locations 
A user on my blog has come across something which I'm not 100% sure is a problem. What do you guys think?

He saved his maps and wads into another directory on his machine, seperate from Quake. When he went to compile it, ToeTag crashed on him and he couldn't re-open the map.

ToeTag, at this point, requires your MAP files to be in "id1/maps" and your WADs to be in "id1/gfx". Is that unreasonable? Do other editors allow you to keep files wherever you feel like on your hard drive? 
Oh, and of course you can use mods. Like if you're using Quoth, then "quoth/maps" and "quoth/gfx" work fine. 
Yeah That's Kinda Unreasonable In My Opinion 
Neither .maps nor .wads (map texture ones at least) are ever used by the engine so there is no need for them to be anywhere special. 
OK, fair enough. That's something I didn't consider when initially writing the editor since that's not how I personally work (I just use the maps and gfx directories).

Will fix for version 1.0! 
I Think 
you should require the string "toetag" in the editor path and "quake" in the compiler and "maps" in the map path just to be sure that ... that what?

But yeah, seriously, allow people to keep their wads and maps and bsp:s anywhere. Someone could make a map for a mod that is named start.bsp so it definitely needs to be in the right subdir to work. 
Anybody Would Consider... 
... to answer #6943? 
1. Trigger a play_sound_triggered

2. Trigger a trigger_relay, which killtargets the play_sound_triggered after "delay" seconds

That's just guessing though, I didn't try it. 
JPL To #6943 
One way to do it
(starts a loop)
target soundplayer
targetname soundplayer
delay # (slightly longer than the sound)

targetname soundplayer
speed -1 (same volume everywhere in level)
noise misc/alarm.wav

killtarget soundplayer

I dont't see a way to toggle. Have to use another loop 
Gb / Mechtech 
I already tried to use a killtarget, but it did not stop the sound... also, if it would have worked, I doubt I would be able to restart the sound again, like a toggle...

I think there was a trick somewhere (except QC).. Anyway, thanks for the inputs...

Kell: is it something added in Quoth2 ? 
The trick is you need to make the entity play a different non-looping sound on the same channel.

How you do this in quoth I don't know. 
...didn't Mr Woodham get togglable music happening in his last masterpiece (which used Quoth)? 
Was it based on Quoth, but with some QC modifications ? 
It was its own thing, with Quoth included. Having said that I had this working in Quoth1 - warpb. The rune shrine has a looping sound activated when you enter (the chanting) which is kill targeted by the death of any one of the enforcers / defenders.

I can't remember how I did it but it is possible with standard Quoth1 entities - mess with the entity set for long enough and you'll get there. Or else you can download the source from shub-hub, the 7zip password is the name of the pack in lowercase, without a space. 
spawnflag 1 = toggle 
That's The Bunny 
Whats The One 
for getting blood out of stones? 
Toggling The Music... 
...was done as czg said - I simply played a nul.wav on the same channel if the user pushed the button. (It also re-set the music player queue to the same piece of music so that if the player pushed the button again, the music.wav played again and re-set the music queue to the nul.wav etc) 
Thanks for the infos ! I'll try it ASAP. 
Don't forget that I was doing this in my own FMB progs.dat, not Quoth and not the standard one.

If you want more details of my music_player module, let me know. 
Oh... OK, I have to test it.. maybe it does not work with Quoth.. Let's experiment ;) 
The Forge? 
Anyone got a valid link to this site? It used to have some nice downloadable tutorials for setting up alot of the hipnotic entities. Specifically the Force Field ones, Id like to add these to a map I am working on and so far have not figured it out on my own.

Thanks, Fatty 
The Forge: The Legend Continues. 
The old link is dead. However I located an archived copy of the site. Enjoy 
The Forge Is Still There 
at least for me, but PQ sites sometimes play hide and seek ... 
Docs and example maps for Hipnotic stuff. 
QuakeC Question 
So I'm hacking around with some stuff and have a question. I know QuakeC isn't object oriented so you can't call methods within entities but at the same ... man, that would be handy.

I find myself setting up stuff like changing an entities think function to point to a function where I can do something to the entity and then it changes it back to it's regular think. This works but it feels ... hacky and smells bad.

Is there a more elegant way to call functions on an entity that you've just spawned (for example) than this, or is this the only way and I'm wasting time benig annoying about it?

For example, say I have an entity that spawns a monster_army. I then want to call a function on that entity. This is how I currently do it:

myentity = spawn();
myentity.think = monster_army_myinitfunction;
myentity.nextthink = time + 0.01;

And then monster_army_myinitfunction will get called next frame. Which works. But it smells bad. Is there a better way? 
Would something along the lines of this do the job?

local entity temp_self
myentity = spawn();
temp_self = self;
self = temp_self;