Commit Graph

2049 Commits

Author SHA1 Message Date
Eric Wasylishen 61b0c276c3 automated_tests.sh: wip new testing system 2021-09-19 14:01:54 -06:00
Eric Wasylishen 28b4ec7f3f
ci: fix linux CI (#321) 2021-09-12 16:40:56 -06:00
Eric Wasylishen f284b96375 ci: quiet some log spam 2021-09-12 14:35:28 -06:00
Eric Wasylishen ac79487e4d ci: mac: use embree's official package over homebrew.
Has @rpath set up already
2021-09-12 01:30:20 -06:00
Eric Wasylishen 3f2d8c57c1 build: fix finding embree license with mac package 2021-09-12 01:30:20 -06:00
Eric Wasylishen bd3452bfdc build: simplify light build (embree handling) 2021-09-12 01:30:20 -06:00
Eric Wasylishen 527c63f55f build: remove obsolete cmake min required in subprojects 2021-09-12 01:30:20 -06:00
Eric Wasylishen 1b586e62d9 ci: mac: print shared library deps 2021-09-12 01:30:20 -06:00
xDShot 4a1feadaab
#include <limits.h> (#319)
Fixes error about undefined INT_MAX in common/bspfile.cc
2021-09-12 00:15:02 -06:00
Eric Wasylishen 81d58e5e89 test: add -noverbose to qbsp invocations 2021-09-11 13:47:36 -06:00
Eric Wasylishen 66f6362773 ci: checkout recursive 2021-09-11 13:27:11 -06:00
Eric Wasylishen 3d9d167360 build: fix build-osx.sh 2021-09-11 13:12:25 -06:00
Eric Wasylishen 2c3afefa50 cmake.yml: fix typo 2021-09-11 12:42:44 -06:00
Eric Wasylishen 82cd5e43ea cmake.yml: run existing build scripts 2021-09-11 12:41:49 -06:00
Eric Wasylishen 8b00905549
ci: github actions starter script 2021-09-11 11:50:10 -06:00
Ozkan Sezer b2911290a7
fix hexen2 hull sizes (#318) 2021-09-11 11:46:03 -06:00
Ozkan Sezer 69cb6b981f
bsputil: write ents in binary mode and print its crc in 4-digit hex (#317) 2021-09-08 17:50:32 -06:00
Eric Wasylishen 5fef157f53 qbsp: take floor/ceil of node/leaf bounds even for bsp2
for consistency with refactor branch
2021-09-06 14:53:05 -06:00
Eric Wasylishen d85ca375e5 qbsp: fix node/leaf mins/maxs calculations
they should use floor/ceil.

Otherwise a node with max X=10.5 will be written
to bsp29 as having a max of 10
2021-09-06 12:03:59 -06:00
Jonathan 90973e1198
Q2bsp VIS support (#315)
* Add QBSP - the BSP2-esque variant to Q2BSP - to bspinfo, and all of its accompanying structures.

* pass around ident, since Q2 needs it - admittedly it's a bit ugly, but it works for now.
conversion for QBSP

* Fix light

* _qbsp_ -> _qbism_

* Introduced bspversion_t, a struct that holds pertinent information about different BSP versions and also acts as a tagged pointer type for direct comparisons. This makes a lot of code paths simpler. I'm not entirely set on the wordings or usages yet, and maybe we can stuff boolean flags inside of them for different behaviors (for instance Q2, QBism and HL would have the "colored lightmap" boolean set to true, which replaces the check-for-all-three in the lightmapper)
Swapped arguments to ConvertBSPFormat to have the conversion target last instead of first
Finished rename of qbsp -> qbism
Tested:
 - bspinfo on various BSPs I had laying around (Q1, Q2, Qbism)
 - bsputil converting between Q2 and Qbism, and that they loaded in engine/roundtripped properly
Not tested:
 - vis/rad on anything major (I still can't run rad due to embree being weird)
 - bsputil conversion of Q1-esque maps

* Q2 VIS
Almost working, just in-game is not 100% functional

* PHS! Q2 VIS!

* Fix missing loadversion assignment
Fix missing \n

* Implement q2bsp -> mbsp visdata copy
fix sky lighting to use arghrad compat
2021-08-31 22:38:12 -06:00
Eric Wasylishen 968a840e47 light: make a certain degenerate face non-fatal
seen compiling ad_sepulcher.map with qbism q2 tools
2021-08-29 20:43:55 -06:00
Eric Wasylishen 8beda9a039 common, qbsp: make Error() noreturn 2021-08-26 20:22:45 -06:00
Eric Wasylishen 9688af5be3 build: msvc: silence 64->32 bit conversion warning until the codebase is cleaned up 2021-08-26 20:22:45 -06:00
Eric Wasylishen f0d1c8488b qbsp: pad lumps with \0 rather than ' ', for consistency with common/bspfile 2021-08-26 20:22:45 -06:00
Eric Wasylishen 8a1bc3ef20 qbsp: refactor clipnode writing (changes .bsp output)
- drop reshuffling feature from ExportClipNodes
  As far as I can tell, the only purpose of this was to keep clipnodes
  for a given model contiguous within the lump (i.e. keep the different
  hulls contiguous).

  Vanilla qbsp didn't appear to have done this, and the code was
  unmaintainable/complex, so I'm dropping the feature.
2021-08-26 20:22:39 -06:00
Eric Wasylishen 6a50313ded qbsp: add AddLumpFromBuffer function 2021-08-26 20:22:34 -06:00
Jonathan eaa86c71c6
Q2BSP + QBSP (#313)
* Add QBSP - the BSP2-esque variant to Q2BSP - to bspinfo, and all of its accompanying structures.

* pass around ident, since Q2 needs it - admittedly it's a bit ugly, but it works for now.
conversion for QBSP

* Fix light

* _qbsp_ -> _qbism_

* Introduced bspversion_t, a struct that holds pertinent information about different BSP versions and also acts as a tagged pointer type for direct comparisons. This makes a lot of code paths simpler. I'm not entirely set on the wordings or usages yet, and maybe we can stuff boolean flags inside of them for different behaviors (for instance Q2, QBism and HL would have the "colored lightmap" boolean set to true, which replaces the check-for-all-three in the lightmapper)
Swapped arguments to ConvertBSPFormat to have the conversion target last instead of first
Finished rename of qbsp -> qbism
Tested:
 - bspinfo on various BSPs I had laying around (Q1, Q2, Qbism)
 - bsputil converting between Q2 and Qbism, and that they loaded in engine/roundtripped properly
Not tested:
 - vis/rad on anything major (I still can't run rad due to embree being weird)
 - bsputil conversion of Q1-esque maps
2021-08-23 09:56:33 -06:00
Eric Wasylishen ff7f8a1542 qbsp: add -nothreads debug option 2021-08-23 00:12:38 -06:00
Eric Wasylishen 29652b4a7a qbsp: fix some threading issues with solidbsp.cc stats 2021-08-23 00:00:01 -06:00
Eric Wasylishen a53cf8dbbe qbsp: fix some thread safety bugs (mostly affecting stats output) 2021-08-22 23:45:42 -06:00
Eric Wasylishen a618e5f5b5 common: assert(0) on Q_assert failure for better debugger experience 2021-08-22 23:27:05 -06:00
Eric Wasylishen f7256907d5 common: fix build of bsputils.cc with double == vec_t 2021-08-22 15:12:19 -06:00
Eric Wasylishen 3b17e577b5 build: fix linking to embree under vcpkg 2021-08-22 13:48:53 -06:00
Eric Wasylishen 282f9cc241 build: add vcpkg instructions for windows 2021-08-22 13:29:04 -06:00
Eric Wasylishen d6c888bee9 vis add -nostate debug option, skips loading from state file 2021-08-15 13:22:57 -06:00
Eric Wasylishen 2ff31d012e light: fix all rays missing on debian/ubuntu's embree builds 2021-08-05 20:11:44 -06:00
Eric Wasylishen 5cc6605186 docs: update instructions for Ubuntu 2021-08-05 18:54:02 -06:00
Eric Wasylishen ff5572f97d light: log number of bounce lights at the end of MakeBounceLights 2021-07-13 22:47:53 -06:00
Eric Wasylishen 6e12b3d956 common: fix another 99999 constant 2021-07-13 22:02:41 -06:00
Eric Wasylishen 5e61c17cc5 docs: remove obsolete text in README.md 2021-07-13 21:51:56 -06:00
Eric Wasylishen f6e34053fa build: add macOS build instructions 2021-07-13 21:48:23 -06:00
Eric Wasylishen 30656f56e6 build: raise macOS minimum to 10.14, required by current tbb 2021-07-13 21:48:12 -06:00
Eric Wasylishen 7a78e0a5b5 build: remove unused includes, fixes compat with tbb 2021.3.0 2021-07-13 21:47:52 -06:00
Eric Wasylishen c9570260fa gcc 11: pass constant to offsetof 2021-05-30 23:12:17 -06:00
Eric Wasylishen 4ba0e99d3f Light_PointInSolid: add check against model bounds 2021-05-21 22:35:41 -06:00
Eric Wasylishen ab6956c9d0 bsputils: fix comment 2021-05-21 22:25:05 -06:00
Eric Wasylishen ffe90adc1c light: improve logging 2021-05-21 22:01:09 -06:00
Eric Wasylishen 6ecdd444ca light: optimize surface light generation 2021-05-21 22:01:09 -06:00
Eric Wasylishen 3f00d2fd00 light: add fixme 2021-05-21 20:47:25 -06:00
Eric Wasylishen 8fc3266db5 light: update testmap 2021-05-21 20:47:20 -06:00