Eric Wasylishen
671bacf30c
qbsp: refactor clipnode writing (changes .bsp output)
...
- drop reshuffling feature from ExportClipNodes
As far as I can tell, the only purpose of this was to keep clipnodes
for a given model contiguous within the lump (i.e. keep the different
hulls contiguous).
Vanilla qbsp didn't appear to have done this, and the code was
unmaintainable/complex, so I'm dropping the feature.
2021-08-23 18:05:37 -06:00
Eric Wasylishen
382a725f2b
qbsp: refactor writing of leafs, nodes, marksurfaces lump
...
- only support bsp29 for now
2021-08-23 18:02:05 -06:00
Eric Wasylishen
24fc2ffc6a
qbsp: refactor plane lump writing
2021-08-23 18:02:05 -06:00
Eric Wasylishen
460428d099
qbsp: refactor texinfo lump writing
2021-08-23 18:02:05 -06:00
Jonathan
eaa86c71c6
Q2BSP + QBSP ( #313 )
...
* Add QBSP - the BSP2-esque variant to Q2BSP - to bspinfo, and all of its accompanying structures.
* pass around ident, since Q2 needs it - admittedly it's a bit ugly, but it works for now.
conversion for QBSP
* Fix light
* _qbsp_ -> _qbism_
* Introduced bspversion_t, a struct that holds pertinent information about different BSP versions and also acts as a tagged pointer type for direct comparisons. This makes a lot of code paths simpler. I'm not entirely set on the wordings or usages yet, and maybe we can stuff boolean flags inside of them for different behaviors (for instance Q2, QBism and HL would have the "colored lightmap" boolean set to true, which replaces the check-for-all-three in the lightmapper)
Swapped arguments to ConvertBSPFormat to have the conversion target last instead of first
Finished rename of qbsp -> qbism
Tested:
- bspinfo on various BSPs I had laying around (Q1, Q2, Qbism)
- bsputil converting between Q2 and Qbism, and that they loaded in engine/roundtripped properly
Not tested:
- vis/rad on anything major (I still can't run rad due to embree being weird)
- bsputil conversion of Q1-esque maps
2021-08-23 09:56:33 -06:00
Eric Wasylishen
ff7f8a1542
qbsp: add -nothreads debug option
2021-08-23 00:12:38 -06:00
Eric Wasylishen
29652b4a7a
qbsp: fix some threading issues with solidbsp.cc stats
2021-08-23 00:00:01 -06:00
Eric Wasylishen
a618e5f5b5
common: assert(0) on Q_assert failure for better debugger experience
2021-08-22 23:27:05 -06:00
Eric Wasylishen
f7256907d5
common: fix build of bsputils.cc with double == vec_t
2021-08-22 15:12:19 -06:00
Eric Wasylishen
d6c888bee9
vis add -nostate debug option, skips loading from state file
2021-08-15 13:22:57 -06:00
Eric Wasylishen
72885addf1
common: fix build failure
2021-03-23 21:17:09 -06:00
Eric Wasylishen
fea7849315
common: preserve order of key/value pairs
2021-02-10 00:05:53 -07:00
Eric Wasylishen
b5fcdec19e
cleanup: remove "byte" typedef
2021-02-07 14:02:35 -07:00
Eric Wasylishen
cc116a4729
decompile: restore coplanar faces
2021-02-06 16:19:15 -07:00
Eric Wasylishen
86a644680a
qvec: add constructor to extend a vector
2021-02-06 14:11:01 -07:00
Eric Wasylishen
f0e2f4ba96
common: small tweaks: CopyWinding accepts null, document face side
2021-02-05 22:26:13 -07:00
Eric Wasylishen
708d3eccd3
qvec: add unary minus
2021-02-04 22:00:55 -07:00
Eric Wasylishen
0cdd2f97ab
common: revert Face_Miptex change, it was breaking reading of
...
Q1 texture names. TODO: fix this properly?
2021-01-31 01:27:01 -07:00
Eric Wasylishen
9124653156
common: move EntData_ function to common
2021-01-30 21:11:25 -07:00
Eric Wasylishen
d4aa42f0ab
bsputil: decompiler wip
2021-01-30 14:49:18 -07:00
Eric Wasylishen
94c30afac4
light: refactoring necessary to support embree3
2021-01-01 23:48:22 -07:00
Eric Wasylishen
00e41688c3
light: quake2: arghrad-compatible phong support
...
(set face "value" to the same non-zero number, have light flag unset)
2020-12-31 12:39:17 -07:00
Eric Wasylishen
2d15d20410
light: q2: avoid black seams on geometry near sky
2020-12-29 15:58:40 -07:00
Eric Wasylishen
eb842ba165
light: arghrad compat: preliminary sky_surface implementation
2020-12-29 13:43:06 -07:00
Eric Wasylishen
bb4d6fdea9
light: add arghrad compatible sunlight keys sun_light, sun_color, sun_angle
2020-12-29 12:59:44 -07:00
Julian Priestley
1b714108cd
Add ability to set phong in worldspawn #267 ( #305 )
2020-11-30 00:42:42 -07:00
tk
19f8ac8110
Add -visdist param from bjptools ( #300 )
...
* Add support for -visdist param from bjp tools
* add mention to man
Co-authored-by: Shpuld Shpuldson <shp@cock.li>
2020-09-18 19:11:38 -06:00
Eric Wasylishen
b35cb8eb7e
light: fixes for bjptools skip faces (which have no associated model)
2020-08-20 12:08:46 -06:00
Eric Wasylishen
a0e7f1eccb
light: refactor last commit's std::pair to a custom struct
2020-08-04 18:05:54 -06:00
Eric Wasylishen
1b53d458f4
light: support bounce and switchable shadows
...
fixes #251
2020-08-03 23:53:07 -06:00
Eric Wasylishen
03ed0697a4
light: add -litonly option for re-lighting a bsp without modifying it
2020-08-03 00:40:13 -06:00
Eric Wasylishen
c30a0a46a9
qbsp: fix origin brushes in hexen 2. Drop _no_bbox_rotation_expansion
...
document origin brushes. Never expand the bbox when origin brushes are in
use.
2020-02-24 01:26:53 -07:00
Eric Wasylishen
e2a5f62f32
vis: temporary hack of raising MAX_PORTALS_ON_LEAF to 512
2020-01-21 00:24:03 -07:00
Eric Wasylishen
d6136c154d
light: add _light_alpha func_group key for making faces translucent for
...
light
2019-12-28 21:48:33 -07:00
Eric Wasylishen
2d3aa22242
light: add _nostaticlight key
2019-12-26 17:13:21 -07:00
Eric Wasylishen
a4c1ce6ff6
qbsp, light: support _lightignore on func_detail/group
2019-12-09 00:09:20 -07:00
Eric Wasylishen
5e74b4d0bb
qbsp: fix external maps with no worldspawn brushes
...
Thanks to ZungryWare for the report
2019-11-29 21:03:54 -07:00
Eric Wasylishen
b132152891
light: allow starting assigning switchable styles before default of 32
2019-10-31 00:40:23 -06:00
Eric Wasylishen
4456020b30
light: remove 65536 ray limit, fixes #276
2019-10-28 01:12:23 -06:00
Eric Wasylishen
d7d797b898
qbsp: restore bounds expansion for rotators.
...
Add "_no_bbox_rotation_expansion" key for opting-out of the bounds expansion
Fixes #271
2019-10-27 23:02:05 -06:00
Eric Wasylishen
79d3aa99de
qbsp: fix relative paths for .wad files
...
Fixes #279
2019-10-27 19:03:45 -06:00
Eric Wasylishen
d4cc19afc5
light: rename _dome to _sunlight2/_sunlight3
2019-10-09 20:24:18 -06:00
Eric Wasylishen
fa62b20603
light: add a limited version of Lunaran's "_dome" light feature
...
that only supports domes oriented up/down like sunlight2/3
2019-10-09 02:12:04 -06:00
Eric Wasylishen
a36a128b30
light: missing file from last commit
2019-10-09 01:03:37 -06:00
Eric Wasylishen
70336339ca
light: fix "_suntexture" interaction with -bounce
2019-10-09 00:59:49 -06:00
Eric Wasylishen
f220b2f531
light: support "_suntexture" key on "_sun" "1" entities to limit them
...
to being cast from a specific sky texture.
Fixes #110
2019-10-09 00:47:39 -06:00
Eric Wasylishen
d2ecc73db3
light: support "style" / "targetname" on "_sun" "1" entities.
...
Fixes #253
2019-10-08 23:43:22 -06:00
Shpoike
89365949bc
Squashed commit of the following:
...
commit 8ca122916d
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 20:54:23 2019 -0600
fix linker error (radlights is in 2 .cpp files)
commit 8f06fc9c8d
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 20:53:57 2019 -0600
add clarification comment
commit 038a553fb0
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 20:30:27 2019 -0600
fix tests compilation
commit 02e94ec507
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 19:59:25 2019 -0600
hlbsp: use q_snprintf
commit 669a5a7911
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 19:56:21 2019 -0600
Reformat
commit 6653760982
Merge: 347a455 ac3553c
Author: Eric Wasylishen <ewasylishen@gmail.com>
Date: Thu Jul 4 19:28:06 2019 -0600
Merge remote-tracking branch 'origin/master' into hlbsp
# Conflicts:
# include/qbsp/qbsp.hh
commit 347a455102
Author: Shpoike <Shpoike@users.noreply.github.com>
Date: Thu Mar 28 02:18:16 2019 +0000
Misc HLBSP tweaks
Added support for multiple -wadpath args.
Added -xwadpath (for eg valve/*.wad to avoid bloat/license issues).
Reworked hint brushes - the non-hint surfaces can use any name, just so long as they're not 'hint', for compat with zhlt.
Support 'bevel' and 'null' textures for compat with zhlt.
commit 7fb22c7367
Author: Shpoike <Shpoike@users.noreply.github.com>
Date: Thu Mar 28 01:59:42 2019 +0000
Support for halflife-style .rad surface lights (probably too bright, but the basics work).
commit 2da504fb62
Author: Shpoike <Shpoike@users.noreply.github.com>
Date: Thu Mar 28 01:56:27 2019 +0000
Add minus-prefixed textures for halflife's randomised-textures feature, instead of getting crash-to-desktop errors when the map is loaded.
commit 6366199bdb
Author: Shpoike <Shpoike@users.noreply.github.com>
Date: Thu Mar 21 04:51:24 2019 +0000
First attempt at hlbsp output.
2019-07-04 21:08:17 -06:00
Eric Wasylishen
b04c06a616
light: fix _shadow -1 being interpreted as _shadow 1 for bmodels
2019-06-27 23:45:54 -06:00
Eric Wasylishen
ba7bdf86a1
light: increase max sky distance to 1M
2019-04-20 12:27:27 -06:00