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: https://www.celephais.net/board/view_thread.php?id=60097
First | Previous | Next | Last
Trigger_push 
OK, I'm getting there. I can now get monsters using the trigger-push, but it now leads to another problem...

How does the 'angle' entered in the editor get converted to the self.angles vector used by the qc code? (I'm making this assumption because 'angle' is not seen in the code) 
Movedir And Trigger Push 
The trigger_push uses the movedir vector for the direction that the velocity is added in. Movedir is set in the function SetMovedir() in subs.qc. SetMovedir() is always called by InitTrigger. The function setmovedir is quite self explanatory once you understand how .angles is set. Essentially the editor sets angles to '0 a 0' where a is the value of angle(note the absence of the s). This only allows you directions in the xy plane, so there's an extra hack added. If the angle is -1, Setmovedir converts this to a vertical vector pointing up. Similarly -2 produces an vector pointing down.

It's not a great way of doing it, since you can't have motion that's diagonally up and across. A good fix that would be backwards compatible would be to have a check before calling SetMovedir to see if movedir is already set. If it is, then normalise it but leave it otherwise unchanged. If it's not, call SetMovedir. That way you can choose to set the angle normally or override it with a custom movedir. 
Mr Woodham 
There are copious enemies in RPGSP1 that use trigger_push. When I tried it again years later, I too had difficulty. The fact that it works in RPGSP1 might be because I simultaneously spawned the monsters into the trigger_push and woke up them up at the same time. I.E.:

"classname" "trigger_relay"
"target" "m1_1"

"classname" "monster_ogre"
"targetname" "m1_1"

"classname" "trigger_teleport"
"targetname" "m1_1"

The monster was in the teleport, and the teleport targetted a destination hovering in the trigger_push.

Best wishes. 
AguirRe 
My ADSL line is still down at home... sorry for the delay... you have mail ;) 
R.P.G. 
Well, rpgsp1 certainly works. (I enjoyed replaying it just now :)

It's interesting that you had problems 'years' later. I wonder if the progs.dat has evolved so much over the years that it has affected this particular area?

The most obvious thing that has changed with my progs.dat is that I no longer spawn monsters via the trigger_teleport method.

I have the (now, somewhat amended) 'style' flag option first put forward by Preach, and I have added an 'anger' flag to ensure transported monsters can be made angry as soon as they arrive if necessary to avoid extra triggers.

As I have now resolved my trigger_push problem by further qc enhancements (mmm... I use that word very reservedly in the light of this issue) I don't have the enthusiasm to revert to an old progs.dat to prove/disprove any of this. I am confident that what I am now doing is working OK, so I will press on with the map regardless.

But as always, it great talking to you guys and great fun trying to overcome these problems. Thanks for joining in.

Now all I've got to do is perfect the random trigger_monsterjump height/speed aspect and we're all cooking on gas... 
Wtf? 
The error is pretty easy to understand:

---- GrowRegions ----
model : *160
classname : func_door
*** ERROR 13: Entity with no valid brushes or textures

I used the problem checker in Worldcraft, and it also found some doors without brushes. I deleted them and recompiled, but got the exact same error. I opened the .map in a text editor and searched for all instances for func_door. There were a lot, but none of them were lacking brushes.

My map was compiling with no problems yesterday. I made some small alterations today and I get this shit. I haven't even modified or added any func_doors.

Could this be a WC glitch? The map is over 8000 brushes now - anyone else gone over that in WC 1.6?

There are 160 solid ents in the map, so presumably entity 160 is the problematic door that apparently doesn't exist.

Anyone got any ideas? 
Wtf? 
The error is pretty easy to understand:

---- GrowRegions ----
model : *160
classname : func_door
*** ERROR 13: Entity with no valid brushes or textures

I used the problem checker in Worldcraft, and it also found some doors without brushes. I deleted them and recompiled, but got the exact same error. I opened the .map in a text editor and searched for all instances for func_door. There were a lot, but none of them were lacking brushes.

My map was compiling with no problems yesterday. I made some small alterations today and I get this shit. I haven't even modified or added any func_doors.

Could this be a WC glitch? The map is over 8000 brushes now - anyone else gone over that in WC 1.6?

There are 160 solid ents in the map, so presumably entity 160 is the problematic door that apparently doesn't exist.

Anyone got any ideas? 
Update (+ Grr...) 
definitely only pressed submit once.

I tried removing the last entity I added (a func_wall), which didn't help. The door became ent 159. However, saving only visible objects with my funcs visgroup turned on allowed the map to compile, so perhaps there is a brush somewhere that has fucked up, or a rogue func in another visgroup that is causing the problem. 
Sorry 
problem fixed.

It was a fucking clip brush that I had accidentally tied to an entity. Thank god for being able to export only visible and visgroups, eh? 
The Keyword 
was no valid brushes (or in this case their textures) ... 
 
It should be possible for qbsp to create doors out of clip brushes. However, due to an engine bug they wouldn't actually work :) 
Clip Doors 
do work if they include at least one brush (face?) with a visible texture. i made such a door by accident in sm108. 
Neglke 
yes, but even then, there's an engine bug where the physics bounding box of the door will only include the visible brushes. So to make it work reliably, you can't have any clip brushes sticking out past the bounding box of the combined visible brushes. 
Question (mainly For Aguire) 
So I was mapping away and hit ctrl+s to save my map. However, instead of hitting it once, I hit it twice by accident and WC crashed (presumably whilst saving the map). I was a bit worried, but the map seemed to have saved fine and loaded up ok. The filesize wasn't weird either, so I assumed all was ok.

I continue mapping...

...hours pass...

...then I try to compile my map. It works, but I get a warning about a brush with 0 faces. It tells me the texture used on the brush, so I assume this is 0 faces after plane conversion. The error pops up twice more, once for each hull.

I did notice later whilst mapping that some unimportant brushes had vanished from my map when I reloaded it. Presumably, one of these brushes was half saved or something. Perhaps it's just a dodgy brush I managed to create with the clipper - but this normally crashes qbsp, so perhaps not.

Anyway, the question: How the fuck do I find and eliminate this brush? I could copy all the changes from the new version of my map into an older version, which would probably eliminate the warning, but it seems like lots of hassle for nothing. I won't convert to .map and find it in radiant, because I need the .rmf file for visgroup info as the map is very big and impossible to work with without them.

Can I find the coordinates of this brush with qbsp at all? The only info I got was that it was a brush with no faces and that it was using the texture hstn0. There are a lot of other brushes using that texture, and I can't find it using a text editor because I don't know exactly what I'm looking for and the .map file is huge.

Currently it is not a major problem (I hope), but if you, the A-team, or anyone else can help me, please reply. 
Than 
Holy crap, 8000 brushes in 1 Q1 map file? Haven't you run into map size/face/etc limits by now? How long does the beast take to fullvis? Also, screenshots plz. 
Sorted! 
I pwn! Of course, I should probably have tried harder to fix it before posting the above message.

For other people having problems with Rogue brushes, esp. those using Worldcraft, here are some tips:

1. Check to see if there is a brush with centre on the origin - in Worldcraft there should be a cross handle if there is. This could be the culprit.

2. In WC it is entirely possible to create invalid brushes if you don't know what you are doing, and often when you do. The worst kind are thin slivers created by cutting along a plane of a brush using the clipper. Try to be careful not to do this, because the slivers will crash bsp and can be hard to track down.

3. If you can't find a problem then try exporting only visible stuff to a map file and compiling. At first hide large chunks of the level. Once the problem dissapears, you know roughly which area the problem is in. Gradually export less and less visible brushes until you get something manageable containing the error - maybe a few hundred brushes at the most. This is easy to look through in the editor, and can also be checked with notepad without problems. 
Jago 
Tyrann has more in his map :)

I will probably be adding another 3000-4000 brushes. Hopefully it won't fuck up. The only thing I have to watch out for is the lightmap size and model precache problems. I want this to run on fitzquake, so don't want to exceed any limits like that.

The level isn't THAT big. It isn't small by any means, and packs a lot of gameplay into it, but it's no Marcher Fortress. It's not in a large style either, so no massive areas filled with 3478327 monsters and a quad - I wanted to make something a little simpler and small scale. I'm kind of regretting it now, but I think that I can still make it fun without changing what I have much.

If I can be bothered to make the planned follow up maps, then they will be on a larger scale (as with most current big maps).

It takes about 15-20 minutes to fully compile (light extra, not extra 4) I think. I have a pentium-m 2ghz 512mb system. When it is finally released, you will see that it isn't particularly spectacular scale wise, and that is probably why it doesn't take a long time to compile. That and perhaps my brushwork is decent. I dunno.

There are some old shots on my website http://than.leveldesign.org/ Maybe you can see from the screens that it has a fairly detailed look? There are lots of areas, and the detail level is fairly consistent. r_speeds don't really top 1000, but they are probably higher than usual. 
Tyrann's Skip Util Causing Lighting Problems 
I've been using this for a while to remove faces in my current map, and up until now I hadn't had any problems with it. However, recently I have started seeing blotchy, horrible lighting on a couple of walls in my map. Here is a shot of what I am talking about: http://than.leveldesign.org/files/blotchyblotchy.jpg

I am certain skip caused this, because I disabled skip and the error was not present - all the lighting was fine.

Does anyone know why this happens and how it can be fixed. I run skip last of all, so perhaps I should try running light afterwards instead.

If nothing can fix this, it would be nice if there was a -removesurf <texname> switch in Aquire or Tyrann's versions of light ;) ;) ;)

p.s. the dodgy lighting occurs in areas at the boundaries of the level for some reason. 
Skip 
Well, Tyrann had said it had some bugs (and that he wasn't using it cause of that?), I never ran into any myself... I guess it probably has higher chances of happening on large levels. 
Duh 
fixed again.

yes, lighting after skip removal works. 
Than 
I don't know how skip works, but you could try running vis after skip. If the vis data set is large (>1MB, e.g. when fastvis), skip might have capacity problems. 
Errr .. Skip ??? 
What is skip
Mmmm... 
JPL 
There are probably numerous references to skip in this very thread, but I'll explain it again, since I'm in a good mood. In fact, since I'm such a nice guy, I've uploaded it to my site here: http://than.leveldesign.org/files/remove_skip.zip (26kb)

The skip removal tool is a small utility made a long time ago by Tyrann. It was never officially released, and I recall him saying he lost the source code to it. As it works fine as it is, I guess he never bothered to write it again and update it.

Anyway, the skip tool removes all surfaces from the visible hull of a BSP. The original intention of this was to remove surfaces that could not be seen by the player, such as those in high up places above where the player can reach, on the unseen sides of doors etc. This is probably still the main use. However, this also allows for a few cool tricks (creating invisible doors for one), that you can find out about by reading the previous posts in this thread. 
Er... 
I just noticed I made a rather large mistake in my explanation:

Anyway, the skip tool removes all surfaces from the visible hull of a BSP.

Should be:

Anyway, the skip tool removes all surfaces using a texture named "skip" from the visible hull of a BSP
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.