Quake/Hexen 2 Map compiling tools - branch of http://disenchant.net/utils
Go to file
Eric Wasylishen 0d9275fc53 light: do the phong area/angle weighting by looking at the whole polygon
without triangulating it. Fixes output on polygons with welded t-junctions
(colinear vertices) which would previously generate 0-area triangles
and have a weight of 0 in the normal smoothing.
2021-10-22 01:27:28 -06:00
.github/workflows CI: use Ubuntu 20.04 (for std::filesystem) 2021-10-05 18:21:44 -06:00
3rdparty Revert change to JSON submodule commit 2021-10-05 18:07:53 -06:00
bspinfo bspinfo, bspfile: fixes for handling of \0 terminator on entdata 2021-10-08 23:03:05 -06:00
bsputil Removed a lot of unused functions 2021-10-10 14:04:09 -04:00
common surfflags remap -> is_valid to match contentflags 2021-10-11 19:45:55 -04:00
include bspfile: replace 'abstract' with '= 0' (abstract seems to be a C++/CLI keyword?) 2021-10-11 23:22:19 -06:00
light light: do the phong area/angle weighting by looking at the whole polygon 2021-10-22 01:27:28 -06:00
lightpreview Run clang-format pass 2021-10-05 15:54:06 -04:00
man -includeskip for Q2RTX 2021-10-09 14:14:49 -04:00
qbsp qbsp: outside.cc: rewrite with outside -> in filling 2021-10-11 22:40:26 -06:00
testmaps testmaps: update e1m1 hashes to account for outside filling change 2021-10-11 23:18:24 -06:00
vis Removed a lot of unused functions 2021-10-10 14:04:09 -04:00
.clang-format Fix single line functions 2021-09-14 02:56:44 -04:00
.gitattributes add gitattributes 2021-10-06 21:51:56 -06:00
.gitignore testmaps: add origin brush test 2021-10-07 23:33:59 -06:00
.gitmodules 3rdparty: replace json submodule with a minified fork 2021-10-02 12:31:22 -06:00
CMakeLists.txt build: build common as a static library 2021-10-08 20:08:26 -06:00
COPYING Import initial sources 2006-08-28 23:58:10 +09:30
README.md build: add vcpkg instructions for windows 2021-08-22 13:29:04 -06:00
appveyor.yml ci: move appveyor build to separate .ps1 script 2021-09-19 23:26:27 -06:00
build-appveyor.ps1 CI: add bspinfo/bsputil to PATH before running regression tests 2021-10-06 17:24:13 -06:00
build-linux-64.sh CI: add bspinfo/bsputil to PATH before running regression tests 2021-10-06 17:24:13 -06:00
build-osx.sh CI: add bspinfo/bsputil to PATH before running regression tests 2021-10-06 17:24:13 -06:00
changelog.md docs: update changelog, convert to markdown 2020-02-25 01:06:10 -07:00
clang-format-all.sh Clang format pass 2021-09-14 02:32:26 -04:00
gpl_v3.txt docs: add license note 2016-06-17 23:07:17 -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?), groff (for building manuals)

Ubuntu

sudo apt install libembree-dev libtbb-dev groff cmake build-essential g++
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
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

macOS 10.15

brew install embree tbb
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.