Odamex 12.2.0 is out now!
Featuring a number of bug fixes and smaller features, this will likely be the final 12.x release before 13.0.0.
First-time contributors
We would also like to thank our first-time contributors for:
- @teesquared for implementing the new minimap feature
- @endless-r0ad for a variety of netdemo-related fixes
Added
- All MBF21 thing flags are now supported. Newly supported flags are listed below:
- E1M8BOSS
- E2M8BOSS
- E3M8BOSS
- E4M6BOSS
- E4M8BOSS
- MAP07BOSS1
- MAP07BOSS2
- MAPINFO now supports SpecialAction_KillMonsters.
- DefaultSkill and ACSReturn properties are now supported in MAPINFO skill blocks.
- Scroll_Ceiling is now fully implemented for ACS scripts and Hexen-format maps.
- A_Stop can now be used in DeHackEd patches.
- The automap can now be displayed as a minimap.
- Sprees and Multi-Kills
- Successive and simultaneous kills are now announced in PvP modes.
- Mods can customize the messages, sound effects, and time intervals with a SPREEDEF lump.
- Mousewheel horizontal scroll/tilt can now be bound as input actions.
Changed
- Building odamex.wad now requires Python instead of Deutex.
- The minimum required Python version is 3.8. Nearly all modern Linux distributions should have this or newer preinstalled.
- Unlike Deutex, Python is not automatically downloaded on Windows when building Odamex. It can be downloaded from here.
- Unit tests are now built by default. To disable this, pass -DBUILD_TESTS=0 when running CMake.
- The macOS version is now a universal binary. This means Rosetta is no longer required to run Odamex on Apple Silicon.
- Windows builds now produce more detailed crash dumps. Because of the large file size, this is an additional dump created alongside the existing smaller ones, and it will always be overwritten by the most recent one.
- -confile now expects a named pipe rather than a text file.
- The HUD menu now has a title graphic, similar to many of the other options menus.
- The SmoothLighting property is now recognized when loading MAPINFO. Note that the actual smooth lighting feature is not implemented yet. This only allows loading maps which use it, instead of erroring out.
- The "Death from Above" default horde wave now has a low chance of spawning a chaingun as a powerup.
- When a map has a REJECT lump that is too small, it is now padded to the correct size with zeroes instead of being ignored.
- Vanilla Doom used the REJECT lump anyway, so some vanilla demos would not play back correctly before.
- This also keeps the performance benefits of the REJECT lump if the too-small lump is otherwise a proper reject matrix, rather than throwing it away to use the slower line of sight checks.
- Infinite cycle detection for thing states has been relaxed a bit, now allowing cycles up to 512 states long, from the previous 128.
- Horde bosses are no longer displayed on the automap once they die, to avoid cluttering the map and creating confusion between dead and living bosses. Note that displaying bosses on the map in multiplayer is unfortunately still broken.
- Flatpak builds now support dark mode for Odalaunch.
Fixed
- Odasrv now loads wads after loading the config file, instead of the reverse order. This matches the client and pre-0.8.3 versions of the server. There are a few noticeable effects of this:
- Previously, if the config file set waddirs, the server would not search the given directories, and would fail with an error if an IWAD could not be found.
- Maplist commands in the config are parsed before any IWAD has been loaded, so the IWAD must be specified, as there is no current IWAD for it to assume.
- Using -> in maplist command's lastmap argument now works properly in the case where the map being exited from has a secret exit
- Teleporters in UDMX MAP32 no longer block players.
- Avatars are now always spawned at floor height instead of at height 0, matching players and singleplayer voodoo dolls.
- Window icons for the client and launcher are no longer missing on some Linux desktops, including KDE Plasma and Raspberry Pi OS.
- Visual/rendering fixes:
- Scrolling floors and walls that are being scrolled by multiple linedef actions no longer move too slowly.
- Vanilla-compatible line horizons created by rotating segs by 180° now render correctly.
- When r_thingsectorlight is disabled, things in sectors using height transfers once again use the light level of the "height sector" rather than that of the "real sector".
- MUSINFO music changers now spawn in multiplayer.
- An infinite loop in enemy pathfinding has been fixed.
- The GameSkill() ACS function's return value now matches other ZDoom ports. It was previously off by 1.
- A crash when propagating sound in maps using extended node formats has been fixed.
- When item respawning is enabled, items are no longer dropped from the respawn queue when there are over 128 items waiting to respawn.
- An error with a strange message about JSON prettyprinting that sometimes occurred when entering levels in multiplayer has been fixed.
- SpecialAction_OpenDoor opens doors with blazing speed and no longer closes the doors after a delay. Fixes a softlock in Ultimate Doom E4M6.
- co_blockmapfix now only skips the first element of each blocklist if all blocklists start with 0. This allows using the blockmap fixes on BTSX MAP20.
- Netdemo fixes:
- The status bar no longer becomes a HOM under certain circumstances when rewinding a netdemo.
- Netdemos playback is no longer jittery when viewing the perspective of a player with a cl_movebob value that differs from that of the client playing back the demo.
- It is no longer possible to open chat input during netdemo playback.
- Playback no longer automatically switches back to the perspective of the player who recorded the demo when that player joins the game or is revived.
- Spying fixes:
- View angle interpolation now functions properly when spying another player's perspective
- Spyprev no longer stops working after cycling through all players once in survival games.
- Pasting into the client console when running under Wayland no longer crashes the game.
- Odalaunch no longer crashes when built with recent versions of wxGTK.
- On Linux and macOS, Odalaunch's server list is no longer partially out of order when sorted.
- A few freezes that could occur when trying to resume from debugger breakpoint have been fixed.
- An out of bounds memory write when clearing the OZone heap that could cause heap corruption in rare circumstances has been fixed.
Download Odamex