Skip to content
themuffinatorPublic

About

Unofficial Git port of Quake 2 XP's SourceForge SVN, full history. Enhanced OpenGL/GLSL Quake II engine with per-pixel lighting, shadows and post-processing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1,544 Commits

Folders and files

Repository files navigation

Quake2XP

A multi-platform graphics port of id Software's Quake II.
Completely updated rendering that takes full advantage of modern graphics cards, while preserving the original style of the game.

SourceForge License: GPLv2 Language: C Renderer: OpenGL + GLSL Platforms: Windows, Linux, FreeBSD

Quake2XP screenshot 1 Quake2XP screenshot 2

Watch: quake2xp 1.26.4 gameplay
▶ quake2xp 1.26.4 gameplay on YouTube


Features

Lighting and materials

  • Real-time per-pixel lighting and shadowing (in the style of Doom 3)
  • High-quality parallax mapping (relief mapping), including self-shadowing parallax
  • Oren-Nayar diffuse with GGX specular BRDF, plus Phong, Lambert and subsurface scattering lighting models
  • Radiosity normal mapping with high-resolution lightmaps
  • Cubemap and caustic light filters
  • Light coronas
  • 2D lighting for HUD digits, console background and menu tags
  • In-game light editor

Rendering

  • Editable GLSL shaders
  • sRGB render buffer
  • Reflective (screen-space local reflections) and refractive surfaces
  • Advanced decal and particle system with infinite decals and soft particles
  • MD3 model support (without tags; Quake III player models are not supported)
  • SLI friendly

Post-processing

FXAA 3.11 · Bloom · Depth of field · Radial blur · Thermal vision · Film grain · Brightness / contrast / saturation · Motion blur · SSAO · Scanline and cinematic filters

Audio

  • OpenAL 3D audio engine with EFX high-quality environmental effects (Windows and Linux)
  • OGG and WAV music playback from disk

Input

  • Raw mouse input (Windows only)
  • Xbox 360 controller support (Windows only)

Game support

  • Native support for the mission packs The Reckoning (Xatrix) and Ground Zero (Rogue)
  • All other add-ons and mods run in compatibility mode

Platforms

Platform Status
Windows Supported (Visual Studio solution)
Linux Supported (waf build)
FreeBSD Experimental

Repository layout

This repository mirrors the complete SourceForge SVN tree.

Path Contents
trunk/ Engine source and build files
  ↳ client/, server/, qcommon/, renderer/ Core engine
  ↳ win64/, linux/ Platform layers
  ↳ game/, xsrc/, roguesrc/, zaero/ Game modules: Quake II, The Reckoning, Ground Zero, Zaero
  ↳ steamLauncher/ Steam launcher (Windows)
glsl/ GLSL shader programs used by the renderer
maps/, mapsx/, mapsr/ Relight light definitions (.xplit) for Quake II, The Reckoning and Ground Zero
tools/ Map compilers (qbsp3, qvis3, qrad3, bspinfo3)
importmd2.ms, md2tagExport.ms 3ds Max scripts for MD2 import and tag export
branch/ Older snapshot of the tree (last changed r243, June 2012)

Building

Windows

Open trunk/quake2xp.sln in Visual Studio 2022 (platform toolset v143, Windows 10 SDK) and build. The solution contains the engine (quake2xp), the game modules (game, xatrix, zaero) and steamLauncher.

Linux

Install the dependencies: OpenGL, OpenAL (≥ 1.14), SDL 1.2, Vorbisfile (Ogg/Vorbis) and libcurl.

# Ubuntu / Debian
sudo apt-get install build-essential libvorbis-dev libsdl1.2-dev libopenal-dev libcurl4-openssl-dev

# Fedora
sudo dnf install -y SDL-devel libvorbis-devel openal-soft-devel

Then build and install from trunk/:

cd trunk
./waf configure            # optionally: --prefix=$HOME/local  (default: /usr/local)
./waf
sudo ./waf install         # uninstall with: ./waf uninstall

See trunk/Readme_Linux.txt for data layout, expansion packs, mods, music modes and troubleshooting.

Game data

Quake2XP requires the original Quake II game data, which is not included in this repository. You need:

  1. baseq2/pak0.pak from the original Quake II CD
  2. baseq2/pak1.pak and baseq2/pak2.pak from the official 3.20 point release (q2-3.20-x86-full.exe)
  3. The Quake2XP data packs (.pkx) from the Quake2XP download, placed in baseq2/, xatrix/ or rogue/ as appropriate
  4. The shaders: copy glsl/ into baseq2/

The relight files in maps/, mapsx/ and mapsr/ are also installed manually.

To play the mission packs, copy their pak*.pak files and video/ folder into sibling xatrix/ and rogue/ folders next to baseq2/, then launch with:

quake2xp +set game xatrix
quake2xp +set game rogue

About this repository

This is a full-history git port of the upstream Subversion repository at svn.code.sf.net/p/quake2xp/code. Every SVN revision from r1 (April 2011) to r1542 (July 2025) is a separate commit with its original author and date. Each commit message ends with a git-svn-id line giving its SVN revision number.

In a checkout that has the original git svn import configured, newer upstream revisions can be pulled in with:

git svn fetch
git merge svn/git-svn

Links

Credits

Quake2XP is developed by Kirk Barnes. Other SVN contributors: alepulver, krigssvin, danfe and przenziu.

Quake II is © id Software.

License

Quake2XP is released under the GNU General Public License, version 2 (GPLv2), as is the Quake II source code it is based on. The Ground Zero game source in trunk/roguesrc/ is under id Software's Limited Program Source Code License; see trunk/roguesrc/LICENSE.

About

Unofficial Git port of Quake 2 XP's SourceForge SVN, full history. Enhanced OpenGL/GLSL Quake II engine with per-pixel lighting, shadows and post-processing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages