||4 days ago|
|doc/original||7 months ago|
|lib/soloud||6 months ago|
|src||4 days ago|
|.clang-format||2 months ago|
|.gitignore||6 months ago|
|CMakeLists.txt||3 months ago|
|COPYING||7 months ago|
|README.md||2 months ago|
|TODO||2 months ago|
Pence's Quake Source Hacks
I don't even want to call this a game yet; this is just a collection of hacks because I think it's fun to hack on the Quake source code, and have for, I dunno, more than a decade now.
- A copy of Quake for the assets (obviously)
- SDL2 http://www.libsdl.org/
- GLEW http://glew.sourceforge.net/
- glm https://glm.g-truc.net/
- PhysicsFS https://icculus.org/physfs/
- ENet http://enet.bespin.org/index.html
Libraries already bundled here:
- SoLoud (2020.02.07) http://sol.gfxile.net/soloud/index.html
To build, generate Makefiles for your platform with
Building with Static Analysis
To run Clang's static analysis on the code, call CMake as follows:
mkdir ../tmp cd ../tmp scan-build cmake -DCMAKE_CXX_COMPILER=/usr/lib/clang/c++-analyzer -DCMAKE_C_COMPILER=/usr/lib/clang/ccc-analyzer ../quake scan-build make clean all
cppcheck --project=build/compile_commands.json 2> out
I've got a few tags in this repository for various points in the development history that I might want to roll back to at some point in the future. They are:
- v0.9: Port math library to glm.
- v0.8: Move lots of string and array handling to std::string and std::vector.
- v0.7: Lots of C++ cleaning, just before work started on memory management.
- v0.6: Ported the video to SDL, the network to ENet, and the sound to SoLoud; compiling as C++.
- v0.5: Ported the QuakeC into C, though still rather buggy and untested.
- v0.4: Cleaned up QuakeC to a more C-like dialect.
- v0.3: QuakeC added and compiling.
- v0.2: Filesystem ported to PhysicsFS; QuakeC string handling fixed.
- v0.1: Initial clean source code, building under Linux, loads without crashing, a bit of cleanup of unused platform-specific code. Code reformatted to Google style. Few other changes.
The original Quake source was copyright (C) 1996-1997 Id Software, Inc., and released under the terms of the GPLv2 license. The modifications here are copyright (C) 2020-2021 Charles Pence, and also released under GPLv2.