11.0.0
The next major version of Odamex is here! This is a major release with an incredible amount of bug fixes, new features, and quality-of-life improvements. A big thanks to PR contributors @jiffygist (sv_allowfov
cvar), @jpernst (console font scaling!), @keyboardcrash32 (fixing Odalaunch crash caused by sorting), @Rudicito (game window initialization bug fix), @FozzeY (fixed coop player starts out of order, special doors desyncing on map restarts, and endianness check on *BSD platforms), and @Acts19quiz (update wad download links).
It needs to be said that @electricbrass and @bcahue carried a majority of the load in this release. They are incredible. Looking forward, they have been helping lead the way toward Odamex 12, along with @cmbernard333 who has taken the reigns on implementing full DSDHACKED support. Look for that in the near future. Please take a chance to thank everyone involved in this incredible release!
For a full list of changes, check out the list below:
Added
- Add support for compressed ZDoom extended and DeePBSP nodes
- Added widescreen asset support
- Added interpolation of:
- Scrolling Textures
- Scrolling skies
- Scrolling flats (floor and ceiling)
- Weapon bobbing
- Chasecam
- Automap
- Screen wipes
- Console rising/falling
- ID24 Feature Support:
- ID24 Inventory Reset Exits
- ID24 linetypes including:
- flat offset and rotation
- scrollers and double sided variants
- ID24 SKYDEFS support
- ID24 Interlevel Lump Support
- New and updated cvars and commands:
- Add
sv_allowfov
cvar - Add
lastmap
parameter feature to maplists - Show powerup effects on other players with
sv_showplayerpowerups
- Add
summon
cheat - Add
co_novileghosts
to compatibility menu - Allow spawning multiplayer things in single player mode via
-coop-things
or g_thingfilter -1
- New support for new ZDoom MAPINFO features:
AirSupply
compat_limitpain
compat_shorttex
- Added a beautiful Level Stats Extended HUD that displays monsters / items / secrets on screen
- Intermission script support
- Refuse to download of commercial PWADs and renamed commercial IWADs on the client
- Implement basic scaling for console font. Font will automatically scale as default
- Support for world and global arrays in ACS
- Support Skulltag Style Win/Lose Interpics & Music
- Recognize 10/3/2024 versions of Doom + Doom II wads
- Update commercial wad list for Legacy of Rust v1.3 and other wads in the 1/28/2025 update
Changed
- Improve missing spawns warning for horde mode
- Use OLumpName in place of some lump names that use char[8]/char[9]
- Update list of wad download sources
- Changed game window initialization from 640x480 to 320x200
- Explicitly set the size of the Odalaunch search bar
- Fix update to cl_downloadsites when upgrading a config
- Use constexpr where possible
- Generalize gameinfo from hardcoded presets to serialized MAPINFOs
- Minor menu fixes & improvements
- Clean up and update sample server configs for 11.0.0
Fixed
- Add colon and space to map label
- Allow quotes for "wad" command on both client and server
- Various minor control changes and fixes
- Fix pitch in MBF21 Monster Projectiles
- Fix wad command when multiple wads are called
- Fix Boom shootable line specials not being repeatable
- Properly escape text displayed to confirm a skill and set SpawnFilter flags correctly
- Display levelnames specified in MAPINFO on intermission screens
- Draw transparency as black on 1 sided walls
- Fix UMAPINFO par times being 35x too high
- Search for chex.deh when chex.wad is selected as IWAD in GUI
- Maintain sprite offsets when flipped
- Center view when
centerview
called while the console or menu is open - Render sprites with y offsets less than 1
- Ignore case for file extensions in G_LoadWadString and detect deh files in boot GUI
- Clean up references to removed cvars + remove some unused cvars
- Don't have singleplayer players telefrag on spawn
- Account for coop player starts stored out of order
- Fix sector types 10 and 14 desync on callvote restart
- Draw MAPINFO "name" field for skills and episodes as text instead of searching for a patch
- Throw error when attempting to spawn object in MBF21 codepointers
- Fix assignments to ACS map arrays
- Show status bar face background as 32bit on 32bit mode
- Fix 7 second delay after initializing animations with speed of 1
- Very large maps no longer disappear in automap mode
- Fix odalaunch crashing when sorting servers
- Use 64-bit fixed point when calculating sprite clipping with height transfers
- Fix out of bounds array access when rendering sky transfers
- Fix floor lowering to lowest adjacent floor for line special 40
- Fix destination height for floor and ceiling lower/raise to shortest texture being incorrect
- Weapons using MBF21 A_ConsumeAmmo no longer consume ammo when sv_infiniteammo is enabled
- Fix the automap not drawing at high resolutions
- Flipped sprites during cast call being drawn offset and stretch
- Dim the help screen's transparent sides
- Draw CWILV graphic from top of screen if its height it 200 (or greater)
- Add offsets to DrawPatch so intermission screens with offsets can be drawn correctly
- Fix vertical texture scaling
- Fix crash when unimplented ZDoom line specials called in certain contexts
- Fix issues when ACS P-codes are outside 0-239 range
- Fix single patch textures rendering incorrectly if patch taller than texture
- Fix damage tint staying green after switching from Chex Quest to another IWAD and vice versa
- Fix FLTK error window when using certain command line arguments, affected starting from Odalauch
- Fix flying monsters getting stuck on players/each other
- Fix errors and crashes when displaying cast call if monster uses multiple sprites
- Fixed a crash caused when setting
sv_maxplayersperteam
to zero during intermission - Fixed a crash caused by playing empty Doom format sounds
- Fixed issues caused where out of bounds access to S_sfx when ambient sound is not found
- Fix broken deserialization of
DPusher
s
Build/Compiler Additions/Changes/Fixes
- Update C++ standard to C++17
- Build release candidate artifacts on release/* branch, Auto-generate artifacts for releases, "Push Button Release". Should increase frequency of future releases. In fact, this release was built using it!
- Added Linux ARM64 build job to Github actions
- Add Microsoft Redist installer to the installer and zipped output files
- Changed wiki link
- Move minilzo to a separate library
- Ubuntu buildgen scripts for 24.04
- Build JsonCpp when building the client if USE_INTERNAL_JSONCPP is enabled.
- Update Fedora 28 and Ubuntu 18.04 workflows to Fedora 32 and Ubuntu 20.04
- Bump SDL Mixer to 2.6.2 on Windows
- Improve compiler warnings
- Fix endianness check for *BSD
- Fix Fedora builds
- Update fmtlib
- clang-format updates