Eric Wasylishen
d38ef2d8af
qbsp: allow _litwater/_splitturb as a bmodel key
...
supports both opt-in and opt-out
2023-05-28 23:44:57 -06:00
Eric Wasylishen
f6d5e6e24d
qbsp: fix test failure in last commit (stale pointers in map.hashedges)
2023-05-28 16:51:20 -06:00
Eric Wasylishen
731bafd9fe
qbsp: fix edge reuse causing software renderer artifacts with liquids
...
fixes q1_liquid_software.map in tyrquake
thanks to Mankrip for reporting this
2023-05-28 16:28:33 -06:00
Eric Wasylishen
2533e7e40d
qbsp: support _mirrorinside 0 in Q1 mode
...
to disable mirroring water surfaces
2023-05-28 14:00:08 -06:00
Eric Wasylishen
31ab43a181
tests: add q1_liquid_software.map (renders badly in tyrquake)
2023-05-28 11:37:35 -06:00
Eric Wasylishen
fa890456f6
qbsp: don't merge faces across sky boundaries
2023-05-27 23:42:33 -06:00
Eric Wasylishen
c649e3a0c8
tests: add ExportWad test
2023-05-27 17:05:41 -06:00
Eric Wasylishen
896da81bd6
bsputil: refactor into a static lib
2023-05-27 13:45:45 -06:00
Eric Wasylishen
9c466dd813
tests: add q1 hull1 failure example
2023-05-20 19:17:59 -06:00
Eric Wasylishen
f14f327a9a
common: more robust hexen2 detection
...
Fixes #355
2023-05-13 00:46:02 -06:00
Random
c6ea63ba95
made CMake relative for use as a sub-project within other CMake projects ( #356 )
2023-05-10 19:45:51 -06:00
Eric Wasylishen
a73075234e
light: fix inheriting worldspawn _minlight_color by bmodels
2023-05-08 00:24:53 -06:00
Eric Wasylishen
d9e16a943a
qbsp: add -noextendedsurfflags flag to suppress .texinfo writing (for testing/debugging)
2023-05-07 23:56:30 -06:00
Eric Wasylishen
c9e41ab4db
style: remove GLM_ prefix (no longer using glm)
2023-05-07 21:44:29 -06:00
Eric Wasylishen
3e446e6ea6
qbsp, light: fix inheriting minlight from worldspawn
...
Update q2_light_group.map to support this
2023-05-07 21:44:29 -06:00
Eric Wasylishen
cfd3336644
test: lightmap artifacts on a low luxel scale
2023-04-30 17:53:19 -06:00
Eric Wasylishen
5f7e08d0ef
light: CalcPoints: fix check for luxels being too far from the face to be visible
2023-04-29 19:52:31 -06:00
Eric Wasylishen
fa7da0b4a2
tests: add test where CaclPoints + low luxel scale fails
2023-04-29 17:14:43 -06:00
Eric Wasylishen
bc7f08abe5
test: add broken case where func_detail_wall generates splits
2023-04-25 23:48:09 -06:00
Eric Wasylishen
50d97321d7
qbsp: add -bmodelcontents flag
2023-04-22 19:15:55 -06:00
Eric Wasylishen
a2d89e3307
qbsp: q1: fix visportals being created to solid leafs
...
fixes crash on ej3_cc.map
2023-04-17 23:42:00 -06:00
Eric Wasylishen
cd2926534f
qbsp: q1: fix so just DETAIL is considered is_empty
2023-04-17 21:10:28 -06:00
Eric Wasylishen
ed756bd602
common: add support for writing .rst documentation from settings
2023-04-16 14:55:43 -06:00
Eric Wasylishen
e069d7b9b8
style: update settings api to follow current coding style
2023-04-16 11:55:38 -06:00
Eric Wasylishen
984d00c5a9
tests: mark q1_lightignore as mayfail until it's investigated
2023-04-16 11:43:24 -06:00
Eric Wasylishen
93f985a9e5
tests: add q1_lightignore.map test
2023-04-12 00:04:56 -06:00
Eric Wasylishen
ac21db8722
common: add png loader test
2023-04-10 14:06:35 -06:00
Eric Wasylishen
addc6e922b
tests: add test case for culling of surface lights in the void
2023-04-09 12:39:19 -06:00
Eric Wasylishen
c2a787f6a3
light: add missing model offset for luxel occlusion check against bmodels with origin brush
2023-04-08 12:37:44 -06:00
Eric Wasylishen
8d368060eb
qbsp: sealing: in hull1/2 treat onnode point entities as being in empty space
2023-04-07 17:06:56 -06:00
Eric Wasylishen
ab2569486d
qbsp: q1: fix sky + detail_solid not sealing
2023-03-27 23:13:40 -06:00
Eric Wasylishen
68eaf37e40
qbsp: q1: fix detail to be non-sealing again
2023-03-27 21:43:54 -06:00
Eric Wasylishen
a3d55f905e
qbsp: fix structural solid not eating other content types
2023-03-26 17:13:34 -06:00
Eric Wasylishen
6e064ae3c7
qbsp: restore detail to non-sealing
2023-03-26 16:20:10 -06:00
Eric Wasylishen
7b7cabaf09
qbsp: don't merge above- and below- water faces in Q1 mode
...
works around caustics effects in ezQuake/nQuake leaking onto above-water faces.
2023-03-13 23:50:32 -06:00
Eric Wasylishen
8130843fb3
qbsp: search for wad's relative to cwd
2023-02-26 23:27:38 -07:00
Eric Wasylishen
7a8898c9a0
decompiler: fix q1 decompiler
...
Decompiling a leaf in Q1 can output more than one brush, because of texturing.
Previously we were outputting 1 invalid brush.
2023-02-26 22:06:42 -07:00
Eric Wasylishen
0f53fd0870
tests: change decompiler test to an easier to debug setup
2023-02-26 21:47:26 -07:00
Eric Wasylishen
c5efefd4b7
tests: allow disabling threading when debugging tests
...
with `-threads 1`
2023-02-25 23:50:35 -07:00
Eric Wasylishen
88a9cb6bb4
tests: add q1 decompiler test
2023-02-25 23:18:13 -07:00
Eric Wasylishen
505efbf885
tests: standardize map naming convention
2023-02-25 12:46:22 -07:00
Eric Wasylishen
1c22f45b47
qbsp: avoid tjunc interaction between func_detail_wall and worldspawn
2023-02-22 23:12:40 -07:00
Eric Wasylishen
dea7bce763
build: work around macOS compile error
2023-02-22 01:31:21 -07:00
Eric Wasylishen
3c1cd97d63
build: work around macOS compile error
2023-02-22 01:18:26 -07:00
Eric Wasylishen
096f347a12
qbsp: fix func_detail_fence/func_detail_wall with DETAIL set on brushes
2023-02-22 01:16:32 -07:00
Eric Wasylishen
60dea4af4c
qbsp: fix func_detail_wall in q2 mode
2023-02-22 00:57:31 -07:00
Eric Wasylishen
2fb75ede17
tests: add q2 func_detail_wall and func_detail_fence test case
2023-02-22 00:11:30 -07:00
Eric Wasylishen
029cc01f61
tests: refactor "detail properties" test to run on all games
2023-02-21 23:18:46 -07:00
Eric Wasylishen
58da610207
tests: add func_detail_wall tjunc test (currently fails)
2023-02-21 19:49:36 -07:00
Eric Wasylishen
8438232d99
tests: add a first test case for vis
2023-02-20 16:37:04 -07:00
Eric Wasylishen
b17633f746
cleanup: set PackConstructorInitializers: Never
2023-02-20 10:23:59 -07:00
Eric Wasylishen
f8b189c527
light: fix sample occlusion / object channel mask interaction
2023-02-20 01:03:12 -07:00
Eric Wasylishen
dd6e49c89f
light: support _object_channel_mask on func_group
2023-02-20 00:07:08 -07:00
Eric Wasylishen
eda6155844
cleanup: run ./clang-format-all.sh
...
clang-format version 15.0.7
2023-02-18 22:59:43 -07:00
Eric Wasylishen
8516bfb5e2
light: skip lightmapping sky faces if lightgrid is in use
2023-02-17 17:41:49 -07:00
Eric Wasylishen
8cc7b0e3f3
light: add test for sky getting an optimized lightmap
2023-02-17 00:24:08 -07:00
Eric Wasylishen
641fb780ac
light: allow customizing _world_units_per_luxel on func_group etc.
2023-02-17 00:07:43 -07:00
Eric Wasylishen
71a0ce77ac
qbsp: q2: set leaf 0's cluster to -1
...
leaf 0 is the invalid placeholder leaf, but we were giving it
cluster 0 which is valid. instead, give it cluster -1
2023-02-07 23:17:55 -07:00
Eric Wasylishen
1c16a467f1
testqbsp: add a basic lit water test
2023-02-04 14:41:26 -07:00
Eric Wasylishen
302d600f4c
qbsp: strip _tb_ keys, convert __TB_empty to skip
2023-01-30 00:28:31 -07:00
Eric Wasylishen
9edad10b0f
common: add convenience version of EntData_Parse
2023-01-30 00:08:45 -07:00
Eric Wasylishen
23e98c0e94
test: remove unwanted doctest::may_fail() from light tests
2023-01-29 16:53:23 -07:00
Eric Wasylishen
439d0de7f2
testmaps: test case for hint brush causing faces to be deleted
2023-01-29 15:06:55 -07:00
Eric Wasylishen
6ede7925bc
light: apply model offset to embree meshes
...
Fixes shadows in incorrect places when using shadow-casting rotators
Fixes https://github.com/ericwa/ericw-tools/issues/326
2023-01-24 20:18:14 -07:00
Eric Wasylishen
83d3774714
tests: hack for spurious test failure on CI only
2023-01-24 01:40:21 -07:00
Eric Wasylishen
2d64108ea4
light: add basic test case for _sun 1 entities
2023-01-24 00:57:26 -07:00
Eric Wasylishen
fa8af3845b
light: fix default _sunlight angle to be pointing straight down
2023-01-24 00:52:28 -07:00
Eric Wasylishen
ee5c016b57
fix macOS build
2023-01-08 20:43:31 -07:00
Eric Wasylishen
a497254874
tests: add q2 light cone test
2023-01-08 20:26:32 -07:00
Eric Wasylishen
a2399ab48c
tests: add dirt / object_channel_mask interaction test
...
was already working correctly
2023-01-08 19:59:19 -07:00
Eric Wasylishen
e9cd29a394
tests: add test case for WINDOW being non-mirrored
2023-01-06 12:07:30 -07:00
Eric Wasylishen
64c0d8c0c4
qbsp: fix AUX to be non-mirrorinside by default
2023-01-06 12:00:32 -07:00
Eric Wasylishen
aa928e1515
tests: add q2 ladder test case
2023-01-03 17:40:56 -07:00
Eric Wasylishen
c43371213e
tests: move benchmarks to new file, add clip benchmark
2023-01-03 16:20:22 -07:00
Eric Wasylishen
a9a11159f4
light: add _surface_minlight_scale light key
...
for tweaking minlight given to faces matching surface light templates.
minlight = _surface_minlight_scale * light
lower default from 64 to 1 in q1 mode
2022-12-30 23:06:28 -07:00
Eric Wasylishen
710e70d74b
testqbsp: add (failing) test case with off-grid geo and missing faces
2022-12-23 00:04:22 -07:00
Eric Wasylishen
1fb53cbe4d
qbsp: fix area assignment on leaking q2 maps
...
reverts c9243d4fea
2022-12-21 21:18:06 -07:00
Eric Wasylishen
fe5ce3765a
test: add a few more area-related assertions
2022-12-21 20:56:18 -07:00
Eric Wasylishen
20af42c9aa
test_ltface: disable "surface lights minlight" test for now
2022-12-21 01:10:39 -07:00
Eric Wasylishen
3d0c756b4f
light: fix minlight color on surface lights
...
- extra `* 255` was unnecessary, setting_color already does this
- don't use qvec3b as it was causing colors to wrap around the 0..255 range
2022-12-20 23:44:21 -07:00
Eric Wasylishen
108d299482
test_ltface: test case for minlight surflight
2022-12-20 22:54:22 -07:00
Eric Wasylishen
f652af9c7d
bsputils: add .lit loader
2022-12-20 22:46:20 -07:00
Eric Wasylishen
bf75ae8717
test_ltface: refactor to allow q1 tests as well
2022-12-20 00:19:05 -07:00
Eric Wasylishen
35fe26b7a6
qbsp: fix FindTargetEntity (was breaking hiprotate)
2022-12-19 00:55:20 -07:00
Eric Wasylishen
6ac564c64f
build: remove unused subprocess.h dependency
2022-12-19 00:36:04 -07:00
Eric Wasylishen
6451a3f2aa
qbsp: fix _mirrorinside 1 on func_detail_fence (q2)
2022-12-15 00:18:22 -07:00
Eric Wasylishen
8caaf7236f
test: add q2 test case for alpha mask textures
2022-12-14 23:19:58 -07:00
Eric Wasylishen
82aa1e4396
light: make "_light_alpha 0" behave as expected (invisible to light)
2022-12-14 21:46:36 -07:00
Eric Wasylishen
513c47406b
light: fix surface lights to check channel mask
2022-12-14 00:26:38 -07:00
Eric Wasylishen
287ac96363
light: fix sunlight to check object channel mask
2022-12-14 00:15:23 -07:00
Eric Wasylishen
ccb72a3bf5
light: expand test case for light channels
2022-12-13 23:42:26 -07:00
Eric Wasylishen
6ebd4eba58
tests: log .bsp copying
2022-12-12 17:58:02 -07:00
Eric Wasylishen
63cac32f88
light: quick experiment with a _light_group feature for lights that only affect linked bmodels
2022-12-11 15:36:08 -07:00
Eric Wasylishen
bded0ab344
light: fix negative lights breaking when bounce in use
2022-12-10 15:10:36 -07:00
Eric Wasylishen
a5b83e088b
light: work around visblocking opaque liquids causing light artifacts with -visapprox vis
...
in cases when we actually want light to shine through these surfaces
2022-12-09 00:07:50 -07:00
Eric Wasylishen
924847661c
test_ltface: add test for `-visapprox vis` issue with opaque liquids
2022-12-08 21:46:35 -07:00
Eric Wasylishen
a70c8f4835
light: fix artifacting with translucent shadows
...
Embree is allowed to call the filter function more than necessary.
The previous implementation had side effects that would cause
the translucent shadows to get darker in this case.
As a limitation, we're back to only allowing 1 layer of glass per ray.
2022-12-07 00:23:26 -07:00
Eric Wasylishen
7ce14a376f
qbsp/light: make liquids not cast shadows by default
...
previously opaque Q2 liquids (e.g. lava, opaque water) were casting shadows / dirt
2022-12-06 17:03:39 -07:00
Eric Wasylishen
eae434736a
light: support _minlightMottle on worldspawn
2022-12-06 15:18:16 -07:00
Eric Wasylishen
555f07ed61
test_lftace: add a test for an issue of wrapped luxels interacting with surface lights
2022-12-03 14:27:00 -07:00