Commit Graph

3174 Commits

Author SHA1 Message Date
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