|
Posted by ericw on 2015/07/14 00:34:45 |
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. |
|
|
#470 posted by mankrip on 2016/08/11 19:43:18
How about making the compiler replace the backslash character with a forward slash, in the "wad" field only?
#471 posted by Rick on 2016/08/11 20:02:08
I always wondered why it couldn't just check the relative Quake path for any wads or just require that the wads be located in a specific folder.
@ericw, Continued Rant :)
#472 posted by Spike on 2016/08/12 06:02:34
enginewise, the biggest issue is that saved games and maps share parsing code. So double-quotes, new lines, carrage returns, and double-backslashes need to be saved, and thus also need to be reloaded. Otherwise mods will break - or at least mods designed for engines that can actually do string manipulation, anyway.
Whether that's consistent with winquake is somewhat irrelevant from my perspective - as you say, the only place backslashes would ever really be used in a map is in the wad key, or before an 'n'.
I'm personally okay with FTE breaking compat from winquake to ensure saved games work, so long as embedded chars are rare and don't corrupt other strings.
small correction:
FTE's entity parsing is actually performed by qclib's misleadingly named QCC_COM_Parse - which includes consistent escapes and a special hack for "c:\foo\"<NEWLINE> in an attempt to prevent the map from being unusable.
This is why you get foo" instead of foo\ - because FTE saw an escaped double-quote.
The wad field *IS* parsed by engines in the case of halflife bsps, where named wad files may be required for external textures. The paths are ignored (absolute paths are a definite no in something that has been shipped/released), but if they arn't escaped properly then wads starting with an n will still get messed up (clients with download mechanisms might also attempt to download such wads from servers). Additionally, fte can load .maps directly, although wad handling there is curently kinda screwed up thanks to replacement images overriding things and confusing sizes.
@mankrip, really its the editors that should be doing that, especially for relative paths which would allow such maps to still be compiled/loaded on linux/mac as well as windows.
Obviously absolute paths are problematic regardless.
@Rick, some -basedir argument for qbsp?.. and probably -game too...
Spike
#473 posted by mankrip on 2016/08/12 15:51:54
@mankrip, really its the editors that should be doing that
I agree that fixing this in the editors would help for when creating new maps, but for compiling old maps it wouldn't, specially if the user wants to compile some old maps directly from the commandline.
The Quaddicted database has tons of maps with source available, and sometimes it's useful to recompile them without modifications, when all the user wants is to compile them in a different way (e.g. enabling translucent liquids or lit water).
So, an ideal solution would be to fix this both in the editors and in the compiler - fixed editors would ensure that the maps can be compiled by any compiler, and fixed compilers would accept maps from any editor.
#474 posted by Spike on 2016/08/12 20:05:21
even if you are recompiling it without any other edits, you'd probably have to fix all the wad paths anyway.
tbere's enough existing maps that auto-correcting the wad paths for any new ones is a little insignificant. I would personally rather that editors were aware of \", \n, \r, \\ when loading rather than \ getting switched to / in specific cases that 'the' engine will already need to deal with regardless. 1 well-worded warning is imho useful, 4 is excessive but still preferable to none.
on a related but different note, casually recompiling all your maps isn't something I can really endorse - if you do this, you'll find yourself kicked from vanilla quakeworld servers due to having an assumed-cheat version of the map.
vispatches and lit files won't trigger this issue, and can automatically run on maps without worrying so much about which qbsp originaly compiled it and how strict it may have been.
This won't give you everything, so there's no single winning solution, but it should give more consistant+reliable results if you're doing it in bulk. Assuming those tools support bsp2 etc, anyway.
#475 posted by Rick on 2016/08/12 20:30:30
@Rick, some -basedir argument for qbsp?.. and probably -game too...
Something like that I guess.
Netradiant wants the wads in the ID1 folder. Put them there and it works fine, anywhere else and you have no textures in the editor.
Frequently I dig out old maps from years ago and run them through QBSP and get no textures errors. Then I have to go manually edit to fix "wad" "E: \\ worldcraft \\ test.wad" or whatever I was using back then.
I'd rather the map just used "wad" "wadname.wad" and let the compiler find it (with the assumption that the wad is somewhere in the Quake folder).
Does Your QBSP Support Decimals As Texture Offset Values?
#476 posted by negke on 2016/08/14 13:46:15
Yes
#477 posted by ericw on 2016/08/14 18:47:27
Who Else Would Need To Move Textures By Fractions Of Pixeks
After You Rotate A Texture Probably
#479 posted by Kinn on 2016/08/15 21:41:18
#480 posted by metlslime on 2016/08/15 21:50:51
yeah, if you do the classic 1:4 2:4 3:3 4:2 4:1 cylinders, you will have some angles that you can't perfectly line up the textures on with whole degrees. Not noticeable until you have a long enough surface with the same angle
Ahoy
I'm getting this error with my map:
light: /home/benny/Downloads/tyrutils-ericw-ericw-v0.15.5/light/light.cc:656: void CalcualateVertexNormals(const bsp2_t*): Assertion `smoothedNormals.find(v) != smoothedNormals.end()' failed.
As well as a bunch of: WARNING: couldn't nudge light in solid at -1586.848267 174.062302 507.337677
Which I assume is because some of the surface light textures cover the entire brush and some are against other solids.
This same map didn't give me errors with an earlier version. Running ubuntu 16.04.
Also, isit possible to have phong shading on non func_details, I have a func_illusionary or two I'd like to use it on.
Thanks in advance!
Shamblernaut
#482 posted by ericw on 2016/09/07 21:30:44
Mind emailing me the .map+.bsp+.texinfo?
phong shading on any func_ should work. You have to run a full qbsp to update the .texinfo file though.
btw hoping to make a new release pretty soon
Thanks
the new version compiled and works a treat.
also the "-gamma" command is amazing, saved me having to decrease all my light values after adding -bounce
Dirtmapping Lit Liquids Bug
#484 posted by mankrip on 2016/09/09 01:11:18
Liquid surfaces should be completely ignored when dirtmapping, but they aren't. Here's an E1M2 screenshot.
Ideally, lit liquids shouldn't receive or emit dirtmaps.
Addendum
#485 posted by mankrip on 2016/09/09 01:14:36
I've taken that screenshot with the water fully transparent, and the map was compiled with these parameters:
$bsp_exe -nopercent -splitspecial $bspdir/$file
$light_exe -extra4 -dirt -dirtmode 1 -dirtgain 0.875 -dirtscale 1.5 $bspdir/$file
What If The Liquid's Supposed To Be Opaque?
#486 posted by Kinn on 2016/09/09 01:16:44
#487 posted by khreathor on 2016/09/09 01:25:26
"_dirt" "n"
For brush models, -1 prevents dirtmapping on the brush model. Useful it the bmodel touches or sticks into the world, and you want to those ares from turning black. Default 0.
Maybe it will work with water brush too?
#487
#488 posted by mankrip on 2016/09/09 01:48:39
I've just tried it, and _dirt -1 doesn't work on func_detail.
Addendum
#489 posted by mankrip on 2016/09/09 01:51:33
Well, actually _dirt -1 sort of works on func_detail. The water isn't dirtmapped now, but it still casts dirtmapping in the rest of the world model.
#490 posted by ericw on 2016/09/09 01:58:45
Thanks for the report, I will fix it properly.
Probably I'm checking for TEX_SPECIAL and skipping casting/receiving dirt if that is set, need to also check if the texture starts with
"*" or "sky" in case splitspecial is used.
#491 posted by mankrip on 2016/09/09 02:03:46
Thanks.
A little feature request: Can you add individual options for -splitliquids and -splitsky? This would be more optimal than -splitspecial, since there's usually no reason to allow sky surfaces to be lit.
#492 posted by ericw on 2016/09/09 02:08:15
It should be there already, just called -splitturb instead of -splitliquids
:) Indeed
#493 posted by mankrip on 2016/09/09 02:29:46
It is; I've tried it out, and it worked.
Thanks, I've updated my compiler parameters.
Actually
#494 posted by Kinn on 2016/09/09 21:38:30
Gosh I had no idea lit liquids were even supported in this tool. Any chance someone could give those quakespasm cheps a bit of a nudge?
|
|
You must be logged in to post in this thread.
|
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.
|
|