* chore(CI): refine current 'cmake.yml' file content
* chore(CI): enable Qt5 on Linux and macOS
* Appveyor.yml: remove deploy step
we are deploying from GitHub Actions now
* build-linux-64.sh: adjust .zip wildcard
to hopefully not break on PR builds
* build-linux-64.sh: remove fragile unzip/readelf lines
* lightpreview\CMakeLists.txt: only install Qt on Win/Mac
* lightpreview: attempt to fix mac Qt packaging
* lightpreview: apple fixes
* Install qtdbus on macOS
* try alternate dbus module name
* try cmake find_package for dbus
* also find Qt5PrintSupport
* build-osx.sh: remove coreutils install
we don't use sha256sum anymore
* lightpreview/CMakeLists.txt: create .app bundle on macOS
* Update CMakeLists.txt
* build-*: run cpack as part of the build command
on my macOS test system, running cpack separately
is doubling the build time
* cmake: factor out add_loader_path_to_rpath function, apply to all targets
* chore(CI): add steps to re-pack the 'doc' and 'bin' directories
* chore(CI): remove GitHub release-related step (to be re-introduced)
* chore(CI): adjust inflating destination directories
---------
Co-authored-by: Eric Wasylishen <ewasylishen@gmail.com>
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
move light-specific "load textures from BSP" routine to light
fix a couple bugs with external wad textures (there should always be at least a 40-byte miptex in there)
light can now load external textures
move -paths to common settings
fix bug with missing texture not filling miptex name
- for Quake-likes, WADs will be added as file system archives directly when the first brush is encountered since the wad key is ready to go by that point.
- after loading the .map and before constructing the BSP, what I call secondary textures (animation frames for Quake-likes) are added to the list, and the BSP's miptex data is filled.
- BSP miptex data is now opaque to the BSP process; the BSP simply copies the raw miptex information from the input. This simplifies the BSP structures and reading/writing routines.
- the img subsystem supports reading from raw miptexes now, although in practice this only happens for Quake-likes atm
- instead of a "wal cache", maps now have a "meta cache" which stores the metadata information for all games instead of just Quake II
- texture meta can now be ref'd out rather than needing to be copied every time (mainly only a gain for the std::string)
- wad.cc/wad.hh is gone; wads are now pushed into the filesystem archive
- fixed broken wad_archive
- fs subsystem iterated on a little bit; supports marking archives as external (only used for wads currently; see `LoadTextureData`)
- load_tga has better error handling
- add in foot-gun protection to the BSP readers; now they assert on failure to read instead of silently propagating that error throughout the rest of the process
- bsputil uses img stuff now, so it should handle palettes better
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