News | Forum | People | FAQ | Links | Search | Register | Log in
TyrUtils V0.5
It's been a long time, but finally I have something worth releasing, so here is version 0.5 of my map utils package:

* light and vis both now multithreaded on Unix and Windows platforms
* vis now writes a state file every 5 minutes so it can resume if needed
* qbsp and vis now support a form of detail brushes, similar to Quake 2. See qbsp.txt for further details.
* added a small optimisation to vis for a minor speedup (usually only 1-2%)
* build system re-written and lots of cleanups all over the code

Please test, break and report bugs as needed :)

* Announcement
* Utils Home Page
* Download: Windows, Mac OS X, source

My website has also had an update - let me know if I broke anything and hopefully the comments function also works.
First | Previous | Next | Last
What Detail Brushes Do 
Kinn is pretty spot on actually. Detail brushes still split the world, but they don't cause extra portals to be generated the way normal brushes would. Less portals makes vis much happier - vis gets exponentially slower with the number of portals.

The planes from detail brushes are the last ones selected for splitting planes, so that all the leafs in a detail cluster have the same parent node. Not sure if that really means you get less poly splits, but it seems reasonable that it would help. 
Sock 
Yeah, you can use any light util - the only thing that changes is the .prt file, so the vis tool needs to understand that. But I will look at adding those options to my light util anyway (-gate, -soft, -softdist, -extra4, -anglesense). 
Spirit 
Oh, I never realised QF had that. I'll definitely take a look. Bill writes nice clean code! :) 
Tyrann 
Heh, cool I figured that's how it would work :}

If you're thinking about updating light to use the features in bengt's tool, don't forget "delay 5"! 
 
Tyrann: Could you add to your Qbsp support for floating point rotations of textures (so for instance, rotating a texture 22.5 degrees doesn't get rounded to 22 degrees)? Frib (or I guess a friend of his) added it to Bengt's modification of TreeQbsp, but it'd be nice to have with your func_details!


Some test shots, showing exactly what Tyrann just explained...

http://i.imgur.com/NHpU9eH.jpg
Here, the red textured brushes are func_detail brushes, and we can see that they still cut into the hull of the world. (the crate in the middle of the screen is a floating cube, world geometry)

http://i.imgur.com/LpQbmQU.jpg
Here you can see that that the PVS does not consider the func_detail brushes, as the floating crate cube is still rendered.

http://i.imgur.com/ajkNDg0.jpg
Here is that same view, except the red textured brushes are normal geometry, to prove that the crate would normally not be rendered in this location.

These detail brushes are good for speeding up your Vis time by simplifying the PVS. They are NOT for reducing r_speeds. 
Ah 
I see. I was thinking that you'd somehow managed to create a semi-solid feature that is in Unreal Engine. 
Floating Point Texture Rotation 
Sure, will add that. Should be relatively trivial. Hint and skip are also on the todo list. 
 
will need to play with this on the weekend! 
 
Is there a way to put in some kind of occlusion brush in the same way that water used to be used before watervis? 
Floating Point Texture X/Y Offset, Too 
To keep Scampie's texturelocked trims aligned. 
This 
Is great. Thanks Tyrann. 
Tyrann 
This is great news (I do still compile Quake 1 maps occasionally). I will add a link to your tools to my tutorials once they support the full monty.

Actively maintained tools are basically the lifeline for any kind of modding. Thumbs up. 
Mac OS X Binaries 
I'll look into providing binaries for Mac OS X, would you like to host them on your site? 
Mac OS X 
Thanks SleepwalkR - I was meaning to do that anyway so I've just done a quick build on my ML machine and thrown that up on the utils page. Does that look ok?

Any tips/advice for providing OS X binaries appreciated. I'll hopefully be doing the same for TyrQuake with the next release. 
Awesome Stuff! 
Will definitely give these a whirl next time I compile a map.

Maybe it's just fantasy, but I'm hoping there is also going to be a map release from you this year... :) 
Also... 
"After it took 36 days for my map to vis on a fairly decent 8-core machine I knew it was past time that we had something like this for Quake."

How long does your map take to vis now? Have you detailified it yet? 
Heh 
Maybe it's just fantasy, but I'm hoping there is also going to be a map release from you this year... :)

I thought the same. Might go replay moonlight. By coincidence was looking at OUM the other day as well. 
Have Not Detailified It Yet... 
...but working on it. 14k+ brushes! :) 
Wish List 
* Brush models (func_ entities) can have a minlight value so that there is no solid black surfaces. It is easy for a secret door to have a solid black surface on the opening edge, which is difficult to get rid of. No one wants to minlight a whole level but certain entity types could benefit from a minlight boast.

* Phong Shading on grouped brushwork. This would be awesome for terrains where the lighting is consistent across surface edges. It is difficult at the moment to create terrain wall sections without obvious light seams.

* AI clip brushes, a surface that is invisible like clip but can block AI/Players. At the moment all floor gaps need func_wall entities so that AI can walk across the gaps properly. For some reason clip brushes are not in the clip hull that the AI movement code uses. 
 
* AI clip brushes, a surface that is invisible like clip but can block AI/Players. At the moment all floor gaps need func_wall entities so that AI can walk across the gaps properly. For some reason clip brushes are not in the clip hull that the AI movement code uses.

That's an engine issue I believe. 
 
If we even got the first 2 things on Socks wishlist that would be incredible. Is that even possible though? 
Ai Clip 
This is a C/Qc issue caused by the hull navigation.

You can solve it with an entity called a func_nodraw from the extras mod: http://www.quakewiki.net/quake-1/mods/extras-r4/

Coding one from scratch should be trivial since you just set the model to empty on runtime, I think.

All it does is make a solid brush that you can't see. It's not ideal because you can't shoot through it - but that's the limitation of Quake.

Minlight for entities would be awesome. Q2 has this and it makes life a little bit easier every time you add a door to a map. 
 
<quote>* Brush models (func_ entities) can have a minlight value so that there is no solid black surfaces. It is easy for a secret door to have a solid black surface on the opening edge, which is difficult to get rid of. No one wants to minlight a whole level but certain entity types could benefit from a minlight boast. </quote>
Ooh, nice idea! That would be mega useful. 
 
Fucking tags. 
Clippa 
* AI clip brushes, a surface that is invisible like clip but can block AI/Players. At the moment all floor gaps need func_wall entities so that AI can walk across the gaps properly. For some reason clip brushes are not in the clip hull that the AI movement code uses.

To be more specific about what the map compiler does which causes problems - the clip brushes get added to hull-1 (player size) and hull-2 (shambler size), but not the visible hull or hull-0 (point sized). I'm pretty sure that the visible hull and clipping hull-0 are stored separately in the BSP (but please correct me if I'm wrong).

If that's the case, then it should be possible to create clip brush variants where the brushes are considered in different stages. So for example super-clip brushes would be skipped at the visible stage, but included in hull-0 to hull-2, so grenades bounce off them and monsters can navigate them. It certainly ought to be possible to create sub-clip brushes which only affect hull-2, to prevent large monsters getting into parts of the map but allowing players in. 
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.