Jonathan
acac6cb720
add in a "validator" setting which is just a thin wrapper to another setting type allowing for an additional validation step
...
simplify the face structure; now, "fragments" just mean the output windings (if you opt out of tjunction fixing, then there will only be 1 fragment with the same values as original_vertices)
move MakeTangentAndBitangentUnnormalized to qvec.hh since we will use it later
-tjunc allows for more fine-grained control now (-notjunc still exists)
-maxedges now throws if you specify a bad value (1 and 2)
remove the checks to OmitFaces - we can tell if a face was omitted because it will have an empty winding
remove static variables from tjunc
2022-07-16 10:45:24 -04:00
Jonathan
da9546e260
change settings semantics to be simpler and more clear:
...
- no more "isLocked" - use getSource directly (locked is a confusing name)
- no more split parse/setValue functions. there's only one entry point each now, and all they do is pass along the source passed to it from its parser.
- no separate setters, use setValue(value, source)
- add a "game target" source, which is low priority and indicates to the user that the value would have been default but was changed to a better value for the game target
2022-07-14 09:03:59 -04:00
Jonathan
feb6055b07
remove errors pertaining to MAXEDGES (except on output) since we dynamically expand now
...
allow command line to specify maxedges
default maxedges to 0 (no limit) for Quake II
2022-07-14 04:57:52 -04:00
Jonathan
4cf81197a3
fix SplitFaceIntoFragments
2022-07-14 02:18:41 -04:00
Jonathan
ae4c5cd365
change face output to be slightly more robust
...
fix tjunc multithreading; added `original_vertices` which is a copy of the `output_vertices` that is safe for tjunc to read from since tjunc writes to the former
2022-07-14 01:56:18 -04:00
Jonathan
a435f67f13
fix outputting noisy stuff
2022-07-13 22:26:08 -04:00
Jonathan
8240d753ee
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-07-13 04:35:46 -04:00
Jonathan
d9dc54d267
remove vertex rounding
...
fix vertex hash not including negative axis points
use angle instead of zero-area triangle
2022-07-13 04:35:42 -04:00
Eric Wasylishen
4c9227b39e
ci: "release only" tests are too slow to run with asan, at least for now
2022-07-13 01:14:37 -06:00
Eric Wasylishen
7f955a5247
testmaps: add q1_tjunc_angled_face
2022-07-13 00:59:46 -06:00
Eric Wasylishen
d30d4000bc
qbsp: fix log spam from BrushBSP
2022-07-13 00:30:53 -06:00
Eric Wasylishen
d38a65c709
qbsp: revert sidespace to 24
2022-07-13 00:29:45 -06:00
Eric Wasylishen
a604c448c1
testqbsp: relax detail_illusionary_intersecting to pass with new tjunc code
2022-07-13 00:22:36 -06:00
Eric Wasylishen
e2fe6f8963
testqbsp: turn on the q1 maps test on release builds
2022-07-12 23:36:55 -06:00
Eric Wasylishen
6d847fed85
testqbsp: rename quake map source to have -test suffix, for easier loading in an id1/maps directory
...
otherwise vanilla engines will load the original .bsp's from the pak files
2022-07-12 23:13:46 -06:00
Jonathan
cfb1bf0d2c
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-07-12 17:43:38 -04:00
Jonathan
0fb1b429a8
finish tjunc algorithm - can now retopologize by splitting fans up
...
lower zero-area triangle epsilon
2022-07-12 17:43:25 -04:00
Eric Wasylishen
f1f558b069
testqbsp: add detail_illusionary + water test
2022-07-12 00:07:39 -06:00
Eric Wasylishen
da7e36390f
testqbsp: start some contentflags tests
2022-07-12 00:02:05 -06:00
Jonathan
632facc6a7
implement a non-brute force method to reduce vertices to test
2022-07-11 08:29:53 -04:00
Jonathan
c1168bc8ae
fix tjunc output not actually outputting proper new vertices
...
allow for basic rotation of face to find a good orientation
2022-07-11 05:12:48 -04:00
Jonathan
1e84284977
fix tjunc using w instead of output_vertices
2022-07-11 02:43:37 -04:00
Jonathan
1aa2a9b250
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
...
# Conflicts:
# qbsp/qbsp.cc
2022-07-11 01:41:10 -04:00
Jonathan
f98dd05f56
new, simpler qbsp3-esque TJunc code;
...
- currently uses naive brute force approach to finding vertices on faces
- simplify 'face fragments', which now only need to contain vertex indices since they are already emitted
2022-07-11 01:40:10 -04:00
Eric Wasylishen
e8d2a53255
bspinfo, bsputil: rename options -> bspinfo_options, bsputil_options
2022-07-10 17:32:23 -06:00
Eric Wasylishen
f86a5343fb
qbsp: rename options -> qbsp_options
2022-07-10 17:30:00 -06:00
Eric Wasylishen
d32d6ea81d
light: rename options -> light_options
2022-07-10 17:28:28 -06:00
Eric Wasylishen
b7969eee49
vis: rename options -> vis_options
2022-07-10 17:26:55 -06:00
Eric Wasylishen
1c59cc3a44
tests: add INCLUDE_DIRECTORIES(${EMBREE_INCLUDE_DIRS})
2022-07-10 17:01:25 -06:00
Eric Wasylishen
050886f32c
tests: unify tests under one target
...
to ease sharing code. vis/light tests are going to need the testqbsp infrastructure.
2022-07-10 16:36:15 -06:00
Eric Wasylishen
a9b9892761
qbsp: disable tjunc for now
2022-07-10 14:49:04 -06:00
Jonathan
4feb2bd2c7
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-07-10 14:11:31 -04:00
Jonathan
4c68ba42d3
simplify sample again
2022-07-10 14:11:17 -04:00
Jonathan
a329c901c6
just use sample difference instead of trying to re-calculate it
2022-07-10 13:47:08 -04:00
Jonathan
2a70cafa32
kinda fix overbrightness? still needs work..
...
allow lmshift force on light
2022-07-10 13:31:38 -04:00
Jonathan
b30d200543
remove `entity` from functions that no longer need it
...
EmitVertices as its own phase
2022-07-10 12:50:16 -04:00
Eric Wasylishen
54a6762a05
qbsp: add edge sharing test
2022-07-10 01:25:28 -06:00
Jonathan
17112d3683
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-07-10 03:21:44 -04:00
Jonathan
f213f4aa45
fix edge sharing
...
remove the "don't share edges if they have different contents" thing
2022-07-10 03:21:36 -04:00
Eric Wasylishen
5da679d699
qbsp: trim some legacy comments/code
2022-07-10 00:15:25 -06:00
Eric Wasylishen
d590e3d940
qbsp: move MakeBspBrushList to csg.cc for qbsp3 parity
2022-07-09 23:44:22 -06:00
Jonathan
8fc089aa34
fix lmscale with bounce lighting
2022-07-09 23:09:02 -04:00
Jonathan
72fc2f9e07
write out lightmaps by style ID, and do it faster
2022-07-09 01:36:26 -04:00
Jonathan
773d20052c
write out style numbers to verbose
2022-07-09 01:36:26 -04:00
Jonathan
865217c655
adjust final output warning
2022-07-09 01:36:26 -04:00
Jonathan
30bd8467c3
fix wrong boolean used for warning
2022-07-09 01:36:26 -04:00
Jonathan
0e4066f312
fix LMSTYLE containing 16-bit values sometimes
2022-07-09 01:36:26 -04:00
Jonathan
56e1e2dde0
adjust lightstyle overrun warnings to be less annoying
...
fix potential overrun in lightstyle writing
2022-07-09 01:36:26 -04:00
Jonathan
8696c6ee56
output all lightstyled lightmaps too
2022-07-09 01:36:25 -04:00
Jonathan
7f64c9dfeb
simplify saving
2022-07-09 01:36:25 -04:00