Jonathan
426668701e
clip_back/clip_front to match ChopWindingInPlace
...
simplify constructors for winding heap
use std::vector again for mapentity_t since it's being copied because of the std::list
2022-08-08 21:08:27 -04:00
Jonathan
5b56ecfb28
remove extraneous warnings when they don't matter
2022-08-08 16:01:16 -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
Jonathan
a9b1fa2461
speed up SplitBrush a tiny bit by reserving side count
2022-08-08 01:29:56 -04: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
d2cfc0d025
use planenum in SplitBrush and friends
2022-08-08 01:01:49 -04:00
Jonathan
f490878e97
remove old plane lock stuff
...
use spatial hash for planes
2022-08-08 00:58:56 -04:00
Jonathan
f5ef0f90f4
spatial hash using pareto for vertex positions
2022-08-08 00:39:53 -04:00
Jonathan
d9a3abfba7
remove blocksize now that midplane is working
...
don't re-fetch plane being exported since we know its id already
2022-08-07 21:48:22 -04:00
Jonathan
f64dc82ce2
Merge branch 'brushbsp-plane3-bevel' of https://github.com/ericwa/ericw-tools into brushbsp-plane3-bevel
2022-08-07 19:39:35 -04:00
Jonathan
7593834e06
fix map.planes being stomped on export
2022-08-07 19:39:29 -04:00
Jonathan
eb355c1d21
adjust errors
...
remove unnecessary line in debug code
2022-08-07 19:12:37 -04:00
Eric Wasylishen
0357db911c
qbsp: remove unnecessary copy in SplitBrushList
2022-08-07 15:42:43 -06:00
Eric Wasylishen
cf653b5b56
qbsp: MakeNodePortal: don't crash if w is empty
...
for consistency with qbsp3
2022-08-07 01:42:09 -06: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
4c15e6f717
don't bother displaying "processing hull" for q2
2022-08-06 17:42:38 -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
Jonathan
c6fabb290d
clean up stat printing a bit
2022-08-05 09:08:33 -04:00
Eric Wasylishen
c1e52b0d62
qbsp: fix FindPortalSide generating unwanted mirrored inside faces
...
due to the `// see how close the match is` block being uncommented
2022-08-05 01:45:42 -06:00
Jonathan
2a90995c6f
remove const on external_worldspawn so it can be moved
2022-08-04 15:39:57 -04:00
Jonathan
627428756c
track a shared pointer for `map_source_location` instead of memory pointer, so that we can allocate it as we go
...
use it for brushes and faces
2022-08-04 15:37:37 -04:00
Jonathan
9af74ce083
store linenum on mapbrush_t; add new location type, but not using it yet, for later so we can track more complex locations (external/-add maps, etc)
...
add extra sanity checking to polylib
adjust some warnings to be clearer and not indicate that the world will break
add sanity check to update_bounds, and don't add empty windings to the bounds
2022-08-04 12:05:04 -04:00
Jonathan
8d5f837197
fix new degenerate edge warnings
2022-08-03 20:29:33 -04:00
Jonathan
61f5088347
use closer to original code check (doesn't really matter since plane sidedness just inverts the distance, and it's being fabs'd anyways)
2022-08-03 20:20:46 -04:00
Jonathan
c9eab719bc
remove old code
...
add visible on mapface_t although it's unused
2022-08-03 13:26:04 -04:00
Jonathan
ec62a0e8d0
move in the rest of the missing code back into LoadBrush
...
fix bug with c_brushesremoved brushes
move & CreateBrushWindings use where required
store the source face we made a bspbrush_t side from
fix test issue
2022-08-03 12:35:47 -04:00
Jonathan
5da88122a5
fix size_t misuse
2022-08-03 05:14:21 -04:00
Jonathan
98610982c9
export the final dbrush_t right in ExportBrushList_r instead of doing it ahead of time
2022-08-03 05:09:39 -04:00
Jonathan
58d1e5230e
remove hullbrush_t; just directly work via the bspbrush_t since we have the bevels pre-calculated in mapbrush_t
...
track the mapbrush we were created from in bspbrush_t; we use this later for outputting the collision brush for q2bsp. bevels are busted though..
2022-08-03 04:47:50 -04:00
Jonathan
24168c8e40
clang pass
2022-08-02 21:57:33 -04:00
Jonathan
5f35575c02
remove map.faces and map.brushes; now, brushes are stored inline in mapentity_t, and faces are stored inline in mapbrush_t
...
calculate brush bounds (and winding) and add bevels after all of the rest of the map has loaded, so that it has proper world extents
calculate world extents right after the map is loaded
2022-08-02 20:59:08 -04:00
Jonathan
9ca28dff61
bevel
2022-08-02 19:48:17 -04:00
Jonathan
a75f4239e3
node_t planenum
2022-08-02 16:04:48 -04:00
Jonathan
46a643c3f0
face_t using planenum
2022-08-02 15:45:06 -04:00
Jonathan
e57aa36e2e
use stats rather than logging every time these specific instances occur
...
restore the "how close the match is" block
2022-08-02 15:18:53 -04:00
Jonathan
1d729ba573
side_t using planenums
2022-08-02 14:55:38 -04:00
Jonathan
1ad0eb530d
going back to using planenums, but going for the qbsp3-esque system
2022-08-02 14:17:59 -04:00
Jonathan
93655913c0
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
...
# Conflicts:
# include/qbsp/qbsp.hh
2022-08-02 06:24:46 -04:00
Jonathan
8476e2861c
this all matches release now
2022-08-02 04:29:36 -04:00
Eric Wasylishen
e05a2bdf75
qbsp: "-add additional.map" feature
2022-08-01 19:13:10 -06:00
Jonathan
cc9dd986c6
adopt parent node bounds if a leaf is unbounded now too
...
move midsplitbrushes into same group as blocksize
always return a split rather than erroring
list out which method is used of the three
2022-08-01 15:51:57 -04:00
Eric Wasylishen
52dff47a86
fix linux build
2022-08-01 12:47:20 -06:00
Eric Wasylishen
1751733ddc
qbsp: add experimental MidSplit re-implementation, enabled by default
2022-08-01 12:30:04 -06:00
Eric Wasylishen
da4c45d62f
qbsp: fix crash on DM6
2022-08-01 12:13:21 -06:00
Jonathan
755a9e65ca
use std::set instead of vector for original_brushes since we need them implicitly sorted and no dupes
...
parallelize PruneNodes_R and CalcTreeBounds_r
2022-08-01 13:19:50 -04:00
Jonathan
26a18d5cc3
add logging::header/funcheader to easily and consistently print function or "active routine" headers
...
add OOP percent_clock wrapper to make printing percents easier, not used yet
2022-08-01 09:35:21 -04:00
Eric Wasylishen
aac9513417
qbsp: parallelize MakeTreePortals
2022-07-31 21:39:47 -06:00
Jonathan
6a3e971a11
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-07-30 06:39:20 -04:00
Jonathan
e60babdb9c
add q3map2-style -blocksize option, using the same algorithm from it. it's optional and disabled by default.
...
pass through the "use mid split" boolean again
remove node_t::side; appeared to be unused in our current code, and needs to be removed anyways to support the other plane splitters
re-introduce ChooseMidPlaneFromList, but comment it out as it currently fails on a lot of BSPs.
2022-07-30 06:39:14 -04:00
Eric Wasylishen
e1b6aba014
portals.cc: log number of tree portals
2022-07-30 00:29:54 -06:00
Jonathan
521daad432
always use world entity for looking for _wad key
2022-07-29 21:20:10 -04:00
Jonathan
77e5990016
set default subdivision to Q2 non-software maximum when Q2 is used (twice as large as Q1)
2022-07-29 13:42:26 -04:00
Jonathan
3ee28fc416
fix crash in light from bounce lighting storage
...
move bounce lights to a forwardly linked list
fix minlight affecting style 0 for switchables
2022-07-29 00:41:24 -04:00
Jonathan
7810875860
strip trailing spaces from keys
2022-07-28 20:41:43 -04:00
Jonathan
dd39bf9940
better print for areaportal warnings
2022-07-28 20:41:33 -04:00
Jonathan
6399c743a7
fix bogus brush splits from old Q2 world extents
2022-07-28 20:00:43 -04:00
Jonathan
faa4c38985
fix logging being disabled wrongly at the last steps
...
remove vertex snapping done as a post-processing step; it causes hall of mirrors and doesn't work the same way as qbsp3. need to find a better option.
2022-07-28 09:21:42 -04:00
Jonathan
1d8a0c1df3
clang-format pass
2022-07-28 06:14:54 -04:00
Jonathan
e03d99d807
fix spacing
2022-07-28 05:59:06 -04:00
Jonathan
d9a9046e46
fix some foot-guns with qbsp_plane_t - type is auto-set now
2022-07-28 05:51:55 -04:00
Jonathan
64cd39c229
add optional vertex snapping to match qbsp3
2022-07-28 03:56:12 -04:00
Jonathan
3fc6225fee
although it's rare, if there's a case where a zero-angle triangle is *required* to close up a face (MWT determines it's part of the optimal case), we'll just let it through
2022-07-28 01:35:12 -04:00
Jonathan
c9935aaa38
hook up merge and subdivide stats
2022-07-27 23:02:09 -04:00
Jonathan
146f20f677
qbsp_plane_t is now used by other structures, and contains a faster epsilonEqual; since the majority of planes (especially nodes) are going to be axial, there's no need to use the slower full comparison when we can check if the axial component is ready.
2022-07-27 22:44:09 -04:00
Jonathan
c5d0c4dc67
use a dummy plane for nodes with only empty leaves
2022-07-27 20:29:53 -04:00
Jonathan
9c73416594
Squashed commit of the following:
...
change temp-named planeside_ to plane_flipped
commit 8b3938f5069837e76504a16ffd019a8682fd4325
Author: Jonathan <jonno.5000@gmail.com>
Date: Wed Jul 27 05:35:05 2022 -0400
fix compile errors/warnings
commit 0c19a922490a332a084ceb65bbb88368fecb40a1
Merge: 31edc84e a2451a41
Author: Jonathan <jonno.5000@gmail.com>
Date: Wed Jul 27 05:30:54 2022 -0400
Merge branch 'brushbsp' into paril/brushbsp_plane2
# Conflicts:
# qbsp/portals.cc
# qbsp/tree.cc
commit 31edc84e5a0f16196aacb4e465657954a523ccf9
Author: Jonathan <jonno.5000@gmail.com>
Date: Wed Jul 27 02:55:52 2022 -0400
use std::map for the two other hashes (edge/vertex) for speed
commit a9bb68b6ea203226d21f73d42558ffe388fc3051
Author: Jonathan <jonno.5000@gmail.com>
Date: Wed Jul 27 02:31:45 2022 -0400
remove final uses of FindPlane
commit 951a2b1977f813751c93417901a775a7a0cb77f4
Author: Jonathan <jonno.5000@gmail.com>
Date: Wed Jul 27 02:01:19 2022 -0400
only set flipped status if we actually flipped; this seems to have no affect in practice, but it was wrong in theory
commit 97610203bebb115391ef39ea2b5c6400b9ce2d89
Author: Jonathan <jonno.5000@gmail.com>
Date: Wed Jul 27 01:56:19 2022 -0400
remove FindPositivePlane
commit d424afbb2cfa32669883f5aafcf34555169eec3e
Author: Jonathan <jonno.5000@gmail.com>
Date: Wed Jul 27 01:22:10 2022 -0400
side_t uses plane and side_ now
commit af883bc111049a8c6fcb12c8c888e17f03cf30ff
Author: Jonathan <jonno.5000@gmail.com>
Date: Wed Jul 27 00:46:52 2022 -0400
face_t uses internal plane
commit 1cd776c89b683b0af0d8a642eee7e54b5f54b559
Author: Jonathan <jonno.5000@gmail.com>
Date: Tue Jul 26 22:59:47 2022 -0400
node_t using plane directly, pulling planenum in when necessary
commit 8b34312ef9c3d416c011f2694a34fb9d5eba4faa
Author: Jonathan <jonno.5000@gmail.com>
Date: Tue Jul 26 22:22:28 2022 -0400
remove PLANENUM_LEAF, use a boolean for the separation
2022-07-27 05:38:50 -04:00
Eric Wasylishen
a2451a41fb
qbsp: rewrite of q1 contents representation in bspfile.cc
...
use q2-like bitflags so we can represent mixes like (water | mist), which we need within the compiler
2022-07-27 02:31:49 -06:00
Jonathan
4e3739c751
use a reader/writer-esque lock (shared_mutex) instead of exclusive-only recursive lock to speed up plane stuff
2022-07-24 19:05:28 -04:00
Jonathan
f089d0db20
default -nosoftware for qbism
2022-07-22 20:01:36 -04:00
Jonathan
f6d6972b17
fix percents being output when not requested for submodels
...
tjunc using MWT algorithm
2022-07-22 12:25:06 -04:00
Jonathan
09a03d1668
remove delabella
2022-07-21 20:06:33 -04:00
Jonathan
46591c05f9
storing delaunay version
2022-07-21 20:05:55 -04:00
Jonathan
f1f11e6f3b
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-07-19 08:42:13 -04:00
Jonathan
989788cf71
add a switch to optimize compiles for no software mode (mainly for Q2)
...
fix tjunc 3 vert faces being destroyed
2022-07-19 08:41:59 -04:00
Eric Wasylishen
6025585f01
switch from std::any to class hierarchy for content_stats_t
...
Fixes bogus (huge integers) content stats reporting on macOS (also fix tjunc stats reporting)
having the non-copyable std::atomic<size_t> inside a std::any which must
be copyable was problematic
IMO this is slightly better because it lets us use non-copyable types
2022-07-18 20:13:33 -06:00
Jonathan
b6153e3084
use make_unique where appropriate
...
use unordered_map/set where ordering isn't important (faster for searching and smaller footprint)
2022-07-18 20:16:50 -04:00
Jonathan
6f4f3a56ad
make a few errors warnings
2022-07-18 11:27:48 -04:00
Jonathan
7e5c4fe311
fix animation loops
2022-07-18 11:24:22 -04:00
Jonathan
5e90c5c7a1
spacing
2022-07-18 08:57:50 -04:00
Jonathan
577592ce45
adjust tjunc output to match the step orders (input/deformations -> delaunay -> retopo -> rotation -> splitting)
2022-07-16 10:50:13 -04:00
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
d30d4000bc
qbsp: fix log spam from BrushBSP
2022-07-13 00:30:53 -06: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
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
f86a5343fb
qbsp: rename options -> qbsp_options
2022-07-10 17:30:00 -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
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
5f37159224
allow disabling auto-upgrade, in the case where you don't want it to keep trying to output a BSP2/QBSP when it won't work in your target engine(s)
...
# Conflicts:
# include/qbsp/qbsp.hh
2022-07-08 02:06:12 -04:00
Jonathan
43c5e942b2
move faceextents_t & friends to common
...
use stb_image_write for PNGs for better compression on bsp.json
add in code for spitting out a lightmap from a face. doesn't support other styles and such yet.
2022-07-08 02:06:06 -04:00
Jonathan
705ab73169
rename light option `lmscale` to `lightmap_scale` to reflect its qbsp usage (a forced replacement of the "default" lightmap scale)
...
allow qbsp to be passed an `-lmscale` to facilitate a global lmscale change for BSPX
fix code paths for writing both lightmap sizes out
# Conflicts:
# include/qbsp/qbsp.hh
2022-07-08 02:06:06 -04:00
Eric Wasylishen
8a4caa40a2
testqbsp: remove !mayfail from dm1 test
2022-07-07 10:12:52 -06:00
Eric Wasylishen
c2a2890240
testqbsp: add texture metadata for some of the base1.map special textures
...
so we can compile a working version of the map
2022-07-07 01:21:50 -06:00
Eric Wasylishen
5cd178e105
qbsp: revert change to SphereOnPlaneSide for now as it's breaking tests
2022-07-06 23:36:59 -06:00
Eric Wasylishen
4ab5a05d4c
qbsp: swap BoxOnPlaneSide for SphereOnPlaneSide
2022-07-05 00:40:53 -06:00
Eric Wasylishen
20ca6d2ef9
qbsp: add sphere bounds for bspbrush_t
2022-07-05 00:20:57 -06:00
Eric Wasylishen
bc6090d576
qbsp: move SubdivideFace to match qbsp3
2022-07-04 01:20:12 -06:00
Eric Wasylishen
92aa55db8f
qbsp: clean up some dead code
2022-07-04 01:15:17 -06:00
Eric Wasylishen
554e29e861
tree.cc: sync PruneNodes_R condition with qbsp3
2022-07-04 00:37:02 -06:00
Eric Wasylishen
ac80d11e69
qbsp: move FreeTreePortals to tree.cc
2022-07-04 00:26:28 -06:00
Eric Wasylishen
fce258a7b7
qbsp: csg4.cc -> csg.cc
2022-07-04 00:17:18 -06:00
Eric Wasylishen
296426f526
qbsp: use unique_ptr for tree_t
2022-07-03 23:48:00 -06:00
Eric Wasylishen
97d360120b
qbsp: use unique_ptr for node_t::facelist
2022-07-03 23:41:48 -06:00
Eric Wasylishen
4ab4cb7dc8
qbsp: use unique_ptr for portal_t
2022-07-03 22:45:25 -06:00
Eric Wasylishen
de68bee886
qbsp: move tree_t to tree.hh
2022-07-03 21:36:17 -06:00
Jonathan
a0d81372d1
improved path detection (and overriding) routines
...
(cherry picked from commit 32f33fb4b3 )
2022-07-03 18:23:40 -04:00
Eric Wasylishen
40bba01b21
qbsp: brushbsp.cc import from qbsp3
2022-07-03 01:22:09 -06:00
Jonathan
cb4a1ad8a3
re-add nodraw/sky warning
2022-06-30 15:12:42 -04:00
Jonathan
f7016d1af0
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-30 05:24:53 -04:00
Jonathan
9f734ff976
Merge branch 'type-cleanup' into brushbsp
...
# Conflicts:
# common/bspfile.cc
# include/common/bspfile.hh
# light/trace.cc
2022-06-30 05:23:05 -04:00
Eric Wasylishen
862d9bd5f2
testqbsp: add q1_clip_func_wall
...
Ensure submodels that are all "clip" get bounds set correctly
2022-06-30 00:53:02 -06:00
Eric Wasylishen
2127209955
qbsp: add CreateBrushWindings from qbsp3
2022-06-30 00:31:42 -06:00
Jonathan
03ee5c52e8
add an entry point for specifically loading meta-only file formats, like .wal; used for discerning replacements from their source material (since replacements are often larger than the default, we need the scale info)
...
add a new meta format, which is just a JSON representation of the metadata contained in a .wal
simplify texture loading in `light`
fix `light` not handling replacement textures very well
string_iequals take string_view like the others
move averageColor to be alongside pixel data, where it belongs
2022-06-29 12:59:33 -04:00
Jonathan
292d5afb5e
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-28 06:08:04 -04:00
Jonathan
c1dc3cb7d8
Merge branch 'type-cleanup' into brushbsp
...
# Conflicts:
# include/common/bspfile.hh
2022-06-28 04:13:26 -04:00
Eric Wasylishen
1693bb3877
qbsp: side_t doesn't need sphere culling
2022-06-28 02:01:41 -06:00
Eric Wasylishen
b21e245d99
qbsp: surface.cc -> faces.cc
2022-06-28 00:23:47 -06:00
Eric Wasylishen
c64b869248
testqbsp: make winding test [.releaseonly] as it crashes on msvc debug builds
2022-06-28 00:21:59 -06:00
Eric Wasylishen
eb1f7acc02
qbsp: move PruneNodes to tree.cc for qbsp3 alignment
2022-06-28 00:06:18 -06:00
Jonathan
44c50717c3
move generic image loading routine to `img`
...
move light-specific "load textures from BSP" routine to light
fix a couple bugs with external wad textures (there should always be at least a 40-byte miptex in there)
light can now load external textures
move -paths to common settings
fix bug with missing texture not filling miptex name
2022-06-28 01:37:12 -04:00
Eric Wasylishen
29a622d106
testqbsp: use -noverbose by default
2022-06-27 22:44:08 -06:00
Eric Wasylishen
7439fc30db
testqbsp: fix absolute path in q1_wad_external
2022-06-27 22:40:38 -06:00
Jonathan
c23b7d2ec9
allow Quake-likes to load textures similarly to Q2 (finding best place to load them from)
...
allow Quake and Q2 to handle other texture formats (mainly just TGA for now)
2022-06-27 11:30:28 -04:00
Jonathan
bf1cb56e5a
fix build
...
add setting to control file priority
2022-06-27 10:41:24 -04:00
Jonathan
59bff81e9d
tests for new WAD stuff
2022-06-27 08:14:30 -04:00
Jonathan
26608c1b37
Merge branch 'type-cleanup' into brushbsp
...
# Conflicts:
# common/bspfile.cc
# common/bspinfo.cc
2022-06-27 08:14:03 -04:00
Jonathan
732621c59a
fix bugs in miptex writing
...
clear FS when loading filesystem again (for tests mainly)
move img::load_palette to where it is in brushbsp
2022-06-27 08:13:04 -04:00
Jonathan
a7662a9c9b
fix noclipfaces being inverted from type-cleanup
2022-06-27 06:56:20 -04:00
Jonathan
cf04f644e0
Merge branch 'type-cleanup' into brushbsp
...
# Conflicts:
# common/bspinfo.cc
# include/common/bspfile.hh
# include/qbsp/map.hh
# include/qbsp/wad.hh
# qbsp/wad.cc
2022-06-27 06:44:45 -04:00
Jonathan
ba7c18fd35
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
2022-06-27 03:58:41 -04:00
Jonathan
510023e089
step 1 of finishing the rewrite I started of the image subsystems.
...
- for Quake-likes, WADs will be added as file system archives directly when the first brush is encountered since the wad key is ready to go by that point.
- after loading the .map and before constructing the BSP, what I call secondary textures (animation frames for Quake-likes) are added to the list, and the BSP's miptex data is filled.
- BSP miptex data is now opaque to the BSP process; the BSP simply copies the raw miptex information from the input. This simplifies the BSP structures and reading/writing routines.
- the img subsystem supports reading from raw miptexes now, although in practice this only happens for Quake-likes atm
- instead of a "wal cache", maps now have a "meta cache" which stores the metadata information for all games instead of just Quake II
- texture meta can now be ref'd out rather than needing to be copied every time (mainly only a gain for the std::string)
- wad.cc/wad.hh is gone; wads are now pushed into the filesystem archive
- fixed broken wad_archive
- fs subsystem iterated on a little bit; supports marking archives as external (only used for wads currently; see `LoadTextureData`)
- load_tga has better error handling
- add in foot-gun protection to the BSP readers; now they assert on failure to read instead of silently propagating that error throughout the rest of the process
- bsputil uses img stuff now, so it should handle palettes better
2022-06-27 03:58:23 -04:00
Eric Wasylishen
c7111cc99e
qbsp: move FloodAreas to portals.cc for parity with qbsp3
2022-06-27 01:32:34 -06:00
Eric Wasylishen
e660182c37
testqbsp: readd "-nopercent" as test output is too verbose without
2022-06-27 01:20:16 -06:00
Eric Wasylishen
5624f7012a
qbsp: moving PortalThru->Portal_VisFlood, Portal_EntityFlood to portals.cc for qbsp3 parity
...
also fixes to both to match qbsp3
2022-06-27 01:13:21 -06:00
Eric Wasylishen
4c2111bfd3
testqbsp: re-enable base1.map test as well as dm1.map (disabled by default as it's too slow on debug builds)
2022-06-27 00:33:04 -06:00
Eric Wasylishen
22f0def4b1
update Catch2 to v3.0.1
2022-06-26 13:21:29 -06:00
Eric Wasylishen
aabd1c27dc
qbsp: face_t: make contents, lmshifts single sided
...
side_t: same, also remove contents (unused)
2022-06-24 01:14:11 -06:00
Eric Wasylishen
afec0a947e
qbsp: change bspbrush_t.sides from face_t to side_t
2022-06-24 00:43:40 -06:00
Eric Wasylishen
fac5ea384d
qbsp: rename bspbrush_t.faces to .sides
2022-06-24 00:21:55 -06:00
Eric Wasylishen
b37d29ee33
common: rename side_t -> planeside_t (side_t is used by qbsp3)
2022-06-24 00:16:46 -06:00
Eric Wasylishen
4a1c5842a3
qbsp: rename solidbsp.cc -> brushbsp.cc for consistency with qbsp3
2022-06-24 00:08:12 -06:00
Eric Wasylishen
038651fca6
qbsp: rename brush_t -> bspbrush_t for consistency with qbsp3
2022-06-24 00:01:02 -06:00
Jonathan
ee596f3ff1
use vector for vis state
...
set autoclean default to true, make it invertable
2022-06-23 16:18:52 -04:00
Eric Wasylishen
92af2ed3f7
qbsp: restore weird 1 unit bounds shrinkage Q1 needs
2022-06-22 22:37:09 -06:00
Eric Wasylishen
af802d5447
qbsp: fix model bounds
2022-06-22 22:23:14 -06:00
Eric Wasylishen
84263ef1a1
testqbsp: add model bounds test map
2022-06-22 22:11:40 -06:00
Eric Wasylishen
b99ea58ed7
testqbsp: q1 leaf/node bounds tests
2022-06-22 21:43:41 -06:00
Eric Wasylishen
f84c794668
testqbsp: make "origin" test accept legacy ericwtools output
2022-06-22 21:43:41 -06:00
Jonathan
0fa779afaa
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-22 14:43:57 -04:00
Eric Wasylishen
c054db0f48
testqbsp: shouldn't use -keepprt as the tests are checking for the .prt files
2022-06-21 23:46:13 -06:00
Jonathan
54ac8123e3
use old WindingIsTiny
2022-06-22 01:02:12 -04:00
Eric Wasylishen
b77c25dcd4
qbsp: fix -keepprt
2022-06-21 22:05:54 -06:00
Jonathan
60df9eba81
disable `ChooseMidPlaneFromList` to fix regression
2022-06-21 21:07:26 -04:00
Eric Wasylishen
8332c78871
testqbsp: flag water_detail_illusionary as mayfail
2022-06-21 17:25:56 -06:00
Eric Wasylishen
40f370dbd5
Merge branch 'portalfaces' into brushbsp
2022-06-21 16:25:19 -06:00
Jonathan
36a8327452
cherry-pick 812159312e from @Shpoike
...
Don't strip extended mip data.
2022-06-21 14:11:58 -04:00
Eric Wasylishen
7e1ede2ac3
qbsp: remove old face creation code
2022-06-21 02:01:52 -06:00
Eric Wasylishen
57473f7b4a
Merge branch 'brushbsp' into portalfaces
2022-06-21 01:45:14 -06:00
Eric Wasylishen
98e27cf620
testqbsp: improve water_detail_illusionary test
2022-06-21 01:16:55 -06:00
Eric Wasylishen
6be54eadb0
testqbsp: improve water_detail_illusionary test
2022-06-21 01:05:41 -06:00
Eric Wasylishen
b3f88d6797
qbsp: remove redundant MergeAll call
2022-06-21 00:40:31 -06:00
Eric Wasylishen
84e007b7ce
qbsp: fix noclipfaces tests
2022-06-21 00:39:07 -06:00
Eric Wasylishen
e39c8f9cf6
qbsp: fix simple_worldspawn_detail_wall
2022-06-20 23:05:56 -06:00
Eric Wasylishen
6770d8aa34
testqbsp: remove mayfail
2022-06-20 20:56:19 -06:00
Eric Wasylishen
1c4b90a032
qbsp: fix detail_illusionary_noclipfaces_intersecting
2022-06-20 20:53:56 -06:00
Jonathan
df3e6d3988
remove Little* funcs, not used any more
...
remove byteswap as it wasn't used any more
re-introduce imemstream and omemstream to make it harder to accidentally use the wrong operators
add dynamic padding stream manipulator
use memstreams for BSPX
2022-06-20 21:39:08 -04:00
Jonathan
c79e263753
simplify bspx code
...
remove old obj preview for wrnormals
2022-06-20 20:42:34 -04:00
Jonathan
e422da15c3
simplify OutsideFill_Passable
2022-06-20 11:58:40 -04:00
Eric Wasylishen
83c1316cdd
docs
2022-06-20 02:25:02 -06:00
Eric Wasylishen
4d30257907
testqbsp: fix test expectation for detail_illusionary_noclipfaces_intersecting
2022-06-20 02:23:06 -06:00
Eric Wasylishen
b35233afa2
qbsp: fix assertion failure in qbspfeatures.map
2022-06-19 19:53:58 -06:00
Eric Wasylishen
5c5e6e1ea7
qbsp: fix brush_clipping_order
2022-06-19 17:32:18 -06:00
Eric Wasylishen
4f3ca8c252
qbsp: wip import MarkVisibleSides from qbsp3
2022-06-19 16:04:54 -06:00
Eric Wasylishen
59d6169b3d
qbsp: add a test of just a cube
2022-06-19 16:04:54 -06:00
Eric Wasylishen
5fc6cbc95e
qbsp: wip import MakeFaces from qbsp3
2022-06-19 16:04:54 -06:00
Eric Wasylishen
276b62e30a
Revert "first attempt at clustering leaffaces together"
...
This reverts commit a41c68886a .
2022-06-18 16:26:31 -06:00
Eric Wasylishen
0a424ca79c
testqbsp: add a markfaces test to simple_sealed
2022-06-18 16:26:28 -06:00
Eric Wasylishen
3492ef2b9e
qbsp: fix invalid leaf bounds in MakeTreePortals_r
2022-06-18 16:13:00 -06:00
Eric Wasylishen
ccf605794e
qbsp: throw exception in ExportLeaf if a leaf bounds is invalid
...
add check in test suite that qbspfeatures.map doesn't get upgraded to BSP2 due to invalid leaf bounds
2022-06-18 16:11:29 -06:00
Jonathan
ea985eb5ac
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-18 17:29:13 -04:00
Jonathan
a41c68886a
first attempt at clustering leaffaces together
2022-06-18 17:07:36 -04:00
Eric Wasylishen
6fb3bf957a
qbsp: detail seals in q2 test passes now
2022-06-18 13:48:30 -06:00
Eric Wasylishen
b91973bae1
qbsp: remove old/unused portal code
2022-06-18 13:44:24 -06:00
Eric Wasylishen
8d5978dcc2
qbsp: switch to qbsp3 implementation for MakeTreePortals
...
Quick update to outside filling to remove cluster handling, because now we perform filling with
all leaf portals
2022-06-18 13:42:41 -06:00
Eric Wasylishen
158c65b056
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-18 12:53:53 -06:00
Jonathan
7eedf52bf4
sync up BaseWinding checking
...
add constructor to aabb to construct from range
2022-06-18 14:33:16 -04:00
Jonathan
6a310de784
sort brush result sets by file order for determinism
2022-06-18 13:54:07 -04:00
Eric Wasylishen
b14aaff705
qbsp: switch over to CreateVisPortals_r
2022-06-18 11:46:51 -06:00
Eric Wasylishen
501ccda2d1
qbsp: don't attempt to parallelize portal generation
2022-06-18 11:46:40 -06:00
Eric Wasylishen
214a2550f4
qbsp: isolate portal_state_t in prtfile.cc
2022-06-18 00:32:40 -06:00
Eric Wasylishen
1fb5753f60
qbsp: import CreateVisPortals_r from qbsp3
2022-06-17 23:59:19 -06:00
Eric Wasylishen
65e6fafb3e
qbsp: import MakeNodePortal, MakeTreePortals from qbsp3
2022-06-17 23:52:33 -06:00
Eric Wasylishen
7d3b5a9c3f
qbsp: import SplitNodePortals from qbsp3
2022-06-17 22:34:36 -06:00
Eric Wasylishen
af2dd987d8
qbsp: import BaseWindingForNode from qbsp3
2022-06-17 22:10:11 -06:00
Eric Wasylishen
3e2045479b
qbsp: move .prt writing to prtfile.cc to align with qbsp3
2022-06-17 20:31:37 -06:00
Eric Wasylishen
9423e68e9f
qbsp: fix _noclipfaces
2022-06-17 17:55:17 -06:00
Eric Wasylishen
2248b8cd73
testqbsp: add more portal assertions
2022-06-17 02:41:39 -06:00
Eric Wasylishen
00d9d403ea
testqbsp: fix wrong winding constructor being chosen
2022-06-17 01:58:26 -06:00
Eric Wasylishen
259d95e47c
testqbsp: add a first portal test
2022-06-17 01:53:08 -06:00
Eric Wasylishen
da346a931a
testqbsp: quick setup of code to run test suite against a reference q1 compiler
2022-06-17 00:59:18 -06:00
Eric Wasylishen
7ac4012f92
testqbsp: replace map.leakfile checks with checking .prt file existence
2022-06-16 23:33:55 -06:00
Eric Wasylishen
0edd52517a
testqbsp: read .prt files back in
2022-06-16 23:22:15 -06:00
Eric Wasylishen
f1823f30fa
testqbsp: rename LoadTestmap -> LoadTestmapQ1
2022-06-16 23:05:00 -06:00
Eric Wasylishen
8c90c5c3dc
qbsp: fix dangling std::string access through string_view
2022-06-16 20:58:46 -04:00
Jonathan
0b67acd4ba
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
...
# Conflicts:
# include/common/bspfile.hh
2022-06-16 20:22:36 -04:00
Jonathan
e57633bbca
the old Safe read/writes are gonedy now
2022-06-16 20:22:03 -04:00
Eric Wasylishen
83271c5dac
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-16 17:06:45 -06:00
Jonathan
5855ab3528
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-16 12:06:45 -04:00
Jonathan
41ef66190f
consistency rename; gtexinfo_t -> mtexinfo_t
2022-06-16 09:36:31 -04:00
Jonathan
617cd3b089
consistency rename; texdata_t -> maptexdata_t
2022-06-16 09:35:46 -04:00
Jonathan
c62480c337
consistency rename; mtexinfo_t -> maptexinfo_t
2022-06-16 09:35:08 -04:00
Eric Wasylishen
b8dcc7535e
qbsp: rename FreeAllPortals -> FreeTreePortals_r
2022-06-15 23:27:39 -06:00
Eric Wasylishen
dfb8d7c9fc
qbsp: refactoring portal code towards qbsp3
2022-06-15 21:37:19 -06:00
Eric Wasylishen
7ffae0754c
Merge remote-tracking branch 'github-desktop-paril/type-cleanup' into brushbsp
2022-06-15 19:15:48 -06:00
Jonathan
8afcc54b74
move making contents valid from brush parsing into gamedef
2022-06-15 09:07:37 -04:00
Eric Wasylishen
3474dd00c5
qbsp: add portal_t::onnode, tree_t from qbsp3
2022-06-15 00:45:58 -06:00
Eric Wasylishen
27baeb8657
testqbsp: add check for no bspx lumps
2022-06-14 23:48:49 -06:00
Eric Wasylishen
f5ed79c936
qbsp: fix dangling std::string access through string_view
2022-06-14 21:33:48 -06:00
Jonathan
7911782a3b
only use alias data if it's classname or if it's not overridden
2022-06-14 19:37:36 -04:00
Jonathan
23ae3edd56
implement entity aliases
2022-06-14 18:47:44 -04:00
Jonathan
eedabe6f1c
fix bugs
2022-06-14 18:38:22 -04:00
Jonathan
17656eff78
don't return string ref, since it can be modified after it's inserted because of the vector growing
2022-06-14 18:34:01 -04:00
Jonathan
78b979d670
Merge branch 'type-cleanup' into brushbsp
...
# Conflicts:
# include/light/entities.hh
# qbsp/brush.cc
# qbsp/map.cc
2022-06-14 17:19:30 -04:00
Jonathan
d24ea4922a
entdict cleanup
2022-06-14 17:18:13 -04:00
Jonathan
f1fd0bd30f
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-14 10:50:54 -04:00
Jonathan
54c3103bdc
mark it as warning
2022-06-14 10:50:47 -04:00
Jonathan
7827885f0f
add texturedef support
...
change Q2_CONTENTS_TRANSLUCENT parsing; remove it always, but if the surface doesn't have TRANS then swap it with DETAIL which is probably what they intended
2022-06-14 10:50:35 -04:00
Eric Wasylishen
bf36bd56f7
qbsp: fix qbsp_q1_sealing test case
2022-06-14 02:03:50 -06:00
Eric Wasylishen
a309e8467b
testmaps: add qbsp_q1_sealing.map
2022-06-14 00:44:50 -06:00
Eric Wasylishen
0266507833
testqbsp: tag qbsp_q2_detail_seals as mayfail
2022-06-13 23:37:46 -06:00
Eric Wasylishen
4e7ecbf9ff
testqbsp: add qbsp_q2_detail_seals
2022-06-13 22:50:01 -06:00
Eric Wasylishen
1cddbf1ad9
testqbsp: add qbsp_q2_seal_empty_rooms
2022-06-13 22:39:04 -06:00
Jonathan
7b38f24ae8
Q2 doesn't use the old animation method
2022-06-13 07:26:23 -04:00
Jonathan
b2a0f8039e
remove dm/start/coop checking
...
remove entity target(name) checking; as mods and maps get more complex, this is best left up to the editors to use the FGD to report these things.
2022-06-13 07:10:53 -04:00
Jonathan
81686200c3
simplify illusionary line (hullnum is never > 0 for Q2 or the wrbrushes hull)
2022-06-13 07:02:02 -04:00
Jonathan
4e2e1c9bb3
default filltype to auto, which uses outside for hullnum > 0 and inside otherwise (lower leaf & node counts)
2022-06-13 06:19:58 -04:00
Jonathan
12caf1bcd4
move transsky/transwater code into portal_can_see_through
2022-06-13 02:34:39 -04:00
Jonathan
d917c253c5
restore inside fill to working status
2022-06-13 02:20:34 -04:00
Jonathan
4755f23efa
re-implement inside filling (not working fully yet)
2022-06-13 01:44:06 -04:00
Jonathan
c5141e7a30
remove unused counters
...
only print nodefaces for the main BSP
2022-06-12 11:33:18 -04:00
Jonathan
215ae86566
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-12 03:35:49 -04:00
Jonathan
98682f41fa
move brush/leaf counts into gamedef
...
(Q2 stores every combo currently, old code kept in case we want to use that instead)
2022-06-12 03:35:44 -04:00
Eric Wasylishen
4fde404e6b
testqbsp: mark q2_liquids as [!mayfail] for now
2022-06-12 00:27:36 -06:00
Jonathan
93291b21fc
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-12 02:24:32 -04:00
Jonathan
1a88b46e8c
RemapContentsForExport moved into gamedef
...
simplified gamedef stuff by checking which functions were still necessary, and no need to pass extended flags through at all now
detail type moved into Q1
2022-06-12 02:24:27 -04:00
Jonathan
54900cf7b6
move visblocker to a boolean
2022-06-12 01:02:31 -04:00
Eric Wasylishen
c5b84d9eb7
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-11 14:07:21 -06:00
Jonathan
13bf99a7f3
fix test cases (implement equals(game) properly, and `is_empty` is false depending on get_content_type for Q2 now)
...
remove unnecessary condition from Q2 contents_are_empty since areaportals are already considered a valid non-empty type via get_content_type
2022-06-11 09:19:51 -04:00
Jonathan
0dfeff934a
fix test failures introduced from noclipfaces change
2022-06-11 08:38:30 -04:00
Jonathan
10676603e9
move clip & origin into game-specific code
...
remove hint from brush; hint is technically a surface flag rather than a content flag, so we can infer it from the sides rather than needing to store it as a unique flag (we could still cache the result somewhere but this makes it consistent between q1 and q2)
2022-06-11 08:29:55 -04:00
Jonathan
b33e792458
move clip-own-typeness over to gamedef & contentflags (fixes Q2 edge case with a solid version of a type bordering a translucent version)
2022-06-11 06:01:36 -04:00
Jonathan
e61998dd54
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
...
# Conflicts:
# qbsp/surfaces.cc
2022-06-11 05:43:29 -04:00
Jonathan
8b4f9f5480
move mirrorinside to gamedef
2022-06-11 05:37:50 -04:00
Eric Wasylishen
948d3463ba
testqbsp: Add q2_liquids test
2022-06-11 01:21:17 -06:00
Eric Wasylishen
5372c4a568
qbsp: fix q2 liquids not mirrored
2022-06-10 23:29:28 -06:00
Eric Wasylishen
64159d92f1
Merge remote-tracking branch 'github-desktop-paril/type-cleanup' into brushbsp
2022-06-10 21:32:23 -06:00
Eric Wasylishen
66063168f6
testqbsp: all q2 tests pass against these tools + q2tools-220
2022-06-10 20:30:20 -06:00
Eric Wasylishen
b3cedd7fed
testqbsp: adjust detail test case to pass in q2-220 tools
2022-06-10 20:21:00 -06:00
Eric Wasylishen
c878a11f1d
testqbsp: fix detail test expectations
2022-06-10 20:14:54 -06:00
Eric Wasylishen
fc5f1573ef
qbsp: simplify ShouldClipbrushEatBrush
...
fixes lavaclip test case
2022-06-10 20:00:42 -06:00
Eric Wasylishen
d4f1707cdb
qbsp: proper merging of Q2 contents
2022-06-10 19:19:00 -06:00
Eric Wasylishen
31ab4546a3
testqbsp: update playerclip test expectation to match q2tools_220
2022-06-10 19:00:19 -06:00
Jonathan
812797f7ed
enable lighting for warp/sky in Q2
...
simplify bitflag definitions
change nudging light warning to make more sense
another #define -> constexpr pass
2022-06-10 06:29:14 -04:00
Jonathan
42c4060a64
canonize plane stuff into an enum type, remove duplicates
...
more macros into constexpr's
use options.epsilon directly instead of ON_EPSILON in qbsp
2022-06-10 04:43:56 -04:00
Eric Wasylishen
3c4f798e97
qbsp: add create_detail_illusionary/fence/solid_contents
2022-06-10 01:07:20 -06:00
Eric Wasylishen
014e0d8aaa
qbsp: replace some contents.extended reads with new is_detail_*() getters
2022-06-10 00:07:01 -06:00
Eric Wasylishen
8c1095715c
qbsp: refactor out is_detail(int32_t types = CFLAGS_DETAIL_MASK) since it's going to depend on game now
2022-06-09 23:48:26 -06:00
Eric Wasylishen
47aa1f7476
qbsp: replace is_detail() with is_any_detail(options.target_game)
2022-06-09 23:32:33 -06:00
Eric Wasylishen
5025985348
testqbsp: hide current test failures
2022-06-09 23:20:19 -06:00
Eric Wasylishen
f15e3b958a
testqbsp: fix some test expectations to match q2tools
2022-06-08 01:02:00 -06:00
Eric Wasylishen
c8841fb1bf
testqbsp: add lavawater test
2022-06-08 01:01:17 -06:00
Eric Wasylishen
6c3b8a9413
Merge branch 'type-cleanup' into brushbsp
2022-06-07 20:05:02 -06:00
Eric Wasylishen
4941a86cbe
qbsp: rest of fix for qbsp_q2_bmodel_collision, only needed on type-cleanup branch
2022-06-07 19:49:39 -06:00
Eric Wasylishen
0326374d68
testqbsp: bmodel collision issue where world and bmodel are interfering
2022-06-07 19:27:42 -06:00
Eric Wasylishen
633aaf3954
testqbsp: mark lavaclip test as [!mayfail]
2022-06-07 19:27:16 -06:00
Jonathan
d348a4cb6b
fix nodes getting negative planes from certain splits
...
# Conflicts:
# include/qbsp/brush.hh
# qbsp/solidbsp.cc
2022-06-07 20:31:28 -04:00
Jonathan
cc8719cb84
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-06-07 20:30:19 -04:00
Jonathan
3d539b9660
fix nodes getting negative planes from certain splits
2022-06-07 20:30:10 -04:00
Eric Wasylishen
ad8e6a7a75
testqbsp: bmodel collision issue where world and bmodel are interfering
2022-06-07 17:05:03 -06:00
Jonathan
a94de7f8cc
use closer to Q2 version of WindingIsTiny
...
allow .outside.map to be written for Q2 as well
2022-06-06 17:54:05 -04:00
Jonathan
80664675aa
fix extra LMSHIFT lump
2022-06-06 04:20:34 -04:00
Jonathan
c5e864fca1
re-enable stuff
...
undo the shared lock stuff
2022-06-06 03:26:19 -04:00
Jonathan
8f50108b5e
slight optimization for winding_t: use memcpy directly. the copy constructor can't automatically optimize it into a memcpy because of the iterator wrapper.
...
use side_t where appropriate
add a shared lock to map.planes, and hide the original vector to prevent non-locked read/writes
move MakeSkipTexinfo to the beginning of the operation - make a global skip texinfo as the first texinfo. it will get culled out later if need be.
re-enable ChooseMidPlaneFromList; seems to work, but maybe there's a test that is failing that is the reason it was if'd out?
enable parallelization of PartitionBrushes since map.planes is lockable now
2022-06-05 22:52:02 -04:00
Eric Wasylishen
e3ee12e985
Merge branch 'type-cleanup' into brushbsp
2022-06-03 23:44:03 -06:00
Eric Wasylishen
e3892617ed
testqbsp: add testmap for q2 lava intersecting clip (fails currently)
2022-06-03 23:29:23 -06:00
Jonathan
d05b8fc3db
don't output texinfo for SKIP faces - rendered faces won't reference them anyways (unless includeskip is on)
2022-06-02 18:59:51 -04:00
Jonathan
a7afc4fbb5
fix infinite loop chain again
2022-06-02 14:31:23 -04:00
Jonathan
9bce4fd80a
move the sky|nodraw fix to an earlier stage
2022-06-02 12:18:58 -04:00
Jonathan
6ba71cb1b9
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
2022-06-02 10:23:44 -04:00
Jonathan
464b87f095
remove a debugbreak
...
"fix" broken q2 maps
2022-06-02 10:23:39 -04:00
Eric Wasylishen
0eeabaeb21
qbsp: fix incorrect return in FindAreas
2022-06-01 23:21:43 -06:00
Jonathan
1f28be4a4c
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
2022-06-02 01:05:48 -04:00
Jonathan
11f937f0ad
add mottling that was used for _minlight on objects in Q2 maps
...
fix _minlight for Q2
set up a few better defaults for Q2
temp-ish fix for areaportals
2022-06-02 01:05:41 -04:00
Eric Wasylishen
d43f10ae2b
qbsp: fix areaportals touching detail
2022-06-01 22:01:48 -06:00
Jonathan
aad711bb73
HACK: always connect bmodels to their brushes. this is temporary until we can figure out why the node bounds are wrong
2022-06-01 18:45:02 -04:00
Jonathan
f64c8e7160
remove Q2_CONTENTS_TRANSLUCENT on load, since it breaks stuff
...
more areaportal fatal -> warning
2022-06-01 18:36:09 -04:00
Jonathan
8b4bd6deeb
non-recursive method for animated textures; makes it easier to follow and makes sure the chain ends in -1
2022-06-01 17:42:37 -04:00
Jonathan
487c0fa1c6
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
2022-06-01 15:30:32 -04:00
Jonathan
a9e9c14e0d
warning for invalid face contents rather than a hard assert error
...
remove _wad warning for Quake II, Q2 doesn't use wads
areaportals are still fiddly, but this should help track down the errors - print entity # (bounds still not working)
2022-06-01 15:30:27 -04:00
Eric Wasylishen
442a7d0484
testqbsp: add tests for qbsp_angled_brush.map, qbsp_sealing_point_entity_on_outside.map
2022-05-24 20:04:08 -06:00
Eric Wasylishen
5a0d6bbeef
testqbsp: add qbsp_func_detail.map test case
2022-05-24 19:51:32 -06:00
Eric Wasylishen
c051834ef5
Merge branch 'type-cleanup' into brushbsp
2022-05-22 13:37:33 -06:00
Eric Wasylishen
e4f6201bbe
testbqsp: add simple_sealed_rotated
2022-05-22 13:36:19 -06:00
Eric Wasylishen
d3ee17ac59
testqbsp: remove -noprogress as it hinders debugging
2022-05-22 13:16:27 -06:00
Eric Wasylishen
ba884f6e1a
qbsp: CreateBrushFaces: list -> vector
2022-05-22 12:54:47 -06:00
Eric Wasylishen
016e9a89f2
qbsp: fix base1.map leak with epsilon hacks
2022-05-22 00:38:08 -06:00
Eric Wasylishen
6fafc19f74
qbsp: fix not clearing portals
2022-05-21 23:37:47 -06:00
Eric Wasylishen
f9f355474c
qbsp: fix broken FindOccupiedClusters_R
2022-05-21 16:32:36 -06:00
Eric Wasylishen
25b390aafe
qbsp: merge original brush lists when merging leafs in PruneNodes
2022-05-21 16:05:22 -06:00
Eric Wasylishen
70706b4923
outside.cc: make FindOccupiedClusters safe to call more than once
2022-05-21 13:53:05 -06:00
Eric Wasylishen
3b83508f37
Revert "qbsp: remove unused face csg code"
...
This reverts commit 2ad9e27d3b .
2022-05-21 01:44:59 -06:00
Eric Wasylishen
cf91610738
brushbsp: wip, restore using invisible sides as splitters
...
- fill again after second BSP so PruneNodes works
2022-05-21 00:57:16 -06:00
Eric Wasylishen
6f1ca3c79d
Merge branch 'type-cleanup' into brushbsp
2022-05-15 14:02:42 -06:00
Eric Wasylishen
a4ebfab691
tests: fix case issue with catch includes
2022-05-15 13:19:46 -06:00
Eric Wasylishen
03d9df50e5
tests: don't include(CTest) as it generates unwanted targets
2022-05-15 12:43:35 -06:00
Eric Wasylishen
7f0f3e9992
tests: fix build errors
2022-05-15 12:40:20 -06:00
Eric Wasylishen
c925f7be74
test: convert test case macros to Catch2
2022-05-15 12:27:43 -06:00
Eric Wasylishen
28bea85d97
test: convert assertions to Catch2 format
2022-05-15 12:18:09 -06:00
Eric Wasylishen
9fe42ef6c7
test: swap GTest out in favour of Catch2
2022-05-15 12:00:50 -06:00
Eric Wasylishen
254310dc2c
tests: switch to Catch2 style
2022-05-15 11:20:02 -06:00
Jonathan
d9c6e52bd3
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
2022-05-15 10:09:41 -04:00
Jonathan
e2512372c3
fix -convert not working properly for Q2 maps
...
begin code for alias files
2022-05-15 10:09:38 -04:00
Eric Wasylishen
215c6549b9
testqbsp: add test of nodraw + includeskip
2022-05-15 01:49:27 -06:00
Eric Wasylishen
67a895d1e7
testqbsp: fix use of msvc-ism
2022-05-15 00:50:53 -06:00
Eric Wasylishen
c82741ff8a
Merge branch 'type-cleanup' into brushbsp
2022-05-15 00:46:49 -06:00
Eric Wasylishen
d34d41a390
testqbsp: add helper for compiling with an external bsp tool
2022-05-15 00:37:58 -06:00
Eric Wasylishen
e834b848b9
qbsp: fix areanodes test
2022-05-15 00:15:17 -06:00
Eric Wasylishen
153bde886b
testmaps_q2.base1leak: remove brushbsp arg
2022-05-14 20:14:09 -06:00
Eric Wasylishen
9c806d2d15
settings: don't call exit(0) in printHelp() as it's problematic for tests
2022-05-14 18:11:14 -06:00
Eric Wasylishen
c537ad39c1
qbsp: move wadlist to map struct
2022-05-14 15:55:18 -06:00
Eric Wasylishen
bc90198006
qbsp: move wal_cache to map struct
2022-05-14 15:29:58 -06:00
Eric Wasylishen
fa18a6755a
qbsp: fix q2 brush export breaking when multiple tests run
2022-05-14 15:13:47 -06:00
Eric Wasylishen
863a3de04f
testqbsp: write out .bsp.json files for testmaps
2022-05-14 15:08:49 -06:00