Eric Wasylishen
c9a1d9f096
qbsp: don't store leafnode->volume once the leaf is created
2022-08-09 23:14:20 -06:00
Jonathan
74dcb1454e
remove mapface_t::visible, it's unused
2022-08-10 00:55:10 -04:00
Jonathan
834838ed72
move lmshift to mapface_t
...
store original mapface_t that a face_t was generated from
2022-08-10 00:53:58 -04:00
Jonathan
70f015a36c
move func_areaportal and lmshift from bspbrush_t to mapbrush_t
2022-08-10 00:48:55 -04:00
Jonathan
c0cec4e1ba
Rewrite of 697e3325f8
2022-08-10 00:11:17 -04:00
Jonathan
44eff2d7b1
throw in percent logging for MakeTreePortals
...
when node_t converts to leaf, destroy anything on it by re-initializing it
2022-08-09 20:33:49 -04:00
Jonathan
d6411cef01
remove AssertNoPortals - it's impossible for it to ever hit, and it's kind of expensive (~150ms for 60k portals)
2022-08-09 19:22:42 -04:00
Jonathan
ffeecd550f
clear tree when it's no longer required
2022-08-09 17:02:59 -04:00
Jonathan
697e3325f8
go back to vector for brush lists
2022-08-09 16:00:51 -04:00
Jonathan
b37917c9ca
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
2022-08-09 14:57:46 -04:00
Jonathan
5e6dc9d274
parallelize free
2022-08-09 14:57:42 -04:00
Eric Wasylishen
67a376ad18
qbsp: BuildTree_r: avoid copying node->volume
2022-08-09 00:51:18 -06:00
Eric Wasylishen
f3b9de57c6
build: add tbbmalloc
2022-08-09 00:19:39 -06:00
Eric Wasylishen
30b529b70f
qbsp: keep a pool of node_t's in tree_t in a tbb::concurrent_vector
...
rather than using std::unique_ptr recursively in nodes
2022-08-08 23:43:36 -06:00
Jonathan
189f70ca30
add in-place versions of union and expand to help with inlining
2022-08-08 22:43:10 -04:00
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