Eric Wasylishen
4c1d4af2ed
cleanup: use spaceship operator where possible
2025-01-01 16:57:21 -07:00
Eric Wasylishen
ca26b0e669
style: use twosided<T> instead of std::array<T,2>
2024-12-25 20:03:51 -07:00
Eric Wasylishen
9f4cfb0c3d
cleanup: code formatting pass
2024-11-18 21:25:27 -07:00
Eric Wasylishen
71933f2be1
cleanup: don't pass double by reference (it's only 8 bytes)
2024-11-17 21:34:54 -07:00
Eric Wasylishen
f5d105b34d
qvec: allow gtest to print
2024-09-18 23:12:26 -06:00
Eric Wasylishen
6351cc50e6
rename: vec_t -> double
2023-12-23 21:09:16 -07:00
Jonathan
1eaf2170f8
Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
...
# Conflicts:
# light/trace_embree.cc
2023-12-07 14:13:36 -05:00
Jonathan
ec452e2291
remove implicit conversion for qplane3
2023-11-19 19:41:58 -05:00
Eric Wasylishen
8845866c00
qvec: use fold expression for qv::dot
...
seems to help codegen on msvc.
gmsp3v2.bsp vis times: 51.9s , 52.1s
prev commit was 56s
2023-11-09 00:25:31 -07:00
Jonathan
0ea6b0989c
clean up vec stuff a bit
...
constexpr assignment operators
2023-11-09 01:38:17 -05:00
Jonathan
b83c4a6440
use fold expr instead of for statements in vec3
...
fix a bunch of clang warnings
2023-11-04 19:01:08 -04:00
Jonathan
6baa1243cf
allow auto-gamedir to handle subdirectoried maps properly
...
fix include paths
2023-09-08 08:41:56 -04:00
Eric Wasylishen
7608a78b44
style: use std::min/std::max/std::clamp and remove using
2023-08-07 15:42:29 -06:00
Eric Wasylishen
aa74b76815
common: add qmat::transpose()
2023-07-06 17:13:14 -06:00
Eric Wasylishen
64146f306e
fix gcc build?
2023-06-18 23:44:28 -06:00
Eric Wasylishen
c9e41ab4db
style: remove GLM_ prefix (no longer using glm)
2023-05-07 21:44:29 -06:00
Random
b49d4879f2
include cstdint in vec.hh to fix build ( #354 )
2023-05-03 19:13:45 -06:00
Eric Wasylishen
b17633f746
cleanup: set PackConstructorInitializers: Never
2023-02-20 10:23:59 -07:00
Eric Wasylishen
dd6e49c89f
light: support _object_channel_mask on func_group
2023-02-20 00:07:08 -07:00
Eric Wasylishen
eda6155844
cleanup: run ./clang-format-all.sh
...
clang-format version 15.0.7
2023-02-18 22:59:43 -07:00
Jonathan
15b9a78fd1
fix gate being incorrect
...
add surflight grouping
fix minlight on color'd _surface lights
2022-12-05 20:35:44 -05:00
Eric Wasylishen
37b901a915
fmtlib 7.1.3 -> 9.1.0
2022-11-13 18:55:35 -07:00
Eric Wasylishen
c39ee38454
qvec: add 3x3 matrix inverse, row major factory method
2022-11-02 00:32:06 -06:00
Eric Wasylishen
636b376577
squash brushbsp-compilation-speedup branch
...
move function implementations out of headers
2022-10-21 18:00:58 -06:00
Eric Wasylishen
1726f95484
use <fmt/core.h> instead of <fmt/format.h>
...
Should lighten compile times.
The only loss here is we'll no longer inherit e.g. "float" format specifiers for qvec3f.
2022-09-29 19:49:48 -06:00
Jonathan
f7b8f85ece
use an optional<uint8_t> to store hull number, which gets rid of special -1 collision hull number.
...
fixed no-hull always chopping even with chop off
2022-08-15 06:13:30 -04:00
Eric Wasylishen
12abfb93cf
qbsp: add fmt formatters for aabb_t, plane_type_t, qplane3, qbsp_plane_t
2022-08-07 16:58:52 -06:00
Jonathan
d8fd13d481
use <= gating for brightness for surface and bounce lighting, since these can often be very small values (provides a moderate speed increase as well, counter-balancing the next change)
...
bounce lighting generates a grid of bounces rather than a single light, improving lighting in conditions with larger faces or where the midpoint is blocked by other geometry
2022-07-29 22:26:07 -04:00
Jonathan
1d8a0c1df3
clang-format pass
2022-07-28 06:14:54 -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
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
2264de71a2
Revert "very slight speedup (~3% improvement) on normalize; don't sqrt if we don't need to (rare), and use multiplication instead of division"
...
This reverts commit 8fe525f5b2 .
2022-06-26 01:24:47 -04:00
Jonathan
00485553f3
/ should be *
2022-06-26 01:22:03 -04:00
Jonathan
8fe525f5b2
very slight speedup (~3% improvement) on normalize; don't sqrt if we don't need to (rare), and use multiplication instead of division
2022-06-25 20:56:08 -04:00
Jonathan
a4c304272a
use floats for dealing with ray info, for consistency (and to avoid a bunch of float->double casts)
...
use raydir from hit point rather than calculating it twice
2022-06-25 04:47:26 -04:00
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
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
Eric Wasylishen
6e3bb91d98
build: fix build on macOS/clang
2022-05-11 00:21:14 -06: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
Jonathan
5dd2deba8e
use custom type for two-sided things to simplify brain power (.front/.back is easier to process than [0]/[1])
2022-01-23 00:26:58 -05:00
Eric Wasylishen
5c7a490fea
qv::PolyArea: return 0 for degenerate polygons
2021-12-15 23:12:48 -07:00
Jonathan
0e361f9323
Support for Q2BSP decompilation
...
- there's still a couple failure cases - specifically base1 in the outdoor area has a side that wasn't able to match to a face
- the clip brush at the start of base1 gets cut into a bunch of pieces because of the whole "check for texinfo, compare and split into multiple pieces" thing, but I'm pretty sure it's just one single brush - we need to ignore the splitting thing on clip brushes since they don't care about texture
- triggers don't pull in a temp texture
- origin brushes?
2021-10-27 17:56:56 -04:00
Jonathan
3f27b11bf9
Fix qv::min/qv::max
2021-10-25 19:37:18 -04:00
Jonathan
1ccbe9e12c
wrbrushes lump using streaming now
...
temp(?) fix for structural covered by detail
2021-10-25 19:24:07 -04:00
Jonathan
e0ed70cc87
no more Vector!
2021-10-25 10:38:15 -04:00
Jonathan
e1695ebfd3
VectorAdd & simplify TexDef_BSPToBrushPrimitives (needs testing)
2021-10-25 08:39:29 -04:00
Eric Wasylishen
71c5501ef0
qvec: revert plane3::operator- change.
...
not worth trying to maintain all of the inconsistent special cases of the old code.
2021-10-24 16:20:52 -06:00
Eric Wasylishen
72b39bc576
qplane3::operator-: implement "inverting" the normal as 0 - normal
...
to avoid introducing -0, for consistency with the old code, which tended to flip normals this way.
2021-10-24 14:47:02 -06:00
Jonathan
3456f62a90
Smaller equalExact (probably should just get rid of this tbh)
...
Fix for ClosestPointOnLine
2021-10-24 14:20:24 -04:00
Jonathan
bfc854efcb
base64 bmp images for texture debug
...
Fix qv::length
2021-10-24 13:55:27 -04:00