Skip to content

Releases: metita/ReSDHLT

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 04:11

ReSDHLT 0.20.0 reads the models for model shadows from the game, so a map
compiled outside the game folder keeps them, and stops counting player spawns
as models.

Highlights

  • RAD: the .mdl files for model shadows are also read from the game. After
    the folder above the map's, RAD looks in -moddir <folder> (for example
    Half-Life/cstrike), and without it in Counter-Strike in any Steam library
    it finds. In the game it reads <mod>_addon, <mod>, <mod>_downloads and
    valve, like the engine. The GUI passes -moddir from the game folder set
    for "Probar en el juego".
  • RAD: player spawns and other info_, light and path_ entities no longer
    count as models. Their model key (gsg9.mdl on the CS spawns) only tells
    the editor what to draw; with -studioshadowall they cast shadows of
    players that are not there.
  • RAD: a missing model gives one warning with the number of entities using it,
    followed by the folders it was looked for in, instead of one warning per
    entity.
  • RAD: a model path longer than 63 characters no longer overflows the model's
    name.

Maps without shadow-casting models light the same as with 0.19.0. Checked on a
test map compiled outside the game, not in the game yet.

Full Changelog: v0.19.0...v0.20.0

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 00:31

ReSDHLT 0.19.0 lets every model on the map cast a shadow and stops a model from
going dark under its own shadow.

Highlights

  • New: -studioshadowall in RAD ("Sombras de todos los modelos" in the GUI).
    Every point entity with a .mdl model, cycler_sprite and the like, casts a
    shadow without zhlt_studioshadow 1 on each one. Additive models and any
    other non-normal render mode under renderamt 255 are left out, and
    zhlt_studioshadow 0 opts a single model out. It is off by default. RAD
    looks for the models in the folder above maps, so compile inside the game
    folder or the shadows are skipped.
  • RAD: a model no longer goes dark from its own shadow. The game lights a whole
    model with one lightmap texel under it, and a model that shadowed that texel
    came out black. RAD now finds that texel the way the engine does and keeps it
    out of the model's own shadow. In a test room a tree right under a light read
    69 from its own shadow and now reads 159, against 160 for the same tree
    without shadows. The floor right under the model comes out a little lighter
    (5x5 texels, 3x3 with -extra). It is on by default and only touches models
    that cast shadows; "Dejar que el modelo tape su luz" in the GUI, or
    -nostudiolightspot, turns it off.
  • RAD: a warning for every .mdl the game will draw black because there is no
    lightmap under it, saying when its origin is inside a solid.

Maps without shadow-casting models light the same as with 0.18.0. Checked on a
test map, not in the game yet: look at a map with models before you publish it.

Full Changelog: v0.18.0...v0.19.0

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 05:04

ReSDHLT 0.18.0 adds an optional way to subdivide faces that leaves fewer of
them to draw, makes RAD's bounces 2.4 times faster and lets the GUI copy the
map to the game and open it.

Highlights

  • New: -gridsubdivide in BSP ("Subdividir por celdas de luz" in the GUI).
    The engine takes a face that covers 16 lightmap cells or fewer; the classic
    rule cuts every 224 units without looking at the cells, so a 256 unit wall
    on the grid came out as 224 + 32. With the option BSP counts the cells the
    way the engine does and only cuts when it has to: 3% to 20% fewer faces on
    the maps measured (ze_sanctorum 5882 to 5256, ba_coliseum 815 to 655), with
    the same geometry and lighting. BSP counts again before it writes the file
    and stops with an error rather than leave a map that does not load. It is
    off by default and has not been checked in the game yet: try the map before
    you publish it.
  • RAD: each bounce is 2.4 times faster and the CPU gather about 7% faster.
    fp_squidgame_thno went from 16.7 s to 14.6 s with the GPU and from 19.0 s to
    16.8 s on the CPU. BSP is about 17% faster on the same map.
  • GUI: "Probar en el juego" in the Compilar tab copies the .bsp to
    cstrike/maps when a compile ends well, opens the game on the map, or both.
  • GUI: the taskbar button asks for attention when a compile ends and the
    window is in the background.
  • Fixed: running VIS twice on the same BSP output stopped with "Corrupted leaf
    mapping". The error now says to run BSP again first.

Without -gridsubdivide the tools write the same .bsp as 0.17.2, byte for
byte, on every map checked.

Full Changelog: v0.17.2...v0.18.0

v0.17.2

Choose a tag to compare

@github-actions github-actions released this 02 Oct 06:14

ReSDHLT 0.17.2 keeps RAD alive when the GPU driver crashes on start.

Highlights

  • Fixed: on some PCs RAD with the GPU on died right after the visibility
    matrix, with no error in the log and exit code -1073741819 (0xC0000005).
    The crash happened inside the Vulkan driver or an overlay layer while it
    started. RAD now starts Vulkan without the overlay layers, and if the driver
    still crashes it prints the reason and finishes the lighting on the CPU.
  • The GUI shows the exit code of a stage that fails, so a crash no longer
    looks like a silent error.
  • The -texchop warning only shows below 16, as it says.

Full Changelog: v0.17.1...v0.17.2

v0.17.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 00:42

ReSDHLT 0.17.1 fixes maps with a dot in their name.

Highlights

  • Fixed: a map named like pl_2.1.map compiled through CSG and then BSP
    stopped with "BSP terminó con error" and nothing in pl_2.1.log. The tools
    took the .1 for an extension and went looking for pl_2.bsp, writing the
    real error to pl_2.log. They now only strip .map, .bsp and .ent, and
    the GUI passes BSP, VIS and RAD the full pl_2.1.bsp, so the dot stays part
    of the name all the way through.

Full Changelog: v0.17.0...v0.17.1

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 20:41

ReSDHLT 0.17.0 fixes dark moving entities under ambient occlusion and trims
the shadow rays RAD traces for nothing.

Highlights

  • Fixed: with -ao or -aoall, a func_plat, func_door, func_train or any
    other entity that moves came out dark. Its occlusion was baked where it
    starts (a plat down in its shaft, walled in) and went with it everywhere.
    Those entities get no ambient occlusion now. zhlt_noao 1 turns it off on
    any other brush entity.
  • New: -lightskip (default 0.001). A light that could add less than a
    thousandth of a lightmap step to a sample gets no shadow ray, on the CPU and
    in the GPU kernel. On ze_elysium_b1 that is 19% of all shadow rays: 33.7 s to
    31.8 s with the GPU, 70.9 s to 65.1 s on the CPU. 1% of the lighting bytes
    move by 1/255. -lightskip 0 gives the previous output byte for byte.

Full Changelog: v0.16.0...v0.17.0

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 20:21

ReSDHLT 0.16.0 makes RAD with the GPU a third faster again.

Highlights

  • On ze_elysium_b1 with the GUI's settings, RAD went from 52 s in 0.15.0 to
    34 s, with the same .bsp as 0.15.0's GPU output.
  • The GPU and the CPU now work at the same time: while the GPU lights one
    batch of faces, the CPU prepares the next one and finishes the previous.
  • The texlight pairs the GPU hands back to the CPU are resolved on all cores;
    before, they ran on one thread and hid inside the GPU's time.
  • Automatic Vismatrix picks sparse when the GPU is on, since the GPU only
    computes transfer factors for that matrix.
  • BuildVisLeafs no longer scans every face of the map for each leaf.
  • On the CPU alone the .bsp is byte for byte the one 0.14.0 wrote.

Full Changelog: v0.15.0...v0.16.0

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 08:45

ReSDHLT 0.15.0 makes RAD much faster on maps with many lights, such as maps
lit by texlights.

Highlights

  • On ze_elysium_b1 (1,561 direct lights), with the GUI's settings, RAD went
    from 88.5 s to 49 s with the GPU on, and to 70.5 s on the CPU alone.
  • New: -vismatrix auto. RAD uses the fast plain visibility matrix when it
    needs 512 MB or less, and the compressed one otherwise. On that map this
    phase went from 14 s to 3.4 s.
  • The plain visibility matrix builds twice as fast.
  • RAD no longer walks every leaf of the map for each light sample.
  • On the CPU the .bsp is byte-identical to 0.14.0 on the five maps tested.
  • GUI: Vismatrix now defaults to automatic and GPU acceleration defaults to on,
    with RAD choosing CPU or GPU for each phase. Without a Vulkan driver it
    falls back to the CPU. With the GPU, 0.6% of the lighting bytes change, by
    3/255 at most, which does not show. Projects saved with the old defaults
    move to the new ones once; values you changed by hand stay as they are.

Full Changelog: v0.14.0...v0.15.0

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 07:06

ReSDHLT 0.14.0 removes the world faces a func_wall hides completely, and fixes
two misleading results of the Análisis tab.

Highlights

  • New: "Poner NULL en caras tapadas" in the CSG tab (-autonull). World faces
    that a static func_wall covers entirely are set to NULL, as you would do by
    hand, without touching the editor. Only a func_wall nothing can change counts:
    no targetname, rendermode Normal, no zhlt_invisible or zhlt_noclip, and only
    opaque textures. A face is removed only when one of its brushes covers the
    whole face. Off by default: without it the map compiles exactly as in 0.13.0.
  • Fixed: the Análisis tab no longer treats a func_illusionary as covering what
    is behind it. It is not solid, so a player can walk into a bush and see the
    floor under it; putting NULL there would show the void.
  • Fixed: a spot a static func_wall covers is no longer reported as a hole, and
    hole rays no longer start inside one.

Full Changelog: v0.13.0...v0.14.0

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 06:25

ReSDHLT 0.13.0 puts everything in the GUI: every option this fork adds has a
control, and the compiled map gets checked without Python.

Highlights

  • New in the CSG tab, "Brushes deformados": the fix for brushes bent with vertex
    manipulation and the gap that triggers it (-noconvexfix, -convexgap).
  • New in the RAD tab, "Sombras y oclusión": ambient occlusion (-ao or
    -aoall, with scale, opacity, falloff, rays and color), soft shadows (-pcf)
    and -blurclamp. All off by default: without touching them the map compiles
    exactly as before.
  • New "Análisis" tab. After every successful compile it checks the .bsp by
    itself: see-through holes, the areas that draw the most wpoly, faces hidden
    behind a func_wall or func_illusionary or buried in walls, and broken
    geometry. Each finding has a coordinate to copy, and each list saves as a
    pointfile you open in J.A.C.K. with Map > Load Pointfile, like a leak trail.
  • The Python scripts stay in the repo for command-line use; the GUI gives the
    same results.
  • The compile tools themselves did not change: same output as 0.12.0.

Full Changelog: v0.12.0...v0.13.0