A fork of the discontinued VKDoom with a few missing fixes.
- C++ 71.9%
- C 20.1%
- ZenScript 5.8%
- Yacc 0.6%
- CMake 0.5%
- Other 0.8%
* Cleanup: Alignment, long lines, Replace 0 with SDLK_UNKNOWN * Gamecontroller api analogue input * Added some button handling * Added mapping for other buttons * Added trigger events * Added force_joystick flag * Removed force_joystick flag Rationale: 1. It was actually broken lol 2. I cannot think of a case where enabling this would be a useful thing for gzdoom. If the user is using a gamecontroller, it is pointless. If they are not using a gamecontroller, it will just default to using the joystick api. If they are not using a gamecontroller, but SDL thinks they are, it is an SDL bug, and will be reported and fixed * Modified default mapping * Added analogue to digital threshold * Added analogue response curve * Per axis settings * Fixed controller reconnect * Added threshold and curve to IJoystickConfig Enabled saving of settings * Added stubs * Cleanup Constants are no longer defines. Constants are mostly shared between backends. Moved some logic to m_joy * Implemented xinput stubs * Implemented dinput stubs * Implemented ps2 stubs (untested) * Fixed inclusive check * Implemented osx stubs (untested) * Fixed curve implementation No longer savable, I screwed the curve function up. I though it needed 2 control points, but it needs 4. Need to re-do controller settings :( * Now using CubicBezier struct * Fixed SetDefaultConfig to match xinput behavior * Expanded gamepad CCMD * Rename enum JoyResponseCurve to EJoyCurve * Initial menu implementation * Fixed SDL controller setting saving * SDL gamepads can now actually be disabled * Fixed initial controller connect of some versions of SDL * Spelling error * Enable gamepad by default * Fixed segfault on some versions of SDL * Only block keydown |
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| bin/windows | ||
| cmake | ||
| docs | ||
| fm_banks | ||
| libraries | ||
| soundfont | ||
| specs | ||
| src | ||
| tools | ||
| unused | ||
| wadsrc | ||
| wadsrc_bm | ||
| wadsrc_extra | ||
| wadsrc_lights | ||
| wadsrc_widepix | ||
| .gitattributes | ||
| .gitignore | ||
| AppImageBuilder.yml | ||
| auto-setup-linux.sh | ||
| auto-setup-windows-arm.cmd | ||
| auto-setup-windows.cmd | ||
| CMakeLists.txt | ||
| LICENSE | ||
| options.checklist | ||
| README.md | ||
| vcpkg.json | ||
Welcome to GZDoom!
GZDoom is a modder-friendly OpenGL and Vulkan source port based on the DOOM engine
Copyright (c) 1998-2025 ZDoom + GZDoom teams, and contributors
Doom Source (c) 1997 id Software, Raven Software, and contributors
Please see license files for individual contributor licenses
Special thanks to Coraline of the EDGE team for allowing us to use her README.md as a template for this one.
Licensed under the GPL v3
https://www.gnu.org/licenses/quick-guide-gplv3.en.html
How to build GZDoom
To build GZDoom, please see the wiki and see the "Programmer's Corner" on the bottom-right corner of the page to build for your platform.
Resources
- https://zdoom.org/ - Home Page
- https://forum.zdoom.org/ - Forum
- https://zdoom.org/wiki/ - Wiki
- https://dsc.gg/zdoom - Discord Server
- https://docs.google.com/spreadsheets/d/1pvwXEgytkor9SClCiDn4j5AH7FedyXS-ocCbsuQIXDU/edit?usp=sharing - Translation sheet (Google Docs)