No description
Find a file
2024-09-24 17:25:44 -05:00
.github Update pip-action to v2 2024-09-17 12:15:56 -05:00
ag-odalaunch Release branch for 10.6.0 2024-08-16 20:41:38 -04:00
ci Remove use of set-output 2024-09-03 22:58:04 -05:00
client button up the last bit of fixes 2024-09-23 22:46:53 -04:00
cmake/modules Add LTO to release builds 2022-02-21 00:21:12 -05:00
common Merge pull request #1051 from electricbrass/acs-array-fix 2024-09-23 23:13:16 -05:00
config-samples Update other links to wiki 2024-09-24 17:19:37 -05:00
documentation Update the query protocol documentation 2017-01-31 19:13:00 -05:00
installer RC2 2024-08-25 16:21:20 -04:00
libraries remove unnecessary library 2024-09-23 22:58:16 -04:00
master more warning clean up 2024-09-23 21:55:48 -04:00
media Add 128px tall logo 2020-04-30 22:19:43 -04:00
odalaunch Update bug report and wiki links in odalaunch 2024-09-24 17:17:34 -05:00
odalpapi finish up the rest of the clang warnings 2024-09-23 19:46:57 -04:00
odamex.xcodeproj Rename doc to documentation, move proxy into tools 2014-03-04 01:18:09 +00:00
odaproto Workaround compiler error in 17.4.0 2022-11-09 21:37:53 -05:00
server more warning clean up 2024-09-23 21:55:48 -04:00
tests Remove sv_waddownload and sv_waddownloadcap and cleanup references to unused cvars 2024-09-16 17:12:48 -05:00
tools Update Odamex_linedefs.cfg 2024-09-18 14:22:26 -05:00
wad Add Chex Quest MAPINFO par times. 2024-04-04 11:09:33 -05:00
Xbox Release branch for 10.6.0 2024-08-16 20:41:38 -04:00
.clang-format Add CRC32 hashing support 2021-12-14 20:49:54 -05:00
.dockerignore Add CI build for Ubuntu 18.04 LTS 2021-03-20 23:35:21 -04:00
.gitattributes First stab at ident attributes 2016-11-02 22:04:49 -04:00
.gitignore Ignore .DS_Store 2020-12-28 22:39:25 -05:00
.gitmodules Add PortMidi as a submodule 2022-12-19 19:50:17 -08:00
3RD-PARTY-LICENSES Fix up all the installer files 2020-12-14 20:48:01 -05:00
astylerc Add an Artistic Style configuration file for Odamex. 2012-09-25 00:52:28 +00:00
CHANGELOG Add github releases link to CHANGELOG 2024-09-24 17:25:44 -05:00
CMakeLists.txt Release branch for 10.6.0 2024-08-16 20:41:38 -04:00
Doxyfile Change some doxygen settings. 2011-05-08 00:04:24 +00:00
force_retest - Test commit, just checking my log on credentials 2016-07-14 06:02:58 +00:00
LICENSE -Update LICENSE to the current GPLv2 license document. 2013-11-23 00:09:47 +00:00
MAINTAINERS Update MAINTAINERS 2021-02-27 21:38:42 +01:00
odamex-installed.txt Turn it into "installed" 2020-12-15 20:29:29 -05:00
README Update other links to wiki 2024-09-24 17:19:37 -05:00
README.md Link to github wiki in README.md 2024-08-25 16:22:15 -05:00
switch.cmake Release branch for 10.6.0 2024-08-16 20:41:38 -04:00
wii.cmake Fix & complete the Switch/Wii compilation guide. 2020-12-30 19:09:32 +01:00

Odamex

Windows Build Status Mac Build Status Linux Build Status Join our Discord!
Windows macOS Linux Join our discord

Odamex is a modification of DOOM to allow players to compete with each other over the Internet using a client/server architecture. Thanks to the source code release of DOOM by id Software in December 1997, there have been many modifications that enhanced DOOM in various ways. These modifications are known as "source ports", as early modifications mainly ported DOOM to other platforms and operating systems such as Windows and Macintosh.

Odamex is based on the CSDoom 0.62 source code originally created by Sergey Makovkin, which is based on the ZDoom 1.22 source code created by Marisa Heit.

Features

Odamex supports the following features:

  • Full Client/Server multiplayer architecture with network compensation features (unlagged, client interpolation and prediction)
  • Support for up to 255 players
  • Various compatibility settings, to emulate vanilla Doom, Boom, or ZDoom physics and fixes
  • Playback and recording of vanilla demos
  • A fully-featured client netdemo record system with playback control
  • Removal of most vanilla Doom Static limits
  • Support for most Boom and MBF mapping features
  • The traditional old-school style of Deathmatch and a Cooperative mode, but also other game modes such as Team Deathmatch and Capture the Flag
  • Support for Horde, Survival, Last Man Standing, Last Team Standing, LMS CTF, 3-WAY CTF, and Attack & Defend game modes
  • Competitive-ready features, such as a warmup mode, round system, player queue, or playercolor overriding
  • Several modern ZDoom additions, such as slopes, LANGUAGEv2 or MAPINFOv2 lump support
  • An array of editing features, including the Hexen map format, DeHackEd, BEX, and DEHEXTRA patch support, MBF21 features, and ACS up to ZDoom 1.23
  • Native Joystick support
  • Several additional music formats, such as MOD and OGG
  • In-Engine WAD downloader
  • Allow on-the-fly WAD loading
  • A 32-bit Color depth/true color renderer
  • Full Widescreen support
  • Ultra high resolution support (up to 8K)
  • Uncapped and raised framerate
  • Takes advantage of widely used libraries to port it to new devices with ease

Compilation instructions

Clone the repositories, with all submodules:

git clone https://github.com/odamex/odamex.git --recurse-submodules

If you downloaded the zip, use these commands on the git directory:

git submodule init
git submodule update

Odamex requires the following tools and libraries:

cURL, libPNG and zlib are automatically included in-tree as submodules.

On Windows, all libraries are automatically downloaded if not found. On *nix/MacOSX, you will need to download through your package manager libsdl2-dev, libsdl2-mixer-dev and libwxgtk3.0-dev.

Please check this page for further instructions on how to compile Odamex for your platform.

Contributing to the project

Please report any oddity, physics inaccuracies, bugs or game-breaking glitches to our issues page. You can also submit patches as a Pull Request.

Before submitting a pull request, please make sure it follows our coding standards!

Note: This project contains a demo testing utility that ensures vanilla compatibility by running a specific set of demos after each commit. When forking this project to prepare a pull request, this functionality will be unavailable by default to protect sensitive files. You can restore this functionality by:

  1. Forking OdaTest-Resources to get the PWADs.
  2. Downloading OdaTests to get the encryption module.
  3. Replacing the encrypted IWADs with your own set of encrypted IWADs. Encrypt using python .\secret.py encrypt doom2 with the environment variable SECRET_KEY defined to encrypt the IWADs with. The following IWADs (latest version) are needed to run all tests: doom, doom1, doom2, tnt, plutonia, hacx
  4. Create a release for your forked OdaTest-Resources repo.
  5. Enter the following Secrets / Repository Variables in GitHub:
  • secrets.DEMOTESTER_IWAD_KEY - Encryption key for the IWADs
  • vars.DEMOTESTER_DOWNLOAD_URL - Full URL to download the latest OdaTests release.
  • vars.DEMORESOURCES_DOWNLOAD_URL - Full URL to download your personal demo resources

Please visit the following websites for more information about the development of the port and our community:

License

Odamex is released under the GNU General Public License v2. Please read LICENSE for further details regarding the license.