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
Eric Wasylishen
b343b9504a
qbsp, light: support _minlight_exclude on func_group, detail, etc.
2019-04-05 21:14:39 -06:00
Eric Wasylishen
fd8b205dd2
light: fix fix_coord bug (for sampling fence textures) and
...
rename clamp_texcoord. Thanks to mxd for spotting the bug.
Fixes #260
2019-03-24 23:43:47 -06:00
Eric Wasylishen
ad65449cef
qbsp: add "-midsplitsurffraction n" option as an alt. to -maxnodesize
...
switch to midsplit if the node contains more than this fraction of the
model's total surfaces. Try 0.15 to 0.5. Works better than
maxNodeSize for maps with a 3D skybox (e.g. +-128K unit maps)
2019-02-11 00:52:38 -07:00
Eric Wasylishen
16ad2b077a
qbsp: -objexport debugging: Add another point where an .obj is dumped
2019-01-26 22:22:07 -07:00
Eric Wasylishen
2df839cfc2
light: Add "_bounce" "-1" to disable bouncing for a func_detail/etc.
2019-01-22 00:02:46 -07:00
Eric Wasylishen
0ac4909396
qbsp: change outside.cc to not fill leafs that have faces that are
...
straddling in and out of the void.
Previously, we were just deleting these faces, leaving HOMs.
Keeping them but filling the leaf in as solid doesn't work either, because
if they are the only faces left in the leaf it messes up the content type
determination later.
Fixes test_tjunc01.map test case from Qmaster.
2019-01-19 21:56:05 -07:00
Eric Wasylishen
8a47233bbf
bsputil: start a --compare feature for helping with qbsp testing
2019-01-10 02:58:37 -07:00
Eric Wasylishen
4a360989f3
qbsp: add -worldextent option for compiling large maps, default 65536
2018-12-24 01:53:08 -07:00
Eric Wasylishen
fa06716545
common: make VecStrf/VecStr threadsafe
2018-07-24 00:18:43 -06:00
Eric Wasylishen
e6411b2cee
light: alternate fix for lockable_vec_t::stringValue()
2018-07-24 00:12:31 -06:00
MaxED
07447a633e
Rewritten parts of surface light logic. Should resemble qrad3 looks a bit more now...
...
Added "surflightscale", "surflightbouncescale" and "surflightsubdivision" cmdline/worldspawn settings.
Fixed: a face should not be skipped when it has both sky and nodraw texinfo flags.
Fixed some non-windows compilation errors.
2018-05-25 14:59:22 +03:00
MaxED
0661098bc5
Quake 2 support: area lights, palette/texture loading, transparent/sky/fence face flags.
2018-05-08 15:50:01 +03:00
Eric Wasylishen
30c19ab9da
qbsp: support reading Q2/Q3 detail flag
2018-03-18 19:50:35 -06:00
Eric Wasylishen
f92b48a8cb
qbsp: experimental _noclipfaces key
2018-03-13 12:23:41 -06:00
Eric Wasylishen
94dbd0a705
qbsp: _phong_angle_concave support
2018-01-30 01:20:38 -07:00
Eric Wasylishen
23b25a0a0e
qbsp: add failing tests for healing invalid texture projections
2018-01-28 01:54:58 -07:00
Eric Wasylishen
82e3aef283
light: add FacePairConcavity
2018-01-11 21:57:48 -07:00
Eric Wasylishen
ebb508c7db
light: remove transparent lightmaps spam
2017-12-28 12:50:32 -07:00
Eric Wasylishen
d31d3621bc
light: add MakePlane function
2017-12-10 21:28:35 -07:00
Eric Wasylishen
33bc1ee05e
light: wip work on CalcPointNormal
2017-12-06 23:38:59 -07:00
Eric Wasylishen
71d9f8ce8a
light: move NeighbouringFaces_new to phong.cc
2017-12-06 00:23:21 -07:00
Eric Wasylishen
69879b4104
light: add -highlightseams flag
2017-12-05 15:09:34 -07:00
Eric Wasylishen
d9f112a97f
light: add -phongdebug_obj flag
2017-11-25 23:12:23 -07:00
Eric Wasylishen
d4d2d537eb
light: split GLM_PolyRandomPoint into precomputed portion
...
take uniform random params explicitly
2017-11-24 18:01:18 -07:00
Eric Wasylishen
92bacbe7e1
light: FacesOverlappingEdge: return the edge that overlaps
2017-11-24 14:22:54 -07:00
Eric Wasylishen
8ce7a682b1
light: add -debugneighbours
2017-11-23 23:45:15 -07:00
Eric Wasylishen
7170aac1c3
light: FacesOverlappingEdge
2017-11-23 23:45:05 -07:00
Eric Wasylishen
f356ea40d1
bsputils: add more bounds-checked accessors
2017-11-23 23:45:05 -07:00
Eric Wasylishen
88ee157b97
mathlib: add LinesOverlap function
2017-11-23 23:45:00 -07:00
Eric Wasylishen
501fb9ee40
light: add FacesUsingVert
2017-11-19 23:47:29 -07:00
Eric Wasylishen
2ea0076160
qbsp: experimental func_illusionary_visblocker
2017-10-24 22:17:10 -07:00
Eric Wasylishen
abf2a3665b
vis: fix to use mbsp_t
2017-10-24 20:01:04 -07:00
Eric Wasylishen
cbba35a346
common: logprint: print to visual studio console
2017-10-24 19:51:29 -07:00
Eric Wasylishen
4471a80aa9
common: add q2 content types (from: https://github.com/id-software/quake-2-tools )
2017-10-03 18:17:10 -06:00
Eric Wasylishen
873e0b8a35
common: Face_IsLightmapped: q2 support
2017-10-03 14:42:19 -06:00
Eric Wasylishen
2dc22b7088
common: add loadversion to mbsp_t
2017-10-03 14:17:42 -06:00
Eric Wasylishen
dff71edfe9
light: very early q2 support. half of the faces seem to be saved without lightmaps for some reason
2017-10-03 00:33:14 -06:00
Eric Wasylishen
df06ead299
common: q2 <-> generic conversion
2017-10-02 16:02:01 -06:00
Eric Wasylishen
8813d272cb
common, light, vis: change from bsp2_t to mbsp_t
2017-10-01 22:32:20 -06:00
Eric Wasylishen
b847af61e1
common: bsp29_t <-> mbsp_t conversion
2017-10-01 21:27:00 -06:00
Eric Wasylishen
f7635162c9
common: bspfile refactoring
2017-10-01 20:51:16 -06:00
Eric Wasylishen
dcac3e70c9
common: refactoring some of the generic bsp stuff
2017-10-01 18:08:38 -06:00
Eric Wasylishen
bcf3f2e3e3
qbsp: add _external_map_scale key for misc_external_map
2017-10-01 12:39:15 -06:00
Eric Wasylishen
7aa5e4cc48
common: add "generic bsp" types
2017-09-26 16:14:25 -06:00
Eric Wasylishen
5fc3110df6
common: get bspinfo working with q2bsp
2017-09-25 00:22:10 -06:00
Eric Wasylishen
55f2c3c47e
common: add q2 structs to bspfile.hh
2017-09-24 22:47:27 -06:00
Eric Wasylishen
d4f3e5de65
qbsp: partially revert "csg: mirror faces, even for solid, to help leaf content assignment" and turn it into a flag
...
(comit a910dd861a )
fixes https://github.com/ericwa/tyrutils-ericw/issues/175 (swtest2.map)
2017-09-16 11:18:30 -06:00
Eric Wasylishen
258f69a27f
Revert "vis: remove max portals on leaf limit"
...
This reverts commit b111346cca .
2017-09-15 14:32:13 -06:00
Eric Wasylishen
b111346cca
vis: remove max portals on leaf limit
2017-09-13 13:29:46 -07:00
MaxED
15871d2531
light: add _spotlightautofalloff
2017-08-27 14:20:03 -06:00
Eric Wasylishen
d195c0bd2a
qbsp: add _mirrorinside key for func_water, etc.
2017-08-27 12:14:09 -06:00
MaxED
fe1e040cd1
Added "_falloff" light property. Allows to set light falloff in map units.
2017-08-23 15:00:32 -06:00
MaxED
97ab6fcdab
Added arghrad-style sun setup using light entity.
2017-08-23 14:18:10 +03:00
Eric Wasylishen
c8ac9d2670
light: print position of degenerate faces during phong shading
2017-07-30 12:01:00 -06:00
Eric Wasylishen
38a7d6a944
qbsp: expose PointInLeaf as debug helper
2017-07-24 22:57:43 -06:00
Eric Wasylishen
c300170752
qbsp: disable q3map stuff
2017-07-24 14:13:57 -06:00
Eric Wasylishen
51fa4dc056
qbsp: expose WriteBspBrushMap
2017-07-23 14:20:35 -06:00
Eric Wasylishen
8bfe9b4602
qbsp: exportobj.cc: helpers for exporting face/brush vectors
2017-07-23 14:15:10 -06:00
Eric Wasylishen
3efc9c1f3e
qbsp: make Contents_Priority public
2017-07-23 14:08:34 -06:00
Eric Wasylishen
39aa7dcd0f
qbsp: add FilterStructuralBrushesIntoTree
2017-07-23 13:13:09 -06:00
Eric Wasylishen
b38c04b372
qbsp: clean up brush memory leaks
2017-07-23 13:12:14 -06:00
Eric Wasylishen
7c49d499c2
qbsp: tidy FreeBrushes
2017-07-23 02:48:58 -06:00
Eric Wasylishen
578d24951d
qbsp: fix memory corruption in SplitBrush
2017-07-23 01:51:31 -06:00
Eric Wasylishen
9629134612
qbsp: fix some issues with SplitBrush
2017-07-23 01:32:04 -06:00
Eric Wasylishen
3bb22ef22b
qbsp: add SplitBrush from q3map (not yet tested)
2017-07-23 00:42:09 -06:00
Eric Wasylishen
d246d2a798
qbsp: add FlipWinding
2017-07-22 23:53:33 -06:00
Eric Wasylishen
1859a1c0b5
qbsp: make DivideWinding saner + const
2017-07-22 21:29:04 -06:00
Eric Wasylishen
11a7e7bc88
qbsp: refactor BrushMostlyOnSide to take separate normal/dist
2017-07-22 19:36:55 -06:00
Eric Wasylishen
b8dec3ed2b
qbsp: add ChopWindingInPlace from q3map
2017-07-22 19:30:51 -06:00
Eric Wasylishen
5158b6d296
qbsp: add BoundBrush (from q3map)
2017-07-22 17:09:03 -06:00
Eric Wasylishen
7ef5ad162d
qbsp: add BrushMostlyOnSide (from q3map)
2017-07-22 17:05:09 -06:00
Eric Wasylishen
9868c7f965
qbsp: Add BrushVolume
2017-07-22 16:33:26 -06:00
Eric Wasylishen
7d1dc71069
qbsp: add Face_Plane
2017-07-22 16:31:26 -06:00
Eric Wasylishen
bca6a55662
qbsp winding: add WindingArea
2017-07-22 16:31:21 -06:00
Eric Wasylishen
5893c16267
mathlib: add AddPointToBounds, ClearBounds
2017-07-22 16:31:15 -06:00
Eric Wasylishen
0ebbdac5f9
qbsp: refactor FindPlane
2017-07-17 21:24:32 -06:00
Eric Wasylishen
0d0f265f05
mathlib: add VectorClear
2017-07-17 21:20:17 -06:00
Eric Wasylishen
a34f3df88d
qbsp: surfaces.cc: use std::map for vertex hashing
2017-07-17 16:35:11 -06:00
Eric Wasylishen
8b9f5ea40a
qbsp: fix handling of duplicate planes
...
fixes spurious leak in e1m4.map
2017-07-15 13:51:26 -06:00
Eric Wasylishen
1a15d5f0e9
qbsp: add -leaktest option (from q2)
2017-07-15 12:23:11 -06:00
Eric Wasylishen
0263f95e59
qbsp: add -expand flag from q3map for testing hull1 expansion
2017-07-11 17:54:28 -06:00
Eric Wasylishen
be2799578f
qbsp: remove dead code (extrafaces)
2017-07-11 00:05:57 -06:00
Eric Wasylishen
240d65f788
qbsp: outside.cc rewrite
...
- no more recursively traversing portals, as this can overflow the stack
- better outside filling and .pts file generation, inspired by q3map
(do a bfs from all leafs with entities, storing the number of steps
from an occupied leaf in each leaf. Then do a dfs from the outside node
to the first entity we hit.)
- .por file writing was dropped for now, can be re-added later
2017-07-10 12:46:22 -06:00
Eric Wasylishen
bb3e296a0d
qbsp: FillOutside: count portals yourself
2017-07-09 01:06:49 -06:00
Eric Wasylishen
d63aa409cc
qbsp: add comment
2017-07-09 00:04:47 -06:00
Eric Wasylishen
01fa4a9f58
qbsp: set up test case for #158
2017-07-08 16:23:08 -06:00
Eric Wasylishen
a4e3a3a887
Revert "qbsp: move node_t markfaces list to a std::vector"
...
This reverts commit 31df408333 .
2017-07-05 18:10:56 -07:00
Eric Wasylishen
4853dd40ee
mathlib: RotateAboutX/Y/Z: change to double
2017-07-05 15:02:24 -06:00
Eric Wasylishen
117f568cd7
qbsp: don't write unused texinfo.
...
also cleanup planes writing
2017-07-03 01:58:26 -06:00
Eric Wasylishen
31df408333
qbsp: move node_t markfaces list to a std::vector
2017-07-02 21:03:41 -06:00
Eric Wasylishen
0cba9c5138
qbsp: clarify node->children comment
2017-07-02 20:44:16 -06:00
Eric Wasylishen
97787e9d2c
qbsp: add extrafaces argument to MakeFaceEdges
2017-07-02 20:06:41 -06:00
Eric Wasylishen
80380fa7fd
qbsp: drop ExportNodePlanes. Planes were already deduplicated by
...
FindPlanes.
2017-07-01 17:25:02 -06:00
Eric Wasylishen
fef1142808
light: add shadowworldonlylist
2017-06-27 13:13:32 -06:00
Eric Wasylishen
78ed70e2a5
light: modelinfo_t: take bsp param
2017-06-27 12:59:17 -06:00
Eric Wasylishen
eb7be5cd57
light: add _shadowworldonly key (unimplemented)
2017-06-27 12:57:54 -06:00
Eric Wasylishen
25d6aad5bf
light: add _selfshadow as an alias for _shadowself
2017-06-27 12:27:39 -06:00
Eric Wasylishen
4dcfc12f50
light: refactor _shadowself handling
2017-06-26 17:42:50 -06:00
Eric Wasylishen
6e707130be
light: rename dynamic shadow stuff to switchshadstyle" for QC,
...
and "_switchableshadow" for the mapper.
2017-06-26 13:41:24 -06:00
Eric Wasylishen
b71f769c0a
light: experimental support for switchable bmodel shadows:
...
Current specs/limitations:
- only supported for sunlight and regular lights
- enabled with "_dynamicshadow" "1"
- writes the lightstyle to a "dynshadowstyle" entity key, hardcoded
- only handles one dynamic occluder for a given lightmap sample
- styled lights passing through a dynamic occluder turn non-styled
2017-06-25 20:06:46 -06:00
Eric Wasylishen
602616451c
bsputils: add BSP_GetWorldModel
2017-06-25 14:37:26 -06:00
Eric Wasylishen
fb4e089e81
light: accept "_minlight" in worldspawn as an alias for "light"
...
docs: note that _minlight_color and _mincolor are supported on
worldspawn
2017-06-24 21:31:08 -06:00
Eric Wasylishen
989f0305ba
bsputil: add checks for degenerate faces, unused planes/texinfo/verts,
...
clipnodes
2017-06-21 16:36:12 -06:00
Eric Wasylishen
5aed435937
winding.hh: remove dead code
2017-06-20 17:31:27 -06:00
Eric Wasylishen
4d9b41d3ec
mathlib: fix SetPlanePts linkage
2017-06-20 17:07:36 -06:00
Eric Wasylishen
98c5dd2913
mathlib: refactor ProjectPointOntoPlane
2017-06-20 16:01:34 -06:00
Eric Wasylishen
af264821b7
mathlib: factor out SetPlanePts
2017-06-20 14:39:15 -06:00
Eric Wasylishen
85d235393e
mathlib: add vec3_t version of ProjectPointOntoPlane
2017-06-20 14:29:53 -06:00
Eric Wasylishen
85a6b9095d
qbsp: refactor PlaneInvEqual
2017-06-20 13:07:17 -06:00
Eric Wasylishen
37ed11c2ed
qbsp: experimental "misc_external_map" entity
...
"_external_map" - map to load
"_external_map_classname" - classname to switch to (e.g. func_wall)
"_external_map_angle" - rotation angle around Z axis
2017-06-15 03:43:39 -06:00
Eric Wasylishen
7545119593
mathlib: change RotateAboutZ to double
2017-06-15 03:30:10 -06:00
Eric Wasylishen
ceab425885
map.cc: factor out plane-points setting code
2017-06-15 03:30:02 -06:00
Eric Wasylishen
8d2a257729
wad.cc: factor out .wad file opening
2017-06-15 03:29:55 -06:00
Eric Wasylishen
77f3da30bf
qbsp: add func_detail_fence
2017-06-09 15:13:13 -06:00
Eric Wasylishen
d01b740b5b
qbsp: add -omitdetailwall and -omitdetailillusionary
2017-06-07 14:12:02 -06:00
Eric Wasylishen
44445becb8
qbsp: rename "_nosurfacefragment" to func_detail_wall
2017-06-05 16:22:15 -06:00
Eric Wasylishen
3ca83ea46e
qbsp: add logging for func_detail_illusionary and _nosurfacefragment
2017-06-05 14:37:40 -06:00
Eric Wasylishen
ac78efed98
qbsp: func_detail rewrite.
...
- Fix corrupt VIS issues when using func_detail
- func_detail no longer seals the map.
- add func_detail_illusionary entity type
- add func_detail key "_nosurfacefragment"
2017-06-05 14:09:31 -06:00
Eric Wasylishen
ea099775ef
qbsp, light: allow _shadow -1 to disable shadows from func_detail
2017-06-05 14:01:12 -06:00
Eric Wasylishen
e3da31b308
writebsp.cc: Assert we never write a private contents type to the bsp
2017-06-05 14:00:01 -06:00
Eric Wasylishen
30fb5ef446
qbsp.hh: clarify detail_separator comments
2017-06-01 19:40:00 -06:00
Eric Wasylishen
213e4b9f7d
qbsp: add a -nodetail switch, for debugging func_detail issues
2017-05-31 23:23:53 -06:00
Eric Wasylishen
f5d4cd9202
qbsp: add -forceprt1 option for generating a PRT1 to load in editors
...
This is for previewing the portals between clusters, since no editors
can load PRT2.
2017-05-31 23:18:04 -06:00
Eric Wasylishen
8f4b506608
qbsp: refactor cmake setup
2017-04-28 13:04:51 -06:00
Eric Wasylishen
64efc77055
qbsp: expose some stuff in qbsp.hh
2017-04-28 13:04:44 -06:00
Eric Wasylishen
3ec36f6550
qbsp: use common/cmdlib
2017-04-26 15:08:49 -06:00
Eric Wasylishen
157c3eeb4f
common: cmdlib: Add IsAbsolutePath from qbsp
2017-04-26 15:04:53 -06:00
Eric Wasylishen
32eaa99d40
qbsp: rename our plane_t to qbsp_plane_t
2017-04-26 14:55:26 -06:00
Eric Wasylishen
8c89e128c7
qbsp: drop internal mathlib
2017-04-26 14:51:27 -06:00
Eric Wasylishen
e0564e8c2a
common: mathlib: don't need #define ANGLEEPSILON
2017-04-26 14:29:07 -06:00
Eric Wasylishen
ca58e90e15
common: remove EQUAL_EPSILON from mathlib.hh
2017-04-26 14:25:55 -06:00
Eric Wasylishen
03396787b2
common: mathlib: add VectorLengthSq
2017-04-26 14:21:19 -06:00
Eric Wasylishen
902c45c946
all: make VectorCompare take an explicit epsilon
2017-04-26 14:20:45 -06:00
Eric Wasylishen
15cc98eb27
common: move SignedDegreesBetweenUnitVectors from qbsp, add test
2017-04-26 14:04:33 -06:00
Eric Wasylishen
b1f86d7ac1
common: implement buildMeshFromBSP
2017-04-24 02:01:16 -06:00
Eric Wasylishen
5eb4fd8790
common: make Face_Plane_E return a plane3f
2017-04-24 01:54:25 -06:00
Eric Wasylishen
0a64905df8
common: fix msvc build errors
2017-04-24 00:34:37 -06:00
Eric Wasylishen
68b084a6c3
replace glm with qvec
2017-04-24 00:26:49 -06:00
Eric Wasylishen
122b5ff51c
common: qmat: use NaN to indicate no inverse
2017-04-24 00:19:47 -06:00
Eric Wasylishen
d12f703cb6
common: qvec: additional const hacky accessor for [col][row] access
2017-04-23 22:27:32 -06:00
Eric Wasylishen
1f5288c321
common: qvec: hacky accessor for [col][row] access
2017-04-23 22:27:27 -06:00
Eric Wasylishen
af8f4912b5
common: qvec: add component-wise qv::pow, qv::min, qv::max
2017-04-23 22:27:22 -06:00
Eric Wasylishen
779b2045c2
common: add qclamp macro
2017-04-23 22:27:16 -06:00
Eric Wasylishen
ff3a2f58f0
common: qvec: add qv::epsilonEqual
2017-04-23 22:27:11 -06:00