Commit Graph

2970 Commits

Author SHA1 Message Date
Jonathan 210d994445 cherry pick commit 96cd23761c from @Shpoike
Removed legacy switchable lightstyles limit (requires updated engines when exceeded). Added -facestyles argument that allows for >4 styles per face, as well as potentially increasing style indexes to 16bit for far far more switchable styles.
2022-06-21 15:35:39 -04:00
Jonathan 827d382d5a support color on surflights 2022-06-21 15:07:30 -04:00
Jonathan 36a8327452 cherry-pick 812159312e from @Shpoike
Don't strip extended mip data.
2022-06-21 14:11:58 -04:00
Jonathan 72914b4724 moving more raw pointers to vectors/smart pointers
support for radiosity _surface lights with `_surface_radiosity` key
allow lightstyles for _surface radiosity lights
bounce enabled by default on Q2
remove ValueForKey, use epairs directly
2022-06-21 13:41:51 -04:00
Jonathan df3e6d3988 remove Little* funcs, not used any more
remove byteswap as it wasn't used any more
re-introduce imemstream and omemstream to make it harder to accidentally use the wrong operators
add dynamic padding stream manipulator
use memstreams for BSPX
2022-06-20 21:39:08 -04:00
Jonathan c79e263753 simplify bspx code
remove old obj preview for wrnormals
2022-06-20 20:42:34 -04:00
Jonathan e422da15c3 simplify OutsideFill_Passable 2022-06-20 11:58:40 -04:00
Jonathan 4163ab80cf Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2022-06-19 19:23:04 -04:00
Jonathan 9354fc8148 reserve as much as we currently have allocated rather than only exactly how much is coming up 2022-06-19 19:22:34 -04:00
Jonathan cd77b1a7e6 use vector as overflow instead of secondary storage for winding 2022-06-19 19:17:52 -04:00
Eric Wasylishen c91bf3fc8d qbsp: add missing include 2022-06-19 16:04:29 -06:00
Jonathan 2b43f2f0c6 slight speed up to compiling surf lights 2022-06-19 12:35:43 -04:00
Jonathan 51f2bc1ff0 fix visapprox rays crashing
fix visapprox rays to work with surface lights; it's slower than vis but it at least works now
2022-06-19 12:09:12 -04:00
Jonathan e366898796 re-introduce vis culling, mainly for Q2/surface lit maps
-novisapprox gone; replaced with -visapprox auto|none|vis|rays
2022-06-18 23:56:45 -04:00
Jonathan b54e72a184 re-implement the vis changes 2022-06-18 18:42:00 -04:00
Jonathan e82a914f6b Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2022-06-18 18:36:13 -04:00
Jonathan b21920841d revert some of the vis stuff, but re-implement it in a more working state 2022-06-18 18:36:09 -04:00
Eric Wasylishen 276b62e30a Revert "first attempt at clustering leaffaces together"
This reverts commit a41c68886a.
2022-06-18 16:26:31 -06:00
Eric Wasylishen 0a424ca79c testqbsp: add a markfaces test to simple_sealed 2022-06-18 16:26:28 -06:00
Jonathan dfa1282d40 simplify/c++-ize CompressRow code and related areas (less allocations overall) 2022-06-18 18:25:23 -04:00
Eric Wasylishen 3492ef2b9e qbsp: fix invalid leaf bounds in MakeTreePortals_r 2022-06-18 16:13:00 -06:00
Eric Wasylishen ccf605794e qbsp: throw exception in ExportLeaf if a leaf bounds is invalid
add check in test suite that qbspfeatures.map doesn't get upgraded to BSP2 due to invalid leaf bounds
2022-06-18 16:11:29 -06:00
Jonathan ea985eb5ac Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2022-06-18 17:29:13 -04:00
Jonathan ac05a7ecf6 Revert "simplify/c++-ize CompressRow code and related areas (less allocations overall)"
This reverts commit 46aaa81ffd.
2022-06-18 17:29:07 -04:00
Jonathan a41c68886a first attempt at clustering leaffaces together 2022-06-18 17:07:36 -04:00
Eric Wasylishen 6fb3bf957a qbsp: detail seals in q2 test passes now 2022-06-18 13:48:30 -06:00
Eric Wasylishen b91973bae1 qbsp: remove old/unused portal code 2022-06-18 13:44:24 -06:00
Eric Wasylishen 8d5978dcc2 qbsp: switch to qbsp3 implementation for MakeTreePortals
Quick update to outside filling to remove cluster handling, because now we perform filling with
all leaf portals
2022-06-18 13:42:41 -06:00
Eric Wasylishen 158c65b056 Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2022-06-18 12:53:53 -06:00
Jonathan 7eedf52bf4 sync up BaseWinding checking
add constructor to aabb to construct from range
2022-06-18 14:33:16 -04:00
Jonathan 6a310de784 sort brush result sets by file order for determinism 2022-06-18 13:54:07 -04:00
Eric Wasylishen b14aaff705 qbsp: switch over to CreateVisPortals_r 2022-06-18 11:46:51 -06:00
Eric Wasylishen 501ccda2d1 qbsp: don't attempt to parallelize portal generation 2022-06-18 11:46:40 -06:00
Eric Wasylishen 214a2550f4 qbsp: isolate portal_state_t in prtfile.cc 2022-06-18 00:32:40 -06:00
Eric Wasylishen 1fb5753f60 qbsp: import CreateVisPortals_r from qbsp3 2022-06-17 23:59:19 -06:00
Eric Wasylishen 65e6fafb3e qbsp: import MakeNodePortal, MakeTreePortals from qbsp3 2022-06-17 23:52:33 -06:00
Eric Wasylishen 7d3b5a9c3f qbsp: import SplitNodePortals from qbsp3 2022-06-17 22:34:36 -06:00
Eric Wasylishen af2dd987d8 qbsp: import BaseWindingForNode from qbsp3 2022-06-17 22:10:11 -06:00
Eric Wasylishen 3e2045479b qbsp: move .prt writing to prtfile.cc to align with qbsp3 2022-06-17 20:31:37 -06:00
Jonathan 95cd13373a slight speed improvement 2022-06-17 15:10:20 -04:00
Jonathan b0dad9d01d save a few more cycles by just using raw pointers. it's a bit uglier, but this is hard to represent with shared_ptr and I think it was the wrong choice anyways since the ownership chain is difficult to represent in a shared_ptr here. 2022-06-17 14:56:17 -04:00
Jonathan c3bb07acaa ~33% speed improvement on vis by using already-allocated memory for the vis stack 2022-06-17 13:53:35 -04:00
Jonathan 46aaa81ffd simplify/c++-ize CompressRow code and related areas (less allocations overall) 2022-06-17 12:06:37 -04:00
Jonathan 238a7b8fa7 document FACENORMALS lump 2022-06-17 10:59:24 -04:00
Eric Wasylishen 2248b8cd73 testqbsp: add more portal assertions 2022-06-17 02:41:39 -06:00
Eric Wasylishen 00d9d403ea testqbsp: fix wrong winding constructor being chosen 2022-06-17 01:58:26 -06:00
Eric Wasylishen 259d95e47c testqbsp: add a first portal test 2022-06-17 01:53:08 -06:00
Eric Wasylishen da346a931a testqbsp: quick setup of code to run test suite against a reference q1 compiler 2022-06-17 00:59:18 -06:00
Eric Wasylishen 7ac4012f92 testqbsp: replace map.leakfile checks with checking .prt file existence 2022-06-16 23:33:55 -06:00
Eric Wasylishen 0edd52517a testqbsp: read .prt files back in 2022-06-16 23:22:15 -06:00