Commit Graph

76 Commits

Author SHA1 Message Date
Eric Wasylishen 9edadf93cd light: CalcPoints: use faceextents_t::LMCoordToWorld 2022-11-02 01:16:36 -06:00
Eric Wasylishen f3cc0907c8 faceextents_t: refactor to remove lightmapshift member 2022-11-02 00:56:23 -06:00
Eric Wasylishen c39ee38454 qvec: add 3x3 matrix inverse, row major factory method 2022-11-02 00:32:06 -06:00
Eric Wasylishen 2bd2515792 all: cleanup unused includes (Clion - detect not directly used) 2022-10-31 21:37:34 -06:00
Eric Wasylishen da5910e732 tests: first steps on a light test case 2022-10-30 15:32:41 -06:00
Eric Wasylishen 53a0be5e50 build: compile time optimizations 2022-10-26 23:30:02 -06:00
Eric Wasylishen 27045404d3 tests: add CSGFaces basic test 2022-10-23 19:20:19 -06:00
Eric Wasylishen 9ff0752ad1 testqbsp: clean up clearing of data between tests 2022-10-23 19:20:19 -06:00
Eric Wasylishen 501ced4bfe qbsp: restore func_detail_wall support 2022-10-21 18:33:38 -06:00
Eric Wasylishen c84f5898df tests: doctest 2022-10-21 18:33:19 -06:00
Eric Wasylishen 636b376577 squash brushbsp-compilation-speedup branch
move function implementations out of headers
2022-10-21 18:00:58 -06:00
Jonathan 315ab418d2 fix warning
only enable the clock counter errors in debug
2022-10-02 16:20:27 -04:00
Eric Wasylishen e8aeab3a55 test_qbsp.cc: split out q2 tests to a new file 2022-09-30 00:10:01 -06:00
Eric Wasylishen d9d4ee99ad include only needed catch2 headers 2022-09-29 19:49:53 -06:00
Eric Wasylishen 1726f95484 use <fmt/core.h> instead of <fmt/format.h>
Should lighten compile times.

The only loss here is we'll no longer inherit e.g. "float" format specifiers for qvec3f.
2022-09-29 19:49:48 -06:00
Eric Wasylishen 8bfd11ba13 testqbsp: add a obj2map terrain test case
some terrain I created in Blender
2022-09-26 22:40:09 -06:00
Eric Wasylishen 4369cd6313 tests: suppress colors when running tests 2022-09-22 00:11:37 -06:00
Eric Wasylishen addf621074 tests: simple_worldspawn_detail passing now 2022-09-17 21:49:22 -06:00
Eric Wasylishen c2e455e5b0 testqbsp: fix incorrect test expectation 2022-09-12 22:18:27 -06:00
Eric Wasylishen 68e2f97fbf qbsp: sync FindAreas to Quake-2-Tools version
fixes area portals in cases when area has no point entities in it
2022-09-10 15:49:17 -06:00
Eric Wasylishen a8a8966e28 test_qbsp: add failing test for 0.125 unit wide faces (currently not generated) 2022-09-08 23:51:51 -06:00
Eric Wasylishen c8c526ab57 qbsp: fix mist-clip intersection chopping up the faces
note it makes the simple_worldspawn_detail clipnodes count
test fail. Clipnode counts are way too high in general so this isn't
a huge issue yet.
2022-08-28 14:13:14 -06:00
Eric Wasylishen 1ab6cc1e65 qbsp: fix iterator debug assertion in ChopBrushes
"cannot decrement begin list iterator"
2022-08-27 14:54:36 -06:00
Jonathan 2d8827e031 Revert "Q3 didn't need chop, we don't either!"
This reverts commit f57ecaf599.

# Conflicts:
#	include/qbsp/brushbsp.hh
2022-08-21 15:04:26 -04:00
Jonathan 1aaa513368 collapse certain map face issues into loggable warning stats to lessen maps spamming warnings on things that legacy compilers allow
adjust the wording of certain warning messages
don't display face crunching on bmodels/hulls by default
2022-08-20 20:13:27 -04:00
Eric Wasylishen f3a2d99544 testqbsp: adjust q1_rocks test case
avoid potential ambiguity for BrushBSP over whether sky should split wall brushes
2022-08-20 00:22:21 -06:00
Eric Wasylishen 251a6dc7ca testmaps: add a more minimal q1_rocks that's just a cube 2022-08-19 22:55:27 -06:00
Eric Wasylishen 648ffab77b testqbsp: improve q1_rocks test 2022-08-19 22:10:16 -06:00
Eric Wasylishen 10051ceff5 testmaps: remove some accidental brushes in q1_hull_expansion_lip.map
testqbsp: more detailed q1_hull_expansion_lip tests for clipnodes

testqbsp: decompile hull1 of testmaps by default

testqbsp: corrections to the q1_hull_expansion_lip.map expectation

adjust gitignore
2022-08-19 20:49:59 -06:00
Jonathan 057ae544c4 use references in places where we know it's non-null 2022-08-19 12:11:35 -04:00
Jonathan f57ecaf599 Q3 didn't need chop, we don't either! 2022-08-18 19:47:34 -04:00
Eric Wasylishen 4801e87b1c testqbsp: don't allow q1_hull_expansion_lip to fail 2022-08-16 23:05:17 -06:00
Eric Wasylishen cad5b3ccf3 testqbsp: add failing hull expansion test 2022-08-16 00:43:40 -06:00
Eric Wasylishen 2cc97c2519 testqbsp: start q1_rocks test case 2022-08-15 22:23:52 -06:00
Eric Wasylishen 41f765376f testqbsp: adjust test expectations now that we're inside filling hull1/2 2022-08-15 21:16:53 -06:00
Jonathan f7b8f85ece use an optional<uint8_t> to store hull number, which gets rid of special -1 collision hull number.
fixed no-hull always chopping even with chop off
2022-08-15 06:13:30 -04:00
Jonathan 97665d15a9 fix slight mistype in Brush_LoadEntity
make ~settings_container virtual so light_t can be freed properly
reset visible to false on all brush sides
2022-08-15 03:37:38 -04:00
Eric Wasylishen 0642ad16d3 testqbsp: start a hull1 content type test 2022-08-14 18:14:56 -06:00
Eric Wasylishen 35859a6ea4 tests: add q1_wad_mapname test 2022-08-14 13:45:31 -06:00
Eric Wasylishen 995ac04673 tests: add a few clipnode count tests
adjust qbsp_simple_worldspawn_detail.map so it seals in hull1/2
2022-08-13 20:11:22 -06:00
Jonathan 6d66e6d5cf group together # of clipped faces, to reduce console spam of Q1 maps
always allow midplane split for hulls
2022-08-12 21:38:41 -04:00
Eric Wasylishen 06a116670b winding_t: make non-copyable 2022-08-12 02:06:23 -06:00
Eric Wasylishen f3b9de57c6 build: add tbbmalloc 2022-08-09 00:19:39 -06:00
Jonathan 1c6b2e5a95 fix duplicate plane test 2022-08-08 21:27:42 -04:00
Jonathan e5602358c1 Merge branch 'brushbsp-plane3-bevel' of https://github.com/ericwa/ericw-tools into brushbsp-plane3-bevel 2022-08-08 15:50:31 -04:00
Jonathan b3fbf8841d allow update_bounds to tell the caller that a brush may have been destroyed 2022-08-08 15:50:23 -04:00
Eric Wasylishen 9cb0d9b52c testqbsp: add test for the previously missing face in base1 2022-08-08 00:16:09 -06:00
Jonathan 2abdeb2616 remove Face_Plane since we can directly access the real plane now
speed up CreateBrushWindings slightly since we know where the inverted plane is stored
2022-08-08 01:06:50 -04:00
Jonathan 4ec30e02a2 remove "brushes" from mapentity_t - it is now local to the ProcessEntity process
"node_t::original_brushes" is now only used during construction and cleared on Prune; original_mapbrushes is used to track the map brushes on nodes post-construction
calculate and cache contents on mapbrush_t
2022-08-06 19:28:17 -04:00
Jonathan 335db1c0e4 move map_source_location to parser as parser_source_location since the locations actually come from there rather than from the map; now the parser keeps track of the location, so it's a bit easier to follow 2022-08-05 23:17:15 -04:00