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
Although what QMaster posted will work, you can make it a bit more user-friendly using spawnflags. This will make it so that mappers can switch between solid and not using a tickbox. The code you want is something like:

if(self.spawnflags & 1)
self.solid = SOLID_BBOX;
self.solid = SOLID_NOT;

The part in the bracket checks if the first spawnflag is ticked, and the second line only happens if that is true. The fourth line only happens if the box is not ticked, because of the else keyword.

If you want to use a different spawnflag (maybe for another feature), it's worth knowing that the boxes are numbered in a surprising way:
and so on, doubling each time. So if you want the feature to be controlled by the fifth spawnflag, you would change the condition to

if(self.spawnflags & 16)
E1m1 Door 
So is there a tutorial/.map file I can shamelessly copy paste from to get the horizontal opening doors from e1m1? The base style ones. Seems like very complicated brushwork. :[ 
You can get the original map sources here: 
Newbie Question 
just started making quake maps using J.A.C.K. a couple days ago and for the most part I've been able to figure out stuff on my own, but I'm having trouble with func_trains. I'm trying to trigger an event where a platform with a monster on it rises up from the floor but using func_train isn't working the way I want it to. I created a trigger to move my platform) from corner 1 to corner 2 but whenever it reaches corner 2, instead of stopping, the platform just disappears and gives me an error with a bunch of information abut the train.

I'm wondering if there's another method for this kind of thing or if I'm just doing it wrong? 
Have corner 2 target corner 1 but use "wait" "-1" to stop it permanently. 
awesome, thanks 
You really should learn by doing it. It's really not that hard and you'll learn a lot about whatever editor you are working with. Hint: use the clip tool.

Copy and pasting brushwork is weak (unless it's for a Speed Map and you've done the same creation before, which I think is fair.)

Challenge yourself, when you succeed you'll be a better person. 
How To Clip A Base Door 
...using Trenchbroom. 
I missed a brush (see if you can find what I did wrong) but hopefully you'll figure it out on your own. 
How To Clip A Base Door Revised 
Sorry for all the posts - this is a revised video.

I need some coffee. 
Fullbright Textures In Trenchbroom 
Just started mapping a few days ago, and have become hopelessly addicted. Oops. I can't figure out how to make a fullbright texture. is there a way to do so?

Thanks in advance. 
why do items placed in the editor sometimes not show up in-game? like I'll try to place two ammo boxes next to each other but when I boot up the game one of them isn't there. 
Theyre too close together. Move them apart and theyll both load. 
You don't make textures in TB actually. You can create textures in Wall or TexMex and most likely QuARK.

General info here: 
It's also possible to make any texture technically fullbright by turning the brush it's applied to into a func_wall and using the necessary (and usually compiler-dependent) entity fields to make the func_wall still cast a shadow and be lit properly on the other faces, but have the one face you want ignore lighting and display at a constant brightness.

Granted, this is only really a solution for smaller details (computer screens, gauges, eldritch runes, etc) as turning giant parts of an actual wall into func_walls so you have holes going everywhere is generally not a great idea for vis time and framerates. 
AD Func_breakable Via Trigger 
I made func_breakable to the my AD map, then connected trigger to it. Breakable object has breaks by trigger, but also player can make breaks it by his weapons.

How to make a ban for the break object by the player's weapons? I can make greater health value (eg 65000), but is there any other way? 
Set the spawnflag to 2 (= nodamage) so player can't damage it. 
More Questions - Make A Brush Give Off Light? 
After some though, I realized that making the texture fullbright isn't the solution to my problem. I need to make the brush (some lava) give off light.

Is there a way that this can be done? 
Haven't tried this functionality myself yet, but ericw's compilers seem to support this kind of surface lighting : (check bottom of the page.)
Not sure if it'll work right with a large surface. 
Thanks mate. 
I Really Need Help With This.... PLEASE 
Okay so I have a room that is going to turn of all the lights once u pick up the key. Then it will teleport 3 monsters, every 3 seconds from 3 different spots until it has teleported all 9. The lights wont come on until you kill all 9. The problem is, the first 3 monsters teleport in just fine... yet the next 2 pairs teleport in at the exact same time... even though I put a delay of 3 seasons on the relays. They teleport in after 3 seconds, but the 3rd wave instantly teleports in and doesn't delay for some reason- instantly killing the 2nd wave. Any ideas guys? 
Did you accidentally set the third triplet of trigger_teleports to have the same targetname as the second set? Also, uploading the .map file often helps people diagnose what's going wrong. 
I'll Take Guesses In ALLCAPS Below 



target|wave3 (SHOULD NOT BE wave2)
delay|9 (SHOULD NOT BE 6)

Maybe? Hard to tell without the .map file. 
Ad - Particle Effects 
So the stock misc_particle effects available in the AD fgd are usable in the sense that Quakespasm/Mark V will see a particle style effect, and Darkplaces/Quakespasm Spiked will see a Darkplaces style effect.

Each predefined defined misc_particle has a corresponding Darkplaces style effect that will be seen in QSS/Darkplaces. However, if you make a particle_template and create your own effect using various particle sprites, is there any way to see this effect in QSS/Darkplaces?

It seems the only thing I can do is attach a dpp_name (eg. DPP_ITSPORTALSIDE) and substitute a Darkplaces effect for my custom effect. The custom particles will not appear in Darkplaces or QSS. This is what I did in ad_paradise.

Is there any way to see a custom particle effect in QSS or Darkplaces? 
Entity State System In AD 
I tried to use AD's entity state system in my map for disable (NOT remove from world) and later re-enable func_plat. But I get a not working func_plat already when I starting the map (before the player touches the trigger, which disables the my func_plat) :( And removing all added enititirs couldn't help to fix it problem.

How to right use state system for disableenable func* enities. 
If your func_plat has a targetname, it needs to be triggered first. 
Thanks. I enabled the flag "start lower" and it worked, 
Bah, To H*ll With It... 
@#19191, I will answer my own question:

No you can't see a custom particle style effect in QS Spiked or Darkplaces. Unless through the action of some obscure cvar I don't know about.

In this case it is pointless to use the particle_template system, as probably no one will see the effect. With the release of QS Spiked and the popularity of Darkplaces, I consider it a worthless novelty to use this effect.

Just going to go with the included particle effects that work across all source ports. Back to mapping... 
Impact Of Texture Scaling On Lighting 
Since I'm no texture artist I try to use textures from an online source which start really large(1024X1024}. If I convert to the Quake palette and then shrink down to 128X128 they of course look like poop. But 256X256 is often doable.

Thing is, then in the editor I have to adjust scale by .5(X and Y) to get back to 128X128. I've read that scaling up is bad but scaling down also has an impact on the lightmaps correct?

My questions are: How detrimental/noticeable is this to gameplay and is there a way to have the lightmaps not affected by texture scale? 
Depends On How You Want It To Look 
It might not look too bad if your scale is something like 0.75, 0.5 should be noticeable. If, however, all the textures in your level are scaled to 0.5, then you are fine.

Half-Life 2 used all the textures scaled to 0.25. Wierd huh?

Not sure if lightmaps would scale down with texture gut instinct is no. 
A texture scale of 0.5 also doubles the lightmap resolution; they're linked by a hardcoded ratio of 1 "luxel" (lightmap pixel) : 16 texels.

The other side effect is qbsp chops faces on a smaller grid as you lower texture scale. e.g. on large surfaces, a texture scale of 0.5 will create 4x as many faces (2x on each axis) compare with texture scale 1. You can see this with r_drawflat 1 or r_showtris. 
Thanks For The Replies 
Title says it all ;) 
Does this mean you could get better resolution lightmaps by scaling all of your textures to say, 0.5 and them doubling the texture resolution?

Someone should make a tool to do that automatically. I'm sure having way more faces is no problem for even semi-modern GPUs. 
More Faces? 
1. on surfaces with tiled textures, do the faces get broken up to a 1:1 texture ratio such that for every repeat of the texture there are 2 tris? In otger words, a 10 times tiled texture on a large wall, for inatance, has 20 tris minimum?

2. Are faces sharing textures technically submeshes or part of one total mesh fir the level?

3. Does each texture require a separate mesh (VBO I suppose) sent to the GPU? 
1. AFAIK the reason surfaces are split up is to do with the internals of the software renderer and how it blends the lightmap and texture (the surface cache). It's not about texture repeat; one tri/quad/etc. can span multiple repeats of the texture both in software and GL engines.

2/3. I guess it depends on the engine. What Quakespasm does is store the vertices / texcoords / lightmap coords of all BSP faces (main map + submodels + external .bsp files) in one VBO which is sent to the GPU at map load time. To draw a face, it sends the indices of the vertices that make up the triangles that form that face. These are grouped into batches of texture and then lightmap texture. They are separate draw calls, I'm not sure whether these are considered meshes. 
Re: #1

Large surfaces are divided every 240 texels in each direction by qbsp. I think this is because 16x16 is the max size of a lightmap, and if you put a sample at t=0, and another sample every 16 texels, the 16th sample is at t=240. 
unlike vanilla, quakespasm should allow -subdivide up to 1984ish.
fte+dp go up to 4080ish.

such sizes can hinder lightmap atlasing, so its probably best to keep them somewhat sane in size.
this is especially true for weird shaped surfaces where much of the block isn't actually used - more divisions doesn't always mean more lightmap data. that said, if you've a lot of 256*256 texel surfaces and you're targetting at least qs then bump the subdivision size by a little, to avoid those 256*256 surfaces getting split into 4 separate surfaces. 
Trying To Understand The Grid... 
Maybe some or all of these questions are laughably basic, but I don't know the answers and I'd like to.

--> Is it important always to stay on-grid in Quake? (I don't mean as a rule of thumb or as a general guideline for newbies, but really always.)
--> If so, why exactly/ If not, then when is it important?
--> And does it apply to modern compilers and engines, or is it something that is (partly?) related to the limits of the original compilers and engine?
--> And does it apply to e.g. detail brushes as well as worldspawn?
--> What is the practical difference between on- and off-grid brushes when compiling and when playing?
--> And finally, what does staying on-grid actually mean? Is it that each brush has to have all vertices on-grid, or is it enough if e.g. four out eight vertices are on-grid? Is it relevant whether brush faces pass through points of the grid? 
early exporters always rounded coords to the nearest unit. modern stuff doesn't really require that, but legacy and all that... probably your map editor has an option in its export settings. note that rounding could uglify various maps...
the vanilla qbsp truncates on load, rounding towards 0 instead of to nearest.

rounding verticies to the grid also means you can avoid floating point precision problems that result in micro-cracks and associated leaks that prevent the map from being vised, in such a way that can be horrible to track down.
this also goes for axial surfaces too, of course.

rounding verticies is one way to avoid excess texinfo entries in the final bsp. note that this is really more of a size thing than any real performance issue. note that this is only really an issue with 'valve' map files. quake's vanilla texture alignment stuff sucks enough that they'll all get merged regardless.

note that constantly converting from/to verticies and planes will accumulate inprecision. rounding avoids that.

the engine itself doesn't really care if something was on or off grid - it can bug out regardless. The engine internally uses 1/8th precision for standard networked coords (though recent engines have [optional] support for full floats). either way, the server physics is always full floats.

so yeah, the only real issues are
1) accumulation of inprecision.
2) cracks (which have many other causes, so why care?). csg carve sucks anyway.
3) old editor/qbsp compat.

or something. I'm really just making this stuff up as I go. Here, have a pinch of salt. 
From a purely design viewpoint: Its good practice to stay on grid. I'd say a majority of us build on grid but there are some out there who dont. MFX's ad_swampy has a lot of off grid arches. 
The engine internally uses 1/8th precision for standard networked coords (though recent engines have [optional] support for full floats). either way, the server physics is always full floats.
The weirdest glitch I saw due to off-grid was in ad_swampy and due to this.
An item_health was dropped to the floor (which happened to have an off-grid Z height), then going through the 1/8th precision network moved the mdl into the floor. The mdl rendered black as a result, because the traceline to sample the lightmap started underneath the floor. 
Apparently I've Been Doing It Wrong 
I've been mapping for around a month now and I just remembered what levels are supposed to look like when you noclip out of bounds. they should look like this but mine looks like this
I honestly have no idea what that's called (if it has a name) or if it's even important yet but I'd like to know how to do it. 
Check Those Corners! 
You've got a leak in the level someplace and qbsp isn't doing its job properly. Basically, the 'play area' of your level isn't completely sealed by the geometry and you've got a gap someplace allowing the playable area to 'leak' to the outside void. This makes the compiler unable to tell what parts of the level should be cut away (normally brush faces facing the void are removed, leaving only the inward-facing ones that the player will see), and it'll cause vis to not work properly so the larger the map gets, the slower it will run.

Just looking at that screenshot, an immediate leak is right in the middle, where the double doors are (assuming you've already made them func_doors)- entities don't seal the map, only solid geometry, so until you build an enclosed area past that doorway, the map will leak. 
Could You Dumb It Down A Shade? 
Thanks, spike, ericw and mukor for your responses to my questions.

There's a lot in Spike's answer I didn't initially understand and I had to look up a few terms. I think I have a better grip on it now, but there are still a few technical terms I don't understand, despite searching around on the internet. In particular, the part that ericw also quoted,
The engine internally uses 1/8th precision for standard networked coords (though recent engines have [optional] support for full floats). either way, the server physics is always full floats.:

What is "1/8th precision"?

What are "standard networked coords"?

What does "server physics" refer to? (As I understand it, the client/server thing is central to how Quake works, but it's all completely mysterious to me at this point; I don't understand what clients and servers have to do with single player Quake.)

Embarrassingly, I'm not even clear on what "full floats" mean. As I understand it, integers are numbers like 1, 15 or 123, with no additional fractions, whereas floats are numbers like 1.05 or 1/4, etc. (not entirely sure if I understood that correctly, though. I tried reading up on floating point arithmetic, but it was like trying to read a foreign language).

If someone could shed some more light on the above, I'd be very grateful. 
1/8th precision means that the coords are multiplied by 8, rounded, and then networked (as shorts). This is what results in the 32767/8=4096 +/- maximum bounds.
This is often described as 13.3 fixed point precision - 13 bits above 1 (including the sign bit), and 3 bits for precision below 1.
or in other words, there is a precision of 1/8th quake unit over the vanilla network protocols. that's what's meant by 'standard network coords', because its the lowest common denominator.
note that vanilla rounds coords towards 0 (because integer rounding truncates). whereas a couple of engines round to the closest value instead, because its slightly more precise. yay differences.

server physics is stuff moving around serverside. all the logic in nq is serverside, so there's none of the 1/8th rounding stuff going on.

'full float' means that it just uses 32bit single-precision ieee floats without any annoying extra rounding.
[side note: many gpus support 16bit half-float types nowadays, because gpus are cheap]
note that floats concentrate their precision around 0, the further away your coord gets from 0, the less precise it gets. They're weird in that they're expressed as an exponent, with 1 raised to the power of 8 (signed) bits, then multiplied by 23 of the remaining bits, with the final bit being used for sign. Which is annoying, because it means floats have -0 as a separate value from +0. Of course, the actual logic behind them is typically irrelevant, just remember that any time the exponent changes then the precision that can be expressed also changes.
Whereas 13.3 fixed point has linear precision, and within the 16bit confines of the inner map, floats will still have more precision than can be displayed, so yeah, you won't notice any issues, but the qbsp might if things are non-axial. 
Laymans Terms 
Floating point numbers are essentially numbers with decimal olaces. When people talk about precision, they're talking about how mamy decimal places are stored by the computer.

The more places you store, the more work memory required etc, especially with older computers this could really affect performance, so Quake and other performance focused applications would store as few places as possible to get by.

The side effect of this is that you lose data by reducing the number of decimal places you store. That means that movement is (very subtly) less precise and, in the case of level compilers, data could br thrown away compared to what was actually in the source file.

Hope that helped a bit, and wasn't too incorrect. 
and since no one directly commented on this "I don't understand what clients and servers have to do with single player Quake."

Quake single player is still played on a "server". My guess is this is because of coop. 
Thanks For The Responses 
Spike, thank you for once again answering very extensively. I'm struggling to understand all of what you wrote, because it introduces several terms and concepts I'm not familiar with at all, but I've read it a few times now after reading (and trying to understand) Wikipedia entries on the respective terms and concepts, and it's slowly starting to make a little bit of sense. Unfortunately I have no background in programming or coding, which would make things easier to follow.

PRITCHARD, thanks, that helped a lot.

mukor, thanks, I kind of figured that it's something like that, but it still doesn't really make sense to me. In what sense is the "server" a server, and what is the "client", when you're playing on your own and unconnected to any network?

server physics is stuff moving around serverside. all the logic in nq is serverside, so there's none of the 1/8th rounding stuff going on.
So where is the rounding happening, if everything is serverside? Sorry, I'm not sure if my questions make sense. I'm really having difficulty understanding all of this. 
Client/Server Architecture 
There are certain parts of Quake that are managed by the "server", and so even when you're playing offline what is happening is that the game launches a server inside of itself to handle all of those components, and then the client "joins" its own server.

I'm not sure exactly what parts of Quake are and aren't server side, but movement definitely relies on the server, for instance. The client is basically in charge of rendering and not much else, actually.

I think the game is built in this way to reduce workload for the developers, as it saves having to duplicate work that was already done. It's harmless to run a server inside of the client - it even comes with benefits like "listen servers", where the client's internal server is opened up to the internet and other players can join without you needing to run a separate application.

I may have rambled a bit this time but hopefully I have rambled correctly... 
Server runs the main game.
Clients connect.
All games are ran with a "server" due to design for coop.
Server handles stuff like physics, positions, velocities, monster kills, etc.
Client handles rendering of monsters, particle effects, HUD, etc. Anything that shouldn't be sent over a network (mostly). 
Yeah, and most (probably all?) networked co-op games are built in a similar way. Like you say, there's no harm in building a game this way even if its singleplayer sessions use the same framework since latency is non-existent on a locally hosted game.

There's probably a nice flowchart out there somewhere from a Carmack or Abrash talk that breaks down exactly which parts are on the server and which are on the client in Quake engine games 
"There's Probably A Nice Flowchart Out There Somewhere" 
Thanks for the tip! I think I've found it.
Here is the text that goes with it:
Quake’s 3-D Engine: The Big Picture by Michael Abrash.

Going to have to read that very carefully; hopefully it'll clear several things up for me.

Thanks for your responses, PRITCHARD, Qmaster and Blitz. 
From Savage X 
New Monitor, New Colors

Posted by SavageX [] on 2017/11/30 19:49:12

Hi there,

I got a new monitor - nothing fancy, just a more "professional" (nicely adjustable pivot/height/angle) 24" Dell office thingie with an IPS panel, switching from an old 19" monitor with a TN-panel.

The colors happen to be much more vibrant/deep (not surprising - it's an IPS panel) - however, Quake looks much darker overall compared to what I'm used to. That's nothing that can't be "fixed" with an adjusted gamma setting (and I may end buying a colorimeter to properly adjust the monitor), which can give me nice, vibrant colors and a dark/light contrast I consider proper.

For me, this raises following questions, though, which are not strictly tied to my particular setup:

- As a player, are there any rules of thumb as to how Quake is *supposed* to look like? Is there any point beyond "just adjust it to your liking"?

- As a mapper, how can I make sure the lighting in my maps are okay for a wide range of recipients? My current strategy would be "adjust the display settings until the base game looks good. If my own maps look good with these settings as well, then everything should be fine".

How do you guys deal with such issues? 
On the second point, I think if you're confident of your colour accuracy, you should adjust your settings to make sure the base game looks good and then base your lighting on that. That doesn't hold true if you're using a bad monitor, as you might end up making maps that are too dark because you cranked the brightness. 
Do A Survey: What Brightness Setting Do You Use? 
I always have the brightness all the way down or one tick higher than lowest. On occassion I'll have to raise brightness for a particular custom map, but most of the time I enjoy the gloominess.

I may be biased since bright lights hurt my eyes anyway. 
r_gamma 4
r_intensity 2
r_overbrightbits 100
r_vertexlight 1
r_picmip 100 
r_gamma 4
r_intensity 2
r_overbrightbits 100
r_vertexlight 1
r_picmip 100 
Relatively sure they were talking about Quake 1, not 3. I've wondered a similar thing myself and haven't been able to find a good answer; personally I left everything at default except gamma which is at 0.9 (no idea what the default here is, assuming 1 but that's nearly dark enough you have to squint on my monitor) but sometimes raise it up because every map is a bit different. Any lower (brighter) and most maps including id1 become a lot lighter than they probably should be, although I'll admit I haven't fiddled with the contrast cvar introduced with Quakespasm 0.93. 
Is it possible to turn a light on and then off again (without custom progs)? 
Or rather, how does one do it? Because I just remembered that at least one of the maps in this pack does exactly that. 
You mean just toggling it on and off? Give it a targetname and trigger it with a button/relay/trigger_once/whatever, works the same as a door or anything else you can activate. 
Thanks, Spud 
Oh, that seems fairly simple. It didn't seem to work the first time I tried, but I probably made some silly mistake somewhere in my setup. Thanks! :) 
Forgot to add, it'll only work if it's a standard light ('always on' light style): in vanilla Quake, a switchable light is its own 'style', so you can't turn on/off a light that uses anything but 'always on' (style 0), i.e. strobe, flicker, or candle. 
Thanks For The Extra Info! 
I'm guessing it doesn't apply to light entities that include a model, right? As in, you can't switch a light_flame_small_yellow on and off ... or can you? 
Unfortunately not, the two you can toggle are standard light and light_fluoro (the one that goes bzzzzz- turning off the light doesn't turn off the sound). You can check the qc file that includes lights ( to see those are the only two that support it; notably this means that aside from the lights that include models, the light_fluorospark entity also can't be toggled, despite being the same thing as _fluoro except it goes 'fzz-tzzt, fzt fzt fzt' instead of 'bzzzzz.'

If you really need more options, IIRC the Quoth mod/entity pack includes a bunch more options for entity states including lights. 
Thanks very much for clarifying.

If you really need more options, IIRC the Quoth mod/entity pack includes a bunch more options for entity states including lights.

Thanks, I assumed Quoth/AD/Rubicon2 would open many more possibilities, but I'm deliberately sticking with id1 for the time being. 
You could place the light_flame_small_yellow and give it a light value of zero. Then next to it have your switchable light entity. Easy hack. In vanilla those don't flicker so no one will ever notice. 
I guess the sound *will* still play... duh. However, you could fake it by having an inaccessible area nearby with a light_flame_small_yellow "motivating" the sound. Think of a crack in a dungeon wall that spills a sliver of light on the floor. That kind of thing. 
Thanks For The Tip 
That's not exactly the kind of scenario I'm going for at this point, but I'll keep it in mind for future reference. In the mean time I think I've found a different solution ... but I need to play around with it some more. 
Mcache 2047 
anyone got any tips for lowering the number reported by mcache? My Christmas Jam map won't load in anything except Darkplaces right now (yuck) :(

I suppose I should reduce the number of breakables in the map, but that almost seems a shame... So any tips? 
does darkplaces's "mcache" command print the list of models like QS's?
The ones with a "*" prefix are submodels of the main bsp, i.e. func_ stuff in the main map. The other things in the list will be the unique mdl's and sprites precache by the map.. so e.g. if you remove all monsters that use a certain mdl, it should free up a slot in the list.

Can you merge any breakables that are close together?

If you use any func_illusionary / func_wall that don't need any scripted behaviour, switch to func_detail_illusionary / func_detail_wall, which don't use up models. 
mcache isn't a command that works in DP.

I merged a lot of breakables, saved several hundred entries. I'll see how I go getting through the rest of the map, there are a lot of func_illusionary brushes that i could convert if need be. 
Several hundred!??

You could potentially combine all func_illusionaries into 1....except then they would probably always be drawn instead of culled. 
Looking forward to seeing all these breakables!

You could potentially combine all func_illusionaries into 1....except then they would probably always be drawn instead of culled.
func_detail_illusionary are pretty much perfect for this, the only downside is they tend to increase leaf/node count, because they're part of the main bsp just like func_detail. It's only really a problem if you're trying to fit in standard BSP format and are near the limit.

func_detail_illusionary will also have the best rendering performance (as they're identical to other world polys), and 100 separate func_illusionary's the slowest. 
I did look into func_detail_illusionary but it casts a shadow, which makes it unusable in a few of my cases for this map.

Unfortunately the breakables aren't that interesting - just crates, like I did for my Noir Jam map. Interestingly despite all the breakables the mcache for that map was <1000. 
Ah, right.. for it to not cast shadows you need to be on the latest version of my light tool. I'm still working on the bug you reported, sorry it's taking so long 
Bsp Limits 
Wait so do brush entities not count towards the limits for verts, tris, etc.?

Is the limit per "model"? 
brush entities do count towards the overall .bsp file limit, but func_wall vs func_detail will have different resource usage because the func_detail has to slice up the map geometry that it is overlapping (leafs/nodes, faces). 
Colliding With Quake's Collision Method 
On my current mapping adventure I'm creating an outdoor map with terrain-esque features. I find that in Quakespasm and Winquake I get stuck when walking over that edge:

All fine in FTE and Darkplaces. Map compiled with the awesome ericw-tools. All brush vertices on integer coordinates.

I'm pretty sure a random vertex manipulation should resolve the issue and I guess this is just a side-effect of how Quake handles collision (I think FTE and DP basically have their own ways of doing things there).

Is there a lazy way to resolve such issues reliably other than pushing vertices until things are resolved?

BSP and .map source: 
That's A Pretty Common Issue 
It can even happen out of nowhere after a compiling in areas where nothing has been changed since several compilings before.

Move some vertex around a bit and that will disappear. 
Yeah, I already fixed it - once you discover such problems a workaround does seem to be mostly trivial. Just wondered if this is an indication that I'm doing something wrong or if this is just some charming oddity of Quake in general. Looks like it's the latter and I shall embrace the madness Quake awakens in our hearts and minds.

Glad I'm testing with multiple engines, though ;-) 
If one is mapping using trenchbroom on an unsaved map and TB crashes, is the map lost?? 
Ive found them hiding in C:/users/MYNAME.

You're A Lifesaver! 
this is just some charming oddity of Quake in general

Yes, and that's why there is not much terrain in Quake custom maps, and one of the reasons there is none on the official maps. 
niccce. happy to help, drow! 
Higher Resolution Lightmaps With FTEQW? 
I'm using ericw-tools to compile my maps but the lightmaps always look like shit. They are too blurry. Is there a way of increasing the lightmap resolution? 
you can do it on a per entity basis by adding an '_lmscale' field set to eg 0.25
on the command line you can use '-lmscale 4' with ericw's light util.
I'd also recommend the '-bspx' light util argument, if only so that you don't need the external lits.

alternatively compile it as a q3 bsp via q3map2 (using q1 ents still so that mods don't break). A _lightmapscale field set to 0.25 or so for that, I believe. this'll give you a few more options that are not available with q1 bsps.

that's the theory, anyway. note that each of these have different results when viewed in other engines. 
There's a good chance I inadvertently broke one of _lmscale/-lmscale/-bspx since I haven't tested them since Spike contributed the features, but a ton of other things have changed since then. If that's the case, there are old releases available at: and feel free to file a bug.

Anyway I would +1 using q3bsp. AFAIK all of the _lmscale/-lmscale/-bspx options will produce a q1bsp that only looks right in FTEQW. 
iirc the per-entity _lmscale + -bspx will generate redundant data for engines that don't support it.
obviously other engines will get inferior lighting, but it should at least otherwise work (unless you use -novanilla for smaller bsp sizes, in which case other engines will glitch, but shouldn't crash).

I really ought to add this stuff to QSS too, same as many other things. 
QSS now supports lmscale too, in case anyone cares. 
Q3bsp... But... But... Lightstyles? 
Won't you lose lightstyles by going q3bsp? I always considered that a feature-gap that might have a sound technical explanation (*) but just robs single-player maps of a simple way to make things appear more dynamic and dramatic.

(*): I guess lightstyles just don't go well with the light-grid, but then I'm not a fan of that anyway because its size just balloons quickly as you extend map dimensions unless you lower the resolution so much you could just as well sample from the lightmap. 
the rbsp variant (and derivatives like fbsp) supports lightstyles (4 per surface, like quake).
and yes, 4 styles per lightgrid node too (it uses some compression scheme).
FTE supports them (if you've custom shaders then lightmap passes need to be first due to format weirdness), but dp doesn't.

(side note: it might be nice to calculate model lighting for the centre of each leaf, and interpolate between those, using surface data in place of neighbouring solid ones.)

even with q3bsp itself, you can get lightstyles with rtlights.
alternatively you can get quite creative with custom shaders. 
The problem with q3bsp is that i can't use TrenchBroom and Radiant is pathetic. :( 
Can you provide a screenshot of the light/shadow situation?

In Quake (when not going to q3bsp) it's pretty much not possible got get sharper shadow/light contrast than shown, e.g., on - all one can achieve is to make sure you don't get ugly stairs by using some advanced light options (in my case, for final compiles I use -extra4). 
The problem with q3bsp is that i can't use TrenchBroom
Does the compiler not accept q1 map format?

You could use the -convert flag on my qbsp (see ) and hook that in as a compile step. You can convert vanilla q1 map to q2 (which I think q3bsp compilers accept). Or, valve to brush primitives, etc. 
In Quake (when not going to q3bsp) it's pretty much not possible got get sharper shadow/light contrast than shown
There is the "scale your textures up 2x and use texutre scale 0.5" hack that gets you higher resolution. Downside is it causes more qbsp subdivision of your level so the faces still fit in Software Quake's surface cache. 
2X Texture Size With .5 Scale 
Downside is it causes more qbsp subdivision of your level...

Would QS/QSS have any issues with that?

I don't think I asked this specifically in a previous post, if it has been answered already my apologies ;) 
It makes a mess of linear filtering.
Replacement textures should at least fix that, but anyone using the default settings+textures will find it looks a bit ugly.
Software renderers will have less mipmaps available (this also affects fte's r_softwarebanding).

note that you can also double the -subdivide qbsp arg too which will reduce the subdivisions needed.
QS supports up to (128-1)*16-precision. glquake actually supports up to (18-1)*16-precision.
FTE/DP/QSS(now) support up to (256-1)*16-precision. However that doesn't mean you must use lightmaps that big, as it kinda makes a mess of the lightmap allocator resulting in excessive wasted space, with more texture switches/batches (doubling won't hurt much though). 
Hello Again Everyone, I'm Back From The Dead, And I Got Questions 
It's been awhile!

I remember coming here when I was just getting back into Quake, and was trying to learn to map.

Anyway, I need some serious help. I've been working on a dm6 remake with modern geometry, and some extra tricks to do for ease of movement. I had to come up with a way to make circular polygons, which turned out great (map features 16 sided polygons for some rooms).

This map is meant for competitive play in ezquake, and so far people have thought I've done a pretty good job. However, there is a problem with it, and it's the performance stability. After a bit of digging and talking to Spike, we identified the issue was overdraw with the entities. This can be proven by going to the worst spot in the map, disabling entities, and watching your fps go way up (tested in ezquake).

When talking to Spike, he told me of Hint brushes. He tried explaining how I would use them to make my map more efficient, but he arguably did a horrible job, and I'm still lost in what I am supposed to do with them, and where to put them.

So, as a final call to help, how the hell do I use hint brushes?

My map:

Ignore the texturing, no one ever uses them anyway in the competitive scene. I used a self discovered way to make circular polygons in trenchbroom, but I'm sure many know how to do it. If not, I will be happy to share how I did it. 
You could also just post a map that uses them effectively, and I can try to figure it out by example. I have some knowledge in how vis portals work, but I obviously don't know enough. 
Can You Post A Top Down Layout Of Your Map 
Hint brushes force a new cut when the compiler is creating vis portals. It won't magically hide stuff at point A from a player at point B, if point A really is visible from point B. However if point A is actually hidden from point B and the default vis portal creation is not recognizing that, then adding hint brushes can help.

In addition to Qmaster's link, here's another:

My little summary (and that link) is going from what I remember about Quake 3... if Quake 1 hints differ in some way then hopefully someone else can elaborate. 
IMO, don't bother with hint brushes until you have established that qbsp is making a bad decision in a particular spot. I guess you could just preemptively apply them and hope it works, but I doubt it will do anything.

First run in Quakespasm with "r_showtris 1" and post a screenshot from the slowest position. Maybe post your fully compiled (qbsp + vis + light) bsp as well.

Also check Darkplaces with "r_drawportals 1" - this will draw the actual BSP portals (the boundaries between leafs), which are what you would be trying to influence with hint brushes. 
I just looked at the map, compiled it, it shouldn't be any slower than the original DM6, the e-poly seem really close to DM6, and the visibility is fine. I'm really surprised anyone would have performance (and stability?!) probs with it, and I doubt hints will help so much (could probably optimize some of the hallways a tad, having the main arena appear a bit later but it really wouldn't change much). 
Some Mapping Questions 
I aggregated some questions regarding how to pull off certain effects. I'd like to use unmodified id1 progs.dat, which makes certain things difficult or impossible, I guess, but perhaps I'm just not aware of some nifty tricks.

- some maps nowadays have transparent grates. I guess this is a new-ish engine feature (QS? FTE? DP?). I haven't had luck googling around on how this works - can somebody point me to some documentation?

- there doesn't seem to be a straighforward way to embed a .mdl in a map with id1 progs.dat - but is there a hackish way?

-I'd like to do an arena fight with a pentagram on the floor (that's the simple part). As the fight progresses, I'd like flames to ignite at the corners of the pentagram. When all five corners are ignited, the player is transported to a demonic realm (teleport or changelevel). As far as I know, light_flame* can not be toggled on/off. Of course, I can put standard light entities there an toggle then on, but then the question remains on how to make the flames appear. Ideas? (if this cannot be done, I can still change the concept to, e.g., have pillars with demonic symbols raise instead at the corners) 
- some maps nowadays have transparent grates. I guess this is a new-ish engine feature (QS? FTE? DP?). I haven't had luck googling around on how this works - can somebody point me to some documentation?
The last color of the Quake palette- that's the kind of funky pale pink one at the end of the last row- is defined as transparent when used in 2D UI/HUD elements, i.e. the main menu or the (in)famous light_globe entity. In engines that support the feature (alpha masking, fence textures, whatever you want to call it), that same transparency is applied to 3D stuff as well- entities and world geometry. It's as simple as using that color in the areas of the texture you want to be see-through, and adding a left curly brace- that's the pointy parenthesis, {- at the start of the texture's name to tell the engine it has transparent bits, similar to * for water or + for animation.

Two things to keep in mind, though- one, textures can only have one leading character so you can't have a curly brace and a plus sign, meaning no animated-textures-with-transparency (probably possible through a really complex set of cycling doors or something, but generally not worth it), and two, the texture has to be used on a brush entity like a func_wall or func_door or else you'll get unsightly grey or hall-of-mirror-effect areas where parts of the world are cut away from compiling and you can see through them into the void. ericw's tools include multiple entities specifically for this purpose (func_detail_illusionary and func_detail_fence), as well as a handy entity field called _mirrorinside that makes those two types of entities automatically have their textures mirrored to the insides of the brush, meaning an infinitely flat, two-sided fence texture (i.e. Doom style fences) is done by just making a func_detail_fence, adding the mirror field, and applying the skip texture to every outside face except the one you put your fence/grate/whatever texture on. 
And in case you mean glass, just add key of "alpha" and a value between "0.0" and "1.0". No quotes of course. 
alright, I will try that. Darkplaces actually runs the map fairly stably, which is another reason why the ezquake renderer needs to be redone. There are plans to do that.

Introducing `-forcegoodtree` helped the performance by quite a bit, but those slow spots are still apparent. I don't feel or mind them, but apparently other players will, and will cause my map to be depreciated.

I can't exactly give data right now, I'm on a trip. However, I will get back to you through email when I do. I will post my fully compiled map here as well.

It does seem to be caused by entities. When disabling them in the renderer, I get a stable 1300 fps around the map in ezquake (AMD card on linux, which is why my performance is lower than usual, others get way into the 3000s and are affected a lot less than me). With them on, I get the slow spots in ezquake.


That is true that the performance is similar between dm6, but one of the things I wanted dm6pro to be is better than the original dm6 in every aspect, including performance. If I'm able to improve it, I will. Also keep in mind that there are people in the competitive community that do notice this stuff, but I honestly think it's a buncha bs most of the time. They all play aerowalk, which has similar "slow spots."

This is also an issue with ezquake, so that's introduced as a problem. Since that's the current engine that competitive players use, I will have to design the map around it. I think it actually may have to somehow do with how inefficient ezquake is at rendering entities, but that's only a theory. It's definitely correlated by my tests.


Again, I will try to get back to you on that.


Thanks for the great initial support, never got that here before.

On the side, do any of you actually like it? I've been trying to get opinions before I hand it up to the higher players. 
Now that's how to answer a question in mapping help. I've used fence textures once before but I just learned how to do it properly. Cheers. 
@Spud And @Qmaster 
Thanks for your comments, this is very helpful! 
Took a peek at that valve documentation, really helped me understand how I actually need to use hint brushes. I doubt they will help, but they might do something. 
When you say that people are complaining about your map's performance, is it "bad performance" in the sense of "only a thousand frames per second instead of ten thousand"? Or is it a performance problem that could actually be noticed without watching an FPS counter? 
newbie question: how do I get so you have to kill/press 2 or more enemies/buttons to trigger something and get it to say "x more to go" 
o nvm I figured out button, through trigger_counter. trying to figure out monsters though 
no wait I'm dumb that's not right 
no wait I'm smart that's actually right 
but I have no idea how to make it work still 
Add a new monster:

"classname" "monster_army"
"target" "t1"

Add another one:

"classname" "monster_army"
"target" "t1"

And another one:
"classname" "monster_army"
"target" "t1"

Then add a trigger_counter:

"classname" "trigger_counter"
"target" "t2"
"count" "3"

Now when you kill the three grunts, the target "t2" will be charched for use, ie a door, a teleporting monster, a light, etc. 
It will be searched for, added to a list, and then all entities on the name will be targeted.

So ya charched I guess, or searchargeted. 
Johnny Law: 
So, it was initially discovered by going around and looking at the FPS counter, however, I was told others would notice it, as well as it being in a key area of the map. 
What Fps? 
Min? Max? Average? 1st quartile?

If your min is 65 I wouldn't worry about it. If your min is 50, meh.
If 40, yeesh no good. 
how can I set a command to activate whenever I boot up the game? I'm using quakespasm and it has z-fighting by default but "gl_zfix 1" doesn't save the property when I close out of the game. I don't want to have to type the command every time I test my map. 
Put it in autoexec.cfg

If you don't have an autexec.cfg, create one in notepad and put it in the ID1 folder or mod of your choice. 
didn't work when I tried autoexec.cfg so I tried putting the command into config instead and that did it 
as someone who's brand new to mapping, this messageboard is a godsend. it's over 15 years old and I can still get helpful responses within a couple hours. that's nuts, and it's why I love quake so much 
I'm in the couple thousands here, lol. Average is 1300, max is 1600, but min is 700 in the fated spot, which is noticeable.


changed my mind about email, lol. Anyway, so I used r_showtris, and all was revealed. standing in particular spots, the middle arena and the armor room were both being rendered for some reason. Some hint brushes in the entrance to this should help, I hope. I think it has to do with the long bridge brush that connects the semicircle to the hallway. 
I Did It! 
The major weird slow spots in my maps are now gone, but there are some that I cant do anything with because they are simply impossible to make any more efficient.

Thanks everyone! 
Well I saw a guy on the Discord chat mentioning it getting down to 4100 fps at one spot. Better throw it all out!!!

Seriously, if anyone is actually concerned about that kind of "frame dip" affecting the gameplay in any way... to me that sounds like "quantum HD gold-plated audiophile cables" level of delusion. I'd be interested to know though if there really is any good reason at all for worrying about framerates (min, avg, variations, whatever) once they are up into that regime. 
I can imagine being concerned about it if you have a brand new PC with high end kit or something along those lines - i'm pretty sure there are still people out there playing Quake on hardware from a decade ago.

It's not about if you can run Crysis, it's about if you can run Quake! 
Hardware from a decade ago is still hardware ten years newer than Quake. 
Idk, It Was A General Improvement 
That was ciscon, he's been helping me test. That spot is unavoidable anyway. Once or if the devs redo the ezquake renderer, I'm pretty sure none of this will be an issue.

Anyway, the reason why I'm making a big deal is that slow spots cause obvious dips that distract from competitive play. It's all worked out mostly now, so that's good. 
Now all that's left to do is make some of my own maps. Prolly gonna suck, I would do better working with somebody else since I'm good at making levels, but not necessarily coming up with them. 
Switching To Trenchbroom 
I've been using J.A.C.K. for a while now since it's the only editor I've figured out how to get working but I want to switch to trenchbroom because it just looks like it's a lot more fluid in editing.

my problem is that I can't figure out how to set up the compiler and stuff. the manual just kind of says "open up the compilation dialogue from the menu" but the compile menu is gray'd out and I can't click it, so I'm not sure if I'm supposed to do something else first or if I did something wrong. pls help pls 
oh.... I searched the internet for over an hour straight trying to figure it out and apparently the only thing I had to do was save the map to get the compile window to be able to open. 
now I'm having some trouble getting it to compile properly. here's what I've got going on
it's saying "no such file or directory" 
Why have you got underscore characters in the parameters?

Like "Program_Files_(x86)" when it should be "Program Files (x86)".

If spaces in the path are giving problems, you can try one of these:
- putting the whole path inside quotes
- using the DOS style shortname for the directory, which is probably "PROGRA~2"
- putting your Quake files in a path that doesn't include spaces 
I was using this guy's tutorial, along with some other one I can't find

and using quotes around the path helped, thanks 
Also hmm it's not clear to me you even need to give that second argument to qbsp at all. But I haven't used that particular GUI so I'm not sure how you really need to set it up; hopefully someone else can chime in. 
OK good to hear you got past that step. :-)

Use the "+" circled in red to add each a new section.

Use the "..." circled in green to add your tools.

Copy the rest word for word.

This is outlined in the TrenchBroom manual. 
I tried filling in the parameters and stuff exactly the way mukor showed but it keeps giving me an error saying the bsp was already in use by another program, even though I have literally no other windows open besides trenchbroom itself

another thing, I tried changing the working directory to ${MAP_DIR_PATH} but it completely crashed TB whenever I typed the first letter 
here's what I've got, let me know if I did something wrong 
it said it failed to copy, so I removed the 'copy files' part and it compiled fine. is that part important or should I just not worry about it? 
Forgot to mention that with that setup you need to start your maps in a directory OTHER than /maps.

I recommend making a folder somewhere near your Quake folder called "Working" or something to that effect.

Do that and you can add the copy part back in. Be sure to add a "Copy" function for the .lit file as well. 
If you still can't get compiling in TB to work please Google Necro's Compiling GUI and use it. It's much more approachable than TBs compiler. I seen people post here often with issues or confusion. You certainly will be up and running very quickly with the GUI. 
If you get TBs compiler working with the copying files, stick with it.

Yeah its a little extra work to get it started, but its definitely worth it. I just compile, open Quakespasm, press up in the console to repeat my last command(usually the map) and bam.

NCGUI will have you open NCGUI. Select your map. Compile. Open file explorer. Move bsp/lit to /maps. Now you can play.

I think people let themselves get intimidated by how setting up the compiler looks like "coding" and they dont even try copying it exactly as shown in the manual. They think they have to decipher some complex language when its literally spelled out in front of them. :P 
You don't need to chime in here dude especially with Dad info. I already said if he still was having issues too. And you are incorrect. I leave NGUI open, save my map and hit Alt-tab the Ctrl+C to compile. The game launches I am in. All the copying is handle by the GUI. I'm not sure who taught you to use Necros' tool.

FyI the compiler UI on TB 2 RC 4 is broken so another reason to avoid it. also the manual in Windows is currently not working on RC 4. There are plenty of reasons people are coming here asking questions. It's not an elegant solution and no, not everyone is comfortable or knowledgeable about paths and shit. 
"bad info"

"FyI the compiler UI on TB 2 RC 4 on OSX is broken so another small reason to avoid it." 
The compiler isnt broken so as its completely unusable. They already got it set up minus the fact they were starting their .maps in the /maps directory.

Maybe if theyre deleting a profile:

Or how if you stop the compiling process earlier, a compiling tool might hang:

But not so broken as to completely discourage its use in favor of another tool that just does the same thing.

Heres a better screenshot with the proper tools shown.

The one i linked earlier shows q3 tools, i think.

The only thing that will be different on yours is where your tools are...and to set that the dots circled in green. 
Jesus man I am giving a newb options here why the last word BS? And you didn't acknowledge you are wrong about Necros' GUI.

Some of us literally don't have to time to research this shit and need something that works out of the box. I'm simply trying to help and get pissed when people relay bad info.

You even started your own GUI ffs.

Peace Muk. Let's help people by giving them options huh? 
yeah, ive tried using NCGUI and couldnt get it to work as seamlessly as I got TBs GUI working for me.

I recommended it to someone and even they couldnt get it working.

NCGUI isnt as intuitive as one would think.


also, my compiler frontend isnt a gui. its a batch file :P and i made it because NCGUI cant compile batches of maps. 
and yes i stand corrected on those point i wrongly asserted. 
Fair enough hombre. 
How is the compilation UI broken on OSX? I know it has problems, but I didn't know it doesn't work at all. 
Compiler Wars? No, We've Got Compiler UI Wars Now... 
All I want for christmas new years is for the TB2 compiler UI to be able to launch engines ;-; 
Damage Riding Func_door Downwards 
I'm currently working on a small set piece with a descending floor, with the floor being a slow-moving func_door.

In Quakespasm I can easily receive damage in certain spots, sometimes being squished withing fractions of a second ("player was squished") despite the func_door having a dmg of 0. There is no obvious obstacle. Same in Mark V.

In Darkplaces everything is fine, but then again DP's collision system works differently.

Is there something a mapper can do to create safe door rides? 
Is your host_maxfps bigger than 72? 
You have to enter the paths to compilers manually in rc4. The "..." Buttons don't work. There was a Git report on this quite a while ago.

I'd.linknto it but I am on my phone and can barely read this text right now.

I don't use OS X any longer. I just bring a pc laptop to work when I can map there on slow days. 
host_maxfps is 72.

Tested also in WinQuake. Same problem, so this is "vanilla".

I'm using ericw-tools (qbsp / TyrUtils ericw-v0.15.11) to compile things. Using hmap2's BSP stage doesn't change anything.

I zipped up .map and .bsp at - can somebody have a look? Just push the button and keep standing there, that's one spot that seems troublesome for no apparent reason. 
Still Squishy 
tried turning the descending floor into a train. Doesn't change the getting-squished problem. Hmmm. 
so, I decreased host_maxfps to 36 and the problems seem to go away. Of course, this is not a solution.

Instead, increasing the movement speed from 25 to 35 qu/s seems to fix/alleviate the problem as well. I guess that the platform has to travel a minimum distance between physics tics to avoid problems. This can be done by lowering fps (host_maxfps) or by increasing the speed.

Darkplaces has the physics decoupled from the rendering fps, so that may explain why DP had no problems.

Does this make any sense to engine devs? 
how do I get a trigger_push (wind tunnel) to push up or down? 
nvm I figured it out 
J.A.C.K Configuration Help Needed 
I have a lot of experience with hammer and its compiler, but I wanted to try my hand at quake mapping

I am having trouble setting up the jack directories and compiling a simple map. I have the free version of jack and quake on steam.

Here's my compile log:

The relevant part I think is the "Token too large on line 6". I tried googling this and it looks like it happens when a map has too many wads, but I only have 2.

Here's the directories I have, I do not know if they are right. 
I believe it is the string of wads having more than 256 characters. E.g. "C:/Path/wad1.wad,C:/Path/wad2.wad,...wadn.wad" where path goes to your steam directory.

I believe ericw's compile tools fix this:

These are the ONLY compile tools you should be using for Quake. 
That fixed it for me, thanks! 
Level Optimization? 
So I’m using the makaqu engine to run a full on game I’m making, but it doesn’t seem to run at a consistent framerate. Is there any command line optimizations that can make it run smoother and use less memory? The one thing that is bugging me is that it says I have a leak in the compiler when there are none! It’s really weird. Can anyone help? 
You'll need to fix the leak and run vis to get good performance. If qbsp reports a leak it should save a .pts file, open this in TrenchBroom or jack, or type "pointfile" in the console in quake to help find the problem. 
I’ll Try That! 
I’ll try to do that when I get home! Thx! 
AD: Swinging Sign 
Could I use a func_train to create a slightly swinging/swaying sign?

Or more precisely, what would be the best way to go about this, if possible?

It's just for ambience, will be coupled with an ambient_custom sound. 
Yes You Can 
You can certainly do this sort of thing with func_train in but it depends on what your vision is. I am picturing say a sign hanging in front of a Western Saloon. The sign will swing back and forth ever so slightly.

You can do this put your 2 path corners very close together, say 8 units. And give it a very slow speed key <40. The problem is there isn't really a great way to make the "rope" holding the sign sway accurately because in reality it would pivot around the point it is secured at. You could ignore this and just make the ropes very small (1 unit) in width so there lack of movement is not as noticeable, or just make the ropes move with the train, but it might look awkward.

I think ORL made flapping flag posts with func trains moving extremely fast over small distance. Its an optical effect.

Or make a .mdl and give it animation frames... 
Also lets you make something hover up and down very slowly for a nice effect, but I think it can only be done vertically. I used them to make some hovering objects in ad_paradise, but again it depends on what type of sign you are picturing. 
wouldn't a hanging sign be better with func_rotate? 
Saloon Mini-Map! 
Func_train can work really well for this depending on what you want. The problem I forsee with a rotate_object is that it typically only rotates one way; a func_rotate_door can rotate back the other way but you need a trigger to do this and switch between the 2 states. This could make it exceedingly complex.

Using a func_train with path corners only 4 units apart and a speed of ten, a made this swaying Saloon sign that is really atmospheric:

Check out this demo map with source:


NOTE: Arcane Dimensions is needed to play this map. I made this in AD but it you can make the func_train in ID1 of course. 
The map is a tiny demo of the func_train only. No exit trigger or anything. So I hope no one gets mad at me:( And I hope this doesn't end up on quaddicted somehow. 
Wow, Thanks A Lot Redfield 
Very cool example map you made for me.

But... I already made that with your single entity func_bob suggestion. Apologies for not posting about it, it was really late when I did it so I just went to bed.

Also, I made a test ambient_custom_loop squeaky sound, placed it centralized to the sign and... all was good.

Thanks again for all the assistance.
- damage_ 
Also, Swaying With Rotation... 
There is the "path_rotate" and "func_rotate_train" entities that may still be the answer, but I didn't figure those out last night.

What I was doing kept screwing up the game(on load player position stuck at path_rotate location and no ability to move, even with noclip!)

If I get this sorted I will post it up. 
Lots Of Options 
There are quite a few ways you could do it I guess. I forgot func_bob can go in any direction with angle key, and this is probably the most efficient way to make a swaying sign. I'm not sure how to visualize a func_rotate_train, as the object itself will rotate between path corners, but if you make it work it would be interesting to see.

Yeah I got carried away with that saloon, I was just going to throw a func_train in a test map and see what happened, but I had this image in my head, and it just kept going. Started making textures and several hours later an insane test map. Best way to answer a question is to make a map. Maybe I will turn it into a little western map one day. 
Is There 
a way to kill Chthon without QC? Telefrag or ridiculous high damage on a trigger_hurt doesn't seem to work and setting the lightning_event its a pain the way this map works. 
Try adding a key|value of th_die|boss_shockc1 to your monster_boss. Then when you hurt it it should die after 4 damage. Not tested. 
Thanks Qmaster 
I tried damaging the guy with a trigger_hurt, a door and myself with Quad rockets just in case and the guy didn't show even pain with that key on him.

What i learnt with all of this is that he cannot be moved with doors as they just pass through him, which is a pity. 
Ah Right 
I forgot that the boss is not technically a monster in the sense that it doesn't use AI normally. It is basically a turret with animations and very special code. Seems like I remember a killable chthon hack somewhere though. You might need to make an info_notnull hacked boss. 
mechtech made a handy map that includes a whole bunch of map hacks for reference here, and a quick glance at the killable Chthon in the map shows it's done with an info_notnull with a bunch of extra fields filled out to match what the boss entity would normally have so it behaves correctly. 
Link Is Dead 
but i found it on Quaddicted. Thanks. 
GLQuake Not Rendering Map Correctly? 
Hey there! So I got my map working and fixed all the leaks, but for some reason, when I run the map in GLQuake, it renders a far off distance like it's clipping! Is ther anyway to increase the drawdistance like in winquake with r_maxsurfs and r_maxedges or is it impossible? Could it be a mapping problem itself? Compiler gives no errors! 
The Real Question Is... 
Why in 2018 does anyone use original GLQuake?

I really want to know! 
Because it's the best engine that comes with the Steam version.

Well, the second best, but the default one.

It's worth remembering that's the out-of-the-box experience, when you're looking for the largest possible quake audience. 
Thanks, I never even considered that. 
To Answer Rizzo 
Download an engine with enhanced limits such as MarkV, Quakespasm, or FTE. 
GLQuake Far Clip Is Hardcoded At 4096 
Thanks guys! Guess I'll have to go with another engine! 
VIS Job Farming? 
I'm new to mapping, i've been using EricW's tools. In regards to the VIS proccess, has there ever been any consideration into farming out jobs over a network? I am sure i'm not the only mapper who has a second PC that is idling alot. I can picture small communities of mappers providing their PC's for VIS jobs. And not just 1 map/PC (that could already be done with some kind of file monitoring script). I'm talking about splitting one bsp over multiple PCs to get the completion time down. It seems with multithreading the individual threads are operating independently anyway once they get their work chunk.. granted i don't know anything really.. just my assumption. This seems to be the biggest bottleneck in dev time. Maybe the couple guys i am in a group with are inefficient mappers but the VIS'ing has taken days and days on an 8 thread i7. It would be cool if network nodes could just be seen as additional threads. 
Detail Brushes 
Should be helping with the vis times. Unless you are building a gargantuan map that rivals Ter Shib in size I can't see VIS taking this long with 8 cores. I vised a bsp2 size map in less than 1 min. on 3 threads with ample use of detail brushes.

Again this could depend on the size and complexity of the map, but if you are new to mapping, you should be using detail brushes on objects like pillars, stairs, loose bricks, small details etc. or else VIS might take days where is should be seconds. 
With func_detail, vis should not be the longest part of the compile any more.

Make sure you are using ericw's tools: 
I saw detail brushes but wasn't sure what to do with them. I'll try that. thanks guys! 
Use Func_detail To Turn Your Map Into Rectangular Areas 
For instance, anything angled, off-grid, small, thin planks, trim, light panels, crates, pipes, broken walls, debris chunks,
trisoup (terrain e.g.) etc. etc. should be func_detail (solid) or func_detail_illusionary (not solid).

This lets vis deal with very simple rectangular areas and drastically speeds up compile times. It also can help you add specific lighting features to some details, such as _phong (nice and smooth shading) on rounded columns or terrain trisoup. 
Aside from wanting to apply phong shading to columns/pipes/whatever (which can be done with standard func_walls as well), if you're willing to eat the compile time instead that seems like going overboard a little with the details. Won't you run into issues with vis not blocking off *enough* due to details making up walls and such and possibly cause poor map optimization and lower framerates on less powerful machines? Not to mention the extra effort of making a solid rectangle area outside of any part of the map even slightly skewed or clipped-'n-vertex-edited. 
Balancing Act 
Depends on balance between CPU and GPU time per frame. Loads of objects to render = long GPU time. Loads of vis leafs to calculate against = long CPU time.

E.g. in a level with 10ms CPU and 20ms GPU, it would help to render less, so yes more leafs could help.

If instead you had 20ms CPU and 10ms GPU, then fewer leafs would help improve performance then func_detail would help.

I honestly don't know what the bottleneck would be or how to check it. 
gpus are quite fast nowadays, they don't really care about a few hundred more quads.
overdraw is still a concern (so you still want your various rooms to be properly sealed with structural brushes to avoid the worst of it), but otherwise if the engine has decent batching then you won't see much of a problem if all the details+pillars+etc are flagged as details.

tbh, its the leafs themselves that are the expensive things. 
I Was Under The Impression 
That in quake, you can't appreciably change the number of leafs with func_detail, only the vis compile times. Has this changed? 
no, you have the leafs whether they're detail or not.
you can't fold leafs using q2-esque cluster stuff, because the bsp format doesn't support it.
and you (usually) can't merge leafs due to the engine calculating a parent leaf - each one must have a single parent node so no multiple routes through the bsp tree (side note: this doesn't apply to hulls 1+2).
so the only way you can merge them is if two leafs share a parent node, have the same contents value, and together form a convex area (such merging can happen recursively so long as those conditions still hold true).

less leafs means fewer marksurfs, fewer nodes, fewer frustum checks, smaller pvs data (and for every other leaf too), and fewer cache misses throughout.

arguably surfaces could be merged into a concave mesh on the condition that there is still 1 truely central vert somewhere.
the geometry works even if they're on different planes, but lighting and texcoords would likely be broken because of it.
whether it would break software rendering, or gl engines that pick the wrong edgevert is a different matter, but hey, most gl engines should cope without realising it. 
Yes func_detail shouldn't create more Leafs 
Engines should be able to recover detail clusters by recursively merging leafs that have the same visofs. This has the benefit of working on released maps and won't risk breaking anything. Once you recover the clusters you could generate lists of faces per cluster, new compact visdata, etc. 
Using Scourge Of Armagon Assets In TrenchBroom 

Longtime quake player, trying to create a custom version of DM3 with some Scourge of Armagon assets for team deathmatch. I used pak explorer to extract the DM3.bsp from pak1 in id1 and was able to convert the bsp file to a .map file, which allows me to then open it in TrenchBroom. I think I get how to recompile this back into a usable .bsp (doing the light/vis stuff etc.), but I'm curious how to actually use Scourge of Armagon assets. I have the add-on pack (it's in a subfolder called hipnotic), but I'm unsure how to use those pak assets in TrenchBroom.

Any help would be appreciated :) 
Cool idea to update Dm3 for SOA. The source for DM3 is available at Quaddicted. So use that instead of a decompiled bsp.
You'll have more luck.

Next, you will want to load up the mission pack fdg in Trenchbroom. I have been searching for it but cannot seem to find the link. But it's out there.

When you have the fgd you will go to the entity tab in TB and at the bottom load external and select that fgd file. After that you should have the entities available to you in the browser. You will also want to load the mission pack as a mod in TB in a very similar fashion. It's on the map tab I believe. 
Triple Post - Woot! 
I might as well pimp a DM level I made that includes a Hipnotic version of the map. It's called Lividus. Maybe you and your pals will enjoy it along with DM3. 
Thank you for the help and taking the time and all the links provided! I managed to figure most of this out through a bit of trial and error and talking to the devs from qrack and fte. Some of those old assets are indeed hard to find!

I still play TDM with a group of oldschool quakers on DM3. Matches on most weekends. I was looking to create a fun tweak of DM3 that would preserve what works about the level for teamplay, i.e. the idea of level/item control without messing up the balance too much.

But due to having played it 9999999 times, I thought adding some SOA assets would be fun. I added the proximity grenade launcher at the opposite side to standard GL, replaced the SNG in the SNG room with the laser cannon, replaced the standard nailgun (useless in DM) with the SNG, and put mjolnir outside by the pent. I feel like these weapons could lead to a few interesting tweaks in gameplay (e.g. setting traps with proximity mines, using laser cannon to blast into areas by bouncing shots, mjolnir to close proximity attack somebody with weapons).

If anyone's curious, here's the first iteration. Requires the hipnotic pack to work (i.e. whatever executable you're using -game hipnotic -hipnotic for command line switch): 
in trenchroom, I made a button and set its target for one door but it opens all doors on the map. what do? 
That means all your doors probably have the same targetname.:D 
will I have to name all of my doors? because the other ones being triggered don't have names 
will I have to name all of my doors? because the other ones being triggered don't have names 
nvm, that just stopped the door from opening automatically. I'm looking at all my entity links and none of them go to the irrelevant doors, only to the ones I told it to go to. 
and it only happens with a button, not the trigger_multiple I have already 
it also triggers doors with different names?? 
Set The Don't Link Spawnflag On The Doors 
that didn't work, but it broke my unnamed door :L 
it's weird, whenever I change any properties on my unnamed door it just totally stops working 
here are my button's properties. maybe it's something to do with the button. 
Please try and avoid the triple posting.

What do the door properties look like? 
O, sorry.
and here are the doors (four doors that sink into the ground) targeted by the button
keep in mind it's also triggering a pair of doors named "d2" 
The two groups of doors are too close too each other.

Add "dont link" to the D2 doors as well. Remove that Wait of 0. just remove the Wait key entirely. No need for it if youre also using the Toggle flag, as far as i can tell. 
oh and do "r_showbboxes 1" in the console and youll see the trigger volumes and such. This should make the problem a bit more evident. 
I've tried adding "don't link" on all the doors.
I did a video just so you can see exactly what's going on.
there are 3 sets of doors, the four downward-moving doors (d1); the doors above d1, which the player gets launched up through (d2); and the unnamed door which is off to the right and there's nothing special about it.

I've tried creating a new single func_door away from the others with no changed properties, and it still opened.
I've also deleted and redone the button to make sure I didn't accidentally change a property.

if it turns out to be something really simple I goofed up on plz don't laugh at me ok?? <:l 
Maybe upload the .map? 
Remove the blank "target" and "wait" from the d1 doors for starters.

But, beyond that...the issue isnt happening for me when I compile the .map. The button only opens d1. I didnt change anything either. 
Ha Ha Hi Hi Ho Ho 
yep that did it! I didn't realize the unnecessary target and wait would do anything. mystery solved, we can all go home now 
no dont go home. go map. 
Are there any good beginner resources around?

GTKRadiant, NetRadiant, and Trenchbroom seem to be the most popular editors, and ericw-tools seems to be the current suggested toolchain for compilation, but all the documentation and stuff I've found seems 
Dang Accidental Post assume that you know what you're doing, which I really don't.

Sorry about the halfpost, interface bugged out. 
Re: 19413/19414: Beginner Resources 
This might help to get you started with the very basics: 
Make Sure And Register 
...for this site so we know who you are. :) Maybe prepare a list of specific questions you have too. We'll be happy to answer.

JACK is also a popular editor for those with Valve/GoldSrc/Worldcraft experience:

I use TB2 and can answer questions. Also Terrfusion on Discord is a good real-time resource as well. 
Nobody Has To Register If They Don't Want To 
and it's not a prerequisite for asking questions. 
It Should Be 
I smell shrimp 
Shit is arguably better than shrimp. 
...was simply a friendly suggestion. Not a demand. You know, to get to know someone in a more personable way? 
Nope, But You Do Have To Register If You Want To Post Abuse 
and it's a prerequisite for trolling (i.e. some form of accountability). 
@dumptruck_ds: Yeah, I get that. :) Of course registering has its benefits, but it should be the person's own choice, and I thought the way you phrased it, it sounded a bit like a demand/pressure/prerequisite.

In any case, my comment was directed more at whoever posted the question in 19413/19414, than at you. People may have various valid reasons for not wanting to register and sign up, and it would be a shame if they feel pressured to register and then stay away completely as a result.

And (re: #19424/Shambler) of course I'm talking about people asking for mapping help, contributing knowledge, etc. and not about trolls/people posting abuse. I can understand the argument there, although there are plenty of people happy to troll and post abuse while logged in anyway. So I'd argue that even then, whether or not someone is registered or logged in is irrelevant: just don't be a troll and don't be abusive. 
can a mod delete / move the above BS into the beef thread?

It would be nice if any visitors coming here wouldn't be greeted with this as their first experience here. 
Would if I could. I think there's no beef here now tho. All good. 
how do I get spike traps to shoot more/less frequently? 
ah nvm, got it (it's 'wait') 
Bit Of A Technical Question Here 
Been trying to get my head around the Valve220 map format.

What's the point of the "rotation" field?

There's a not-particularly-clear description of it on that page, but I still don't get why it's required when you already have two vectors defining the "right" and "up" of the texture.

Possibly related, but in Netradiant, if I do a fractional texture rotation (e.g. 13.6 or whatever), only the integral part (13) gets saved to the "rotation" field in the .map, yet the extra precision is not being discarded, because it's generating different "right" and "up" vectors, compared to if I just rotated it by the integer 13.

It's almost like the "rotation" field is just for show, but why? 
Rotation Field 
It's a cheat. Rather than the editor (JACK or Hammer only) having to calculate the relative rotation of the texture UV space every time it loads a face into a brush, it merely calculates this during save and puts it into the .vmf

At least U think thats what it's for. Old Worldcraft 3.3 needed some hackery if I recall to read it. Whoever did the WC3.3 patch might know for sure. 
That field stores the knob position of the Hammer UI. It's not used by qbsp when compiling the map.

I guess the reason it was done this way is, you can rotate the brush with texture lock on, and this won't cause the texture rotation knob in the UI to change on its own. 
Knobs And Things 
interesting cheers, so it's pretty irrelevant. 
what's a good method to creating arches that match up with the arch textures? in JACK I would use the primitives and CSG but that was funky sometimes and TB doesn't have those functions at all. 
derp. a description would probably be nice:

theres an arch tutorial for Trenchbroom. 
_bounce In Ericw-tools 
Is there a way to control/turn off the bounce lighting specifically on _sunlight and _sunlight2? 
Not At The Moment Afik 
but it's a good suggestion! 
Thank You, Love Your Tools 
Engine Question 
Is there any difference in physics whatsoever between a trigger that was created in the editor as a brush model, and a trigger that was spawned dynamically in the QC? I'm guessing the answer's "no", but wanted to double-check. 
no. either way, solid_trigger is an aabb. the shape you set in the editor is irrelevant, only the bbox extents are meaningful.
so one uses setmodel and then discards the model, the other can just directly use setsize. same result. 
Nice One 
That's the answer I was expecting and indeed hoped for. Cheers :) 
Colored Lighting 
Working on some colored lighting in a map. I had been tinkering around with the Arcane Dimensions stuff, and left those settings on when I originally setup the lights. My lights look really good in AD. Later, when playing the map in Quakespasm with no mod, I noticed the colored lights are pretty crappy by comparison, and I'm not sure if its a matter of settings or if Arcane Dimensions just had a different lighting setup than Quakespasm can do on its own. I feel like there's a setting I'm missing or something, perhaps a rendering setting in the engine I need set in the config?

Shabby Lighting
Screenshot 1 with Quakespasm:
Screenshot 2 with Quakespasm:

Pretty Lighting
Screenshot 1 with Quakespasm + AD mod:
Screenshot 2 with Quakespasm + AD mod:

Bonus Question: Does Arcane Dimensions mod always use the new health and ammo models or is there a way to tell it (in map settings) to use the classic models?

OS: Windows 7 64bit
Client: Quakespasm v0.93.0 x64
Editor: J.A.C.K. 1.1.1064 64bit 
Skip Textures 
I created these for the video tutorials I am working on. Not pretty but you may find them useful.

Link on Quaketastic

Problem Adding Textures 
Hello, I'm having difficulties setting up textures in trenchbroom. I have followed instructions and added Texture compilations WADs, but the textures doesnt show up in the I missing something here? 
Problem Adding Textures 
I noticed I get the following error message when adding a WAD:

Could not load palette file 'gfx\palette.lmp': File not found: 'gfx\palette.lmp' 
Quake path not set? 
click "face" right up screen, aside Map Entity.
texture browser +
Add texture wad set path
Has to be your Quake directory. As Pyro said. 
I don't think there's anything different lighting-wise in AD, or at least there shouldn't be given lighting is baked into the map, and a quick look at the documentation file and configs doesn't show anything. Normally if you're getting issues with colored lighting, it's due to the engine not supporting it so it either doesn't show up at all or shows up as standard white lights, but you've clearly still got some kind of color going on in the standard QS screenshots. I tried replicating it with multiple lights overlapping, different light values/types, etc. and couldn't get that 'colored outline' effect, would you mind uploading the map (and your own compiled .bsp) to see if the same thing happens to others?

Bonus Question: Does Arcane Dimensions mod always use the new health and ammo models or is there a way to tell it (in map settings) to use the classic models?
AD always uses its new models IIRC; there's a couple variants including a metal-sided style based off the id1 boxes (the same way AD includes updated weapon world models, enemy models, etc) but they're normally limited to the base worldtype, being replaced by the wood-sided boxes and health potions in medieval/runic. Glancing at the qc files shows there's a skin_override key available for both health and ammo entities that you can use to force one model or the other though, so give that a whirl. 
Trenchbroom Error / Help 
Hey guys. First-time mapper here working on a, hopefully, exciting map that I'm eager to finish and release. I've been working on it daily for the last 7 days and learning as I go. I'm having an issue, however, that maybe someone could help me with? So the level is coming along and I'm moving into a new section. It's at the end of a hallway and then I'm trying to make a path to the left. Everything compiles right with that new path but when I extend it to make it longer, there is an error compiling. It says "Mixed face contents in leafnode near (835.43 -192.00 72.00)" and I sort of know what that means as I've had to fix those kinds of errors before. Problem with this one is this hallway, floor, etc are not bumping into anything, are connected properly, and all that. There's literally nothing for it to run into so I'm not sure what's happening. Any ideas? 
Error (cont) 
Run into meaning sky and wall, for example. That's where I saw that error before was when my sky was encroaching on some walls. Cleared it right up after editing it a little but this error I'm having currently is really confusing the hell out of me. I don't know why the new section will compile right when it's a small size and then cause everything to screw up when I extend it a few meters down. I've tried building other stuff in that area and it seems that there is a point of no return kind of deal going on. 
It's for Quake 1, if that matters. 
That's usually something you get when you have a face with sky texture touching a face with some kind of liquid texture, or a trigger. Sure there's not something like that going on? 
Yeah, I'm almost certain. I do have a skybox in one section but fixed all the problems there and never had any more issues until this hallway part which is a good distance away from the skybox. I've narrowed it down to the point I can't go past as well and there's nothing in the way whatsoever. If I extend it even one small block it won't compile. Really frustrating. 
Deleted the skybox completely and tried it and still won't compile so can narrow that out at least. 
Oh weird. Fixed it but still not sure why it was a problem. I constructed a little table in the hallway and made a shiny gold necklace on it and used zoomed in lava for the gem part to give it a cool glow. This didn't cause any problems prior either but I just deleted it and now I can keep going with the hallway. Weird. I wonder why it would work to a certain distance and then stop considering the necklace is also away from the place I'm now building. You did help me though. You said "liquid texture" and it gave me the idea to delete it and see what happens. Thanks, man. Woo! Was getting worried for a second. 
Bummer about the necklace though. It looked awesome. 
Maybe with some screenshots of how you've set things up people will have some ideas of what could be going wrong. 
I've had "bad geometry" cause leaks before but never got that mixed face error. It sounds like you had lava just on one face of the brush in this case. Maybe a custom full fright texture would have a similar effect? You can probably use something from the prototype wad here: 
Yeah it's all sorted now anyway so no worries. I'll come back to the necklace when I finish everything and see if it goes through. Are these leaks you mention a major problem? I've seen some leaks pop up during compiling but I'm still able to play the level and all that so I figured it wasn't a huge deal. 
I'm liking those textures. Thanks man. 
Trenchbroom Compilation Question 
Hello, I started to use Trenchbroom and had a problems with compilation so I found some guides covering the newest version of Trenchbroom that lead me on right direction though did'n help at all. So I referred to Trenchbroom's manual pic named "Compilation Dialogue" and my map seems to compile just fine with qbsp.exe. So I tried to compile using other tools, again referring to mentioned manual pic and just don't understand what shoud I type instead of ${CPU_COUNT-1}. Please help 
Could you upload a screenshot of what your compile UI looks like? And what tools are you trying to use? 
sorry I don't know how to upload that. in manual pic everithing that has ${} thingies must be replaced with directory of the game or folder with map and I have no clue what I should replace the ${CPU_COUNT-1} with. In output it tells me: Could not interpolate expression '-threads ${cpu_count-1} mymap.bsp': Cannot subtract value '1' of type 'Number from value 'undefined' of type 'Undefined' 
Just Leave CPU Count Alone? 
From the manual:

CPU_COUNT | Tool | The number of CPUs in the current machine.

Usually we just set path's for compilation. 
Mixed face contents is where you have a mix between the 3 face types in Quake: world, water, sky. Never have a brush with water on kne side, world on another. Or sky mixed with water, etc. 
Triggering Monsters (Quake 1) 
Hey dudes. Me again. I'm trying to set a trigger on nailgun pickup that summons two demons at the end of the room but I'm unsure of how to do this exactly. I've set up a room apart from the map that they'll teleport from but that's about it. I've been experimenting with the trigger functions and just can't figure it out. The manual does not seem to cover this topic and google isn't yielding much. 
Additional Question (not Too Important) 
While I'm here I figured I'd ask another question: is there any way to see how my lighting will work in the editor itself? I have to compile and run the level every time I make adjustments and it's starting to take a while. 
Triggering Monsters (Quake 1) 
For teleporing monsters via trigger once.

1. Make some monsters and place in into "trigger_teleport" brushes. Each monster in separate "trigger_teleport" entity. All teleport entities must have one targetname.
2. Add some teleport destinations - one "info_teleport_destination" for one "trigger_teleport", and connect it one to one.
3. Connect your "trigger_once" to "trigger_teleport" ents. 
Spawn a monster in. (I know you've done some of this but for others:)

How to teleport in a monster upon triggering something:

1. make an area outside your playable level and place your your monster
2. make a brush with the trigger texture that covers the center of the monster.
3. right click and make the trigger brush into a trigger_teleport give it a targetname (i.e. monster1) and a different target (i.e. dest1)
4. place a info_teleport_destination where you want the monster to teleport to give that the targetname of the target in step 3 (in this case dest1)
5. set your trigger (in your case above it's picking up a nailgun) the target of the nailgun should match the trigger_teleport targetname in #3 (monster1.)
6. make sure you keep track of your targetname and targets - it's easy to get these confused. Just remember targets trigger targetnames in other entities

something to note: if you are spawning in two at the same time they need their own info_teleport_destination entities so they can share a targetname and be triggered at the same time but they each need their own separate target. If you use one destination they will telefrag each other! And you may want to add a key of delay and a value of 0.1 to the second monster so there is a tiny delay between their spawns. I recall this solving an issue before so try it if you see problems.

2. there's no real-time lighting preview right now in any of the editors. NetRadiant will show you a representation of the falloff of a light. ericw had hinted he might do an application that does realtime lighting preview at some point. Which would be instantly popular. 
@doomer is correct and I wasn't clear above. Each monster needs its own trigger brush and separate destination but they can share a targetname. Also I think you can just add a target to the nail gun instead of making a trigger_once. But if you wanted the monsters to teleport as you walk into a room then you'd make a trigger brush right click and make it a "trigger_once" Good luck!!! 
Awesome. Thanks guys. I love your levels and you're both big reasons why I started learning Trenchbroom. You guys, Sock, Ionous, Skacky, etc are incredible at this. 
Wow, that's very kind of you. I am currently working on video tutorials for Trenchbroom. You seem to figuring out thing on your own though! The first one will be out early next week. As time progresses there will be some advanced tuts you'll want to check out. I'll post here on fucn with links. 
Beautiful. Got it on the first shot as you guys explained it perfectly. Definitely looking forward to the tutorials. Thanks again, guys. You rock. 
Just To Be Safe 
I made a post about this, but I might have made a mistake with that. Here's what I wanted to ask:

I've been looking for a tutorial on the use of Jackhammer for a few hours now, but I can't seem to find anything. Is there a tutorial out there I can use to see what's up? 
If you can't find any tuts for JACK then you have some options that will get you close.

First, JACK is based on Valve's Hammer editor. You will find tutorials for Hammer out in the wild. There are many similarities between the programs. I believe JACK has more features but I haven't used it too much.

The other option is to use Worldcraft tutorials. JACK is based on Hammer which was based on Worldcraft and many concepts from Quake will carry over.

Good luck and consider trying TrenchBroom 2. I will be publishing a Quickstart video tutorial sometime this weekend (or before) and you may like what you see.

The tuts will be on my YT channel is here 
Artifacts In Q2 Sun/lightmap 
Hello guys, this is my first post here. It's interesting to finally have some reason to post here. I'm following func_msgboard for sometime, following all the cool maps and mods are being born here... Good stuff :)

Anyway, i decided to try something in Q2 engine. Right now, i'm having some problems when using _sun. Compiling with qrad3, i get this result:

it doesn't happen when i compile regular lights only, just when I use Sun... :/ Anyone have some idea? Thanks! 
Ah, Arghrad 
Arghrad solved my problem :D
back to work 
Scaling Models 
Is there a way to scale (prop) models easily? I have downloaded Preach's crane and helipad models from his site, and after placing them on my map in Trenchbroom they look so small, about the size of a cat. Quite endearing, actually. xD

Will I have to resort to some mdl editing in a separate editor? D: Guess I'm going down the deep end of Quake custom content creation, no more simple map making, huh? xD 
I usually just jump into QME here? and scale the model:

Of course, QME sucks ass and tends to mangle models if they look at it funny so... have fun? 
QME likes to break mdls. Should only be used to view models. :( you may get lucky tho. 
Mdl Scale 
Scale is defined by just one float in the .mdl binary file, I think (Can anyone confirm? Does anything else need to be tweaked other than this one float?)

If so, you could be able to just hax0r it with a hex editor. Preach - any ideas? 
Actually it's a vector of 3 floats

you'll probably want to scale bounding radius too. 
Yeah, you only need to change those 4 floats, so a hex editor will do the trick. If you prefer, you can install the qmdl python module then run the following script against the model.

from qmdl.helper import Helper

#read the model file
mymdl = Helper()
mymdl.mdl.scale = tuple ([i*4 for i in mymdl.mdl.scale])
mymdl.mdl.boundingradius = mymdl.mdl.boundingradius * 4
#save again"bigcrane.mdl")

This is multiplying the scale by 4, vary the value as required. 
It Worked! 
Thanks guys, you just keep helping out, no matter what I keep throwing at ya', AND always in a timely manner, might I add! :)

And for your information Preach, I used your script on a newer Python version 3.6.4. 
Adjusting Mdl Centerpoint 
I'm guessing it's model dependent, but I noticed that the larger I made the helipad, the further away the model diverged from the model entity (or is it in this case just a handle?) in Trenchbroom. Is there a centerpoint in the mdl I should adjust? Can it be done with qmdl or should I use something else? 
One of the quirks of the mdl format is that the model keeps the bottom left corner fixed when you rescale it, rather than the centre. If you add a line like

mymdl.mdl.origin = (-64 -64 -64)

after the mymdl.mdl.boundingradius line in the script from the previous point, you can specify the coordinates you'd like the bottom-left point to be at. Play around with the values! 
I figured it would be something like that. Thanks a heap for going through the trouble of helping me out! :) 
No Worries 
It's cool to see someone using it, I worried that it being a python module was a bit off-putting 
Func_train Question 
How to make train move through four path_corners? I named each correspondingly and gave paths corresponding direction. 
I made a sample map linked below. It's pretty easy to do as you'll see.

I made 4 path_corners. t1 - t4 make sure the target/targetnames are correct and that they close a "loop" - that's the part that people mess up on the most.

I don't think you need to specify a direction. I didn't in this case. Sorry for the weird name. Also you can use Quake101.wad or q.wad for the textures in this map. 
Thank you for your help! watched your tutorial on tuesday so thaks for that as well! 
You're very welcome. LMK if you have any requests for tutorials. :) 
Texture Wads 
New to mapping (thanks @dumptruck_ds) and wondering where everyone gets their textures?

For the moment I'm just looking for the default Q1 textures, but it'd be good to know where to get custom textures come from too. 
Here's A Start. 
Texmex will let you open a map/bsp and save as a wad 
Tex Mex 
Does TexMex have a homepage somewhere? Or is it just floating around, no longer developed. 
Looks Like Floating Out There 
Looks Like Floating Out There 
Guessing this one is the one people are using texmex_34 
This is more of an engine question but does quakespasm or vkquake support increasing the playback speed for animated textures using the +0, +1, +2 naming convention?

DP lets you circumvent this with Q3 shaders but i'm just curious if there's a more universal option for having an animated waterfall look smoother 
Not that I know of, but there's a tutorial on Preach's site about using func_wall's on-trigger function (switching texture between two sets) to double the framerate from 5FPS to 10 using two sets of premade textures. 
I Should Add.. 
That the method in the tutorial is a bit convoluted, because it describes how to get the effect in unmodified Quake. It would be much better to achieve the same effect with a simple mod that added QuakeC code to perform the switching between the textures. 
I'm Using Func_illusionaries 
So i guess i'll just deal with the low framerate.

I have another question/problem - I made a huge lift in my map that goes up slowly, it's a door -

It has items on it, but seemingly at random while the player is riding it he will get snagged on it and take damage, and send the lift back down.

Is there any reason for this/workaround? I know i could make it so you ride it down slowly instead of up, but I have to redesign it if i do that. I wanted to avoid using a func_train but if it's some sort of engine problem I'll switch.

I'm using quakespasm btw 
Wait What? 
I switched to a train and the collision does not match up with the position of the train - i tested in quakespasm and vkquake and it's broken in both, but oddly enough in darkplaces the collision of the train is correct

I have no idea what's going on 
Check for an "angle" or "angles" key on the func_train and delete it if there is one. 
I feel like a dope, that was it. Leftover from converting door > train

Check Your Server Fps Too 
Another thing that can cause weird physics glitches, like the one you had with your elevator, is setting the server fps too high in the config (default 72, if I recall correctly). When I use Quakespasm, setting it to 150 still seems to allow everything to work correctly. 
I Actually Kept Quakespasm Running At 72 Fps 
It still would happen. Sometimes the train gets caught too and does a point or 2 of damage but it's alright since it doesn't break the whole sequence 
I had the same stubborn func_plat that caused me headaches to solve.
Glad finding the solution here.

(for the the func_plat head) P: 
Lava Alpha 1 
It's been asked many times, but here I go. There is a worldspawn key to set the lava alpha for that particular level, right? Which one is that, again? 
Meet The "alpha's", Hehe (Hope This Is Correct) 

----- Alpha Options -----

water_alpha(string) : "Water Alpha" : : "Set the transparency of water (ex .70), which are brushes textured with a water(ex *04water) texture. This setting tranfers directly to the other 'liquid' types and teleporters, UNLESS you are using an engine that supports individual 'alpha's' for each(see below). NOTE - Defaults to the players own 'r_wateralpha' settings if no value is assigned."

lavaalpha(string) : "Lava Alpha" : : "Set the individual transparency of Lava, brush solids textured with a lava(ex *lava1) texture. Default inherits the 'water_alpha' setting. If 'water_alpha' is not set then it defaults to the players own 'r_wateralpha' setting."

slimealpha(string) : "Slime Alpha" : : "Transparency of Slime, works the same as 'lavaalpha' except for solids textured with a slime(ex *slime0) texture."

telealpha(string) : "Teleporter Alpha" : : "Transparency of Teleporters, works the same as 'lavaalpha' except for solids textured with a teleporter(ex *teleport) texture."

This works for me and I believe it to be accurate but if it is not, please let me know otherwise. 
I Forgot To Bold This... 
... and it threw me when I was testing:

IF 'water_alpha' is NOT set, then it defaults to the players own 'r_wateralpha' setting."

That means, that to set lavaalpha, it IS necessary to set a starting water_alpha to get the results you desire! 
Sorry For The Empty Post Above 
Is this Quakespasm? Do these work in other engines? 
Yes, Quakespasm. I just assumed it was a QS related question since it was a specific lava alpha question, maybe that was wrong?

I tested with DP, FTE, AD-MOD/QSS etc... I only remember I had mixed results, not the specifics to what each one did upon map load. 
Thanks, But 
I hope I can still set water_alpha 0.5 and lavaalpha 1, transparent water and opaque lava. Will try later. 
Water_alpha Is An AD Feature 
It works on any engine, but only with the AD mod.

Quakespasm and MarkV both support "_lavaalpha" and "_wateralpha" worldspawn keys. These work on any mod includong id1. This is relatively new (last 2 years ish) and not sure if any other engines recognize these keys. 
Really Wish I Could Edit My Post, Grrrr 
I should have used my modified version of Daz's FGD for reference, doh. I forgot the subtle differences.

Which has the correct entry for wateralpha, which is:

wateralpha(string) : "Water Alpha" : : "Set the overall transparency of liquids, default = (1.00)"

This I just tested with stock id1. No underscore needed at all?

Apologies for the confusion. 
Just checked MarkV and QS source, they will both accept underscore or no underscore. 
What About Telealpha For Mark V? 
In my map it's not recognizing it? 
MarkV Doesn't Seem To Support A Telealpha Key 
I think were technical reasons for not doing it.

Mark V has automatic underwater transparency detection (which isn't hard to implement, btw --- I told qbism how to do it and he added it qbism super8).

But the underwater transparency test cannot be applied to all teleporters because a small teleporter might not even materially affect vis.

Recommendation: Add automatic underwater transparency to Quakespasm (you'll like it) and then also remove support for tele-alpha.

Qbism added automatic underwater transparency to super8 because if a map isn't water-vised, honoring the user's r_wateralpha value (unless r_novis 1) is just silly looks horrible.

If you add automatic underwater transparency, you'll never see that ugliness ever again! 
Original Id1 Wads 
#14672 #14678
"Are the original id1 wad files somewhere? I wanted to re-compile all the maps to try this but got a lot of missing textures when I used wads from my collection.


For example: I was also looking for the original wads and after finding these two posts I decided I was bored enough today to do this:

I found that the available METAL.WAD had only 99 textures in whereas mine now has 144.

I opened each original map from Romero's source and then made a list of which maps used which wads. I then extracted the textures from each map as its own named wad. After that I merged all the wads into their correct wad according to the list I made.

Adding these to /Trenchbroom dir/gfx now allows all the source maps to be textured without having to open Quake101.wad or similar afterwards. 
I always found the lacking textures super annoying, but oGkspAz, you have finally fixed the problem that has annoyed me for so long.

Thank you thank you thank you! 
Help, I Am About To Release My First Map But I Have Some Problems 
Ok, so I am a long-time Doom mapper and have recently taken up Quake mapping as well. I like it a lot and you can expect to see more stuff from me. Forgive me if I come across as a massive noob. I still feel like an outsider.

I have two problems that prevent me from releasing the map:

First, I have a func_door descending lift but whenever I step on it it only goes 48 is driving me nuts.

Second, the surface of the lift and a brush near it are acting very strangely. If I just walk on them then it alright but if I jump, I get instagibbed. I don't get it...

Would someone mind taking a look at the map? I could also use some feedback on the map itself.

Now I don't know how to package the thing. I just use the compiler but when I drag the .bsp file in Quakespasm, it crashes, so I will just upload the .bsp, .map and .WAD files that I used in a RAR. Again, excuse my noobishness.

I hope you will enjoy the map. 
func_door descending lift but whenever I step on it it only goes 48 is driving me nuts.
func_door will move the extent of the bounding box, minus the "lip" value (but if lip is unset or 0, it uses a default value of.. 8, I think?).

Easiest fix is probably to add a "pedestal" to the lift to give the overall func_door the right height.

If I just walk on them then it alright but if I jump, I get instagibbed.
Check that your host_maxfps cvar is not set above 72. If it's too high elevators will hurt the player. 

Yay, that worked. I knew it had something to do with the bounding box!

It is not set above 72. I have an instagib trap in a nearby room but I checked and there are none of the brushes going in the affected room. Really werid. 
You get gibbed when jumping there is because of the way the trigger_hurt is done. The size of trigger volumes is always determined by an (axial) box around all of the brushes it's made of. In this case, the trigger consists of two brushes, a big one and a smaller, but the touchable volume spans across both. Check with r_showbboxes 1. You need to make it two trigger_hurt entities, one for each brush; then the space above the lift will be unaffected. 
Got it!

Now how do I package the whole map so I can share it? 
You'll want to name your .bsp file in all lower case, no spaces or special characters. You will zip up the following in an archive:

1. your .bsp file (the map)
2. a readme.txt file. please name it <yourmapname>_readme.txt This explains what your map is and any specific info you want to share including your email or social media contacts.
3. it's customary but optional to include your .map file (it's considered polite in these circles.)
4. if you have any colored lighting in your map there will be a .lit file with the same name as your bsp. Make sure to include that as well.

Congrats on making a map!! 
Hey dumptruck! Your YouTube videos were very helpful in making this!

What about the .WAD files? Or are they included in the BSP? 
Here is a link to the final map if anyone is interested in playtesting. 
Seems like a good first effort. Though unfortunately it's pretty much unplayable currently. The map is unsealed (leaks) and unvised - this is something you must address before the final release. In addition, there are many issues concerning entity placement: nine items (including a grenade launcher) fall out of the level, and a large number of monsters are being reported as partially stuck in geometry. Check the map with developer 1 and you'll see all the warning messages in the console:

walkmonster 'monster_ogre' in wall at '768.0 -80.0 265.0'
walkmonster 'monster_zombie' in wall at '-784.0 -704.0 41.0'
walkmonster 'monster_zombie' in wall at '-352.0 -400.0 41.0'
walkmonster 'monster_ogre' in wall at '528.0 -1008.0 489.0'
walkmonster 'monster_ogre' in wall at '296.0 -1072.0 488.0'
walkmonster 'monster_ogre' in wall at '368.0 -976.0 489.0'
walkmonster 'monster_ogre' in wall at '296.0 -1240.0 489.0'
walkmonster 'monster_enforcer' in wall at '632.0 -952.0 296.0'
walkmonster 'monster_ogre' in wall at '224.0 -1288.0 184.0'
walkmonster 'monster_ogre' in wall at '-2400.0 -1472.0 -424.0'
walkmonster 'monster_ogre' in wall at '-1704.0 -1880.0 -72.0'
walkmonster 'monster_ogre' in wall at '-2224.0 -2288.0 -72.0'
walkmonster 'monster_ogre' in wall at '-2528.0 -2032.0 -72.0'
walkmonster 'monster_knight' in wall at ' 32.0 -1808.0 25.0'
walkmonster 'monster_knight' in wall at ' 96.0 -1808.0 25.0'
walkmonster 'monster_knight' in wall at '-32.0 -1808.0 25.0'
walkmonster 'monster_knight' in wall at '192.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at '128.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at ' 64.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at ' -0.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at '-64.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at '-128.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at '-160.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at '-96.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at '-32.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at ' 32.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at ' 96.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at '160.0 -1872.0 25.0'

bonus item 'item_shells' fell out of level at '624.0 -48.0 22.0'
bonus item 'item_health' fell out of level at '216.0 -1312.0 166.0'
bonus item 'item_spikes' fell out of level at '-2240.0 -576.0 -410.0'
bonus item 'item_spikes' fell out of level at '-2016.0 -576.0 -410.0'
bonus item 'weapon_grenadelauncher' fell out of level at '-1760.0 -992.0 -378.0'
bonus item 'item_shells' fell out of level at '-1632.0 -1280.0 -658.0'
bonus item 'item_shells' fell out of level at '-2544.0 -1648.0 -202.0'
bonus item 'item_rockets' fell out of level at '-1296.0 80.0 38.0'
bonus item 'item_rockets' fell out of level at '-1264.0 80.0 38.0'

The monster in wall warnings may not be critical in most cases (usually if placed too close to a wall or ceiling - have at least 4 units space between), but it's still a good idea to try to fix it.

Apart from that, it seems there are no difficulty settings whatsoever and a very large enemy count to the point where at least the entire upper (outside) part feels extremely overcrowded and unfair - and especially since most of them seem to wake up all at once.

I didn't play the map properly in light of the aforementioned issues, but my initial thought: I don't really like it when enemies spot you and attack the very moment the map starts, at least if it's without warning and they spawn close by. I would remove all monsters from the start room; maybe put them in the room to the left (partrolling maybe?). This would have the benefit of keeping them from opening the door to the right and making even more enemies wake up right away.
The population in the outside area should be thinned out somewhat, or made to wake up in waves (e.g. "ambush" spawnflag), or the ones on the battlements only appearing at a later point when the player has cleared the majority of enemies in the area (e.g. by having them move up from holes on top of the wall or teleporting in). As it stands, it's pretty messy and bullethell on top of being low on health and ammo at the start. 
Wasn't supposed to come across as bashing the map, just highlighting some things to improve for the next beta. 
I'm Having Problems With My Map (compiling). 
At first my map compiled with no lights at all and in the end it didn't compile at all.

I'm making it in JACK (I'm too used to Hammer and it's like Jackhammer) and compiling in TrenchBroom or Quark (because JACK fails to create .bsp file). TB can't launch the map and Quark gives me the error: «SubdivideFace: didn't split the polygon».

Could anyone, please, take a look at the map and say what's wrong with it?

Link to the .map file:

P.S. It's obviously not finished. BTW, placing buttons made it crash for some reason and triggers don't seem to work. Golden key changes position for some reason and other weird shit only here, only now.

P.P.S. Quark log:

5227 leaffaces 4806 nodefaces ************ ERROR ************ SubdivideFace: didn't split the polygon

!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-! Build failed, because it did not create the (+BSP) file: D:\Steam\SteamApps\comm on\Quake\tmpQuArK.\maps\pipe_dream.BSP Build failed, because it did not create the (+PRT) file: D:\Steam\SteamApps\comm on\Quake\tmpQuArK.\maps\pipe_dream.PRT

_________________________ GO ! (textures+build+Quake) _________________________

D:\Steam\SteamApps\common\Quake\tmpQuArK> "E:\Закуток Разраба\GoldSrc Games\J.A. C.K\quake\qbsp.exe" maps\

Quake BSP Compiler (build Oct 8 2015) ----------- qbsp ------------ qdir: D:\Steam\SteamApps\common\Quake\ gamedir: D:\Steam\SteamApps\common\Quake\tmpQuArK\ outputfile: maps\pipe_dream.bsp --- LoadMapFile --- maps\ 465 brushes 41 entities 48 miptex 233 texinfo building hulls sequentially... --- Brush_LoadEntity --- 445 brushes read ---- CSGFaces ---- 2845 brushfaces 7194 csgfaces 2277 mergedfaces ----- SolidBSP ----- 3247 split nodes 1546 solid leafs 1702 empty leafs 0 water leafs 6231 leaffaces 5777 nodefaces ----- portalize ---- ----- FillOutside ---- 806 outleafs ----- SolidBSP ----- 2480 split nodes 1309 solid leafs 1172 empty leafs 0 water leafs 5227 leaffaces 4806 nodefaces ************ ERROR ************ SubdivideFace: didn't split the polygon

!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-! Build failed, because it did not create the (+BSP) file: D:\Steam\SteamApps\comm on\Quake\tmpQuArK.\maps\pipe_dream.BSP Build failed, because it did not create the (+PRT) file: D:\Steam\SteamApps\comm on\Quake\tmpQuArK.\maps\pipe_dream.PRT 
SubdivideFace: didn't split the polygon typically means that there's a face somewhere on which the texture is scaled too low for QBSP to handle. For example a small face/brush with a texture scale of less than 0.25, or something along these lines.

It seems you use the compilers that come with Quark. I don't even know what those are, but they're definitely outdated. Try some newer ones, e.g. these, and it should either take care of it right away or at least give you some indication of where the problem originates. 
1st thing I did is changed textures to default wall and checked scale, it's 1.0 for everything.

Quark uses the same compilers as JACK and TB. 
JACK log

** Executing...
** Command: Change Directory
** Parameters: D:/Steam/steamapps/common/Quake/pipe_dream

** Executing...
** Command: Copy File
** Source: D:\Steam\steamapps\common\Quake\pipe_dream\
** Destination: \

** Executing...
** Command: E:/Закуток Разраба/GoldSrc Games/J.A.C.K./quake/qbsp.exe
** Parameters: "\pipe_dream"
Quake BSP Compiler (build Oct 8 2015)
----------- qbsp ------------
************ ERROR ************
SetQdirFromPath: no 'maps' in \pipe_dream

** Executing...
** Command: E:/Закуток Разраба/GoldSrc Games/J.A.C.K./quake/vis.exe
** Parameters: "\pipe_dream"
Quake VIS Compiler (build Dec 11 2013)
------------ vis ------------
************ ERROR ************
Error opening \pipe_dream.bsp: No such file or directory

** Executing...
** Command: E:/Закуток Разраба/GoldSrc Games/J.A.C.K./quake/light.exe
** Parameters: "\pipe_dream"
Quake LIGHT Compiler (build Oct 6 2015)
----------- light -----------
************ ERROR ************
Error opening \pipe_dream.bsp: No such file or directory

** Executing...
** Command: Change Directory
** Parameters: D:/Steam/steamapps/common/Quake

** Executing...
** Command: D:/Steam/steamapps/common/Quake/quakespasm.exe
** Parameters: +map pipe_dream

for some reason it launches the old version, no lights. 
I will look at your map this evening after work. I can load it at work but I can't compile it without a lot of trouble. I'd suggest compiling with ericw tools and using Necro's compiling GUI. It will eliminate any issues that may be arising from switching between editors. Here is a PDF I created with step by step setup instructions on page 2.

I'm not sure if you've seen my TrenchBroom 2 tutorials but this pdf if is specific to the Quickstart tutorial. But it's shouldn't matter.

One thing is I am seeing you have wads in 2 locations on your system. I would move them to a common folder and re-link them in your editor of choice. Try to compile with ericw tools and Necro's GUI.

I'd also recommend you watch my Quickstart video as well. In it I recommend setting up a "dev" folder for Quake and show how to do it. 
it seems that some columns caused "integer" trouble. I deleted 'em. Nothing changed. 
@ Dumptruck_ds 
Oh, thank you for the step by step instruction. I'll try it as soon as possible. 
Common Compiling Errors 
I think if you take Negke's and my suggestion and ensure you use ericw's tools to compile you will be able to supply us with better information overall. Please try that and share the .log files that are generated. 
I found that some portion of errors was tied to the root folder name (сyrillic). After I changed it, EricW made me a .bsp. (Still no lights. And keys dissapear for some reason)

I adjust the archive with logs and .bsp.

It's a middle of a night here, so I'm signing off. Again, thanks for the quick answers, wasn't expecting this. 
Hey we're getting somewhere. I'm assuming ericw found some leaks. I loaded up the map in TB2 and the level in Quakespasm.

First off you want to run Quake with the +developer 1 command line option or type developer 1 in the console and then restart. Either way you will now see much more information in the console. You can dump the console to a txt file by typing condump in the console. Here are your missing keys and items:

Bonus item fell out of level at '1920.0 1856.0 230.0'
Bonus item fell out of level at '1700.0 1844.0 6.0'
Bonus item fell out of level at '2272.0 1952.0 222.0'
Bonus item fell out of level at '2132.0 2144.0 -186.0'
Bonus item fell out of level at '1684.0 2144.0 -186.0'

In TrenchBroom in the View menu select Camera > Move Camera to... and type in those coordinates above. You will then be "inside" the entity. In this case your keys and other items are too low to the ground or close to other items so they've fallen out of the level.

There are lights in your level. HOWEVER, you have a light key in the Worldspawn that is making the entire level lit at 200 regardless of your light entities. If you delete that key your lights will work.

The gold key up top I think is being pushed down into the world by the func_plat you are using.

The level is pretty nice. I hope you keep working on it. We're happy to help. 
Hey we're getting somewhere. I'm assuming ericw found some leaks. I loaded up the map in TB2 and the level in Quakespasm.

First off you want to run Quake with the +developer 1 command line option or type developer 1 in the console and then restart. Either way you will now see much more information in the console. You can dump the console to a txt file by typing condump in the console. Here are your missing keys and items:

Bonus item fell out of level at '1920.0 1856.0 230.0'
Bonus item fell out of level at '1700.0 1844.0 6.0'
Bonus item fell out of level at '2272.0 1952.0 222.0'
Bonus item fell out of level at '2132.0 2144.0 -186.0'
Bonus item fell out of level at '1684.0 2144.0 -186.0'

In TrenchBroom in the View menu select Camera > Move Camera to... and type in those coordinates above. You will then be "inside" the entity. In this case your keys and other items are too low to the ground or close to other items so they've fallen out of the level.

There are lights in your level. HOWEVER, you have a light key in the Worldspawn that is making the entire level lit at 200 regardless of your light entities. If you delete that key your lights will work.

The gold key up top I think is being pushed down into the world by the func_plat you are using.

The level is pretty nice. I hope you keep working on it. We're happy to help. 
The map works well on my end but I will keep in mind what you said.

I am still getting used to how Quake feels. I mean AD got me back into it (didn't even know Quake had a mapping community before that!) so I kinda designed my maps like I would design my Doom maps. I am still getting used to tougher individual enemies and the slower speed. 
Mission Accomplished 
Thanks for all your support, it works fine now! Some trouble with the key I so wanted to place under the moving platform, but otherwise – pretty smooth.

I love making levels, but rarely finish them :).

I was so used to leaks and light surfaces overload that I assumed that there's a trouble with the light by the default xD.

P.S. Now the map looks less embarassing :

P.P.S. I must say it's really increadible work you're doing for Quake community. It's hard to belive that the tools are still being made. 
Glad this is working now. I have faith in this level. You should finish it.

SleepwalkR and ericw are doing a great job developing TrenchBroom and keeping us all mapping after 21 years... amazing. 
Free Space Around Entities 
BTW, how much space should be left around items and monsters for them not to stuck / to appear?

Dogs in my level glued to the walls of their kennels (64x128x64) and some items don't respawn if placed too close to the walls or to the other items, but not always. Like, for example, armor and rockets goes fine together, but rockets and nails don't and niches are apparently very item-unfriendly.

This key, I was speeking about early, finally it got right where I want it, but it's like pure luck. 
All monsters are Shambler-sized in their collisions, to the best of my knowledge.

64 width, 64 height 88 tall -- says the engine source code. 
That can't be right, this fullbright box compiled just fine and didn't drop the enemy into the void with an enemy's hitbox- listed as 32x32x64 in Trenchbroom- a single unit away from the wall. Making it touch the wall still spawns it but it ends up stuck (an error is shown in the console when using developer 1), but even one unit is enough to leave it free to turn around and run. 
It might not be right. I don't work with the qbsp tools. There may be other factors in play than just what the engine says is the monster hull, which is hull->clip_mins: -32, -32, -24 to hull->clip_maxs: 32, 32, 64. 
There are two bounding box sizes: 32x32x56 and 64x64x88. There needs to be some space around and above them for the monsters to be able to move and not produce a warning (or for items not to fall out) - they must not touch a wall or ceiling, but they can be placed right on the ground. As Spud pointed out, a space as small as 1 unit can be enough. 
Quake Collisions And Placing Stuff 
Vertical, have at least 1 unit of space above the heights below. 2 is recommended. The origin(center point) can be put exactly on the floor, though for monsters it is best to put 1 or 2 units above the floor at least to avoid potential position rounding errors sticking them through the floor (should be rare in newer editors).

Horizontal have at least 2 units of space beyond the sizes below.

Items are an effective 62 units tall. Items are 32x32x56 tall and get moved 6 units up on level start so that they can be "dropped" straught down to instantly put them on the floor and also check to see if they are below the floor and thus "fell out of level".

Monsters have 2 different collision hulls regardless of the bounding box sizes shown in Hammer/Worldcraft or other which negke mentioned above. The bounding box size for monsters shown in the editor should be close. Most smaller or narrower enemies use 32x32x56 (hull1), the larger enemies such as shamblers and vores use the 64x64x88 (hull2) size.
Dogs are a little wierd in that they have same size collision as shamblers, BUT...

There is a 4th layer of collisions...the qc code can define any bounding size it wants for an enemy. The engine rounds this size to the hull closest to either of the 2 enemy sizes for all collisions except raytracing and bullets. The qc lets, for unstance, giant monsters such as the gug, vermis, or boglord, get shot more easily in a way that is believable rather than only having bullets affect it right in the center 64units. Also tiny monsters such as fish or spiders don't get hurt if you shoot the empty air above or below them even though there could be 20-30 units of collision hull above these smaller enemies, shooting the air doesn't hurt them.

That is why, even though enemies appear to fit in niches in the editor and make sense from where you can shoot them, the tiny enemies still all need 57 units of vertical space. You can cheat it visually by using func_illusionary so long as the player can't reach the niche. 
That explains a lot. 
Odd BBOX Sizes 
Also note that entities with bboxes will collide with each other according to their actual size, even though when colliding with BSP entities they snap to the two fixed sizes discussed above. Useful applications of this fact are left as an exercise... 
Possibly A Stupid Question But 
Do I need a different gbsp light and vis for Quake II or do the ones we use for q1 work? 
They're Different For Q2 
I think these are the most commonly used ones: 
Falling Through Part Of A Brush 
First up: swear I had the screenshots folder selected but oh well. I have had a quick look through mapping help re: nonsolid brushes but not finding this issue atm.
My brushes look like this in TB2 (view from above)
If i move past the vertical line here I fall through the brush (view from below)
I am using Ericw's latest tools. 
Not sure but you can try downgrading to a different version of the tools first just in case. 
Are the brushes a func_ of some sort? Or plain bsp. Workarounds: clip to split them up into diferent brushes, make new brushes from scratch, make another brush inside them that is 1 unit smaller all around...or to add a clip brush around them.

Check that they DO NOT have an origin key. 
This is an annoying one. Assuming these are worldspawn brushes, it's a qbsp bug, but usually it can be worked around. Try the command in TB to snap the selected selected brushes to integer. Try turning the selected brushes into func_detail (not a direct fix, but it will cause qbsp to chop that area of the map in a different order and might randomly fix the problem) 
Re: Non Solid Brush 
I'll have to give these suggestions a go but I'm half asleep atm. Will update when I do. Thanks 
Hey OGkspAz 
QBSP really doesn't like 45 degree angle world brushes and generally does stupid things when you want to use them to close a space.

In this instance why not make the platform a func_wall to remove it from QBSP completely - I mean the whole chunk selected in red in your first image.

This won't affect the structure or visuals and will shorten the build time by a few microseconds. It might make the red armour drop through to the bottom floor though (can't remember) if so then a small lump of normal geometry inside that platform will fix the problem without making QBSP pee on the carpet. 
Hi, I'm new to this forum.

I've been having some issues, running quakespasm with qompiler/ericw (+fgd) & j.a.c.k.

I have few questions :

1. Exporting bmp 256 color 128x128 pixels from photoshop, and importing (ctrl+e) in wally, exporting quake 1 wad (the texture appear to be right in wally, but totally wrong in j.a.c.k. like if the color were inverted, or dark).
When I compile the map and run the game, the texture appear to be right.

2. When launched qompiler.bat (after un-zipping the latest compatible version of ericw, which is "0.15.10", when I click 1, 2, 3 or 4 (for the different commands in the menu) nothing happen, but I hear a "beep" coming from the cmd window.

3. When I compil a map, quakespasm.exe keep being deleted from the quake folder, for no reason.
I've tried with both "Don't run the game" disabled and enabled (this is when using j.a.c.k. for compiling).

Many thanks and brush well ! 
Starting Something New Seems To Be The Hardest Thing. 
After 14 years making maps (in my case, mostly for Unreal), I seem to have run dry of new ideas. How do you guys come up with new layouts? Everything I try seems to go nowhere or be severely flawed (instead of severely flowed, eheh). 
1. I think what youre seeing is the difference in "gamma" between Wally, JACK, and your Quake engine. (What engine are you using?)

2. Do you have qompiler in the directory that holds the bin/doc folders for erics tools?

For your first use, youll need to make a configuration by following the on screen prompts and entering the options you wish to use. Reference the doc folder for the various options you can use in Erics tools.

3. Im not sure why qompiler would be kicking quakespasm.exe? Its only set to manipulate files directly related to the compilation process. You mention using "dont run game" which is an option in JACK during the compilation process. So perhaps we should start from step one and see if we can spot where things are going wrong.

For starters get your .map file and qompiler in a folder with the "bin" and "doc" folders from Erics tools.

Perhaps call it "Qompiler"

So the hierarchy would look like this:

.map files

Run Qompiler. If you dont have a config saved youll need to choose option 1 and follow the prompts. If you havent a clue what to enter here its likely you can skip entering ANYTHING and just hit enter through the various prompts Qompiler gives you.

You can reference the files in the doc folder for information on the various arguments you can pass to Erics tools.

If you didnt have erics tools, itd tell you. if you dont have any .maps..itd tell you.

When Qompiler is done running it puts your compiled maps into a folder named "maps" and moves all the source .maps into "qompiled" 
btw, i wrote Qompiler so feel free to ask questions specific to it. 
I've had this same issue a few times recently. The ideas aren't coming or I hate what I am attempting. One suggestion I'd make is play more levels you love and try to discover what it is you enjoy about them.

Another suggestion would be to try a jam. There was a Speedmapping Jam last week and there's a 100 brush jam going on right now that has a few weeks left. Working within limitations may be a good way to snap out of a creative rut. 
Thanks for the reply, and for Qompiler.

I was pressing [1], [2], [3] and [4] instead of [N], [L], [E] & [Q].

I still have random issues, but like usual when setting a new engine, a lot of hassles comes with it. Time to handle the tools.. 
Yes, I'll do that. I've played less and less as time went by, this is probably a reason I don't spontaneously have interesting ideas anymore, I need to get back into the game to get back into the right mindset.

I'm not a fan of contests, but I did one a few years back and it was a fun experience (size limite, make a map weighing 512 Kb or less), but my method when I'm on such tight time constraint is to shift through my folder of abandoned projecs and drafts and conflate a couple half-completed levels. 
Multiple Targets 
Probably has a simple workaround, but say I have a monster I want to target a trigger_counter for a door and a path_corner for a patrol. How do I do this? Only one target field in an entity. 
Have a continuous trap spikeshooter attacking a func_button wih health tucked away in a box far off where the player can't hear it.

Put a func_wall blocking the shooter.

Add a killtarget to your monster that kills the func_wall.

There might be a simpler info_notnull hack but I can't remember one atm. 
Holy Shit 
Are you serious? Over 20 years of Quake mapping and no simple workaround for more than one target? 
You Could Wait 200 Years 
but the id1 progs.dat isn't going to change.

If you include customs progs, then lots of them have supported target1, target2..... etc. 
Im Using Quoth 
I still know nothing of progs. Just figured out how to map with Quoth today so you can see how little I know of Quake mapping. How could I set up progs to add targets to entities? 
You Can Do It In Qouth 
Thanks. I thought Quoth would have something for it. Preach to the rescue as usual. 
Still A Little Confused 
Preach's article makes no mention of how to actually use the feature. Do you just add the key manually to the entity or what? I tried adding target2 to my monster to the path_corner but it doesn't work. 
path_corner is handled differently to usual targeting - try just using the default "target" field for the path_corner and the extended "target2" (etc) fields for things that trigger on monster death. 
That Does The Trick 
Thanks. Why or how are they handled differently? 
A target field can always trigger multiple entities that share the same targetname, right? I think the issue there is probably just with the path_corner... if it's not the first entity with that targetname that find() comes across, then the monster won't patrol.

I wonder if that particular multiple target situation would work even in id1 progs if you could guarantee that the path_corner was lower in the edict table. 
I posted that before refreshing to see the other two posts above.

More for sevin:

When a monster is first "initialized" in the QuakeC code (progs) that shipped with Quake, one of the things that happens is as follows. If it has a target specified, it looks for the first entity it finds that has that targetname. If the entity is a path_corner, it starts patrolling.

Later when a monster dies, if it has a target specified, it triggers any trigger-able entity that has that targetname.

So in the original Quake game code they didn't think about supporting the case where a monster is BOTH patrolling and is ALSO meant to trigger stuff on death.

It sounds like that in Quoth only the original "target"/"targetname" fields are used for that patrol behavior, but all of the new additional target/targetname fields can do other triggering stuff. 
When a monster is spawned, it checks to see if is a path_corner, or something else. If it's a path_corner, it makes the monster start walking straight away, otherwise the monster is told to just stand, which is also the default behaviour if it has no target.

I can only assume (without looking at the quoth QC code) that quoth only does the path_corner check for This sounds reasonable because you do not need to target multiple path_corners, so there's no need to overcomplicate things. target2, 3 and so on are thus assumed to be regular targets, not path_corners. 
I posted that without seeing Johhny Law's posts above 
two ships passing in the night ;) 
#19595-#19600 Re: Multiple Targets 
This can actually be done in vanilla id1, at least for the given scenario- no map hacks needed, just some prior knowledge of entity priority. No idea how it'd work with other entities being targeted, but enemies can be set to both patrol a path and activate a relay or counter on death by simply creating the path_corner first, then creating the relay with the same name. As long as the path_corner comes first in the entity list, the monster will follow the path, but still trigger the relay on death.

Basically, the enemy should target two entities with the same name- a path_corner and a trigger_relay placed in the map after the corner (so be careful if you're deleting or remaking things constantly). If the relay comes first, the enemy will still activate it on death but won't patrol to the path_corners. Here's a webm of an example map (ignore the "holy shit I figured out how to get custom conchars working" kludged HUD) and here's the .bsp and .map themselves. The left and center Grunts have the corner loading first, with the leftmost Grunt also having multiple path_corners (it takes a while for him to get there, though); the right Grunt has the relay first so he just stands there like a dork. All three function properly for the counter. 
Make That Three Ships 
Because I just got ninja'd something fierce, goddamn. 
and yeah, like Johnny Law says, it does appear that a "hack" is possible in id1 where it *would* work when both the path_corner and other targets share the same targetname, if you can guarantee the path_corner comes before all the others in the edict list.

On a related note, ever been killed by a monster who was not previously on a path, but then starts walking towards something after killing the player? That's a monster who had a target, which wasn't a path_corner. When his enemy dies, he starts walking towards this. It's a harmless bug, caused by the rather dumb way in which the "is target a path_corner?" check is performed when monster spawns. 
posted that without seeing Spud's post. I probably din't need to mention the id1 hack a third time :p 
So Many Ships In The Night 
Great info above, thank you all! To clarify, I figured that setting the first path_corner and the trigger_counter to the same targetname would allow them both work (thought I didn't know entity priority matters in this case), but I didn't want to do that. I like keeping my named entities descriptive of the entity and its relevance to other entities, so doing it another way would be better. 
And Another Thing 
Do func_doors trigger themselves at close proximity? I have a func_door set of bars with the GK spawn flag that cover another func_door. Finding the GK lowers the bars, but it also opens the door behind it. Why is this? They are not connected through I/O. I just want the bars to lower so I can walk into the door and have it open as normal. I've tried giving the actual door a targetname connected to a trigger_once that enables once you find the GK, but that didn't work. 
If the doors are physically touching each other, they'll act as linked doors, normally used for double doors that open sideways. Tick the Don't link spawnflag on both and test it again. 
Cool. Yeah it should have clicked with me that the beeping meant you were hitting a wrong key. My bad. :)

Yep just dig into the docs for the tools and youll start to piece things together. Qompilers cool for compiling multiple maps at a time, a bit overbearing for single maps but works all the same. Try getting comfy with JACKs compiling UI before relying on Qompiler. 
That Makes Sense 
But if I set Don't link on the left and right doors and the bars, the doors don't open when I walk up to them. The bars lower separately, but I can't go through the door. 
Does the center door (not the gold key one, the double doors you go through after?) have a targetname? If it does, get rid of it- a door with a name will only open upon being triggered (i.e. by a button), not by the player walking up to it. It's an easy mistake to assume that every entity needs a targetname, but as a general rule, unless it's specifically being targeted by something else and requires one, leave it blank.

A screenshot or .map upload might help too, sort of hard to visualize this in the brain without a reference point to what the door setup actually looks like. 
I Fixed It 
But I'm still curious. Just moved the bars away from the doors, which of course does the trick. Would still like to know what I'm doing wrong to make them work while they're still touching.

Here's the .map with the doors/bars touching and set to Don't link. 
Use "r_showbboxes 1" and you can visualize the trigger volume for your doors. 
Issues With Textures 
I'm having some issues with textures :
I tried with wally and texmex, it seems to come from j.a.c.k. (which is on default). I never had this problem with goldsrc/wad3 & hammer. Ideas ? 
looks like its missing the palette and using some greyscale thing instead. specifically the 'gfx/palette.lmp' file.

make sure that your editor's basedir+gamedir paths are correct (as well as just the wad+map paths). 
I've loaded the quake.pal from j.a.c.k. folder, still it doesn't work (I see white textures).
Would it be possible to bypass quake.pal and use wad3 instead ? (ericw/quakespasm)
Many thanks 
Use It As An External/replacement Texture? 
If I remember the screenshots correctly, since you are so off the "path" of a normal texture just use it as external/replacement. In the editor it will still look messed up but ingame it will be fine. 
Aha, I don't get it.
I tried to keep the install fresh & minimal.
Why do these things tend to get obscure ?
However I got it : the Base Game Directory wasn't set on the right folder (quake main folder, instead of id1).
Those "happy" victories remains me when I was learning how to configure worldcraft 1.1 in the year 2000' without internet connection, at the age of 10. I'm so happy the quake community exist! 
Can anybody give me examples of well thought out combat in long hallways? I'd like to learn how set up a good encounter. Are enemies too weak for open areas, apart from Vores or Shamblers who pose a real threat regardless of placement. 
czg's honey has some good examples of that. The whole map pack is really a masterclass in encounter design. 
Cool! I even played it one and a half years ago. 
I've been struggling with this. I think the key to using weaker enemies are the specific combinations you use.

Knights rushing the player in a swarm are actually dangerous working as a unit. Same with Scrags. The more the merrier.

Adding multiple grunts above and farther from the player to any encounter has worked for me as they chip away at the players health fairly quickly no matter what is going on near the player.

I'm no expert, but hope this helps. 
What I like to do is try and grenade either scrags or knights as those die one shot with a direct hit, it's a nice skill to practice.
Guess that trial and error is the key to encounter design. 
Getting A Model To Animate (Quoth) And Adding Skins. 
I've been making a few models using Blender for my latest map, and I have one of them animated now. Its just a prop with a few frames. There are no frame groups set up on it (I don't think this can be done in Blender) I want to make it animated in quoth using custom mapobject entity. Is there anyway to specify a series of frames without having frame groups set up.

Also I want to add a second skin to the model, and again it seems Blender only exports the mdl using the last active skin in the UVmap. Is there a simple way to do these things, or do you have to use python and qmdl? 
Cont'd From 19634 
To elaborate a little, I'm trying to get the butterfly model seen in this pic:

To animate like this:

I'm using the mapobject_custom entity which has a 'frame' key but I have no idea if there is support for multi frames or what the correct syntax is for listing them. I think it would animate automatically, but I don't have any framegroups set. 
Ok, so I've used qmdl and Preach's tutorial here:

and I finally got the model to animate in Quoth with custom_mapobject.

A huge mess was caused by the fact that Blender exports do not have a frame 0. I grouped the frames in qmdl from 0 to 10 and the model appeared as an ugly mass of pixels. This confused me because the same model animated from frames 0-10 in AD. I edited again in qmdl this time grouping frames 1-10 and the model now loads and animates perfectly in Quoth if you enter frame 1 as the start frame. What an exercise! 
In Blender 
Set the start frame to 0 and the end frame to 10 in the Timeline editor. If you leave it at the default 250, your model will be unnecessarily bloated. 
An Exercise In Frustration... 
Thnx @Qmaster. Yeah there are so many ridiculous little nuances to making a model for Quake and then getting it to animate. I really did not like having to install Python and enter commands into it with the qmdl plugin. It feels so detached an out of date with how you can just make a model and slap it into your unity games today. But thanks to Preach's tutorial I just did a monkey see monkey do approach and it works now.

I should go back in to blender and start the frames at 0 and export again to see if it works better that way, apparently Quake wants a 0 frame for some reason... 
Select Next Level, Screenshots 
I've run into two small problems with a new map:

1) In a multiplayer game after the timelimit expires the next map that gets selected is from the single player campaign. I want it to continue with my map though. In my previous maps (made with worldcraft) I somehow managed to set this somewhere but I can't figure out how with TrenchBroom.

2) I'd like to take screenshots in Quakespasm without the weapon visible but don't know how to go about that either.

Any ideas? 
1) You can place a trigger_changelevel somewhere outside the map and point it back and the same mapname. Though I think standard behavior is that a map without any changelevel trigger will always repeat (unless the server has some map list cycle set).

2) Console command r_drawviewmodel 0 
Thanks negke, I'll try that. I had this problem on a ProQuake server and my local Quakespasm, and only with my new map. Thanks again. 
Worked like a charm, thanks again, negke! 
Alright, the weapon model is gone too, but embarrasingly I still need to figure out, how to take the actual screenshot. Man, it's been a really long time... 
You Might Have Already Figured It Out But... 
F12 is the key for screenshot in Quakespasm. 
Thanks esrael. I posted a few shots in the terrafusion discord. 
Hello, there are textures with alpha channel on some maps, usually used for cobwebs and grass. How do they do it? 
Alpha Channel Answer 
Textures in a .wad file, whose name begins with { and use the garish pink color(255?) of the Quake palette will, in engines that support the feature, be rendered as "alpha". 
I Should Have Included This... 
These are called fence textures. You'll want a texture in your wad that begins with a bracket "{". Here's a wad with a couple of grates:

1. make a brush
2. make that brush a func illusionary
3. apply the skip texture to the whole brush
4. then apply the fence texture to just the faces that the player will see
5. use clip brushes to enable collision on the brush if needed. i.e. walking on a grate you would want this.

My map from jam 9 jam_dumptruck has an example. It's in the map source folder. The grates are near the info_player_start (map requires Quoth to play.)

Good luck! 
Since I'm so full of fail tonight a third, and final(?) post on this!

In editor create a brush, apply a "skip" texture to the whole brush then select a single face and apply your "alpha'd"(cobweb) texture.

Now, turn that brush into a func_detail_fence or a func_detail_illusionary(non-solid) and add a key/value pair of: _mirrorinside "1"

This requires you to use ericw's tools for it to compile correctly.

If you need any more specific help than what I have stated... ask away. 
Thanks to all. It's amazing how helpful this community is. 
Thanks to all. It's amazing how helpful this community is.

Does vanila Quake have grates/fences textures? I'm asking, 'cause I don't recall it to, and default wad has none. 
It does not, and vanilla Quake doesn't actually support alpha-masked geometry textures, only 2D elements (HUD and sprites)- one of the few if any objective steps backwards compared to Doom. 
Why they is black? How fixed it? 
It's in quakespasm.
In fitzquake normal light, but for this monster only.

I think because they stand on func_train. In the air, far from surfaces, the monsters are also black in both engines. 
They are lit by the point directly under them. Either add a light source on the ground below inside a black func_illusionary brush or possibly add _minlight to them. 
I have a brush of the sky that the floor is made of. I made the bottom surface with a different texture. It returned normal lighting 
Create A Func_illusionary Floor With Sky Texture 
About 16 thick and 16 above the floor with a normal texture. 
there is a TF channel 
I'm wondering if there is any way to set it so when a level is started, it plays a song from quake, I know there is a property for entities called "music" but i don't know what to use the property on if that is what you use for the music 
In Vanilla Quake Or A Mod? 
Also, i have the music files working in the normal game 
Add a sounds key to worldspawn with a number for the track you want.

sounds | 3 
I've been working on a death match map that has moving parts, I've noticed that for some reason, things aren't targeting properly. I have 2 moving doors that both use buttons, one of the doors has the targetname da1, with a button targeting it with the target da1, then I have a door with the targetname db2, and a button with the target db2, and what happens is one of the buttons doesn't open a single door, whilst the other button opens both! I need some help. 
This is a very common issue. By default, Quake groups doors which are close by into a single system. If you want to opt-out of this behaviour, you can add the DOOR_DONT_LINK spawnflag (3rd tickbox, numeric value 4) to each of the doors. 
I have another question, why do item_blank entities go through the floor sometimes? 
Bonus Content 
You might wonder why this door linking feature is included. It doesn't seem all that helpful at first, and often confuses mappers (even after they've encountered it before, it's easy to be caught out again!)

But door linking actually has good reasons for existing as well. I'm going to borrow a clear example from Dumptruck's tutorials on Trenchbroom. Take a quick look at theis gold key door setup.

Here, the bars are separated into two different entities, so that they can move in different directions. If they were not linked together, you would require two gold keys to get past, one to unlock the left-hand bars and another to unlock the right!

It's also worth noting that the way that both of the left hand bars are combined into a single entity is crucial to pulling this off. Door are linked if their bounding boxes overlap or touch. The bounding box extends between the left-hand bars, so that they intersect the right hand bar. If all three bars were separate entities, none of them would link, and you'd need three keys to open them all. 
Item Fall Out 
Avoid overlapped items.
Make sure they aren't sticking more than 6 units into the floor.
Make sure there is at least 56 units of vertical space.
Make sure you have at least 1 to 2 units of space on all sides, preferably 4 as a safe minimum.
If you are using JACK/Worldcraft, the fgd file may show the box in an incorrect visual object position relative to the actual origin (look for the X in the 2D views):
•In vanilla Quake, origin is in the bottom left corner
•In AD and other mods, custom items may use the center bottom of the visible item as the origin point instead.
Also, they might fall out if you place an item inside a solid brush such as a door. 
Minor Correction 
Origin in bottom left corner is for ammo and health boxes only; all else use center bottom. 
does anyone have entity definitions for the team fortress mod? 
or at least the entity names? 
come to our discord channel we can help you. ask in the #mapping channel. :) 
Where can I find the index number for enemies? I've been searching for information on how to make monsters attack other types. Is there a way to do this within worldcraft? I can't find the entity index online 
Type Edict In The Console In-game 
But entity edicts changes everytime you delete earlier enemies or items or doors etc. 
Contemporise Maaaaaaaaaannnnnnnnn... 
Sounds like, someone is living in the past

A) Why you use worldcraft? its 2018 now

B)Default 'Quake' has no method of making enemies attack each other. Look at the source code and new fields available in Arcane Dimensions... 
The spam here is utterly pathetic. Metslime is there any plans to modernize this place? 
And That Is Modernize? 
you are bit obsessed with modernizing, as it were better. 
you either just suggested google as a form of help or your in a position to easily be confused with a bot linking to google.

if the former, youre a prick. if the latter, your opinions on literally anything will be nullified by bots posting spam.

also, the place being more modern would remove your position of being confused with bots and having a worthless opinion as a result but :shrug: 
oh hai.

the fact that anyone can post anonymously, without logging in, is a bit silly.

if anon posting was disabled then i think that would remove a lot of the spam problems.

and anyone who is not a spammer who wants to post anonymously is just a malicious dick anyway. will we really miss those posts? 
Aw Dang 
And here I find myself wishing for the ability to see the IP address again just to see if all these anonymous users are the same guy trolling. 
Just Curious 
What is the reason for allowing anonyposting? Surely spam would drop to a tiny fraction of current levels if only account holders could post, right? 
I Could Guess Several ... 
- Allows people that want to post but don´t know if will be joining the community, which are usually lurkers which are usually double the number of registered users. If they begin to post easily it will be easier for them to finally join, and we don´t have a surplus of users here on Func, even less recently with the migration to Discord. The more ways to help with that the better.
- Allows to post even if forgetting the password or with account problems. I was in both situations myself.
- Allows for faster posting or posting without having to worry about the password being leaked for those of us that use many computers, with several being public. Have been in this situation some times.
- Allows to post on the work with less problems. I know there are several that do this.
- And the most important: why not? Also, and most important: most of the problem is about people being more hostile to anons that to registered users no matter if they say the same, and we are quite hostile already on certain topics. The problem is no big but its not uncommon to see overreacting when an anon appears.
- And there are many others, really. 
I only sort of half agree with your post but you do make some valid points.

Maybe a worthwhile change could be to just not allow the Name field to be blank. I can't think of a single reason why anyone wouldn't want to fill in the name field unless it's a shitpost. 
80% of the anon posting I'm seeing is anti-anon trying to make some point. Where is all this malicious troll shit posting? I must be reading the wrong threads. 
hi bob, you must be new here. 
This Sure Is Some Cool Mapping Help Guys 
(and yes I am aware of the irony) 
I thought that too, but passed on saying because what that would change is people filling it with anything to pass through that requirement.

I can't think of a single reason why anyone wouldn't want to fill in the name field unless it's a shitpost.

Fear of verbal reprisal or harrasing from the most vocal parts of the community when talking about certain topics that are considered taboo, or those considered holy by some fans. Or to summarize, cowardy. 
i think i can solve that. A random question, let's see ... if i turn a brush entity like a trigger into a point entity to avoid a limit, does it still keep the bbox? Does the player need to go to the point to trigger it?

By the way, the previous meessage was me. Forgot to put the nick. 
Mapping Help 2: Anon Conversation Boogaloo 
I was thinking about it from an anti-spam perspective. I'll concede that if blocking anon posting is not an option, then I'm all out of ideas of how spam and shitposting can be reduced. 
Mapping Help Probably Includes Entity Help. 
Entity Enemy Help. [EDIT]
Posted by kibbles on 2018/05/29 01:08:43
I've been searching for information on how to make monsters attack other types. Is there a way to do this within worldcraft? I can't find the entity index online

#1 posted by kibbles on 2018/05/29 01:10:46 spam
I tested smartedit adding enemy 6 to key and values to a monster enemy and placed all the monsters near it, he didn't attack
He Protec But He Also Attac
#2 posted by anonymous user on 2018/05/29 01:19:28 spam
Post in Mapping Help if you don't want a smac.
Need Help With Mapping?
#3 posted by anonymous user on 2018/05/29 01:23:35 spam
Get in line like everybody and ask in mapping help thread.

#4 posted by mankrip on 2018/05/29 03:04:44 spam
IIRC, in vanilla Quake the .enemy reference is cleared by the QC code during entity initialization. You need custom QC code. 
Make Enemies Atrack 
I had a thought just now...if you make a trigger hurt, and set the .owner field to the edict number of another monster, then drop a monster into the hurt trigger, and cleanup by killtargetting the hurt trigger soon after...runs off to double check T_Damage code. 
Make Enemies Atrack 
I had a thought just now...if you make a trigger hurt, and set the .owner field to the edict number of another monster, then drop a monster into the hurt trigger, and cleanup by killtargetting the hurt trigger soon after...runs off to double check T_Damage code. 
I know it is a bit of a creep, but I've been rumbing into the QTest file and I wondered if it would be possible to get access to the progs.dat.
As there is no progs.src the file bounces off as soon as I try decompiling it.

For what it is worth, I would like to play some SP maps in it, but there is no way to reach the bsp files as they all are in a different shape.

I know it's a silly question, but I just have that old fashion feeling how it would look like to add all given monsters in a usefull way.

Now it is just a stand-alone for DM with a rather broken way to use the entities. 
I use Quoth2 for my new map. How can I make a pendulum using info_rotate? 
qtest's .dat format is slightly different. from what I recall, the opcodes are mostly the same, it gains line number info, but it also lacks information about which variables are locals and which are not. if you were to adapt a qc decompiler, it would just end up treating all locals as globals. I don't think there'd be much else of an issue in tweaking a decompiler though.
however the bsp format is different too.

iirc, TimeServ made some tweaks to FTE years ago in order to run qtest's .dat paired with bsp29 maps. Whether that still works (and whether the map's entities have changed too) is a different matter. It doesn't support qtest's bsps (issues with surface triangulation), and I have no idea about the hud. Its also not software rendering. 
Thanks Spike! 
The qtest progs.dat is 312kb. I don't think there is a monster.qc included, as a small comparisment showed.

I took the first test1.bsp, which is "the place of the two deaths". In the original Id dm I placed some monsters, and then took both bsp files. With Texpath I could add the monsters to the test1.bsp file, but it immediately gave the "higher than 311kb buffer" warning.

So I think there is only info about weapons/ammu/health and deathmach players.

I tried decompaling with proqcc.exe -dec progs.dat but it ends up with "Error opening defs.qc".
No idea how to use FTE for decompiling.

@digs - Maybe not what you want, but here's the
doe pendulum qc. Maybe that helps, but it's not rotating. 
Thanks, but I do not want to use any additional scripts. I thought that this is possible in the limits of the chosen mod. It's a pity if this is impossible 
Do you want to add Qtest features into a mod? What does it have that you want?

Let me know where to download it and I can add it into Keep for you. Which reminds me. I never did add in some of your stuff. Would you mind if I did? No reason to leave a mod behind. 
It's certainly possible to create a pendulum using the rotating entities in Quoth, where are you getting stuck? 
I looked through the description of all the rotations, but did not find how I can do it. I do not even know where to start. I thought that you could force the door to open and close, but it only seems to open or just close. She can not return to the position in which she was 
All Aboard The Train 
You might want to look at using the func_rotate_train class as a controller, instead of the func_rotate_door. It's more complex but has the flexibility to do what you want. I'll see if I can put together an example map. 
@spy- thanks for the link, I'm registerd at but this has slipped off my attention.

@Qmaster- It was just my curiosity while playing Qtest1. I wondered why there were these monsters while they were not used. As I made a remake for the serpent, and a shield Ogre from the prequel screens, I thought it would be nice to make some Sp maps for it with the original monsters.

For what I seen in the q1test of Mega lol, he added the original quake monstes into the dm maps. My concern was to keep the authenticity of the original qtest, eventually added with a shield ogre. 
Hold Your Colour

Start by running pendtest.bsp in Quoth, observe the pendulum slicing. Notice how you can collide with the flat of the blade without taking damage, but it slices into you when you stand in the path of the rotation.

There's a lot going on to make this one object work, so follow this guide while looking through the map files in an editor to get an idea of how it works.

   External Models
The new idea (and the one that requires Quoth rather than plan Hipnotic) is to create the rotating entity as an external model, and then reference that model from the main map. This avoids the need to use an info_rotate entity (which historically made the rotating entity hard to texture and light correctly).

Take a look at the file first. You can see this just contains the brushes to make the physical, visible pendulum. Two things are important to note here
1) The brushes in this map are assigned to worldspawn, not part of an entity
2) The metal pivot at the top of the pendulum has been aligned exactly with the point '0 0 0' in the map. This point will be the centre of rotation for the object

Although I've been lazy in this test map and skipped lighting, another benefit of this file is that you can add lights to it. This lets you create lighting that looks reasonable at every angle the pendulum swings to.

The last thing to find out is how the external model is included after it's compiled. Open up in the editor. Normally, the brushes for a rotating object would be made into a "rotate_object" entity. In the case of an external model, we add a point entity to the main map with classname "rotate_object_point"; if you look at the example in pendtest, the key "model" "maps/pendulum.bsp" shows the format to specify the external model.

The Controller
Each rotating object in hipnotic requires a collaboration between a visible "rotate_object" entity, and a second entity which controls that visible entity. In this case, we are using a using a "func_rotate_train" to control. The targetname field on the visible entity links to the target field on the controller. The other keys we set on the controler are the noise it makes, the obituary text, and the damage it inflicts - 10hp is probably a bit low for such a huge chopper, but it is a test map.

The Paths
A rotating train needs a series of path entities which describe the sequence of rotations. For the back and forth rotation we want, only two "path_rotate" entities are needed. It's important to note that lots of different behaviours are possible at each step on the path, depending on the spawnflags used. In the example map the following are set: Angles & Stop rotate & Speed sets movetime

The first flag is the key to how our rotation works - we are stating that the waypoint specifies an angle for the object to face at the end of the movement (as opposed to setting a rate of rotation). "Speed sets movetime" is a bit of a convenience, it lets us say that the rotation must take 1 second directly, rather than having to calculate a speed of travel that makes the rotation look sensible. Stop rotate is cosmetic, it just adds a very short pause between each swing.

There's some subtlty to the angles chosen here: '410 0 0' and '-50 0 0'. The important thing to know is that after each step of the path completes, the angles of the object get normalised to the range 0-360. For example: after travelling to '-50 0 0', the angle is transformed to into '310 0 0', meaning that the object rotates forward to get to '410 0 0'. If we specified '50 0 0' instead of '410 0 0' the object would rotate the long way round, which is NOT what we want.

Finally, note that the path_rotate entities target each other to form a loop, while the "path" key of the func_rotate_train links it to the start of the path.

The Movewalls
The movewalls are needed to give the blade collision. All of them are given the same targetname as the original rotate_object, so they are moved by the controller in the same way. For demonstration purposes I've applied the "visible" spawnflag and an alpha value of 0.5 so that you can see what they're doing in the demonstration map. This spawnflag is very helpful for debugging, but in a final release can be turned off again.

There's also an argument to be had over the "damage on touch" spawnflag. On the one hand, I like the fact that you can touch the flat of the pendulum without taking damage, but on the other hand, you only get pushed if you get hit by the edge of the blade but aren't trapped by the walls on the other side. Perhaps just setting this flag on the end movewalls would be a good compromise. 
thank you very much for such a detailed answer. I am a little depressed that I will have to use an external bsp for my pendulum. I wanted to use only one file. I tried to replace the rotate_object_point with the rotate_object. But when I move the pendulum to a point other than zero, my pendulum starts to shake. But for rotate_object_point all works well. Probably have to use this method.

Thanks again 
All In One File 
The method doesn't RELY on the external model, it's just the simpler way of doing it. If you're set on having one file, you can refer back to the CZG tutorial, in particular the first paragraph. You need to make sure that you've included an info_rotate to mark the centre of rotation (instead of positioning it at '0 0 0'), and ensure that you've set the targets/targetnames up as CZG writes.

I have often though it would be useful if there was a way to take an external BSP model, and embed it into a BSP map, as if it had been a brush entity. Either compiler support for merging BSP models in when compiling the main map, or some kind of extra tool to run afterwards. If there was a BSP library for Python I'd have a go... 
I added info_rotate to the object and now it works well with rotate_object. Thank you! 
Help With Sound In Quake 1 Mapping 
I need help, I'm very new to mapping and was wondering, how to add sounds to my sky. You know that familiar sound of quake's sky. I use trenchbroom and tried to search on the internet, but couldn't find any info or tutorial on how to do it. Thank you guys in advance. 
I think you just need to run vis to get that? (make sure the map is sealed too) 
yeah run vis to get the automatic ambients for sky,water,slime,lava 
also more info on texture names & sounds here: 
Funny How This... 
stuff comes up when i am working on the exact tutorial that covers this info! 
Yeah I asked this on your latest video @dumptruck_ds, it's because of your videos I came to this site to begin with. Looking forward to more of your tutorials. And to everybody else, thanks for the info. 
Great news. Well this is the place to come for any Quake questions. I guess I need to do a more in-depth compiling tutorial soon. That would have helped. Welcome! 
hello everyone

In terms of performance, is it better to have several sky brushes or a single big bush? Let's say I have a wall with 3 windows; should I make three individual brushes with the sky texture or a single big brush with the sky texture behind the wall?

It makes absolutely no difference, type r_showtris 2 in the console in game to see how your brushes are turned into triangles. 
Alright, that's good to know. Thanks! 
Just started mapping for Quake 2 and I wanted to know if you guys recommend any command line tools for:

1) bsp, vis, rad. Right now I'm using qbism/q2tools-220
2) creating wad's from PCX?
3) creating font textures?
4) creating skies?

Also, is there any documentation for special Q2 textures like there is for Q1? 
Welcome. There aren't as many q2 mappers around these parts. A few. But don't take the silence personally.

Have you visited tastyspleen? 
Not Really Mapping Help...

Those images that look like they are from Deluxe Paint, the ones with the grid, where are they from?

I tried google image search and did not find anything. I reckon at some point Romero released some stuff like this, similar how he did with Doom.

Does anyone have a link to this?

Would be much appreciated. :) 
Ericw's Tools And _mirrorinside 
Here's a conundrum for anyone familiar with ericw's tools' extra options:

_mirrorinside (part of the extra options added by qbsp) causes any default brush entity to act as a sort of clip brush, which allows players and enemies to both see and shoot each other through it regardless of what faces are visible or textured with what, but can't be walked through. This applies to both stationary func_walls as well as func_doors (and I assume any other brush entity that acts similarly) and obviously illusionaries as well, which act normally (can be passed through). Any entity that requires being shot (i.e. buttons with health set) become inoperable due to all gunfire passing right through.

It's not listed in the readme anywhere that _mirrorinside should only be used on illusionaries and similar entities, and it does properly mirror the exterior to the interior of any brush entity, so I assumed all was good, but now I realize something's kind of fucky. Interestingly func_details are not affected by this- i.e. a func_detail_wall remains a solid wall that can be neither shot through nor walked through- which makes sense as so far as I can tell one of the main purposes of _mirrorinside is making truly flat fences and similar using a detail brush and making every side but the one you want skip, thus mirroring the one that's left. Just not sure if this is a bug or undocumented behavior, given _mirrorinside seems pretty experimental to begin with- can provide an example .bsp and .map if needed. 
Editing Md2 Model Headers 
Hi everyone, I'm trying my hand at Quake 2 modding and I was hoping someone here could help me out.

So far I'm trying to use Blender, I installed scripts for importing .md2 files but I'm struggling because the .pcx skins aren't supported by Blender... I converted them to .tga but I can't change the .md2 file's header to use the converted skin instead... :\

Any recommendations would be welcome. 
if you can't rename the pcx, rename the tga instead and hope the reader goes by contents instead of some random part of the filename. 
It didn't work, but meanwhile I did a lot more tests and I think I understand what's going on a bit better.

I still can't get the skins to show up in Blender, but I guess that's just because they have poor support for old model formats. I could get it to work in Misfit Model 3D, but I'd still like to have a way to explicitly edit the md2's headers, which I couldn't do with anything so far.

BTW I love your work! You did a great job with FTE, it's already my favourite port for Quake 2. The only reason I don't use it more is because it's still a bit unstable on my system. 
VIS Question 
Should I run VIS each time I compile? I noticed that it still looks "vised" without running it and even new geometry doesn't stick.

P.S. there was a place on a map, that got a hole after VIS. But after I compiled it without VIS the hole was gone. 
firstly, never embed fence textures into the worldmodel. tools can't cope with that yet.

in theory, vis is purely an optimisation. in practise there's a few sideeffects like avoiding excessive network bloat or insignificant stuff like checkclient returning world instead of the qc then using a traceline that's doomed to failure.
In the grand scheme of things it doesn't really matter all that much, but be sure to vis before release. 
Map Music 
In regards to Quake's music, I hate it. Hence I do not have it installed and do not ever bother with setting a track number. But I want to know how to best make my maps for a broad audience.

1. What happens if worldspawn doesn't have a track number set?

2. Which track is the most, er, generic and best suited as a default track? (Ya ya conflicted opinions incoming)

3. Is it possible to set a track number to null so that no cd music plays such that I can play my own scripted music sequences from ambient_generics (think Half-Life style)? I have a certain project that I would like to make more immersive through ambient sounds, triggered music events, and eerie silence in places. 
In regards to Quake's music, I hate it.
Absolute heresy. Get the cross and torches.

1. What happens if worldspawn doesn't have a track number set?
The track number will default to 0, which doesn't exist and so won't play anything. Some ports will print an error message in the console when this happens, i.e. Quakespasm with external music enabled prints couldn't find a cdrip for track 0
Vanilla will continue playing whatever track it was already playing. QS will stop completely. Or in other words, its engine-specific behaviour so good luck with that one...
You can be anal about it and get some mod to send a 'cd stop\n' stuffcmd, but that takes away the user's choices and doesn't really matter that much anyway. 
See void() ExitIntermission = in client.qc ... for a example.

WriteByte (MSG_ALL, 2); // <-- Set this --- Track number
WriteByte (MSG_ALL, 3); // (unused in Quake engine)

I would set SVC_CDTRACK to 0 replacing WriteByte (MSG_ALL, 2) to WriteByte (MSG_ALL, 0) to stop music.

It's the best you can do and would work

I think track 0 should mean no music. All of the original Quake maps have cdtrack set.

Trying to stuff cmd music commands is evil. Engines shouldn't permit it.

Case in point: If you want to be jerk, stuffcmd "cd eject" every frame. 
I agree, stuffcmds can be pretty evil when used wrongly:

"showpause 0;save quick;cd eject;pause;pausable 0\n"

Stuff dat. No really please don't. Everyone should backup their cfg file. 
Well if you don't like the default music you can package your own. If you worry a lot about copyright you can just go on youtube and search "royalty free (insert genre here)", Teknoaxe makes some decent quake style tracks, I am thinking abouy using one of their songs for a map I am working on 
Numbered tracks need to die, at least for new content. If the server stuffcmded 'cd loop $world.sounds\n' instead then a) it would be functionally the same as svc_cdtrack. b) the field could be parsed specifically and replaced with an actual string.
This would avoid conflicts between maps picking the same track number, and allow mappers to be explicit about the music's filename extension.

This assumes that noone tried 'streamlining' an engine by stripping out compat, and that noone failed to support faketracks properly... 
99 sound tracks ought to be enough for anybody.

Is numbered tracks perfect? No.

But svc_cdtrack works and is Quake compatible.

There is not really a meaningful problem to be found here.

/One opinion 
Unless You Are Trying To Go Full Ambient No Music Or HL2 Style 
But I think just using track 0 is simplest. Turns out I've always done that so ha! Thanks guys. 
Connecting Maps 
I made two small seperate maps with availabe doors.
In Quark6.6 I make a copy of one map.
Then I load the second and paste the first one.
II made sure the maps are on grid and close tight to eachother.

When I try to enter from the first to the second,
there is no visible bar but, I can't get through. 
Rogue clip or skip brush? Some bounding box in the way? What if you delete the brushes around the map transition? 
I have no idea where to search. I remembered I have met the error earlier. Then it were misaligned brushes.
In this case all brushes are on grid.
Have you actually snapped all brushes to the grid? This is important especially when working with Crocodile Dundee-type of editors like Quark.
Also be sure to use up-to-date versions of the compilers, not the old ones that come with Quark. These for example. Using them, the map leaks, but it appears the corridor in question is accessible. Might be some odd floating point/degenerate brush issue.. 
Found It 
The Axe_Ogre would not walk over gaps of 32 units. I left in a microbrush on the floor.

Why won't the Ogres cross 32 units?
They are big enough I think so. 
Monster movement code uses hull 0 instead of hull 1 or 2 for checking the floor. This means any small gap deeper than step height will be a barrier to monster pathfinding. 
It's The Same AI Code For Little Guys And Big Bads 
Ai J Ai 
Will find myself in Gulliver once I reach Hull.
I have to tag that movement code better.:P 
Which tool do you guys use to create sprites for Q2? How can i create an sp2? 
Anony Mouse 
Quake1 uses FirmG to handel sprites. It has a lot of output extentions. Don't know if you can view q2 sprites with it. Quaketastic has a Firmg 0.2 under tools.

I'm not familiar with q2 sprites. It seems there's a program called:
Quake 2 Sprite Builder, but I couldn't find it. 
I could really use a cli tool for that. Can't find anything, though. :( 
if all else fails, just use a hex editor.
the format is basically trivial.
{magic="IDS2", version=2, numframes, {width, height, xoffset, yoffset, char pcxname[64] }[numframes] }
Yeah, sort enough to be able to commit to hunam memory, apparently.

Its the kind of format that should have just been a text file all along - hence .shaders being used for sprites in q3.

(q1 sprites are more complicated and also directly embed the pixel data. I don't recommend trying to hex-edit those...) 
Floating Powerups 
Anyone know how to make floating powerups in Quake 2? maybe there is some sort of brush I can set to collide with the powerup but not the player? Thanks 

I have a problem with path_corner.
Can not use the "event" property. I set the "event" in the patch_corner, but when the func_trian leaves this point, there is no event. Is this the right name for the property? 
Make sure you have the full Quoth 2.2.patch from here

I have last version 2.2 
If you have latest 2.2 patch or full then it should work. Make sure the event has a unique targetname. Wait key will also work on newest version 
Yes, the event has a unique targetname. But still does not work 
If other quoth stuff is working try reinstall 
Event Bug 
Do you have "wait" set on the path_corner? The page you linked says that event isn't compatible with that (it's really more an acknowledgement of a bug than a design decision, but still). 
Maybe a silly question, but how do people get it so that textures on faces that aren't parallel to the grid don't stretch? 
I use Valve mode to prevent that. You can convert to Valve format by using Eric's tools and you can also choose the format when creating a new map in Trenchbroom (drop down menu on bottom right when selecting the game for which you want to make maps). 
Ah, the map format thingie. Thanks. Guess Valve is useful for something these days. 
No, "wait" not set 
See The Map 
Hard to say what's going wrong without seeing the map itself then, email it over to me and I'll take a look... 
Pardon me! I use my own utility for select a portion of the map and this utility changes "target" to other name.

I try simple compile and it works correctly.

Sorry once again! 
Trigger Problems 
Got a real bad trigger problem in my first map.
When I come to the middle of the game and have passed some triggers the others are all fired. Doors are opend things are working without activation?

Any idea to this? 
Trigger Problems 
Got a real bad trigger problem in my first map.
When I come to the middle of the game and have passed some triggers the others are all fired. Doors are opend things are working without activation?

Any idea to this? 
Targetnames Vs. Targets 
It's easy to get these mixed up. Double check everything. And what editor are you using? 
Trenchbroom 2.

The only idea I have is to give every trigger a targetname. Could this help? I checked some targets before and they all have different names so I can't imagine why they should be activated when one target begins with cave_ and another with sink_. 
No reason to give triggers a targetname unless you want another entity to trigger it. So that might make things a bit confusing.

Without seeing the map it's really tough to know what is up. If you'd like me to take a look I can this evening.

One suggestion is to create a new test map and re-create each target/targetname one by one there to ensure your map isn't somehow corrupted and to double check you are following the right logic in your setups. 
Doesn't "everything has fired" normally happen when you set a trigger with a blank target field (as opposed to no target field)? Check for that. 
@ Dumptruck_ds And PRITCHARD 
Thanks for your help guys!

After giving every trigger and button a targetname the problem doesn't come back. It seems that wathever triggerd the problem, giving a name to these objects avoids other triggers to activate them or there targets.
And yes there was a trigger with no target and only a killtarget so I fixed that.

Looking forward to upload a full playable beta in a month when fixed the last issues. 
wtf is trenchbrooms problem, the first time i run it i import the q2 texture wad, it works fine, now it wont work at all, the necros gui will not launch, nothing wants to work anymore wtf has gone wrong, ive even reinstalled it and it wont even regonize that q2 wad anymore. 
Theres a lack of information and an abundance of attitude in that post. Please try posting again and correcting these 2 things. 
I dont really know what else there is to explain, i goto materials add the wad, and no textures load, I've tried different wad files and nothing.

and the thing is it worked the first time i booted trenchbroom, just add the wad, not much else to it, and it worked but when i exited and started again it just will not load wad files anymore

is there some reg files i can delete? 
To clarify, youre attempting to load textures for Quake 2? Quake2 doesnt use wads so youre confusing the issue a bit.

I set Q2 up and got it to work. Closed and restarted TB, still works. Did you perhaps make changes to the quake2.cfg in your trenchbroom/games folder? 
No just a quake 1 map using the q2tex00.wad, Ive used it before

only log message i get is

Could not load palette file 'gfx\palette.lmp': File not found: 'gfx\palette.lmp' 
all sorted, just had to reinstall it a few times, no idea what its problem is still. 
providing that error message wouldve been a massive help :D

you must have done some changes in your quake/id1/gfx directory that got rid of the palette. 
Min Light 
I'm making my first map in Trenchbroom. I set a light key in worldspawn just so I could see perfectly while testing some stuff. However, I now can't figure out how to return to default blackness. I tried both removing the light key from worldspawn and setting it to 0 but either way the world is still bright despite there being zero lights. Can I have some help with this? 
Are you running light.exe on your bsp? If not it will always be fullbright. 
Yep, I'm using light.exe. And have tried a few different exe's but nothing is changing. 
No Light Entities --> Fullbright Map 
If your map has no light entities in it, the map will be fullbright. As soon as you add even one light entity, all the non-illuminated areas will become dark. 
Thanks! I had a feeling it would be something stupidly simple / obvious... 
Speaking Of Fullbrights... 
Is there a way to make one specific room in a map look fullbright other than stuffing it with maxed out lights? I had this idea of making a funny "noob mapper" secret with blocky offgrid architecture and texture misalignments aplenty... 
Delay 4 
Is your friend.

Check out my SM185 entry for a good use case. 
Thanks OTP! 
Make sure you use the exit texture on a wall. The entire wall. And columns that have gaps under them not touching the floor. And a door that flickers through a wall when it's open. 
Oh Yeah, Z-fighting Door! 
Thanks for the ideas, Qmaster! 
If you want more inspiration, play SM49. The theme was "crappy
Haha, Wow! 
A whole slew of crappy maps? I'm just making one secret room, guys... ;) Thanks anyway metl, I'll check it out. 
Might Need Some Better Anti-spam Tactics Here Mtetl. 
Strictly Deleting Double Posts? 
To Anyone Who Knows How To Make Levels For Quake 1 Using The J.A.C.K. 
I have experience with making maps for Half-Life 1 and the classic DOOM games and I'm trying to learn how to make levels for Quake 1, I've gotten the editor from the original site and made a pretty decent looking level, it might not be making the .BSP file. Hers what the compilation looks like.

** Executing...
** Command: Change Directory
** Parameters: D:/Program Files EXT/Steam/steamapps/common/Quake/Id1/mods

** Executing...
** Command: D:/QuakeDev/tools/ericw-tools-v0.18.1-win64/ericw-tools-v0.18.1-win64/bin/bspinfo.exe
** Parameters: "D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps"
---- bspinfo / ericw-tools v0.18.1 ----
D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp
LoadBSPFile: 'D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp'
************ ERROR ************
Error opening D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp: No such file or directory

** Executing...
** Command: D:/Program Files EXT/J.A.C.K./quake/vis.exe
** Parameters: "D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps"
Quake VIS Compiler (build Dec 11 2013)
------------ vis ------------
************ ERROR ************
Error opening D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp: No such file or directory

** Executing...
** Command: D:/Program Files EXT/J.A.C.K./quake/light.exe
** Parameters: "D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps"
Quake LIGHT Compiler (build Oct 6 2015)
----------- light -----------
************ ERROR ************
Error opening D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp: No such file or directory

I use an external hard drive if that has any importance. 
To Anyone Who Knows About J.A.C.K. Update 
I tried going to the steam community for help, one person said to re- select the compiler tools in my configurations, I tried that but it still didn't work out. When I go into Quake and put in to load my map in the dev console, it still says that it can't spawn world server (whatever that is) and says the theres no .BSP file. Here's what the compilation looks like now.

** Executing...
** Command: Change Directory
** Parameters: D:/Program Files EXT/Steam/steamapps/common/Quake/Id1/mods

** Executing...
** Command: D:/QuakeDev/tools/ericw-tools-v0.18.1-win64/ericw-tools-v0.18.1-win64/bin/bsputil.exe
** Parameters: "D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps"
---- bsputil / ericw-tools v0.18.1 ----
D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp
LoadBSPFile: 'D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp'
BSP is version 29

** Executing...
** Command: D:/QuakeDev/tools/ericw-tools-v0.18.1-win64/ericw-tools-v0.18.1-win64/bin/vis.exe
** Parameters: "D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps"
---- vis / ericw-tools v0.18.1 ----
running with 2 threads
testlevel = 4
LoadBSPFile: 'D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp'
BSP is version 29
LoadPortals: couldn't read D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.prt
No vising performed.

** Executing...
** Command: D:/QuakeDev/tools/ericw-tools-v0.18.1-win64/ericw-tools-v0.18.1-win64/bin/light.exe
** Parameters: "D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps"
---- light / ericw-tools v0.18.1 ----
Raytracing backend: Embree
running with 2 threads
LoadBSPFile: 'D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp'
BSP is version 29
--- LoadEntities ---
7 entities read, 1 are lights.
--- OptionsSummary ---
Embree_TraceInit: Embree version: 2.15.0
43 sky faces
696 solid faces
0 filtered faces
0 shadow-casting skip faces
SetupLights: 1 initial lights
SetupLights: 1 after surface lights
SetupLights: 1 after jittering
--- EstimateLightVisibility ---
Final count: 1 lights 0 suns in use.
--- LightWorld ---
Lighting Completed.

lightdatasize: 836
0 switchable light styles (32 max)
Writing D:\Program Files EXT\Steam\steamapps\common\Quake\Id1\mods\maps\maps.bsp as BSP version 29
0.744 seconds elapsed

0.032442 lights tested, 0.007996 hits per sample point
0.000000 bounce lights tested, 0.000000 hits per sample point
0 empty lightmaps

The folder structure is wrong, and your map is called "maps.bsp" which sounds like a mistake. You have:


what it should be:


and once you have it set up like that, you'll be able to launch it in game by typing "map your_map_name" at the console.

I'm not familiar with JACK but if you can make it stop using the "mods" subdirectory of id1, the folder structure should be correct. 
To Anyone Who Knows About J.A.C.K. Update 2 
Just tried that, Thanks for the advice, I think I'm almost there. But now it's not make the .BSP file again. 
To Anyone Who Knows About J.A.C.K. Update 2 
I would paste the compilation, but this only supports 5000 letters. 
To Anyone Who Knows About J.A.C.K. Update 3 SOLVED!!! 
SO! *lip smacks* found out were the .BSP files are going!

m y e x t e r n a l h a r d d r i v e .

Every time I've compiled this, the .BSP file was being made in my external hard drive RATHER than my maps folder. It's been staring me right in front of me and I was to stupid to see it. It's like doing a child's puzzle... but with sever blindness.

*face palms, laughs, and cries, all at the same time

Thanks for your time and advice! 
Button Help [EDIT]
Posted by Yuccaz on 2018/09/02 19:49:35
Sorry if this is in the wrong section but I couldnt see a way to post in 'Mapping Help'

Many thanks to Dumptruck for his great videos! After 20 years of loving Quake I am now enjoying making 'maps', something I thought I could never do. Whether anyone would want to play them is another matter :)

Anyway my problem...

I have created a button pointing to a train which works as intended however, when pushed it triggers all the monsters on he map? I can here all the fish and scrags all up for a fight, when I dont push it monsters act as normal eg triggered on sight etc.

Any ideas?

The buttons target field is probably empty. 
I Love You Muk 
I apologize for the probably idiotic question but I'm not entirely sure how to go about this, I'm not even sure if this is the right place to ask.
How do mappers record those sexy free roam demos they put up on youtube? do you do that with the mapping program and something like OBS or is there a way to do it in quakespasm? 
Not sure what type of free roam videos you're referring to but you can load up a map in your source port of choice, type "noclip" and "notarget" in console, and then fly around to your heart's content.

You can record a demo usually by typing "record name_of_demo" but then you have to go through the extra step of converting the demo to a format that can be uploaded to youtube. OBS as you already mentioned is the easiest method - you can use game capture and record straight to mp4 or flv among other formats. It's as easy as downloading the program, selecting game capture, maybe setting a few recording options, and then pressing the record button within OBS. 
Theyre recording a demo in the engine.

Bring down the console and do

record your_demo_name

you can name the demo whatever you wish. This is saved into the id1 folder if youre playing vanilla Quake. Otherwise itll be in the mod folder of whatever mod youre playing.

Then, to get the nice smooth look as seen in this video, run the demo file through this tool.

Just drag and drop the .dem file onto the tool.

Then to replay it in the engine, put the file into the id1 folder (or the folder for whatever mod you recorded it in), open your engine and do

playdemo your_demo_name

from there youll need to use OBS or some other screen capture software to create the video. 
Nice, the only other thing I needed to do was hide the gun model and now I can record some pretty footage.
Thanks man. 
r_drawviewmodel 0

to hide the weapon

crosshair 0

to hide the crosshair

change the 0 to a 1 to turn them back on. 
I already knew how to do that, but I didn't express myself clearly, sorry about that.
Thanks anyways to both of you, at first I replied before seeing the second message, but that smooth demo tool will surely come in handy. 
Button Help - Thanks Muk 
Hi muk, I renamed the target of the train and button and now all sorted, many thanks for your speedy reply. I have much to learn...I'm loving this map building :)
Don't think i'll release anything soon but may be one day once i've figured it all out. cheers Yuc 
Importing OBJ As Brushes? 
Is this possible to do? I feel the editor tools are too limited when it comes to creating complex shapes so is it possible to create a obj model and them import that as a brush? I know its possible to export brushes as obj so I was wondering if the reverse is also possible. 
Rotating Objects In Arcane Dimensions 
Hello, this is my first post on Func_Messageboard so I'm pretty new to the rules and the way things work here but I was wondering something.

In Arcane Dimensions 1.7 (the latest release), there was a map (I think it was ad_swampy) that had a contraption which definitely caught my eye. It was two cogs that rotated seamlessly in opposite directions. That may be just a minor detail to any other player, but it was quite amazing how smooth the rotating motion was.

Now, I know that this was done in Scourge of Armagon by hipnotic but the rotation there is not smooth at all...more clunky. And I read somewhere that the way in which the rotation was done there was very cumbersome and complex.

So I was did the maker of that AD map make such rotating entities? I am new to quake mapping so I do not know if this is possible already but I'd certainly like to know how it was done. I'd love to have such a feature in one of my maps (if it is possible at all). If anyone can help me with this I'd be very grateful! 
If you're familiar with coding you could collekt that info in the dev_kit1.7, that Sock distributes at his site.

It might be using .avelocity vector to rotate. If I recall that makes a brush entity rotate constantly. Just add key|value of avelocity and something like 0 100 0 for the value. You'll need to use the entity state system and a separate func_wall for the non rotating one. 
Rotating Brushes 
Source .map files are included with AD. Load it up in the editor and check it out. :) 
Quoth Problems With Some Entities 
I'm making a little map for Quoth but for some reason when I use the builtin trenchbroom quoth .fgd the bioboxes(they are just themed exploding barrels) don't appear in the map.
Other entities like plasma gun, forcefields, modified grunts and skyboxes appear fine

I tried to make a workaround by manually loading the .fgd from the downloaded quoth folder and although bioboxes appeared in the map the entity previews were messed up in TB( which makes placing entities harder

I assumed I would just use the builtin for placing entities and then manually load the new one for compiling, even though that is tedious.
But now even with the manually loaded .fgd bioboxes are gone!
Any help would be much appreciated, thanks! 
Make sure you have "developer 1" set in the console, so that you will see messages about entities falling out of the level.

It may be that something about the displayed bounding box for those entities is misleading (and therefore they might be placed too low or whatever). 
Johnny is correct. Most likely this is the issue. IIRC quite a few of those entities in the FGD are a bit borked. I will ask around if there is a more up to date FDG that corrects this... TB has some FGD features that weren't available in WC and JACK. Maybe some one solved this. 
I updated the Quoth fgd included in Trenchbroom in v2.0.4, prior to that it had some minor things missing compared with Preach's master (a few extra flags etc.), but it should be up to date now. I'm not sure what the underlying cause of the bounding boxes seen in editor not matching what the game requires. Best bet is "developer 1" in the Quake console and giving problematic ents extra room. 
I made a very large map and the procedure vis is very long (in 7 hours only 30-35%). Whether there is a sense to use func_detail (as it correctly to use?) and whether it is possible for something to undertake still? 
Depending on the architecture on openness of the map, detail brushes can potentially save you a lot of VIS time. You'd have to restart the process, though. Normally, it seems VIS takes exponentially longer the closer it gets to 100%, so if you're already 7 hours in at only 30%, you can expect the whole thing to take a very long time.

Modern VIS saves the progress, so you can simply CTRL+C the process and do a func_detail test on a map with a different filename (and resume the current one if it proves unviable).
Turn structures into func_detail that do not block visibilty, for example columns, beams, and things sticking out from the walls. If you have terrain, like rocks, it can be helpful to make them func_detail as well while putting a flat brush behind it to seal the map. 
Thanks negke!

First start "vis" I had
14128 leafs
13820 clusters
48755 portals

After adding a few details, I got the following:
14184 leafs
13244 clusters
46904 portals

What affects the processing time? Leafs or clusters? 
Number of clusters and portals should be what determine the processing time.

The idea with func_detail is they're invisible to vis, so you have a simplified version of the map for vis to work with. A "cluster" is a leaf in the simplified map that vis sees. 
Thanks, ericw 
Testin Deathmatch Maps 
Hi Guys,
I am new here, so welcome everybody.
I am having a lot of fun from creating quake maps, but doing only deathmatch maps.
Would anyone be so kind and take a look on it from multiplayer point fo view and advice how to improve it ?
Map is already after few iteration of play -> adjust map. I think it is playable, we have had lot of fun at lat iteration :)

Anyone want help I will apreciate. 
Lighting Problem 
Hi guys, I've been coding/modding since the early 80's, but I'm new to Quake mapping and I've been working on my first map for over a month. After a long edit session I compiled the map and now the lighting is messed up (blotchy shadows everywhere) I thought I had accidentally placed a light outside the map boundaries but I can't find any so I'm at a loss. I tried searching the forum for lightmap/shadow issues but couldn't find an answer so I'm hoping you guys can save me from despair. Thanks 
maybe you have added light with very high light value
Drop me MPA file if you want me to inspect. 
Thanks moko, I presume you mean MAP file? how can I send it to you?
I'll check the lights (200+) 
Or Maybe Just An Old .lit File In The Maps Dir? 
Moko: You could post the level in the Screenshots & Betas thread for people to download and check out if they are familiar with deathmatch. 
Thank you SO much, it was a .lit file!! I tested the _color attribute on a light, then deleted the light but didn't think about deleting the .lit file. All part of the learning curve I guess.
Thanks again for the help negke, I've really enjoyed playing your maps too!

thanks moko for your kind offer of assistance.

Now back to finishing this map :) 
I'm sure there are folks here (including me) who would be happy to look at your map and give opinions, but for the most part we're not expert Quake MP players. At least not these days. :-)

You might want to also look in on the maps forum:

It's not super busy, but it does keep ticking along.

And there's the QuakeWorld Discord server, if you do the Discord thing: 
You can add bot support to your maps which is fun but not perfect I know. Johnny has an excellent write-up on them here:

If I tested your map I'd be using one of these bots! 
It's Easier To Summon The Devil Than To Load A Model 
Guys, since yesterday I'm trying to put a model in Quake but I don't achieve anything...

I downloaded Honey to see how the trees are there...

I did a simple torus model in 3ds Max, with a very low poly count and a single .bmp texture, I exported it to .obj and with Noesis to .mdl (is there an .mdl plugin for 3DS Max?)..

Then, in Trenchbroom I copypasted the Quake.fgd into QuakeParty.fgd and (I don't actually know what to put in there) I put this:

@PointClass size(0 0 0, 32 32 32) base(Appearflags) model({ "path": ":progs\torus.mdl" }) =
prop_torus : "Torus" []

Where "torus.mdl" is the model inside the "progs" folder inside a mod folder (my mod folder is called "party")

Someway it shows in the editor but I realized I cannot rotate it (and God knows what other things I cannot do with it)..

Then, inside the mod folder I created a "qc" folder with the QuakeC source, I created a "torus.qc" and there I put:

void() prop_torus =
setmodel(self, "progs\torus.mdl");

Then, I added torus.qc inside "progs.src"..

I put FTEQCC inside the "qc" folder, hit ·Rebuild· and my "progs.dat" appeared inside my mod folder..

Then, I put the model inside a test map (an open map btw), saved, compiled it, launched it with -game party and nothing happened..

There is this warning that shows in the console:

"Warning: Mod_LoadModel: progs orus.mdl not found"

Notice the missing first letter in the model name..

I came up until here, I no longer know what to do, this surpasses me..

Another question, should I do something else with my .bmp texture?, I undestand it's inside the .mdl...

Thanks in advance.. 
Party Boy 
You can check to see if it's an issue with your model by trying to load it using Arcane Dimensions (or some other mod that has a misc_model type entity). If it works there at least you know it's most likely a problem with your progs. 
Is the backslash being treated as an escape character somehow? 
It was the f* backslash!..

Anyway, it has no collision and I still can't rotate it, also texture coordinates went sideways..

(It's the default Unreal texture) 
Skin And Flags 
For rotating, import the model in Qmle30,
and set the right flag for rotating.
This prog can help you correkt the skinfile by importing the UV map.

Well, I can't install it on 64 bits, I've found the 3.1 version but I can't find a .uvw import option (or I need to reapply mapping coordinates?)..

I'm sorry, this is really not intuitive.. 
You should try exporting your obj to mdl through Blender. It also has an option to add rotation on export.

Qme will destroy any smoothing groups you've applied to the model.

The model will not have collision by default, unless you write QuakeC for it. Just put clip brushes around it. Quake is several decades old, nothing is intuitive about it. 
R_aliassetupframe Error 
Hi guys, I've been testing my first map and came across a bug that produced this error:
r_aliassetupframe: no such frame 'x' for progs/h_demon.mdl
(where 'x' is the frame number, cycling from 0 to 32)

While playtesting with Quakespasm 0.93.0, a Demon was gibbed by an explobox but it's head continued chasing me around the map while that error was spammed in the console (one for each frame ('x') of the animation).

My guess is that the engine is trying to play the full demon.mdl animation on the head? Is this a known issue? I have created a progs.dat to fix the fish monster count and set state to SOLID_NOT (OCD) but it wasn't being used when the error occurred. The level is ready for beta release but I'd like to fix this issue first.
That's A Weird One But Sounds Awesome Too 
There's a newer version of QS 0.93.1 -- also are you running at a higher refresh rate? 
Thanks for the quick reply dumptruck, I wouldn't even be here if not for your excellent tutorials, thanks for all your hard work!!

I'm not using v_sync, so I have variable framerate if that's what you mean? 
I mean a higher refresh rate in your monitor. You' know it if you were as you need to set it in the engine in this case anyway. I ask about refresh rate because I searched here and that error was mentioned before in a thread elsewhere. I have no idea what could cause that so grasping at straws. :) 
No, just 60Hz
Thanks for the help, maybe it was a once off. I'll release as beta and see if anyone wants to test the map and see what happens. 
Re: Undead Fiend Head 
Hi Sir_Random, was the fiend mid-leap when the exploding box went off? Possibly it leapt into the box and set if off? I have a theory that you might have tumbled upon one of the many bugs that arise in the standard exploding box QuakeC code. 
Hi Preach 
It may well have been mid-leap, there was a lot going down at the time with ogre grenades and hell knight fire raining down :)

I haven't looked at the relevant code, but I'm surmising that when the Demon was gibbed it somehow wasn't flagged as dead, so the engine was still treating it's head as a walkmonster and trying to animate it. 
Now..where Was I 
One of the aspects of monsters dying in Quake which matters here is that the only real reason they don't continue attacking is that their think function gets reset by the death animation, so they never re-enter the ai loop. There's no other safeguard against a dead monster carrying actions out.

My guess of what happened is this:

Fiend leaps into the barrel and starts running Demon_JumpTouch
Demon_JumpTouch inflicts damage on the barrel
...The damage explodes the barrel
......The barrel explosion kills the fiend
..........The fiend turns into a head gib
Control returns to Demon_JumpTouch, which then sets a think function on the head gib, putting it back into the monster ai loop.

You might worry that this could happen in other situations, like if a grunt shot a barrel, blew it up, and died in the resulting explosion, would it also become a zombie? The answer is no, because army_atk5 sets a think function before it inflicts any damage. In fact, almost all monster animation functions set the think function before they take any action.

Demon_JumpTouch is an exception because it's a touch function that can triggers ai functions, and does so in an unusual order. The fact that the fiend was a head gib might have caused it to find one of the paths through the function that set an ai function (not all of them do).

Having gone on about Demon_JumpTouch so much, you might expect that the fix should be located there. But actually the traditional fix in QuakeC mods is just to add a short nextthink delay to the explosion of a barrel. This fixes whole other categories of bug - like multiple barrels exploding at the same time and resetting each other's radius damage loop. It also prevents the explosion interrupting other code, such as Demon_JumpTouch - which is especially confusing when the monster might change from alive to dead during the interruption! 
Thanks Preach 
I suppose a Fiend never encounters an explobox in original Quake, so there's not much chance of spotting that oversight in testing. I'm more familiar with idTech 4 & 5 (Doom 3, BFG) and there are plenty of anomalies in that code too :) 
This thing also happens with zombies?

I'm asking because there's a warning in the readme file of "The Pillars of the Damned" map that says "If you activate one of the crushers while a zombie is lying on the ground that zombie can only be killed by splash damage"

And this is what it looks like when i played (the bug shows at 09:30)

It's the same bug, or is something else? There's a way to fix this in progs.dat so it won't happen again? 
Zombie Vs &amp;quot;Zombie&amp;quot; 
Afraid not Tribal, where I said zombie in that post, I really meant "zombie". I was using it as shorthand for monsters affected by Sir_Random's bug - monsters that continue acting after the player has killed them. Any resemblance to actual zombies is entirely coincidental.

I don't think your bug is related, because the bug is triggered after the zombie is already "dead" on the floor, not at the moment of dying. It sounds like the engine tries and fails to restore the collision hull to the zombie when it stands up inside a BSP object, but I can't tell you more than that... 
Thanks anyway :) 
Trying To Get Started Mapping, Little Help With Compiling Probs? 
Hi All, long time quake player, thinking about my first quake map.

Hi Im looking into making my first quake map.

Im having problems understanding why qBSP runs on my map but vis and light doesn't run.

I dont understand why it finds my QCompileTools folder just fine for qbsp, yet it wont do the vis and light right next to it in the same folder?

I'm using necros compile gui

Im very new to all this and this in particular is really confusing me, so I hope you can help, and if the soltion isnt obvious I could post the compiler output.

I hope you can help and Best wishes! 
First Question 
Is qbsp.exe creating a bsp in your maps folder?

Next, if not we'll need to see the .log folder that is created in the working directory. 
Hi Dumptruck, Great Youtube Vids By The Way. 

Yeah I get the bsp, it runs, Fullbright and with geometry disappearing.

Here is the compile

Copying Files...
The file cannot be copied onto itself.
0 file(s) copied.
Converting map...
---- qbsp / ericw-tools v0.18.1 ----
Input file:
Output file: FirstQuakeMap01.bsp

---- LoadMapFile ----
*** WARNING 06: No info_player_deathmatch entities in level
2700 faces
450 brushes
2 entities
28 unique texnames
452 texinfo

Opened WAD: D:/Projects/Texture Archive/texturedownloads/base.wad
Opened WAD: D:/Projects/Mapping/MyTrenchBroomQuakeMaps/id.wad
Processing hull 0...
---- Brush_LoadEntity ----
450 brushes
425 planes
---- CSGFaces ----
2700 brushfaces
3205 csgfaces
3025 mergedfaces
---- SolidBSP ----
3886 split nodes
1749 solid leafs
1840 empty leafs
298 water leafs
0 detail leafs
0 detail illusionary leafs
0 detail fence leafs
0 illusionary visblocker leafs
20722 leaffaces
19774 nodefaces
---- Portalize ----
2138 vis leafs
2138 vis clusters
5477 vis portals
---- FillOutside ----
*** WARNING 10: Reached occupant at (1504 -144 312), no filling performed.
Leak file written to FirstQuakeMap01.pts
---- MakeFaceEdges ----
---- GrowRegions ----
Processing hull 1...
*** WARNING 10: Reached occupant at (1504 -144 312), no filling performed.
Processing hull 2...
*** WARNING 16: Texture __TB_empty not found
---- WriteBSPFile ----
Wrote FirstQuakeMap01.bsp
923 planes 18460
23094 vertexes 277128
3886 nodes 93264
368 texinfo 14720
19774 faces 395480
5626 clipnodes 45008
2139 leafs 59892
20722 marksurfaces 41444
79088 surfedges 316352
47598 edges 190392
32 textures 346812
lightdata 0
visdata 0
entdata 216

0.469 seconds elapsed
Peak memory usage: 69414148 (66.2M)
---- vis / ericw-tools v0.18.1 ----
running with 8 threads
testlevel = 4
LoadBSPFile: 'FirstQuakeMap01.bsp'
BSP is version 29
LoadPortals: couldn't read FirstQuakeMap01.prt
No vising performed.
The file cannot be copied onto itself.
0 file(s) copied.
The file cannot be copied onto itself.
0 file(s) copied.
The system cannot find the file specified.
Press any key to continue . . . 
2 Issues 
1. You have a leak in your level so VIS will not run.

2. Light will not run if you don't have any light entities in your map. If you do, then I am not sure why it isn't running. Double check the path in the GUI to light.exe Maybe it's incorrect?

Also it's a good idea not to have spaces in any of these tools paths or for your wads etc. But that's not the issue above. 
Open the .pts file in your editor, you should see a dotted line leading you to the leak so you can fix it. 
sorting the leak means vis will now run,
it makes a prt file, does this go in the same dir as the bsp when loading it into quake?

I put some light entities into the map, and now when I try to compile, it gets to light, and crashes.

light.exe system error
The code execution cannot proceed because embree.dll was not found. Reinstalling the program may fix this problem.

I see the flame of the wall torches, but there is no light. still fullbright textures.
Strange. Light.exe is in the same place as the other 2 compilers. 
PRT files are just for use with the compile tools. The Quake executable doesn't need it.

The prebuilt builds of ericw-tools require (and come with) embree.dll. Try reinstalling it: 
re: light crash

You are missing the MS Visual C++ files. TB and ericw tools use 2 seperate libraries. Go to the site and look at the link right under the blue download button.

Also plz watch my troubleshooting video which will help you with leaks. 
Above Should Read 
"you might be missing" 
Sounds Good. 
which of the 3 should I download?




Im using 64bit windows 10 
Still Getting The Embree Message After Vcredist_x64.exe 
I downloaded and ran vcredist_x64.exe only. It didnt ask me for a destination when I ran it so I dont know where it puts those libraries. My projects/mapping is on my D drive whereas windows system files are on c
could this be an issue? 
When you extracted the ericw-tools-v0.18.. zip there should be a "bin" folder containing an embree.dll as well as the various .exe's. Maybe just confirm you still have the embree.dll because copying just the qbsp/vis/light.exe to a separate folder would cause the "embree.dll not found" error.

I downloaded and ran vcredist_x64.exe only. It didnt ask me for a destination when I ran it so I dont know where it puts those libraries.
Yeah this is fine, it's part of Windows so it gets installed globally somewhere.

One last thing there are 2 packages of the tools, and The requires vcredist_x86.exe and the other one requires vcredist_x64.exe. I should probably spell this out more clearly :) 
It Works Perfectly Now =D 
beautiful moody quake lighting.

Yeah it all makes sense now, I think I moved the .exes thinking it would be ok. I put them where they should be and everything is fine.

Wait what....why would you need separate .dll's for the compile tools? Did something change? What's embree? 
Trenchbroom Custom Model Display (.fgd File) 
Hello! In my progs I have misc_model entity which places custom models into maps. It has a parameter "model", which contains the path to my model in folder (for instance progs/v_shot.mdl). It works fine, but how should I set my .fgd file to display this custom models in Trenchbroom? Is it possible to do somehow? 
It is possible. I have an improved version of the fdg for progs_dump that has this feature. Here's the bit you need to add to the fgd:

"path" : model,
"skin" : skin,
"frame": frame
Sorry for being so stupid, but I have never worked with .fgd files before. I have this in my .fgd file:

@PointClass base(Appearflags) size (16 16 16) color(30 150 35) = misc_model : " Place your custom model"
model(string) : "Path to your model"

Trenchbroom sees the entity in the entity list, bit it can not display the model when i wright the path to it. Where exactly should I add your piece of code so the model could be seen?

P.S. I tried to add your piece of code but got an error. I have downloaded fgd from your drobpox but I still can not sort out how to use fgd files. Thanks for helping me! 
Thanks To Dumptruck_ds 
Thank you so much! I found out how the misc_model is made in your fgd file and this worked for me:

@PointClass base(Appearflags, Target, Targetname) size(32 32 16) color(255 128 0) studio({ "path" : mdl}) = misc_model : "A point entity for displaying models"
mdl(string) : "Model Selection (ex progs/model.mdl)"
speed(integer) : "Speed" : 10
angles(integer) : "set 'angle' to 0 if this is used"
Studio is the key bit here 
Is It Ok To Just Add The RL On Skill 0 ? 
I'm trying to balance my map for skills, and I'm wondering is it ok to just add the RL near the start for easy skill? Or would that be viewed as lazy?
It just seems harder to remove enemies and still keep the map exciting. 
Depends on the game-wise developpement you tend the player to behave like.
A RL at the start makes it easy to clear path for almost the hardest monster, so then it depends on the ammo, health and armour you supply.

At the other hand with the weakest weapons you can build up a steady monster count that balances on to a harder fight at end.
Don't forget that several knights can make a player already uneasy to fight.

So an easy skill won't say an easier fight IMHO.
Or start with no weapon, there's an easy hack for it. 
Thanks Madfox 
Thanks, I do have a build up of monsters, geared at Normal/Hard. I guess I'll just change/remove some monsters for easy. I wanted to keep the ambush/crossfire situations, but I guess not many play on 'Easy' anyway. 
Don't forget that you can do more than just take away monsters on easy -- you can also replace them with weaker monsters that only spawn in easy mode.

For example replacing a vore with an ogre, or a shambler with 3 knights. 
Thanks, that's what I'm going to do. 
It would be an interesting challenge on its own - a map where the # of monsters decreases with skill, but the overall challenge still increases. 
Suggestion: Progression, Plan Your Encounters 
Start with your ideal hardest level.
For each "encounter" consider the next logical easier encounter to step down to for Normal, then Easy. Either placement change, cover addition (e.g. func_wall post, crate), lower health or lower damage per second enemy swap out, or fewer enemies.

Gets fuzzy if you have near constant encounters but if so maybe pacing is needed on lower difficulties, longer timespans between encounters rather than one long continuous encounter with no breathing room between enemies (e.g. Nightmare).

Weapon-changeout/early-add is good, but remember how it will affect pacing, better weapons earlier = shorter fights = more time between encounters which can make for lower percieved difficulty. 
I did make it for Normal/Hard, with a few strategic Nightmare monsters and I got great feedback from jcr who made demos in Nightmare. His play style is more aggressive than me so it was good to see the map played at pace and it seemed fairly balanced for him.
I just need to rework some battle areas to suit fewer/weaker monsters without making it toooo easy. 
I think resisting "easier is just fewer monsters" design is the right way to go. There should be fewer monsters, just not many fewer, because too few is just plain boring. We're all Quake Experts after 20 years of this, so I think anyone playing custom maps on Easy in 2018 is doing so because they're doing it on a lunch break or a stolen evening away from the kids, and not because they can't handle more than one fiend at a time. Maybe we should think of it more as 'higher investment.' Besides, Quake gives you tons of unappreciated variables that you can tweak by skill, both obvious and subtle.

- Armor makes Quake significantly easier. More reds and yellows, more often, effectively extends the player's survivability in a given fight by hundreds of HP. More Greens, or stretches without armor at all, shrink the until-death buffer to little more than the player's current health. If you do want to keep the same monster loadout on all three skills, give the Easy player several Red and Yellow armors and the Hard player only one or two Greens. They'll feel like completely different games.

- Adding a vote for weapon pickups coming earlier or later. On Easy, the next big weapon might come before the next big encounter so the player can kick ass with it, on Medium it might be placed within it so the player has to engage to grab it, and on Hard it might only come as a reward after beating the fight entirely without it.

- Greater monster variety leads to more ways the player can be attacked at any one time, requiring juggling more variables to avoid damage and find the safe place to be standing at any given millisecond. A shambler and a vore together are harder to handle than a pair of either. Variety also raises the chances of infighting, however.

- The angles that enemies are presented from makes a difference. In front of the player is easier, flanking is harder, behind is bordering on unfair depending on circumstances. Below the player is a turkey shoot, eye level is straightforward, and monsters up high have a distinct advantage.

- Quantity of resources matters, of course. Bigger medkit pools clearly make the game easier, plentiful rockets can be splashed around while rare ones are only for emergencies, etc. Nail weapon DPS is higher than SG/SSG DPS and so on.

- Frequency of resources matters too. A steady drip lets the player feel secure, but isolated bursts create situations where the player has to stretch himself to get to the next 'island'. Depending on where he makes his errors, he might have to stretch pretty hard (eg those 'quicksave with 5 health left' or 'shambler axe dance or bust' moments). Feast-or-famine item placement can induce mild stockholm syndrome, leading to more positive reviews :)

- Unless you're using a lot of Enforcers, maybe provide all players an early Lightning Gun and simply vary the cells provided, as a way of dealing more or fewer 'get out of jail free' cards.

- Don't forget that the difficulty spawnflags are present on every entity. If you're using monster closets, vary the locations of the ambush triggers. Have the Hard ambushes happen when the player is in the worst possible position, and give them a leg up or more warning on easier skills (or even leave the closet open on Easy so there's no surprise at all). You might even duplicate the doors so you can set different 'speed' keys per skill, so the harder ambushes are an instant pants shitting and the easier ones are more like a countdown until the monsters come out, complete with early warning aggro sounds. Doors can be temporarily barred behind the player on hard skills while he is free to retreat from a fight on easier ones. Falling into a pit can be a mild backtracking inconvenience on easy skills but death by spikes on harder ones. How much room is there between nail shooters in this hallway? With careful use of triggerable lights and skill-specific trigger_relays, you can even use light and darkness against the player differently.

Getting crafty with what you change between difficulty levels can give you ideas for entire encounters, although don't rely on that too much for interest, because any given player is probably only going to experience one such permutation and thus won't realize the need to appreciate how different it is from any others. 
Great suggestions above. I may steal this and create a "gameplay" video based on it and a few other posts. This is an area I struggle with and just two or three of these suggestions would have have a big impact on any map. I know some players hate "back spawning" monsters but I think if you use them sparingly as an easy task after a more challenging encounter they can be effective. 
Ammo Science 
Here's a method I've been using. It's really rough, and time consuming without a custom progs to do it for you, but it can be a helpful way to ground your estimates.

A box of:
25 or 50 nails = 225 or 450 damage
20 or 40 shells = 440/880 dmg
6 or 12 cells = 180/360 dmg

6/12 rockets are harder to judge because of 1) splash damage and 2) zombies, but let's say every rocket is 180dmg, for 1080/2160 dmg per box.

Total all the ammo you provide in the map (add 25 shells for the starter ammo, add 2 rockets per ogre and 5 shells per grunt and so on), and that's the max amount of hit point damage you are giving the player to deal. Total the starting health of all the monsters, and compare the two numbers.

Researching id maps and popular custom maps reveals an average 'custom' of about ~3:1 on Easy, ~2.2.:1 on Medium, and ~1.7:1 on Hard. the id maps are generally above that curve (4/3/2:1), and custom maps tend to fall below it(2.5/2.0/1.5:1).

Careful cheapskate shot-counters can finish a map with a ratio of about 1.3:1 ammo DP:monster HP, but most players will have to resort to the axe at some point and will complain of shortage. RPGSP1, which was greeted by universal reviews of "good but I ran out of ammo at the end" still had a ratio on skill 2 of 1.4:1 DP:HP.

There are lots of outliers to these curves, though, because so much of it comes down to how the level design enables the player to *use* the weapons, as well as exploit infighting, choke points, etc. Do rockets get spent one at a time on individual zombies or can they be used to gib crowds of knights for maximum ROI? or are they useless against herds of shamblers?

It also matters when the player gets the ammo. Ammo the player doesn't pick up or can't use is effectively not present in the map at all. Does it come too late to be used when it was really needed? does it come too early and get skipped? or partially wasted when picked up by a player who's already nearly maxed and getting too much at the wrong times? How much of that ammo is in secret areas? 
I Can't Add 
20/40 shells * 24dmg/shell = 480/960 DP per box 
also quad damage placement 
Glad To See I'm Not The Only One 
Right there with you buddy. I once made a mod that outputs my health, shells, nails, etc to the console once per minute. Then I graphed it for my favorite levels. Made sort of an S type curve and tends to plateau with plentiful supplies of ammo towards the end but health still only hovered around 40 to 75. 
I always come back to this: to heck with the numbers, make it fun. 
Of Course 
I cannot caveat enough that such measurements are of little exact use. It's good for ballparking it and discovering "oh shit I'm way off" and don't trust it more than that. 
Quake 3 Patch 
Hello! Does anybody know if there is a special utillity for converting .obj to quake 3 patch? Also, where can I find any documentation about q3 patches? 
Or use a model! 
Help? One Teleport To Much. 
Have a problem with my map that I don't know how to fix.
After finnishing all and testing, in the first room, a black rectangle appears on the floor with the sound of a teleport. I can't remember that I made one and even can't find it in the editor.
Is there a way to search for things in trenchbroom or other ways? 
I would go to the spot in the map in TB and "drill down" to see if there's a brush embedded in that spot in the map. IIRC you hold control + mouse scroll wheel to drill down your brush selections. Of you can hide the floor brush to see if anything is below it. 
I haqve deleted the floor and theres nothing. I've also been going downward if theres something below. Also nothing. I have no clue? A bug? I've posted the map on screenshots and betas. 
in game:

"r_showbboxes" will draw white outlines around all entities, this will confirm there is an entity there. (NOTE: i don't think this shows static entities)

(alternate: set "r_drawentities" to 0 which will stop drawing all entities, including static entities -- another way to confirm this is an entity)

"edicts" command will list all entities in the console, problem with this is that brush entities all have the origin of 0,0,0 so you need to look at absmin/absmax or something to figure out which one is the one you are looking for. (hint: condump this to a file since it's easier to read in a text editor.) 

With r_shobboxes 1 I found a brush that moved somewhere and made me trobles ago. Deleted it and that was it. Bohh! Thank you so much!!!
Hope you're doing fine and find some time to play my map.

Best wishes!

Thanks Metlslime 
Haha! :D Thanks for assistence! :D 
Func_insidevolume And Func_pushable 
Is there any documentation on these two AD entities? I can't find them in the ad_v1_70P1_documentation.txt, and I can't get the func_insidevolume to detect the pushable and send an output to a func_door, even though I have the "pushable" flag checked. 
These were added/modified very close to release. Probably why no information.

Did you open the "test_pushable" map to see how to set it up? 
For A Simple Setup It Goes Like This: 
1)Create a brush then --> tie to entity > func_pushable, no other parameters needed.

2)Create second brush then --> tie to entity > func_door, then give the door a name Ex: "PushableOpens".

3)Create your last brush and --> tie to entity > func_insidevolume, give it a Target(fully inside) of: "PushableOpens". Uncheck all flags but Pushable.


Now I don't remember the specific conversation with sock but there was concern for this: "Name of target(s) to trigger when something is FULLY INSIDE the volume (fires every 0.1s)."

Namely, the constant firing. I think that's why there's more complex setups for these. But you could select "Only ONCE" for "wait", for the func_insidevolume if that will work for you?

Or if it does do constant firing, just target a trigger_relay set to once. Only have the trigger_relay target the actual door.

My guess is it has to do with needing the pushable fully inside rather than just touching like a trigger. 
@19956 And @19957 
Thanks! You hit the nail right on the head - I did not know the pushable had to be completely inside for it to work. Did a few more tests and it worked exactly as it should.
I'm a bit annoyed that pushables, that doesn't move, don't block gasshooters but this allows me to do a workaround for that. 
You could use Target2 also, which is when a pushable is "partially inside" the volume ;)

Also, I'm a bit confused on the pushables that "don't move" comment? Maybe you mean when you are not pushing them? 
@Spipper Nvrmnd 
I tested it. Yeah, pushables are not solid to the gasshooter at all.

Seems an isolated case, versus the other trap types I tested('nades, spikes etc). Prolly not that hard to "fix". 
Messages In Quake 
Hi. Do someone know if there's a way to create longer messages than one line? and maybe change its colour? 
Reply To GunSgtHighway 
Yes, you can just move to another line by adding \n.
Just like this. “Hello, this is my message \n how do you like it?”
In game it will be seemed like this:
Hello, this is my message
how do you like it? 
@ Reyond 
Thank you very mutch! 
Message Color 
Color is possible in Darkplaces but you only use normal white or orange (bold) in all other engines like this:
\bImportant Message!\b\nNotice, thank you for noticing\n this notice.

For Darkplaces or QuakeLive engines:
The color codes are as follows:
^1 = Red
^2 = Green
^3 = Yellow
^4 = Blue
^5 = Light Blue
^6 = Magenta
^7 = White


^4BLUE TEXTBOOK\n^7Normal white message. 
Does anyone know where to find some good sky textures? I looked through most of the wads on Quaddicted's wads section but only found a few skies, none of which matched what I was looking for. 
Thanks OTP. And GunSgtHighway, although I should've clarified I was looking for old-school style sky textures rather than skyboxes. 
Buttons, Info_notnull And Spawnflags 

I'm getting crazy on this.
Is there a way to turn for example lights on and of or turn it on with two buttons and turn it off again? Thought I can handle this with trigger_relays or an info_notnull but I have no coding practise. Is there a tutorial or a manual for coding, spawnflags,...? 
turn lights on and off -- give light(s) a targetname, give button that matching target, make sure the button has a wait that is not -1.

same lights with two buttons -- if you want either button to do it, just give both buttons the same target value.

same light with two buttons, where you have to press both -- both buttons have wait = -1, they both target a trigger_counter, which triggers the light. This setup is not repeatable.

two buttons that you have to press both and then the light turns off and then you press them both again and it turns on -- a complicated setup with logic gates probably. 
@GunSgtHighway, Metlslime 
Not sure if this exactly what Sgt wanted, but here's a light that requires pressing two buttons (order doesn't matter) to be turned on or off. The buttons stay depressed until the other is pressed at which point the light toggles and they both reset. Demonstration here, bsp and map here. As metlslime suggested, it's done with some logic gates, a setup that could be cleaned up a lot by someone more skilled with gate optimization who doesn't rely on babby-mode spike shooters like I do, or just using a custom progs set, not to mention fixing up the timing on the button and trigger resets a bit. 
@metlslime And Spud 
Thanks for answers.

What I want to do is to put a little more riddles in my maps.
Means I made three buttons. Two of them have to be pushed for activating something, the other on sets them and the activating thing back to zero and you can push them again.

I don't know if quake supports this logic things with IF and THEN. But hopefully there might be a way. @Spud I'm hoping to find time today or tommorow to check your map out. Big thanks anyway! 
A Non-Gated Community 
Quake doesn't support that kind of logic internally (at least, not in terms of what one can normally use in the map, other than predefined setups i.e. "open door if player has key, else don't open door"), but you can use the various entities to make physical logic gates including if, then, all sorts of and, nand, and so on, and combine them all to do all sorts of tricksy logic stuff that you'd never expect to be possible. Some of them involve other types of map hacks (info_notnulls and InitTriggers and so on), but the most basic form just needs a spike shooter trap, a door, and a button- a simple if gate. From there everything spirals outwards, and you can even save a couple entities/edicts by using further hacks in the gate itself.

There's some great reading material to be found around, including the QuakeWiki entity pages and the QuakeC source, but here's a couple offhand:
New Logic Gate Design (2013) and part two of the same article,, along with Logic Gates for 2017, all hosted at the Tome of Preach, a most excellent site run by Preach that's absolutely chock-full of crazy map hacks. Those articles primarily focus on gates themselves; there's a number of other pages on the site that go into detail about specific hacks, some of which require gates, others that don't.

Not coincidentally, the last page above also links to a relatively ancient example of the aforementioned trap-shooter logic gate in Quake 2, penned by metlslime, whose post is a couple paragraphs up, and whose thread we're posting in, not to mention whose board we're posting on. Maximum respect to the old guard for figuring this stuff out years ago so us noobs don't have to.

The Teaching Old Progs.dat New Tricks thread is an enormous and fantastic source of information and hacks for the vanilla (id1) codebase, many of which aren't collected anywhere else and some of which are only discussed in the thread in throwing-science-at-the-wall form, but would be refined and used by mappers months or even years later. Ctrl+f is your friend, and sometimes stuff shows up in other threads like this one instead; if that thread doesn't have it, I find just Googling "topic or hack you're looking for here" often works very well.

Lastly, dumptruck_ds (whose videos relating to Trenchbroom you've likely seen once or a dozen times) created and runs a Quake mapping help/discussion Discord channel along with a number of long-time or experienced mappers, if you're into the instant-response* type of help. You can't say how fucking awesome someone's newest screenshot or mod might be, though, because apparently we aren't all consenting adults there.

*instant response may be less than instant depending on time of day and interest level of whoever's online 
Wow! That helps!Thanks!
It's realy hard to get into that stuff no matter what you find in the web as long as you find the links between informations and understand how to use it.
Thank you very much!

PS.: No instant reponse guy. Have a Job to do too. :) 
Thanks for the map. Checked it.
Thats a lot to learn. :)

Best wishes. 
Similar Hack 
Here's a similar hack which is specifically about toggling lights. There are five different lights in the example, so it's a bit more complex that what you were after. But there are some useful things to bear in mind here.

I should also mention that I wouldn't treat the 2013 logic gates as an alternative to the 2017 article - the 2017 method is better all round because it fixes a bug, is easier to integrate using copy-paste, and supports an unlimited number of output on a single gate. Upgrade your map today! 
Thanks!. Thats an good to read tutorial!

Think I got it slowly.
So I have to transfer my If/Then-diagram to a gate model where every gate simulates an 0-1 status that will be activated by a target_shooter pointing on an info_notnull that does the action? 
Trenchbroom Help 
it's been a pretty long while since I've started on a new map in trenchbroom, but when I run the compiler it looks like there's no .bsp for the map. I've had this problem before but I don't remember what to do.

here's what it says:

#### Executing 'C:\Program Files (x86)\Steam\steamapps\common\Quake\bin\light.exe coldwiz.bsp'
---- light / TyrUtils v0.15 ----
running with 4 threads
************ ERROR ************
Error opening coldwiz.bsp: No such file or directory 
Many times this is an issue with spaces in the path names. I see you are using TyrUtils so that could be it. ericw tools are the next "gen" of TyrUtils. I highly recommend you use them.

And in general just check all the paths in your compiling configs. 99% of the time that's is the issue. 
Triggering Console Variables At Runtime 
Hi, deving a map for AD mod with rusty hands.

How do you trigger console commands (or change cvars) within a map at runtime? Triggers, timers, etc.
In this case I want to alter the worldspawn "_gamma" value.

Searched various boards but couldn't find or understand how. Is it possible without altering .qc?

Thanks in advance. 
Look In The Manual 
For stuffcmd. Not sure AD has this but probably does.

People are wary of abuse so be careful. 
What's the nastiest, most malicious thing a jolly japester can do with this? I'm genuinely intrigued.

Sounds like a good Jam idea: "break someone's PC with stuffcmd lol". 
Allegedly this used to be a thing:

apparently the Quake engine lets you overwrite the game data with savegames should you be enough of a moron to call your save “pak0.pak”, a bug that seems to hail all the way from the original release eighteen years ago

But I can't reproduce it in QuakeSpasm... maybe for the best. 
Well that's a good one. 
Not Down That Road.. 
..yeah, better stick to fog triggers. 
The Road To Hell Is Paved With\nsave Pak0.sav 
Fitzquake-derived ports (at least QS and Mark V) are smart enough to add a .sav extension to the end of whatever filename you enter, even if it already includes a different one, so it won't let you overwrite any files other than existing save files. Other ports and versions do not do that, however, meaning that you can indeed overwrite .pak files with savegames in Winquake... and Darkplaces. Oh yes.

I actually fiddled with this on my own a little while back to see what exactly can be done in that vein with vanilla console commands, and the answer turns out to be "not much." Most cvars that allow you to stuffcmd (map, save, load, etc) will either interpret directory-modifying characters as part of the normal folder or filepath or are intentionally set to ignore such commands, e.g.
save foo/bar.sav (a subfolder) will spit out
ERROR: couldn't open.
save (a parent directory) will throw up
Relative pathnames are not allowed.
save ./foo.sav (the same directory) will expel
Saving game to <Quake directory>/./foo.sav... but will write the save file to the normal directory, making the ./ showing up misleading.
game, which isn't present in the original engines, will auto-reject anything that isn't a single directory name, not a path.

So you can overwrite .pak files in your game's base directory and not much else and that's only if you're using a outdated or shitty engine, but what about loading files? Again, nearly everything is locked down- map will load maps from subfolders, but not in parent ones. Everything else will give the same errors (primarily the relative pathnames one) except the exec command, which does allow directory changes in every port I've tried. Not especially interesting, but it does allow it, e.g.
exec ../quoth/config.cfg while playing in id1 will function and return
execing ../quoth/config.cfg
This (obviously) also works for the quake.rc stored within vanilla or mod .pak files. All the above limitations still apply to whatever's written in those config files, though. You can also string multiple ../ segments to navigate to two, three, and so on folders up.

So, food for thought: someone more malicious and skilled than myself can probably find some nasty way to write to system files outside of the Quake directory, and Darkplaces sucks. I didn't test the various extra console stuff in AD and similar mods, but I doubt they left any serious holes open. 
SM189 - Doom 
Sorry for likely asking a repeated question, but in regards to SM189 being:

"Progs: id1, because I feel it's too soon for another modded pack after the last speedmap/halloween jam/xmas jam."

Obviously Id1 .dat entities etc., yet are these vanilla jams intended to run w/out mod engines?

In this case I'd want to use alphas textures, eg. window/crossbar alphas contained in the various doomtex wads. Is there a restriction on the added functionality these mod engines provide? (alpha, fog, increased limits..)

..also, where the HELL should it be submitted?? 
Obviously Id1 .dat entities etc., yet are these vanilla jams intended to run w/out mod engines?

Yes, but almost everybody uses QuakeSpasm, so it's fine to consider a target engine.

..also, where the HELL should it be submitted??

Package the .bsp and the .lit if it exists in a zip file, upload to your file sharing service of choice cough and post in the speedmapping thread.

Alternatively catch me on the Quake Mapping Discord
Thanks A Bunch! 
"Hmm, not enough ash.." *stirs mortar 
100 posts not shown on this page because they were spam
First | Previous | Next | Last
Post A Reply:
Website copyright © 2002-2018 John Fitzgibbons. All posts are copyright their respective authors.