Quake/Hexen 2 Map compiling tools - branch of http://disenchant.net/utils
Go to file
Eric Wasylishen b994bb750d brushbsp: disable CheckPlaneAgainstVolume checks
this check prevents splitting on small brush fragments, where we actually need to split.
if we don't the small fragments cause incorrect leaf contents to be assigned.
2023-05-05 23:07:16 -06:00
.github/workflows Revert "ci: try alternate way of requesting 8.1 sdk" 2022-11-13 15:06:40 -07:00
.vscode vs code: put 3rdparty dir in search exclude list 2022-11-05 15:14:20 -06:00
3rdparty 3rdparty: import stb_image.h 2023-04-10 13:47:29 -06:00
bspinfo Move SetConsoleMode() call to logging::preinitialize(); helper 2022-11-19 10:05:14 -07:00
bsputil throw warning if command name is wrong 2023-03-15 18:12:52 -04:00
cmake docs: build and package new Sphinx docs on macOS 2022-01-29 17:09:15 -07:00
common add support for a region brush (code needs to be cleaned up a bit though) 2023-04-28 13:31:50 -04:00
docs docs: update vis docs 2023-05-04 09:42:03 -06:00
include include cstdint in vec.hh to fix build (#354) 2023-05-03 19:13:45 -06:00
light light: add minlight_mottle as an alias for minlightMottle (in worldspawn) 2023-05-05 23:00:24 -06:00
lightpreview cleanup: set PackConstructorInitializers: Never 2023-02-20 10:23:59 -07:00
qbsp brushbsp: disable CheckPlaneAgainstVolume checks 2023-05-05 23:07:16 -06:00
testmaps test: lightmap artifacts on a low luxel scale 2023-04-30 17:53:19 -06:00
tests test: lightmap artifacts on a low luxel scale 2023-04-30 17:53:19 -06:00
vis common: add support for writing .rst documentation from settings 2023-04-16 14:55:43 -06:00
.clang-format cleanup: set PackConstructorInitializers: Never 2023-02-20 10:23:59 -07:00
.gitattributes add gitattributes 2021-10-06 21:51:56 -06:00
.gitignore tests: add q1 decompiler test 2023-02-25 23:18:13 -07:00
.gitmodules build: remove unused subprocess.h dependency 2022-12-19 00:36:04 -07:00
CMakeLists.txt build: don't install changelog.md (it's part of the docs/ dir now) 2023-04-10 19:45:22 -06:00
COPYING
README.md docs: add warning about Ubuntu embree package 2023-04-22 16:23:56 -06:00
appveyor.yml Revert "ci: use older embree/tbb which support Win8.1" 2022-11-13 16:52:14 -07:00
build-appveyor.ps1 Revert "ci: use older embree/tbb which support Win8.1" 2022-11-13 16:52:14 -07:00
build-linux-64.sh ci: make sure to fail CI if asan detects errors, but don't run leak checks for now 2022-11-19 16:09:52 -07:00
build-osx.sh tests: doctest 2022-10-21 18:33:19 -06:00
build-windows.ps1 Revert "ci: use older embree/tbb which support Win8.1" 2022-11-13 16:52:14 -07:00
clang-format-all.sh Clang format pass 2021-09-14 02:32:26 -04:00
gpl_v3.txt
testmaps.hh.in test_qbsp.cc: split out q2 tests to a new file 2022-09-30 00:10:01 -06:00

README.md

ericw-tools

Original tyurtils:

Build status

About

ericw-tools is a branch of Tyrann's quake 1 tools, focused on adding lighting features, mostly borrowed from q3map2. There are a few bugfixes for qbsp as well. Original readme follows:

A collection of command line utilities for building Quake levels and working with various Quake file formats. I need to work on the documentation a bit more, but below are some brief descriptions of the tools.

Included utilities:

  • qbsp - Used for turning a .map file into a playable .bsp file.

  • light - Used for lighting a level after the bsp stage. This util was previously known as TyrLite

  • vis - Creates the potentially visible set (PVS) for a bsp.

  • bspinfo - Print stats about the data contained in a bsp file.

  • bsputil - Simple tool for manipulation of bsp file data

See the doc/ directory for more detailed descriptions of the various tools capabilities. See changelog.md for a brief overview of recent changes or https://github.com/ericwa/ericw-tools for the full changelog and source code.

Compiling

Dependencies: Embree 3.0+, TBB (TODO: version?), Sphinx (for building manuals)

Ubuntu

NOTE: Builds using Ubuntu's embree packages produce a significantly slower light (i.e. over twice as slow) than ones released on Embree's GitHub. See build-linux-64.sh for a better method.

sudo apt install libembree-dev libtbb-dev cmake build-essential g++
sudo apt install python3-pip
python3 -m pip install sphinx_rtd_theme
export PATH="~/.local/bin/:$PATH"
git clone --recursive https://github.com/ericwa/ericw-tools
cd ericw-tools
mkdir build
cd build
cmake ..

Windows

Example using vcpkg (32-bit build):

git clone --recursive https://github.com/ericwa/ericw-tools
cd ericw-tools

# creates a python virtual environment in the directory `sphinx-venv`
# and install sphinx (for building the docs)
py.exe -m venv sphinx-venv
.\sphinx-venv\Scripts\Activate.ps1
py.exe -m pip install -r docs/requirements.txt

git clone https://github.com/microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat

# NOTE: vcpkg builds for 32-bit by default
# NOTE: takes 30+ minutes
.\vcpkg\vcpkg install embree3
mkdir build
cd build

# PowerShell syntax for getting current directory -
# otherwise, replace with absolute path to "vcpkg/scripts/buildsystems/vcpkg.cmake"
cmake .. -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../vcpkg/scripts/buildsystems/vcpkg.cmake" -DCMAKE_GENERATOR_PLATFORM=Win32 -DSPHINX_EXECUTABLE="$(pwd)/../sphinx-venv/Scripts/sphinx-build.exe"

macOS 10.15

brew install embree tbb
python3 -m pip install sphinx_rtd_theme
git clone --recursive https://github.com/ericwa/ericw-tools
cd ericw-tools
mkdir build
cd build
cmake .. -GXcode -DCMAKE_PREFIX_PATH="$(brew --prefix embree);$(brew --prefix tbb)"

Credits

  • Kevin Shanahan (AKA Tyrann) for the original tyrutils
  • id Software (original release of these tools is at https://github.com/id-Software/quake-tools)
  • rebb (ambient occlusion, qbsp improvements)
  • q3map2 authors (AO, sunlight2, penumbra, deviance are from q3map2)
  • Spike (hexen 2 support, phong shading, various features)
  • MH (surface lights based on MHColour)
  • mfx, sock, Lunaran (testing)
  • Thanks to users at func_msgboard for feedback and testing

License

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Builds using Embree are licensed under GPLv3+ for compatibility with the Apache license.