News | Forum | People | FAQ | Links | Search | Register | Log in
Tyrutils-ericw V0.15.1
Hey, I got around to setting up a website for my branch of tyrutils: (complete with lots of screenshots of different settings of AO, sunlight, etc!)
http://ericwa.github.io/tyrutils-ericw
and making an "official" release of it.

Nothing major changed compared with the last snapshot (may 1st), but a couple new things:

* .lux file support from Spike, for deluxemapping
* gamma control with -gamma flag and "_gamma" key
* rename -dirty flag to -dirt for consistency
* fence texture tracing is now opt-in only with the "-fence" flag.
* light should run a bit faster


This doesn't have lit2. Not sure what to do with that, tbh.

If there's a demand for it, I was thinking I could make a tool that upscales all textures in a wad by 2x or 4x, and adds a "-2x"/"-4x" suffix to the names. You could then manually get the higher-res lightmap on certain faces by applying the upscaled texture, and lowering the texture scale to 0.5 or 0.25 in your editor.

The only real disadvantage of this hacky method over lit2 is more face subdivision by qbsp. This isn't great, but it shouldn't be an issue if the hack is used sparingly (and bsp2 can be used if needed for higher face/vert limits.)

Anyway, enjoy, I hope this is pretty bug-free.
First | Previous | Next | Last
Mind Blown 
Never actually considered that you can use two lights on the same surface :O 
Other Stuff 
How the surface lighting works exactly: if you look at the BSP surfaces in-engine with "r_drawflat 1", each surface with a matching texture will get a light copied in the centre of the surface, 2 units above it. However, if a surface is larger than 128x128, it's subdivided into sections no larger than 128x128, and the lights are placed above those sections. So, you can think of the lights as being tiled roughly on a 128x128 grid.

My lava screenshot above is ugly, so if anyone comes up with a good example scene for lava settings that you want to put on the tool website, that would be welcome! 
Personally 
What I've found works best for lava: use really low surface lights just to fill areas (if you find it necessary), and then hand place a couple really bright lights that will do the heavy lifting and cast your major shadows in the area.

and be sure to set "_dirt" "-1" on the lava lights, you don't want dirty corners next to your lava! 
 
"Never actually considered that you can use two lights on the same surface :O "

!! Same. No idea ... neat! 
Oh Shit 
You could use a 2nd light with a high offset on the lava and make it a bounce fill light.

AWWWWW YYYYEAAAAHHHH 
 
hey DaZ, when I try to load your .fgd (Beta 5) in TrenchBroom I get the following error:

"Parse error at line 26, column 39: Expected token type closing bracket, or word but got colon"

Personally I'm guessing it's TB's parser, not your .fgd 
Hmm 
Looking at the row/col. It's the first line of added code in the file, so I'm guessing that the version of fgd the file is written in is incompatible with TB.

This fgd was written for Jackhammer / Valve Hammer and probably uses some things that are not compatible with Trenchbroom (the colour picker comes instantly to mind).

It's worth noting that you can still use all these new features that are exposed in this fgd, you just have to add the key/value pairs manually. 
It's A Bug 
TB doesn't like the comments after the second colon. This is an oversight by me, I didn't read the FGD spec carefully enough, and the FGD files I had used for TB didn't contain such comments. File a bug report and attach the file so that it gets fixed, please. 
 
So I guess a temp fix would be to just delete the comments. In case that wasn't obvious. :) 
But 
the comments are useful as they show up in jackhammer/hammer help screen. That's why I added them in the first place :D

But yes, you could remove all the comments and it should work. 
 
Right, I get that. But it's either wait for someone to fix Trenchbroom OR start using the FGD now. So ... choose your path, fair user. :) 
 
The fgd won't be useful in tb1 anyway, since tb1 doesn't display the key/values part of the fgd. Will be nice in tb2 though :-) 
Func_group 
do func_groups get ignored or something? I have a map with a func_group in it with ~4k brushes in it, but qbsp finishes in 1 second with the following:

---- LoadMapFile ----
*** WARNING 06: No info_player_deathmatch entities in level
19190 faces
4766 brushes
4 entities
2 unique texnames
38380 texinfo

Opened WAD: ..\..\QE3\gfx\jam6\mapjam666.wad
Opened WAD: ..\..\QE3\gfx\jam6\lavacity1a.wad
Opened WAD: ..\..\QE3\gfx\sock_palc_supp.wad
Processing hull 0...
Processing hull 1...
Processing hull 2...
---- WriteBSPFile ----
0 planes 0
0 vertexes 0
0 nodes 0
6 texinfo 240
0 faces 0
0 clipnodes 0
1 leafs 44
0 marksurfaces 0
0 surfedges 0
1 edges 8
2 textures 391772
lightdata 0
visdata 0
entdata 293

0.152 seconds elapsed
Peak memory usage: 13694572 (13.1M)


looks like it's skipping it? 
Weird.. 
one idea, make sure there's at least one ordinary brush in worldspawn that's not in a func_group/func_detail. There's a bug that happens if there are no regular brushes. 
 
haha yup! thanks!

and while you're here... currently in this qbsp, mixed face contents is a full error that halts compilation, while other compilers (aguirre's in my case) will just give you a warning and convert the brush to a solid.

any chance of doing the same here? mixed face contents really isn't a big deal, at least, not enough to warrant an error. 
Nice :) 
re: mixed face contents, sure, I'll look into how bjptools handles it 
 
One quick suggestion ... when the user doesn't specify "-threads" maybe set the value to "# of cores in this machine" - 1. That leaves one core available for working on the level or checking email or whatever.

I found when I set up my batch file to use one fewer core than I actually have, working on maps became a lot more fluid... 
Daz 
Your fgd file contains a few integer properties with float default values such as in line 34:

_range(integer) : "Global light range" : 0.5 : "Scales the brightness range of all lights without affecting their fade discance. Values of n more than 0.5 makes lights brighter and n less than 0.5 makes lights less bright. The same effect can be achieved on individual lights by adjusting both the 'light' and 'wait' attributes"


That's technically invalid and I don't know what JackHammer and others would make of it. TB currently crashes at that line. I'll fix it and round such values. 
And More 
In line 76, there is this:


@baseclass base(Appearflags) flags(Angle) size(-16 -16 -24, 16 16 32) offset(0 0 24)
color(0 255 0) = PlayerClass []


The flags(Angle) part is syntactically wrong. Check https://developer.valvesoftware.com/wiki/FGD 
Re: #44 
While doing n-1 threads by default works, I think I'd prefer auto-setting priority to "below-normal". This way, when the computer is idling, it'll use all cores, but if needed, it can be put into the background while you work on your map. 
 
That might work too. All I know is that right now, if I don't hand set the thread count, I end up with a machine that can't do much while light runs... 
 
haha yeah, i know what you mean.

as a workaround, you can start light/vis with the start.exe command:
START /BELOWNORMAL light.exe to manually set thread priority. 
Nice 
I'll make it do that automatically in the next release 
I Have An Iq Of -94 
Sleepwalkr, I'm fixing the fgd but I don't understand a few parts of it.

_range(integer) : "Global light range" : 0.5 : "Scales the brightness range of all lights without affecting their fade discance. Values of n more than 0.5 makes lights brighter and n less than 0.5 makes lights less bright. The same effect can be achieved on individual lights by adjusting both the 'light' and 'wait' attributes"

If I just set the value type to float instead of integer will that fix the error? This value defaults to 0.5 and 1 will change light values in the map.

@baseclass base(Appearflags) flags(Angle) size(-16 -16 -24, 16 16 32) offset(0 0 24)
color(0 255 0) = PlayerClass []


Honestly I just copied this from the fgd that ships with Jackhammer so I don't actually understand it. Can you post the correct syntax and I can update it!

<3 <3 
 
For float values, just use string! 
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.