ericw-tools 0.18.1

@ericwa ericwa released this Apr 6, 2018 · 3 commits to master since this release

Note: Windows builds require Visual C++ Redistributable Packages for Visual Studio 2013

  • qbsp: fix crash when worldspawn has 0 brushes
  • qbsp: support reading Q2/Q3 detail flag
  • qbsp: experimental "_noclipfaces" key
  • qbsp: fix "_mirrorinside" on bmodels
  • qbsp: improve an error message for when BSP2 is needed
  • vis: fix "average leafs visible" message overflowing
  • light: fix crash with surface lights

ericw-tools v0.18

@ericwa ericwa released this Feb 19, 2018 · 13 commits to master since this release

Note: Windows builds require Visual C++ Redistributable Packages for Visual Studio 2013

  • light: tweak phong shading to use area and angle weighting
  • light: add "_phong_angle_concave" key
  • light: fix -bspx option

ericw-tools 0.17

@ericwa ericwa released this Jan 30, 2018 · 20 commits to master since this release

Note: Windows builds require Visual C++ Redistributable Packages for Visual Studio 2013

  • qbsp: fix hint/skip having corrupt texturing with -convert option
  • qbsp: warn and heal invalid texture projections
  • qbsp: fix -omitdetail to affect all types of detail
  • light: warn and ignore invalid texture projections instead of aborting
  • light: make more robust against degenerate tris

ericw-tools 0.16

@ericwa ericwa released this Dec 29, 2017 · 37 commits to master since this release

  • light: add flood-filling to fix black seams in when no -extra/-extra4 used
  • light: fix color->greyscale conversion to be compatible with MarkV and some QuakeWorld engines
  • light: don't mark sample points inside semi-transparent shadow casters as occluded.
  • qbsp: add "_external_map_scale" key for misc_external_map
  • qbsp: experimental func_illusionary_visblocker entity
  • qbsp: better detection of when a map exceeds BSP29 limits. Previously, a corrupt BSP would be written when nodes/leafs exceeded BSP29 limits.
  • bsputil: add --convert option. Not very useful, but can convert between BSP2 and 2PSB, for example.
  • bsputil: "--check" option logs world mins/maxs
  • bsputil, bspinfo: can now read Q2 BSP files


@ericwa ericwa released this Sep 17, 2017

  • light: add "_sun" entity key to configure sunlight in an entity instead of worldspawn. More than one "_sun" entity is supported.
  • light: add "_falloff" light entity key to configure light falloff in map units. Only supported on linear (delay 0) lights.
  • light: add "_spotlightautofalloff".
  • light: fix light cutoff on curved surfaces (#172)
  • light: adjust -soft to fix regression in 0.15.10 (#171)
  • qbsp: add "_mirrorinside" key for mirroring the outside faces of bmodels so they are visible from inside. for func_water, or func_illusionary fences, etc.
  • qbsp: fix CSG issue with overlapping off grid brushes (#174)
  • qbsp: fix HOMs introduced in 0.15.10, which were caused by an attempt to fix leaks-through-solids in 0.15.10. To re-enable the buggy code that may fix leaks through solids but add HOMs, use "-contenthack" (#175).


@ericwa ericwa released this Jul 30, 2017 · 121 commits to master since this release

  • light: add _shadowworldonly bmodel key - only cast shadows on world, not other bmodels.
  • light: switchable bmodel shadows (requires QuakeC support, see light manual).
  • light: accept _minlight in worldspawn as an alias for "light"
  • light: handle degenerate faces, print out the vertex coordinates
  • qbsp: misc_external_map prefab system (see qbsp manual)
  • qbsp: don't write unused texinfo
  • qbsp: rewrite outside filling similar to q3map
  • qbsp: revert change to SubdivideFace which was increasing faces a bit (see 53743dd)
  • qbsp: add -expand option to dump the hull expansion to a "", from q3map
  • qbsp: add -leaktest option to abort compilation when a leak is found, from qbsp3
  • qbsp: fix handling of duplicate planes, which was causing id1 maps to leak
  • qbsp: try to get more reliable leaf content assignment (see a910dd8)
  • bsputil: --check: print BSP tree heights at the first few levels of the tree
  • bsputil: --check: check for unreferenced texinfo, vertices, planes
  • bsputil: --check: print number of used lightstyles
  • misc: travis-ci now runs qbsp on all id1 maps, the build fails if any maps leak


@ericwa ericwa released this Jun 11, 2017

  • light: styled lights no longer bounce by default, set "_bouncestyled" "1" to enable.
  • qbsp: map format conversion: fix reversing of epairs in converted maps
  • qbsp: func_detail rewrite to fix vis issues with previous version. NOTE: func_detail no longer seals maps.
  • qbsp: add -omitdetail to omit all func_detail entities from the compile
  • qbsp: new func_detail_illusionary entity. func_detail variant with no collision (players / monsters / gunfire) and doesn't split world faces. Doesn't cast shadows unless enabled with "_shadow" "1". Useful for hanging vines. Still creates BSP leafs. (Possible enhancement: avoid creating new leafs and just insert marksurfaces into existing leafs?)
  • qbsp: new func_detail_wall entity. func_detail variant that doesn't split world faces. Useful for when you want a decoration touching a floor or wall to not split the floor/wall faces (you'll get some overdraw instead.) If it completely covers up a world face, that face will get clipped away, so it's not suitable for fence textures; see func_detail_fence instead.
  • qbsp: new func_detail_fence entity. Similar to func_detail_wall except it's suitable for fence textures, never clips away world faces. Useful for fences, grates, etc., that are solid and block gunfire.
  • qbsp: add -forceprt1 option to generate a .prt file that GTKRadiant's prtview plugin can load (but will be unusable by vis). When func_detail is in use you normally get a PRT2 file that ptrview can't load.
  • qbsp, light: allow "_shadow" "-1" to stop a func_detail from casting shadows

TyrUtils-ericw 0.15.10-beta1

@ericwa ericwa released this Mar 26, 2017 · 331 commits to master since this release

  • light: fix Linux binary
  • light: lights with a lightstyle now bounce
  • light: new sample point positioning code
  • light: per-light "_bouncescale" key
  • qbsp: origin brush support
  • qbsp: add -omitdetail option, strips out all func_detail brushes
  • qbsp: add -convert option for converting between .MAP formats


@ericwa ericwa released this Nov 21, 2016

  • light: fix black fringes on bmodels that are touching against the world
  • light: light passing through glass lights up the back side
  • light: bmodels with "_alpha" < 1 and "_shadow" "1" set cast tinted shadows
  • qbsp: support Quake 3 "Brush Primitives" .MAP format
  • qbsp: save "_mincolor" for func_detail/group to the .texinfo file, now used by light
  • qbsp: performance improvements


@ericwa ericwa released this Oct 3, 2016

  • light: fix black noise in some cases when using -bounce. (reported by Pritchard)
  • light: try to limit artifacts caused by "too many lightstyles on a face",
    by saving the 4 brightest lightmaps. The previous behaviour was random,
    so you would likely get bad artifacts when that warning occurred.
  • light: restore and expand the "unmatched target" warnings.
    Now checks "target", "killtarget", "target2", "angrytarget", "deathtarget".
    Also checks for any "targetname" that is never targetted.
  • light: restore support for skip-textured bmodels with "_shadow" "1".
    This is only supported on bmodels where all faces are textured with "skip".
  • light: add "_lightignore" model key, makes a model receive minlight only.
  • qbsp: accept absolute path to map (reported by lurq)