Jonathan
d872514b56
split bspfile.hh into multiple files which store the respective BSP info for the different BSP types; bspfile_generic stores the upper-most data (the superset of all BSP types), whereas the individual files contain the subsets.
2022-06-16 12:06:37 -04:00
Jonathan
740ab24626
bspx stuff into its own file
...
change the printing to be less redundant on BSP version
2022-06-16 10:59:22 -04:00
Jonathan
f53a6a19fe
move extended_texinfo_t to qbsp, since it's only used during compilation and not related to the BSP file
2022-06-16 09:50:00 -04:00
Jonathan
41ef66190f
consistency rename; gtexinfo_t -> mtexinfo_t
2022-06-16 09:36:31 -04:00
Jonathan
8afcc54b74
move making contents valid from brush parsing into gamedef
2022-06-15 09:07:37 -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
Jonathan
12caf1bcd4
move transsky/transwater code into portal_can_see_through
2022-06-13 02:34:39 -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
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
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
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
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
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
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
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
33f1681261
bspfile.hh: updates to content type constants docs
2022-06-08 01:03:39 -06:00
Eric Wasylishen
e3ee12e985
Merge branch 'type-cleanup' into brushbsp
2022-06-03 23:44:03 -06:00
Eric Wasylishen
b6c421d30e
bspfile.hh: #define -> constexpr for content flags
2022-06-03 20:12:04 -06:00
Eric Wasylishen
4957622c50
Merge branch 'type-cleanup' into brushbsp
2022-05-13 01:24:14 -06:00
Jonathan
59db5bfdc5
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
...
# Conflicts:
# include/qbsp/qbsp.hh
# qbsp/map.cc
# qbsp/qbsp.cc
2022-05-11 09:50:46 -04:00
Jonathan
cbdb5c0c73
slight bit of cleaning
2022-05-11 09:46:39 -04:00
Eric Wasylishen
a1b8a38283
merge non-brush bsp specific changes from brushbsp branch
2022-05-11 01:58:53 -06:00
Eric Wasylishen
1df848cfc1
testqbsp: areaportal test
2022-05-04 17:47:14 -06:00
Eric Wasylishen
13612f18d0
qbsp: factor out 'chops' condition in BrushGE
2022-05-01 00:48:58 -06:00
Eric Wasylishen
fb59c2e950
bspfile.hh: q1 contents from #defines to constexpr
...
now prints properly in GTest assertions
2022-04-28 00:47:34 -06:00
Eric Wasylishen
8731dcb469
bspfile.hh: remove covered_native
2022-04-26 01:23:36 -06:00
Eric Wasylishen
1a0b4c0733
qbsp: more covered_native stuff to remove
2022-04-25 22:01:10 -06:00
Eric Wasylishen
9977c14a2f
bspfile: add gamedef_t::contents_seals_map()
2022-04-25 18:40:55 -06:00
Eric Wasylishen
a019088c2f
Merge branch 'type-cleanup' into brushbsp
2022-04-02 21:05:46 -06:00
Jonathan
c81e9ace28
remove old threading code entirely
...
add new parallel logging stuff in common/parallel which wraps parallel_for(_each) and provides automatic percentage indicator
fix issue with light not pulling in settings
move logging stuff into its own namespace and simplify
2022-03-01 10:28:59 -05:00
Jonathan
df92d9ce12
Command line args systems ( #2 )
...
* cmd
* cmake change for tbb DLLs
add in test for double-hyphens
* cmd
* game version
* settings!
* bsp texture usage
decompile fix for q1bsp
* finish up the options for qbsp
* light finished?
* finish up the few missing bits
* move scalar/int32 up
* Run clang-format pass
* natvis for our mathlib
use slightly faster storage for winding
fix light tests
* allow dictionary to be a base type
* re-run style
* Remove cfg_static
Fix options summary
* natvis for lockable_value<T>
* last-ish pass?
* format
* forgot last few lockables
2022-02-27 00:01:57 -05:00
Eric Wasylishen
658d807052
qbsp: finish re-adding CSG code
2022-02-21 12:35:27 -07:00
Eric Wasylishen
3b348af301
qbsp: wip mirroring faces
2022-02-21 00:47:57 -07:00
Jonathan
d076920665
Revert "Instead of calculating brush extents globally, do it per brush creation"
...
This reverts commit 069720078f .
2022-01-27 01:52:08 -05:00
Jonathan
069720078f
Instead of calculating brush extents globally, do it per brush creation
...
Use portal node bounds for extents
2022-01-27 01:03:38 -05:00
Jonathan
571e7337fc
Fix the temporary hintskip detection and finally move it to gamedef
...
Dynamic extent calculation - turned on by default - will automatically determine the extents used for winding_from_plane beforehand. On a 50kb .map file it only takes about 10ms, so for the majority of maps it should be instantaneous.
2022-01-26 18:03:31 -05:00
Jonathan
0414c77c19
Use copies rather than moving for conversion, so that graceful upgrades are graceful again
2022-01-25 04:49:20 -05:00
Jonathan
68424edb8d
introduce a flag for whether the target game supports bmodels with contents
...
move the check in SubdivideFace so that it can early-exit if subdivision isn't even enabled
2022-01-21 00:51:06 -05:00
Eric Wasylishen
4e94c7bab3
bspfile: fix UB reinterpret_cast causing ASan to complain on macOS
2022-01-15 22:40:03 -07:00
Jonathan
0c827208ec
Allow `-subdivide 0` to turn off subdivision
...
imglib now lives in common
fs 'load' split into two functions, where and load. the former allows you to query for and return archive & path for a given file, whereas the latter handles that for you.
use log verbose in light rather than own verbose flag
2021-11-21 15:08:02 -05:00
Jonathan
8cadf06d81
New FS!
...
First FS test: use it for decompile for Q2 to prevent unnecessary suffixes
2021-11-05 19:25:37 -04:00