DevoQ3Map2 is a map compiler for id Tech 3 games by Devoted. It's a fork of the id Tech 3 Map Compiler, which is a modified version of Q3Map2.
DevoQ3Map2 tries to bring more shaders and global illumination into the game. It's aimed at Jedi Academy (-game ja) and the PBR renderer used by DevoJK, and is meant to stay compatible with the other games the compiler already supports.
Status: early, work in progress. Right now the code is the same as upstream; new shader and lighting features will be listed in the changelog as they're added.
- More shaders: support more shader keywords and surface options at compile time, so maps can use richer materials.
- Global illumination: better bounced light (radiosity), ambient light and lightgrid results, so lighting looks more natural in modern renderers.
- Keep what works: existing maps, switches and compile scripts should keep working.
DevoQ3Map2 builds on many years of work by others. Thank you to:
- id Software, for the Quake III Arena engine and the original q3map tools released under the GPL.
- Randy "ydnar" Reddig and the GtkRadiant contributors, for creating Q3Map2 and its lighting system.
- The NetRadiant / Xonotic developers, for maintaining NetRadiant's q3map2 2.5.17n, which the id Tech 3 Map Compiler is forked from.
- isRyven, Aciz and the id-tech-3-tools team, for the id Tech 3 Map Compiler: the new VFS, lightgrid and floodlight fixes, model conversion, the cleaned-up switches and much more (see the changelog).
- The authors of the bundled libraries listed below.
- Changelog: all API changes, bug fixes and new features, including those from the id Tech 3 Map Compiler.
- Upstream wiki: detailed information on every switch the compiler supports.
- scripts: batch scripts for compiling, decompiling and model conversion.
- Upstream releases: precompiled Windows binaries of the original id Tech 3 Map Compiler.
- Devoted
Feature requests, bug reports and pull requests are welcome under issues. See CONTRIBUTING.md for more information.
Fixes that also apply to the original compiler are worth sending to id-tech-3-tools/map-compiler as well.
All required dependencies are shipped with the project.
assetsys loads binary assets into virtual file system.
The library used in a project contains custom changes. MIT License.
Catch2 test framework for unit-tests, TDD and BDD. Boost Software License.
filesystem a simple class for manipulating paths on Linux/Windows/Mac OS. BSD-3 License.
jpeg-compressor jpeg compression/decompression lib. Public domain.
lodepng PNG encoder and decoder. zlib License.
msdirent.h dirent API for MS Windows. MIT License.
tinyformat type safe printf replacement library. Boost Software License.
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE .. && make
Several options are available.
Recent Visual Studio versions can open the CMake project folder directly: File > Open > Folder (or File > Open > CMake in VS2017), then build from the CMake menu.
mkdir build
cd build
cmake ..
cmake --build . --target mapcompiler --config Release
mkdir build
cd build
cmake ..
Open the generated sln in Visual Studio and build the solution from there. Pass -G "<generator>" to pick a specific Visual Studio version.
Copyright (C) 1999-2007 id Software, Inc. and contributors.
For a list of contributors, see the accompanying CONTRIBUTORS file.
This file is part of GtkRadiant.
GtkRadiant 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.
GtkRadiant 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 GtkRadiant; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
----------------------------------------------------------------------------------
This code has been altered significantly from its original form, to support
several games based on the Quake III Arena engine, in the form of "Q3Map2."