Commit Graph

295 Commits

Author SHA1 Message Date
Eric Wasylishen ebe157cb43 cleanup: get_hull_sizes(): use std::span instead of std::initializer_list 2025-02-04 19:55:39 -07:00
Eric Wasylishen f930305695 common: surfflags_t: convert is_hint to function that checks for Q2_SURF_HINT 2025-02-01 16:04:08 -07:00
Eric Wasylishen 429921868a common: surfflags_t: convert is_nodraw to function that checks for Q2_SURF_NODRAW 2025-02-01 15:53:37 -07:00
Eric Wasylishen b8fdbe3d41 cleanup: don't pass contentflags_t by reference (it's only 8 bytes) 2024-11-17 21:23:09 -07:00
Eric Wasylishen aa3b8479b4 qbsp: shrink node_t from 280 to 208 bytes
- contentflags_t from 80 to 8 bytes
2024-03-09 19:37:23 -07: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 9ed4f3d042 bunch of double -> float
fix Q2 animated textures
2023-12-07 14:11:46 -05:00
Eric Wasylishen c77f4ba2dd qbsp: fix misc_external_map + -wrbrushes
- fix world extents not including external maps
- thanks @DaZombieKiller for pointing this out

Fixes #372
2023-11-18 15:14:38 -07:00
Eric Wasylishen 7608a78b44 style: use std::min/std::max/std::clamp and remove using 2023-08-07 15:42:29 -06:00
Jonathan 19500bca0a fix bounds checks only checking [0] 2023-07-21 00:21:58 -04:00
Jonathan 064e7980fd allow --scale to take three parameters. negatives *kind of* work but won't work with lightgrid, etc. 2023-07-06 08:25:02 -04:00
Eric Wasylishen 18a7df1a1b style: reformat 2023-05-07 21:44:29 -06:00
Jonathan bd047020d2 fix antiportals up a bit 2023-04-29 13:40:34 -04:00
Jonathan 39a54abfc6 add support for a region brush (code needs to be cleaned up a bit though)
allow _surflight_style on brush models
2023-04-28 13:31:50 -04:00
Eric Wasylishen 50d97321d7 qbsp: add -bmodelcontents flag 2023-04-22 19:15:55 -06:00
Eric Wasylishen 096f347a12 qbsp: fix func_detail_fence/func_detail_wall with DETAIL set on brushes 2023-02-22 01:16:32 -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 c2acae8c6b fix hint brushes 2023-02-06 21:58:53 -05:00
Eric Wasylishen 35fe26b7a6 qbsp: fix FindTargetEntity (was breaking hiprotate) 2022-12-19 00:55:20 -07:00
Eric Wasylishen 04adb17b1b qbsp: fix -nodetail in q2 mode 2022-11-21 00:10:26 -07:00
Eric Wasylishen 12d82db8b1 qbsp: implement -omitdetail for q2 2022-11-20 23:58:30 -07:00
Eric Wasylishen b81b52da5a qbsp: fix nonsolid bmodels in hul1/2 2022-11-11 15:04:53 -07:00
Eric Wasylishen 93d059058f testqbsp: fix mirrorinside + bmodels in Q1 mode 2022-11-11 12:33:47 -07:00
Eric Wasylishen 2bd2515792 all: cleanup unused includes (Clion - detect not directly used) 2022-10-31 21:37:34 -06:00
Eric Wasylishen 35ffc00462 all: add LIGHT_/QBSP_/VIS_ prefixes to epsilons where necessary 2022-10-30 15:08:10 -06:00
Eric Wasylishen 501ced4bfe qbsp: restore func_detail_wall support 2022-10-21 18:33:38 -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 2a9393cc54 bspbrush_t: add contains_point() query 2022-10-05 23:49:34 -06:00
Eric Wasylishen acf334daee cleanup: rename surfflags_t::is_skip to is_nodraw
This is a break to the .json format
2022-09-18 15:47:14 -06:00
Eric Wasylishen 09f0e2a0c5 qbsp: preserve brush side texinfo in collision hulls
17k -> 9.8k clipnodes on testmaps\retrojam1_ericw.map

setting the texinfo to 0 was defeating the bsp heuristic, because
texinfo 0 was marked as is_skip, which makes side_t::is_visible()
return false (which makes us not care about splitting those brush sides)
2022-09-17 21:46:02 -06:00
Eric Wasylishen cea123f955 qbsp: Brush_LoadEntity: print source brush side stats (visible/invisible) 2022-09-17 20:27:21 -06:00
Eric Wasylishen 88a88882a9 qbsp: initialize 'visible' in CreateBrushWindings 2022-08-28 23:15:49 -06:00
Eric Wasylishen c8c526ab57 qbsp: fix mist-clip intersection chopping up the faces
note it makes the simple_worldspawn_detail clipnodes count
test fail. Clipnode counts are way too high in general so this isn't
a huge issue yet.
2022-08-28 14:13:14 -06:00
Jonathan 7422776f38 move _omitbrushes to the loading phase; this will greatly improve performance of loading a map with a ton of brushes that has most of them omitted. 2022-08-20 09:53:23 -04:00
Jonathan bfe56b0663 fix the Q1 bevel code for testing later 2022-08-20 08:19:46 -04:00
Jonathan 8a5ad5bc4d simplify Brush_LoadEntity a bit by moving some of the contents setting to mapbrush loading; note that this causes a bit of issue with mirror_inside & clipsametype currently because of Q1 contents code. needs adjusting 2022-08-20 08:14:36 -04:00
Jonathan e020cd6be6 comment out the hintskip face removal; this seems to break later processes. qbsp3 doesn't do this.. 2022-08-19 16:09:37 -04:00
Jonathan 69aad26097 move & document bevel boolean
don't report invalid winding more than once
ceil the extents, so we don't get weird values like "world extents calculated to 5082.29327318318"
2022-08-19 13:46:37 -04:00
Jonathan 057ae544c4 use references in places where we know it's non-null 2022-08-19 12:11:35 -04:00
Jonathan a5557bc87d Revert "remove the Q1 bevel stuff"
This reverts commit f5f80479a3.

# Conflicts:
#	qbsp/map.cc
2022-08-19 07:15:39 -04:00
Jonathan 9e764d8035 document some stuff
remove mapface_t::value and mapface_t::flags; they are duplicated by texinfo
add mapface_t::get_texinfo and face_t::get_texinfo so that you can fetch them easier
2022-08-17 07:30:31 -04:00
Jonathan f5f80479a3 remove the Q1 bevel stuff 2022-08-17 03:49:42 -04:00
Jonathan 95c728a5b6 fix legacy bevel bug
pushing up changes for Q1 hulls just in case we ever want these back
2022-08-16 13:52:30 -04:00
Jonathan 0c90a33f28 enable Q1-style hull expansion; these expanded brushes seem to look better. hopefully we can figure out a way to backport & optimize this code for mapbrush_t, but for now it's only used in Q1 hull expansions 2022-08-16 05:33:38 -04:00
Eric Wasylishen 83cf63e77f revert using detail on hull1/2 for now as it's breaking tests 2022-08-15 21:17:17 -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
Jonathan 20f5d73a3c always use inside filling for auto
allow details in hulls
use std::optional for an optional-esque value
2022-08-15 04:53:36 -04:00
Jonathan 97665d15a9 fix slight mistype in Brush_LoadEntity
make ~settings_container virtual so light_t can be freed properly
reset visible to false on all brush sides
2022-08-15 03:37:38 -04:00
Jonathan 781a772d8a move immediately instead of splicing after construction (probably compiles to the same code but whatever)
don't add all of the `result_portals_onnode` one at a time; just directly copy-elision the result.
2022-08-14 07:33:41 -04:00