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
Yep 
you can set "_anglesense" per-light.

When I get a chance I'll try playing with normal smoothing again. The first time I tried it I was still getting hard edges, e.g. with sunlight shining on an octagonal pillar. 
 
It's too bad you can not assign any values to brushes, that way it could be controlled on a brush basis, which would make more sense from a user perspective. But having it as a global variable with an angle threshold should be enough I think. Maybe additional value for func_walls, func_detail and such might make sense. 
 
ericw: normal smoothing?? so like phong shading? that would be insane. 
Ericw 
phong shading would be sweet... how will it be implemented though? Quake 2 allows surface flags to be set but there's nothing like that in Quake 1. 
Super Hacky Way Of Doing Shit... 
might be to do it via textures. Basically have a version of the level which you just use to generate smoothing group data and compile before the other stuff or something. You could just have it be a bunch of textures that correspond to SG01, SG02, SG03..

That would probably be a pain in the ass to do though. Just plopping out dumb ideas here.

Or it could be integrated into the editor somehow, which just generates some file based on which faces the user has combined into a smoothing group. 
Half-Life 
HL's light compiler uses Phong to shade smooth curves. You can also setup "smooth groups" in hammer that can tell the compiler what brushes to perform smooth lighting on. A good place to start! 
A Long Long Time Ago 
I think I remember playing around with WC and you could assign a value(-1?) to a brush face(I used an octagon) and then when you compiled the map you could not see any hard edges? If you looked at the floor you could tell it was an octagon but otherwise no.

Am I crazy or does anyone else remember this? 
Damage_inc 
Are you thinking of Quake2 mapping? because ArghRad added a feature for phong shading via that method. Quake2 let you specify surface properties per face, so you could stick values into properties to set up smoothing groups for the compiler. (IIRC, you set a brightness value for the face as the smoothing group number, but didn't turn on the face's 'emits light' flag and ArghRad would look for that pattern)

Quake's .map format doesn't support any per face values, so there's no place to store any values for the compiler to know which faces to smooth. 
Ohhhh... Yes Scampie 
That's it! Now I remember, it was When I was teaching a friend Quake2 mapping. Thanks. 
DaZ 
Trying to use your fgd with Hammer (not Jackhammer) causes it to crash. Any idea why this occurs? The standard fgd by czg works fine. 
Hmm 
I haven't tested it with Hammer at all, I imagine there some syntax craziness going on! 
What Do These Error Messages Mean? 
*** WARNING 12: New portal was clipped away in CutNodePortals_r

*** WARNING 16: Texture __TB_empty not found

I got them while compiling a TB2-made map using qbsp from this branch. I've been compiling every so often to test things out and I mostly do not get any errors. Would just like to know what I could have changed that would have resulted in these errors (and hence what I should avoid doing in future). 
 
CutNodePortals_r is usually caused by complex brushwork, often occurs where several planes meet at one point and/or there are brushes with vertexes off the grid. If it gave coordinates, look there in your map to see what could be the cause.

Example, txqbsp_xt will report it like this:

WARNING:CutNodePortals_r: new portal was clipped away near (2592 -518 -40)

Texture TB_empty sounds like some kind of missing texture error where TB substituted "Texture __TB_empty" in it's place of its name. 
 
Depending on where it is, you can often just ignore a CutNodePortals_r warning, but sometimes it causes small invisible walls that'll block player movement. Turning complicated brushwork in the area of the warning into func_walls will also sometimes fix it.

I got a lot of this in my jam6 map due to the weird brushes making the damaged walkway, so I just made them a func_wall. 
 
"__TB_empty" is the texture name Trenchbroom puts on a face with no texture. If you know the brush, you put a texture on it, if not, do a find/replace in notepad or something and search for "__TB_empty" and replace it with some other texturename (Does TB/TB2 have a texture find/replace? if so, use that) 
__TB_empty 
is used when you have a face without a texture. TB2 has to insert some string as the texture name, and this is the placeholder it uses for such situations. 
 
"" is a string, no? :) :) :)

srsly tho, yeah, I opened my .map in Sublime Text and did a find/replace 
Thank You Very Much, Rick, Scampie And SleepwalkR 
...for both explaining what causes those errors and giving me pointers on how to fix them (or potentially work around them, in the case of CutNodePortals_r). 
Matecha 
Texture names are not quoted in the map file. God knows how different compilers would interpret "". 
 
Radiant uses a blank space, luckily it also recognizes that blank space as something you can find and replace in the editor. 
Ericw 
By the way, my favorite new feature of the light utility is the ability for func_walls to cast shadows. I used it a several times in my jam 6 map. The 12 fingered torchieres in the lava and the hanging lanterns beside the last steps up are all func_walls casting cool looking shadows. 
 
I think Tyrann added that, but yeah it's awesome! 
Agreed 
I used "_shadow" key quite a bit... but there's one obvious spot where it caused an issue that I should've worked around: A func_illusionary with "_shadow" "1" on the floor casts blackness on the floor below it, so any dynamic entity on top of that func_illusionary will be unlit because it uses the lightmap of the solid floor (which is fully shadowed) as the brightness of the entity above it. This isn't a compiler problem, it works as intended, but can be unexpected that that is how it works. This is why there is a fully dark Ogre in the map.

I had to do that because of a clipping error, but I should've tried some other things to fix it, but it was getting really close to the deadline. 
 
That's similar to the old "black scrags against a bright sky" thing that many maps suffer from.

To fix that particular problem you had, sometimes you can put a func_wall floor underneath to catch the shadow, then put a real floor below that which is lit normally to provide the entity lighting. But it can be tricky to get the brightness balanced.

Yeah, that deadline was a pain :) 
 
been meaning the mention this... -fast is missing from light.exe... Could we have this back, since it can take 20-30 minutes to light stuff now with all those deviant lights and such... 
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.