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: http://www.celephais.net/board/view_thread.php?id=60097
First | Previous | Next | Last
Thanks! 
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. :) 
Thanks 
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 :) 
@Preach 
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)

https://www.youtube.com/watch?v=udyyohmHvZc&t=570s

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 "Zombie" 
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... 
@Preach 
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. 
Hi,

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--------------
---- qbsp / ericw-tools v0.18.1 ----
Input file: FirstQuakeMap01.map
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---------------
---- 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.
-------------LIGHT--------------
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. 
@AM 
Open the .pts file in your editor, you should see a dotted line leading you to the leak so you can fix it. 
Okay 
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: https://github.com/ericwa/ericw-tools/releases/ 
AM 
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.

https://ericwa.github.io/ericw-tools/

Also plz watch my troubleshooting video which will help you with leaks.

https://youtu.be/kFd-D46OCrg 
Above Should Read 
"you might be missing" 
Sounds Good. 
which of the 3 should I download?

vcredist_arm.exe

vcredist_x64.exe

vcredist_x86.exe

Im using 64bit windows 10 
 
vcredist_x64.exe 
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? 
@AM 
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, -win32.zip and -win64.zip. The -win32.zip 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.

THANKS SO MUCH 
 
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? 
Reyond 
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:

model({
"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)"
frame(integer)
first_frame(integer)
last_frame(integer)
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. 
Uh.., 
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. 
Sir_Random 
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. 
@metlslime 
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. 
Qmaster 
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. 
1 post not shown on this page because it was spam
First | Previous | Next | Last
Post A Reply:
Name:
Title:
Body:
message
question
exclamation
idea
flame
noflame
error
skull
beer
moon
pent
rocket
sheep
pacman
pig
cheese
worldcraft
gauntlet
crate
pitfall
pimp
smile
cool
sad
frown
oi
yay
tongue
evil
wink
neutral
q1
q2
q3
ut
hl
cs
doom
dkt
serious
cube
Website copyright © 2002-2018 John Fitzgibbons. All posts are copyright their respective authors.