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
Not Sure But 

I think you type com_hunkmegs into the console to see what your current settings are. 
Thanks @Shambler, Metlslime, Dumptruck_ds 
Finaly it works with -heapsize 512000. 
Just found out about a strange thing with my Xmas map. The player falls into a trigger_push at the start, and in QSS this causes the camera to get tilted by 4 degrees.

Raising the player start by 4 units solves the issue, but copying the unmodified playerstart+trigger to a fresh map does not isolate it.

The trigger has "angles 335 35 0", the player has "angle 30". Messing with these leads to all sorts of weird results (zeroing the player makes the tilt go up to 8 degrees).

So, is it an issue with my map, QSS or AD?

I also had some other issues that were either AD bugs or me being dense:
- Widowmaker doesn't work in deathmatch: can't be picked up again after dying
- "Delayed" monsters seem to activate all monster-sensitive triggers on spawn
- "Non-solid" flag on a func_bob seems to have no effect
- The distance that a func_bob moves seems unreliable and/or goes out of sync over time
- trigger_monsterjump doesn't affect flying enemies despite the specific spawnflag
- It's impossible to trigger-set fog density/color to 0, have to use 0.0001 etc instead
- Brushes with sky texture on one side will behave as pass-through for projectiles on all other sides too(?). Possibly even make the enemies pass-through(?) 
non-solid func_bob becomes solid when you walk over a corpse 
Overwriting Default Backpack Values? 
I have a monster_ogre, and when I add a key value pair of
ammo_shells: 20
I gain 20 shells when I kill him and touch the dropped backpack.

This does not work with ammo_rockets however, because in ogre.qc it sets self.ammo_rockets = 2. Is there a way so it respects my values in the entity settings? 
Trenchbroom Q2 Map Leaks 
Hey everyone,

I'm a newbie working on mapping with Quake 2 in Trenchbroom (loving the editor so far!)

Unfortunately I can't seem to generate a map with proper lighting due to a leak while running QBSP3.

I can still launch the map, however after compiling with QVIS3 it will be dark.

In order to troubleshoot I started a new file which is a simple closed off room, ensured my "Snap to Grid" option is on, and that the room is indeed closed off.

Here's what the compiler is doing:

#### Executing 'E:\Games\quake2\baseq2\qbsp3.exe q24'
----------- qbsp3 -----------
original code by id Software
Modified by Geoffrey DeWan
Revision 1.09
gamedir set to E:\Games\quake2\baseq2\
entering E:\Games\quake2\baseq2\maps\
0...2...5...7... (0)
**** leaked ****
Writing E:\Games\quake2\baseq2\maps\q24.bsp
0 seconds elapsed
#### Finished with exit status 0

#### Executing 'E:\Games\quake2\baseq2\qvis3.exe q24'
----------- qvis3 -----------
original code by id Software
Modified by Geoffrey DeWan
Revision 1.03
reading E:\Games\quake2\baseq2\maps\q24.bsp
reading E:\Games\quake2\baseq2\maps\q24.prt

************ ERROR ************
LoadPortals: couldn't read E:\Games\quake2\baseq2\maps\q24.prt

#### Finished with exit status 1

#### Executing 'E:\Games\quake2\baseq2\qrad3.exe q24'
----------- qrad3 ----------
original code by id Software
Modified by Geoffrey DeWan
Revision 1.04
Compiled for Pentium processors
gamedir set to E:\Games\quake2\baseq2\
reading E:\Games\quake2\baseq2\maps\q24.bsp
Couldn't load E:\Games\quake2\baseq2\textures/__tb_empty.wal
No vis information, direct lighting only.
0...1...2...3...4...5...6...7...8...9... (0)
0...1...2...3...4...5...6...7...8...9... (0)
writing E:\Games\quake2\baseq2\maps\q24.bsp
0 seconds elapsed
#### Finished with exit status 0

Here's the map:

Any help would be greatly appreciated! 
Have you tried 'File > Load Point File'? It should tell you where the leak is.
Have you tried different textures? The compiler complaining about __tb_empty means you have untextured brushes. Not all textures seal against the void.

I can see that the geometry shouldn't be leaking, but I don't have Q2 or its compilers installed. 
Default Backpack Values 
Hi nathnolt. Afraid that can't be done without modifying the QC. Map hacks involve getting interesting effects from setting values in fields which the QC has assumed are set to default. If the QC explicitly changes a field, you can't tell it not to do that.

Sometimes you can work around things the QC does, either by:
- using a hack earlier on to prevent the offending QC running
- running another hack after the offending QC to overwrite the value
Neither of these work for the ogre ammo, because the ammo value is set in the same function which drops the backpack. If you found a way to skip that, you'd skip the backpack spawning as well. If you rewrote the ammo value later (which might not be possible anyway...) you've missed the change for it to count. 
Map Hacks 
Thanks @Preach, both for your reply and your website. Is there a list with the combined knowledge of map hacks and/or entity knowledge? 
Trigger_cdtrack Transfering From AD To Progs_dump? 
Now that I'm getting closer to finish alpha-stage of my map, I'm wondering if I could implement the trigger_cdtrack from Arcan Dimensions to my progs_dump.
I have the fteqcc but absolutly no idear where to start.
Is there someone into QC who can tell me how to do this?

best wishes 
It's pretty involved. AD is a near re-write of the QuakeC logic so lifting anything from AD is a pretty advanced IMO.

That said I have not looked at that code so maybe it's a straight port?

QuakeWiki Modding Tutorial:

QuakeC tutorial:

QuakeC Reference Manual in PDF:

QuakeC Manual website version (with nice text formating):

FTEQCC compiler:

FTEQCC documentation:

Progs v1.01 source code:

Progs v1.01 source code: (cleaned):

Progs v1.06 source code:

Hipnotic SDK: 
Wow! Thanks!

A lot to read.

Thought of a free weekend. Haha :)

best wishes 
I will take a look at this qc for you as well but no promises on any real code unless it's something simple! 
Map Hacks 
Hi nathnolt, bit of self promotion but you could start with the map hacks posts on my blog. The earlier ones tend to be the simpler ones... 
More Hacks 
@ZungryWare has compiled an exhaustive list of hacks here: 
Thanks everyone for the help & support. 
also if you haven't seen it yet, there is a whole long-running thread about map hacks:

Teaching Old Progs.dat New Tricks 
@dumptruck_ds Re:trigger_cdtrack 
I think I've found all necessary functions in the progs and definitions.
I will try to copy and paste after the weekend and tell if it works. 
@dumptruck_ds Re:trigger_cdtrack 
I tried and failed.
Seems I've got to read more into detail. 
I will take a look this evening. (I said that before but forgot.)

I will report back here. Adding a reminder on my phone for after work. 
I was able to get a CD track to play using the built-in command SVC_CDTRACK

I have a killable Chthon and added this to the end of the function where he gibs.

WriteByte (MSG_ALL, 3);
WriteByte (MSG_ALL, 3);

Track 3 played perfectly from my music directory.

You need to repeat the 2nd command for it to work. In Quakespasm I got developer errors about not finding the CD track but that is only in dev mode and the music still plays. If you need further help I would need to see what you are coding.

As far as using the AD functions, that's a bit too much work for me and I am not sure I could get it to work properly. Try the built-in id function first. 
Thank a lot!

i was able to find the code for cdtrack in the targets.qc and built it in the progs.dat but finaly struggled, from my point of view, with the definition of the functions.

I*m looking forward to check the SVC_cdtrack this week and tell you if it works.

best wishes. 
Fun Fact Time! 

WriteByte (MSG_ALL, 3);
WriteByte (MSG_ALL, 3);

Track 3 played perfectly from my music directory.

You need to repeat the 2nd command for it to work.

The second writebyte is setting a variable called cl.looptrack - which on first glance you would expect would control whether the track loops or not. Surprise! It's not actually implemented in the engine, so the track always loops. You are free to send any number in the second WriteByte, it doesn't need to be the same as the track number.

If you'd like to play a CD track without it looping, the alternative is to use stuffcmd with the console command "cd play 3". You can also replicate the looping cd track from the SVC_ command with "cd loop 3". 
Ok, I thought the whole thing over and came to the conclusion that whatever I will do, I have to make it a trigger_cdtrack. Otherwise it will not work with the mod.
That means getting into the whole qc-thing and read a lot.
So at this point I will finish mapping first before doing anything else.
Thanks to dumptruck_ds and preach for the assistance!
Hope I can ask you again when the job is done.

best wishes 
One last thought: If the mod you're using has the equivalent of
trigger_command then you can use the console command to achieve what you're after without modifying it. 
I looked at the code again and wondered why my attemp doesn't work.
I copied the trigger_cdtrack function (is equal to the code dumptruck_ds showed with a -change and -use procedure) from AD's target.qc to my progs_dump/triggers.qc next to the trigger_relay function and compiled the progs.dat.
Then I copied the trigger_cdtrack definition from AD's .fgd to my progs_dump.fgd with the windows editor.
When I entered Trenchbroom and changed to the new fgd (in new progs_dump folder with the changed progs.dat) I got this message: "progs_dump_112.fgd': At line 1, column 1: Unknown entity definition class '//'".
I think I'm not to far from a solution.
Have I missed to change or add something in the progs or done a failur in the fgd? 
looks like invalid characters in the fgd 
Byte Order Mark 
Yeah, if you encode the sequence "" in the default windows codeset and decode that as UTF8 you get character FEFF (a byte order mark). Working backwards I guess the program you used to edit the fgd saved the file as UTF-8 and added a byte order mark. Trenchbroom is then opening the file as 8-bit windows codeset text and seeing garbage at the top. Suggest you reopen the cfg file and save it in ascii format, which should get rid of the garbage. 
4 posts not shown on this page because they were spam
First | Previous | Next | Last
Post A Reply:
Website copyright © 2002-2020 John Fitzgibbons. All posts are copyright their respective authors.