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
V0.15.4 Released 
change list & downloads:
https://github.com/ericwa/tyrutils-ericw/releases

Mostly bugfixes, except there is a new _sunlight3 that comes from the bottom hemisphere, instead of the top (_sunlight2).
This is mostly for maps floating in the clouds, where you want skybox under the map that emits light. Combine both sunlight 2+3 for light coming from all directions, and use two different colors for crazy effects.

Also, the -parse_escape_sequences option for light is a gimmick that lets you make red text in door/trigger messages, which previously you could only do with custom QC. 
Updated Jackhammer Fgd 
Cools Stuff 
I'd like to see a little demonstration of the new _sunlight3. 
 
I added to my privately hacked tyrlite branch a "domelight" (this was pre-sunlight2), with control over color and intensity coming from straight up, the horizon, and straight down, blending between them (even though I'm not really working on a map that would take advantage of that.)

There's enough ways to light a world from the sky that moving stuff like this from infinitely numbered worldspawn keyvalues to a light_sun entity would be prudent, except for the "no spawn func" errors it would produce. Does stripping an entity from the bsp seem dangerous or counter to some method of production? How often do people really re-light a BSP without re-BSPing it first? 
 
info_null is ignored by the game engine, so you could have an info_null full of sun properties.

But is it really better than just putting it on the worldspawn? 
Put Them In A Light Entity 
and flag it with a special key (eg _sun: 1) to tell light.exe that this is just your holder for the sun properties and not a normal light

classname: light
_sun: 1
_some_cool_sun_property: 21.463

I have spent maybe 2 seconds thinking about this, so there may be a better way. 
 
is it really better than just putting it on the worldspawn?

Just feels cleaner to keep the sun properties encapsulated in a single dedicated entity that you can copy 'n' paste between maps easily.

Also, getting a bit carried away with this...but with a sun as its own entity - you could support multiple suns by having multiple entities. 
One More And I Will Shut Up 
To make setting the sun angle easy you could just target your sunlight entity towards an info_null, to implicitly specify the direction of the light (the setup would look like a cute little solar system) 
 
Multiple sun entities instead of _sunlight2, _sunlight3, etc? 
Lun 
Cool, blending the colors/intensity was something I wanted to try and will probably test out. control for the horizon is a good idea too.

If I'm going to add a new, tidier way to specify sun settings, I would be tempted to do it properly and make new entity types (light_dome for _sunlight2/3, light_sun for regular sunlight), and then strip them out when writing the bsp. Even the way surface lights are currently specified is sort of a hack, it should be a "light_surface_template" classname or something.

If anything is being stripped when light writes the entities to the bsp, it might make sense to make the light tool read entities from the .map file rather than the bsp, this would avoid a failure in case you ran "light" twice in a row. It would also mean you can skip the "qbsp -onlyents" when iterating on lighting settings, which could save a few seconds. 
 
with a sun as its own entity - you could support multiple suns by having multiple entities.

This is what I was thinking. Although, as someone with experience lighting a map with a fuckload of suns, beyond a very limited point (like two or three, which we have now) the line between imperceptibly subtle and clownishly gaudy seems to get pretty narrow. 
 
i'd like to have the ability to map lightstyles to sunlights... then you could have 4 'suns' that are always off, and flicker them randomly via QC. 
#236 
Yes! For thunder & lightning effects! 
Yeah 
that would be sweet. I think it's easy to do in terms of the lighting code, the only challenge is how to expose it to QC. That's probably another argument for using entities for sunlight, it could work the same as ordinary lights; if the mapper sets "targetname" on the sunlight entity, the compiler assigns it a lightstyle. 
 
I tried lightning tied to a skybox change a while ago, but every engine's got its own console command for the skybox and they're not consistent :/

You'd hit that 'max lightstyles for a face' limit quick though. 
 
yay for shadowmaps and rtlights... 
 
Moving all features that affect the world into entities would be neat.

"sky_fog" entity or something for easily copying fog between maps, etc... 
 
Suggestion: use the classname "info_world". 
 
And "info_world_sun", "info_world_fog", etc. in case of different entities for different features. Just to make it clear that such entities are global effects, not local effects. 
 
When are we getting phong shading?! WHEN?! 
Fifth 
If EricW doesn't implement it, I will.

But a proper implementation will most likely require surface flags (or, more specifically, surface groups), and the actual algorithm may not be Phong shading, but something that looks similar. There are a number of design issues to consider.

This is one of the features that I've been thinking about during this whole year, and it's not simple. 
 
And when are we having radiosity? Oh Lord, when? I wonder... 
Well 
for organic geometry how about something like "func_detail2" or "func_group2"? Something outside the regular thing that just applies it to a whole brush? 
 
I know it would be more ideal to apply it to surfaces but I would love to see something, *ANYTHING*, in the mean-time. 
#247 
better to have a key:val on any func entity

e.g.

_smoothangle: 15

That way you can control which faces get smoothed based on angle. 
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.