Commit Graph

696 Commits

Author SHA1 Message Date
Eric Wasylishen 178e04e0d5 bspfile: explain why AUX and MIST are forced to be detail 2024-11-17 23:01:56 -07:00
Eric Wasylishen 1337919805 cleanup: don't pass std::string_view by reference
by value is the same on MSVC, may be marginally better elsewhere

see:
https://quuxplusone.github.io/blog/2021/11/09/pass-string-view-by-value/
https://quuxplusone.github.io/blog/2021/11/19/string-view-by-value-ps/
2024-11-17 21:52:10 -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 c755f47c03 cleanup: don't pass size_t by reference (it's only 8 bytes) 2024-11-17 21:26:27 -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 3120d5b6ed qbsp: fix test failure from last commit 2024-11-03 23:59:27 -07:00
Eric Wasylishen 3d7916e966 qbsp: fix -notex 2024-11-03 23:37:31 -07:00
Eric Wasylishen 14d8b5f6fc common: fix bitflag_names 2024-10-31 19:05:23 -06:00
Eric Wasylishen ed62ec1040 cleanup: remove unused game argument from contentflags_t::to_string() 2024-09-08 19:36:00 -06:00
Jonathan 6c9b681b0f Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2024-08-26 06:12:09 -04:00
Jonathan 2b700f0514 allow non-fatal compiler errors
fix crash in whitespace trim
increase stack size
2024-08-26 06:12:05 -04:00
Eric Wasylishen e5f01ce0e3 light: add _switchableshadow_target
Switchable shadows setup which works in id1

Fixes #432
2024-07-20 23:11:26 -06:00
Eric Wasylishen 8ac82b7c79
Add Ubuntu 24.04 CI, Fix Embree 4 (#434)
* Add Ubuntu 24.04 to CI matrix.

* Fix embree4 bitrot.

* For Linux, only upload artifact from Ubuntu 22.04 for now

Should fix this error reported on ubuntu-22.04's CI

Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run

* Use system TBB and Embree 4 on ubuntu-24.04

* skip packaging of embree/TBB if using system provided packages

* For Linux, only upload artifact from Ubuntu 22.04 for now (fix)

* common: fix ASan error on non-null-terminated (16 char long) texture names

---------

Co-authored-by: Daniel Svensson <dsvensson@gmail.com>
2024-07-20 19:51:19 -06:00
Eric Wasylishen a093037ed3 common: fix roundtrip of Q2_CONTENTS_NO_WATERJUMP 2024-06-23 12:35:00 -06:00
Jonathan f816b433d1 fix visible clip brushes
add support for the two missing content flags from re-release
2024-06-07 21:22:38 -04:00
Jonathan 8c93a4b1ff fix non-Windows 2024-06-02 19:59:53 -04:00
Jonathan b5089ce349 slight speedup by helping embree with alignment
merge some light algorithms together
allow changing attenuation on surface lights with _surflight_atten
replace some emplace_back's with push_back to improve compilation times
2024-06-02 19:49:32 -04:00
Jonathan 70a08013a7 fix portals in Q2 2024-05-29 09:40:36 -04:00
Eric Wasylishen 30868eacb7
light: LIGHTING_E5BGR9 + HDR .lit support (#427)
* light: Add support for LIGHTING_E5BGR9.

This is not really finished. Currently mutually exclusive with
regular RGBLIGHTING, and not tested with external .lit file.

* light: replace HDR_PackResult with a version following the OpenGL spec

- add HDR_UnpackE5BRG9 for unpacking
- caller is now responsible for scaling 128 -> 1
- expose in header for tests

* light: move HDR_PackE5BRG9/HDR_UnpackE5BRG9 to common/litfile.hh

* build: std::powf not available in gcc

* common: move LoadLitFile to litfile.hh

* common: LoadLitFile: return hdr variant as well

* lightpreview: add an Exposure slider

* lightpreview: support hdr .lit's, wip

* tests: refactoring to set up testing for hdr lit's

* tests: add test for -hdr and -bspxhdr

* tests: fix LM_Sample to deal with styles correctly

* lightpreview: fix glsl error

* lightpreview: show dialog box for glsl compile errors

---------

Co-authored-by: Daniel Svensson <dsvensson@gmail.com>
2024-05-26 21:55:10 -06:00
Jonathan 7dcac92491 add estimated time counter 2024-05-20 13:00:43 -04:00
Jonathan 6c9962eb8c some more memory adjustments
settings cleanup, maputil/bsputil changes

(cherry picked from commit 59ac57306f13ff53f935f51bb5df1e59e76753ef)

# Conflicts:
#	bsputil/bsputil.cc
2024-05-20 11:28:03 -04:00
Eric Wasylishen e61630d4d9 qbsp: q2: adding structrual solid to a leaf now only clears detail bit, not other bits
fixes #420
2024-04-24 23:46:40 -06:00
Eric Wasylishen c714ce597a qbsp: use mapfile.cc for .map file parsing
BP loading is broken by this commit, will need
to re-introduce loading the texture sizes in mapfile.
2024-04-07 22:20:33 -06:00
Eric Wasylishen 9985d6c8fd fix odr violations
not sure why these only started to be reported on this branch
2024-04-01 12:20:35 -06:00
Eric Wasylishen b89bac4e8c common: split start of bspfile.hh into bspfile_common.hh
old layout was confusing CLion because bspfile.hh included
itself
2024-03-11 20:14:59 -06:00
Eric Wasylishen 275695a37c qbsp: remove -transsky flag which was broken
unknown what it was useful for
2024-03-09 22:07:55 -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 ba5ad539b8 light: q2: opaque lit liquids receive light from both sides by default 2024-02-15 23:51:28 -07:00
Eric Wasylishen b12894de64 qbsp: fix "sides not found" warning spam in Q1 maps with sky
fixes #366
2024-02-11 18:48:34 -07:00
Eric Wasylishen 765d95e189 qbsp: q1: make liquids detail when -transwater is in use (i.e. by default)
Fixes #353
Fixes #244
2024-02-10 21:08:29 -07:00
Eric Wasylishen aa970c0d18 qbsp: only pick up .wad textures when compiling for non-Q2 games
fixes #404
2024-02-04 19:41:45 -07:00
Eric Wasylishen fa2a7ce15d docs: move .wal_json documentation to qbsp.rst 2024-02-03 13:59:56 -07:00
Eric Wasylishen e3644350f9 docs: document bspinfo 2024-01-29 23:09:40 -07:00
Eric Wasylishen 135aee178f bspinfo: fix naming of lightmap png export when more than 1 style is used 2024-01-29 22:55:29 -07:00
Eric Wasylishen 0aeb0acd94 qbsp: adjust tjunc logic 2024-01-24 00:22:27 -07:00
Eric Wasylishen a8443ef0cf qbsp: make ALPHATEST imply DETAIL, TRANSLUCENT, and WINDOW (if solid)
like the existing logic for TRANS33/TRANS66
2024-01-23 21:16:40 -07:00
Eric Wasylishen b66c95a53f tests: add q2_mist_transwater 2024-01-23 20:36:34 -07:00
Eric Wasylishen 6351cc50e6 rename: vec_t -> double 2023-12-23 21:09:16 -07:00
Eric Wasylishen 73b694a7a8 lightpreview: still output logging::print to console 2023-12-23 18:32:25 -07:00
Eric Wasylishen f0c8d92993 qbsp: add -missing_textures_as_zero_size flag to allow writing 0x0 textures when a texture is missing
this allows us to write the texture name, but it's non-standard.

light: warn when a surface light template doesn't match any faces in the bsp
2023-12-21 00:05:40 -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 3eb5cb7c64 qbsp: omit func_detail_illusionary from bspx brushlist
also func_illusionary_visblocker

fixes #371

qbsp: fix bspx brushes
2023-11-26 01:17:03 -07:00
Eric Wasylishen ad9fd7fc59 common: structured bspxbrushes reading/writing 2023-11-25 17:28:26 -07:00
Jonathan ec452e2291 remove implicit conversion for qplane3 2023-11-19 19:41:58 -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
iknowsomething bf50e0d604 qbsp, maputil: add parser location to "brush primitives" error messages 2023-11-18 11:22:18 -07:00
iknowsomething 815e2c2cef qbsp, maputil: fix empty brush format detection (was detected as brush_primitives) 2023-11-18 11:22:18 -07:00
Eric Wasylishen 8888506821 qbsp: fix -notex option 2023-11-09 23:57:07 -07:00
Eric Wasylishen 7e5ad9a39b lightpreview: add support for Q1 visdata 2023-11-06 22:54:21 -07:00