Skip to content

Releases: odamex/odamex

Odamex 10.4.0

10 Aug 01:12
Compare
Choose a tag to compare

Odamex 10.4.0 - QCon 2023 Edition

This is a minor release with a few nice features and a lot of quality of life fixes. The client has seen a lot of updates. First, the new client frontend has been improved with an options tab and some quality of life fixes. Second, the client itself now sounds and looks better! Ceski has rewritten the portmidi music driver which corrected many issues with midi playback. Ceski also added ultra widescreen support up to 32:9 - WOW! Other client changes that may be noticeable are improvements to on-screen messaging in the menus and in-game HUDs.

Many tricky bugs related to MBF21 support, as well as the various MAPINFO lumps, were also corrected.

For a full list of changes, check out the list below:

Added

  • Addition of ultra widescreen support, as well as automatic aspect ratio detection. Thanks ceski!
  • Include preset colors in the player setup menu. Thanks Acts19quiz!
  • Added an options menu to the client launcher. Thanks @electricbrass!
  • Double clicking an iwad in the client launcher now launches the game. Thanks Mia!
  • Out-of-the-box improvements to Chex Quest support, including green screen tinting.
  • Add more helpful messaging to Horde and Survival Coop modes.

Changed

  • Improvements to IWAD selection on the client launcher. Thanks Mia!
  • Player setup menu improvements. Thanks Acts19quiz!
  • Rewrite of the portmidi music driver by @ceski-1. Huge improvements!
  • Some server console improvements on Windows systems.
  • CI improvements for multiple platforms.
  • Minor changes to default horde waves packaged with Odamex.
  • Improved options for frames-per-second selection in the video options menu.
  • Quality of life improvements to preferred weapon order menu.
  • Allow movebob and red damage screen correction on clientside by default. Can still be controlled by server.
  • Only read a UMAPINFO file if both a UMAPINFO and MAPINFO file exist.
  • Improvements to installer.

Fixed

  • Allow bypassing no-cheat rules in all skill levels offline.
  • Restore floor damage text obituaries. Thanks Mia!
  • Corrected generic text obituaries displaying backwards.
  • Removed ZMAPINFO support as it was breaking a lot of wads.
  • Fix multitrack MIDI looping on MacOS. Thanks ceski!
  • MBF21 +RIP projectiles now work as intended.
  • Custom dehacked projectiles now display in a sane way on the killfeed.
  • Fix MAPINFO token compat_invisibility from causing an error
  • MBF21 custom tracer projectiles no longer seek spectating players.
  • Fixed items desyncing between client and server on Boom/ZDoom conveyor floors.

Download Odamex

Odamex 10.3.0

10 Dec 04:42
Compare
Choose a tag to compare

Odamex 10.3.0

Another minor release with some nice new features thrown in. The most noticeable new feature is the brand new PWAD selector tab when you start Odamex. It will search the cl_waddownloaddir and waddirs cvars, the -waddir command line parameter, and DOOMWADDIR and DOOMWADPATH environment variables for WAD files. You can select which ones you want to play and even rearrange their load order.

Aside from that, perhaps the most noticeable fixed bug is the fact that a long-standing weapon desync caused by picking up a weapon that was not known to the client yet has been addressed. This should virtually eliminate cases where the wrong weapon is held at the start of levels or on a reset.

That's enough of a summary. Let's dig in!

Added

  • The Odamex boot window selector now has a PWAD selector to go with it! Thanks Mia!
  • Odamex's window will now flash if the window is not focused and you respawn. Thanks Mia!
  • Obituaries now show up for MBF21 customized weapons and monsters.
  • Additional versions of the Unity IWADs are now noticed by Odamex.
  • Ctrl-Delete and Alt-Delete now delete words on either side of the cursor in the console.
  • Chat macros are now usable on the numeric keypad if numlock is enabled.

Changed

  • A much better error message should show up if you try to join a server without the proper IWAD. It also tells you if it found an IWAD, but was an incorrect version.
  • Odalaunch will now show all servers for the current major version only.
  • Odamex will now respond to all launcher requests for the current major version, instead of checking the major and minor version.

Fixed

  • Instances where weapon pickups were triggered for weapons that were not known to the client yet, such as on level load or reset, should now no longer cause a weapon desync.
  • A crash that occurred when an actor doesn't have an associated subsector when looking for players has been fixed.
  • Latched cvars now show pending changes correctly instead of a purple square.
  • The traditional status bar was not rendering correctly in non-cooperative modes, this has been addressed.
  • A circumstance where Odamex would crash due to attempting to render level data that had been freed due to an error condition has been fixed.
  • DeHackEd monsters could not walk underneath thing bridges, now they can.
  • Line special 192's searching routine was broken when 0 was used as a search base - this is now fixed. Thanks Mia!
  • The BIGFONT comma was way too high, now it's where a comma should be.
  • Generalized linedefs were not being flagged as switches online, now they are.
  • A few MIDI controller events weren't being passed through properly, leading to music weirdness that happened when switching between certain songs. Thanks Ceski!
    • Fixes music in Sunlust going from Title Screen to MAP01.
    • Fixes music in Three is a Crowd warping from MAP03 to MAP10.
  • Yet more vanilla demo desyncs have been addressed - now all of Doom, Doom 2, Plutonia and TNT demos play without desyncs.
  • Using 10-key functions with numlock should now work as expected.
  • MAPINFO compatflags are now properly ignored, instead of breaking the parser.
  • Tag 666 was occasionally causing the game to crash, and Tag 667 simply didn't work at all. Not anymore.
  • The "Server Full" message was missing a flags field, causing the client to not understand it - now it does.
  • Automap's pan speed was bigger than intended when follow mode was off, fixed. Thanks Mia!

Download Odamex

Odamex 10.2.0

16 Aug 19:19
Compare
Choose a tag to compare

Odamex 10.2.0

A pretty low-key release. A modest box of new customizations for players and server admins to play with, and multitude of netcode fixes, horde fixes and an assortment of others.

Added

  • A new r_softinvulneffect setting, enabled by default, which changes the invulnerability effect to the visible weapon as opposed to the entire screen.
    • The vanilla invulnerability effect has always been a bit of an eyesore, but now that we have spawn invulnerability it has turned migrane-inducing.
    • The current look is not necessarily set in stone, and we plan on making further tweaks to it in the future.
  • A new g_preroundreset setting which will reset the level between the pre-round countdown and the actual game.
  • You can now change the length of time messages appear in the obituary feed with hud_feedtime. This setting is also surfaced in the menu.
  • Item counts now show up in the automap.
  • A new cl_centerbobonfire setting which emulates the ZDoom 2.x behavior of centering the weapon when firing.
  • Introduce co_removesoullimit for eliminating the 20 count lost soul limit offline. Online, this adjusts the cap to 128. Thanks, Mia!
  • Horde now respects sv_nomonsters.
  • Boss monster projectiles now have the same palette shifts as the bosses themselves. The projectile behavior itself is still identical...for now.
  • hordenextwave now respawns players. Thanks, Mia!
  • "AUTOMAP" graphic now appears in the automap options menu.
  • Support for the new Steam WAD file locations.

Changes

  • Horde bosses now lose their "sparkles" on death.
  • All non-RGB sliders in options menu now display current value to the right.
  • con_notifytime and con_midtime now accept non-integer message timeout times.
  • Certain variations of the scoreboard surrounding round and lives logic had less-than-useful configurations, these have been improved.

Fixed

  • A significant "pump fake" misprediction of monster behavior was fixed.
  • Multiplayer vanilla demos did not play back at all, now they should work, though there are some remaining assorted issues.
  • Ultimate Doom E2M7 didn't always get detected correctly in the previous map behavior fix, now it should.
  • Online, certain trigger-once line specials were not properly cleared by the client, or improperly able to be triggered again by a newly connecting client. Now these issues have been fixed.
  • Scrolling floors were being mispredicted in client/server by a factor of two, now they scroll properly.
  • Secrets areas were not getting cleared properly when triggered by other players - now they clear properly.
  • Online, scrollers were being inited twice when restarting the map, this has been fixed.
  • Horde bosses now trigger special lines again.
  • Horde spawns were capable of being pushed around by scrolling floors, now they stay in place.
  • Online, glowing sectors were incorrectly reinitializing when restarting the map, this has also been fixed.
  • Sector flags did not properly save to a savegame, now they do.
  • Single-activation specials were not being cleared on the client, resulting in a desync. This has been fixed.
  • Horde monsters no longer get crunched by doors.
  • A_HealCorpse did not give resurrected monsters height, now they do.
  • judgment.wad now loads correctly.
  • WDLStats now properly count the last frag in deathmatch modes.
  • Fixed instances of doubled sounds when using A_PlaySound.

Odamex 10.1.0

22 Apr 19:16
Compare
Choose a tag to compare

Odamex 10.1.0

Added

  • Many improvements to Horde
    • Monster spawning speed has been completely changed.
      • Now, the speed of monster spawning changes based on the wave difficulty and how empty or full the map is.
      • This should prevent instances where a group of marines could overwhelm some of the easy waves to the point of it being boring.
      • There are several new cvars that allow you to modify these speed settings.
        • `g_horde_spawnempty_min`, `g_horde_spawnempty_max`, `g_horde_spawnfull_min`, `g_horde_spawnfull_max`.
      • The initial 60 seconds of each wave slow down the rate of spawning. It also slows down if there is at least one boss alive.
    • When starting a wave, you are now told if there are new weapons for you to pick up, and which ones if so.
    • Every wave is now assigned a difficulty based on its maximum spawn HP.
      • We use the same rating scale as the Dean of Doom; X for eXtreme, E for Easy, A through D in between.
    • You can now override already-defined waves by naming them the exact same.
      • In other words, if you want to put your own spin on `Tangerine Skies` you can simply create your own horde wave named `Tangerine Skies` and Odamex will use that one instead of the original.
  • Several improvements to the Automap
    • Automap arrows and colors are now abstracted to the point where they can be substituted, much like ZDoom allows.
    • Add customizable default automap colors for wad's using MAPINFO
  • Odamex now understands `skill` blocks in MAPINFO.
  • VSync is now accessible from the Video Settings menu.
  • SNDINFO now understands `$aliasand$random`.
  • Improvements to the FPS graph.
    • Scales itself rounding to powers of two. This should cut down on the amount of disorienting changing of graph scale.
    • Added green and blue lines to signify 60fps and 35fps, for orientation.
    • Drop-shadow added to the graph border, to fit in with the font and be less of an eyesore.
  • Linux users can now build against the system jsoncpp and miniupnpc library.
    • The vendored versions of these libraries have also been updated.

Changes

  • Release builds of Odamex are now built with LTO, which should result in some performance gains.
  • Odalaunch now shows servers of the current major version (10.x) and next major version (11.x).

Fixed

  • Some of the auto-aim options in Player Setup couldn't be selected, now they can.
  • MBF Smooth Lighting didn't work right, now it does.
  • Invalid sound effects with no assigned lump now show a warning instead of crashing the game.
  • Generalized specials in BOOM were not persisted to network clients with full precision, resulting in broken specials. Now they are persisted correctly.
  • `A_MonsterProjectile` was firing projectiles that never go anywhere, now they behave as expected.
  • Generalized key doors were misbehaving, now they should function.
  • Generalized Sector Ceiling with Change Texture was not behaving as expected, now it should.
  • Network messages were not getting properly cleaned up after use, now they are.
    • For those who have been running into Out-Of-Memory or hard freeze conditions when playing online, see if this release makes a difference.
  • Spectators were mistakenly allowed to activate certain line classes when they shouldn't, now they are ghosts once again.
  • Certain ceiling raising or lowering triggers were not functioning, now they should.
  • Ultimate Doom E1M8's ending was killing the player instead of ending the level, now it works as intended.
  • 5 minute door crashed the game on activation, now it opens as it should.
  • Changing g_gametypename didn't actually show the modified gametype in game, now it works as it should.
  • Fix an automap crash triggered by certain settings.
  • Rotating the automap with the grid enabled used to have lines clipped off, now they draw as expected.
  • Generic locked doors weren't making sounds while opening, now they do.
  • Ultimate Doom E2M7 was inadvertently triggering MBF21 flags due to a bug or oversight in id's tooling. This has been fixed.
  • ZDoom Generalized Secrets didn't always trigger before, they should now.
  • A crash caused by crushers blowing up barrels that damage other mobjs if blockmap compatibility was disabled is now fixed. This should fix Eviternity MAP10.
  • A crash caused by out-of-bounds column access into a patch while drawing a vissprite has been fixed. This was a rare semi-random renderer crash that was hard to reproduce.
    • Thanks to those who provided crash dumps.
  • Intermission scripts are now properly ignored.
    • Fixes lostepis.wad.
  • Generalized sectors that used model sectors didn't work in all cases, now they should.
  • ANIMDEFS that don't parse correctly now get ignored.
    • More complete support of ANIMDEFS will come in a forthcoming version of Odamex.
  • Properly either handle or skip over compatflags in ZMAPINFO.
  • Walkable Trigger Once lines in ZDoom weren't clearing themselves properly.
  • You used to be able to use invalid DEHEXTRA thing names in HORDEDEF, resulting in a crash. Now there's an error message.
  • Chex Quest now plays finale music again.
  • Demobar no longer displays when screenblocks is set to fullscreen with no HUD.
  • Perpetual generalized lifts could sometimes get stuck in an invalid state.
  • ZDoom format maps were not applying a side test to activation, now they do.
  • Building Odamex with musl is now possible.

Odamex 10.0.0

13 Feb 23:46
5880bdc
Compare
Choose a tag to compare

Yes, 10.0.0

At some point in the past decade and a half, Odamex went from a beta, work-in-progress port to a port stable enough to have been used for tournaments, events, and even online leagues. So instead of releasing 0.10.0, we thought it was about time to get rid of that leading "0" in our version number.

The Release

There are so many testers, developers, and contributors involved, we cannot possibly thank them all individually. However, we do want to welcome two new members to the Odamex team:

KBlair - introduced MBF21 and DEHEXTRA along with Ch0wW. KBlair has been helping Odamex behind the scenes for years with server hosting, stats, and many other factors.

DeathEgg - namely implemented UMAPINFO, and many improvements to overall MAPINFO.

With this, welcome to the team guys! Thanks for making Odamex 10 what it is!

It's not just for looks, as this release is one of the largest in the port's history. First, Odamex now has a brand-spanking new game mode, the first unique one since the port has been publicly announced. We've also added support for many new modern extended MBF features such as DEHEXTRA and MBF21. We have added a brand new boot menu that isn't just for selecting IWADs. Our interface has taken its long-overdue first step beyond its Quake 2 inspirations. Behind the scenes, our server-to client network protocol has undergone a complete rewrite - there is not a single network message left untouched.

Changelog

There are a lot of details with this release, but what you need to know is listed below:

New Features

  • Horde Gamemode

    • Odamex now has a horde gamemode, which will be familiar to anyone who has ever played Killing Floor, Halo's Firefight mode, or Unreal Tournament's Invasion gamemode. This gamemode is new and unique to Odamex, and is not compatible with Invasion maps from Skulltag/Zandronum.
    • Monsters spawn into the map in waves, and it's up to you and a few buddies to continuously thin their ranks until a big boss spawns in. Beat the boss and you win the wave, reach the wave limit and you win the level. Sounds easy, but the monsters spawn relentlessly only giving you the occasional breather, and the bosses have special boss properties that make them far more of a threat.
    • There are many ways to play Horde. Play it in single-player straight from "New Game" or join up with a few friends online. Play it on UV skill for the intended experience or dial the skill down a few notches if things get a little too hectic. Online servers can either use either limited or unlimited lives. There are also numerous variables that can adjust the size of the horde, the length of waves, and more.
    • Alongside Odamex 10.0 we are releasing our Odamex Horde map pack, which is as much an exploration of many different themes and shapes of Horde map as it is a selection of hellspawn-filled tempests. This map pack also comes with a number of popular custom monsters like Arachnorbs, Stealth Aliens, and Suicide Bombers, with a few WAD-only wave defines to show them off in.
  • A Boot IWAD Selector and IWAD Manager.

    • Starting Odamex for the first time now gives you a selection of all IWADs the port has found. You can select and launch any one you prefer.
    • Is Odamex not finding your WAD files? The launcher also allows you to manage your waddirs setting allowing you to add, remove, or move around directories that will be searched for WAD files.
    • The Boot window is supported on Windows, macOS and Linux.
  • Kill Feed Obituaries

    • Odamex now has a brand-spanking new obituary feed in the top right hand corner of the screen.
    • This feed is much like the ones you might find in modern FPS games - instead of listing a textual obituary, the means of death is representated with player names and icons instead.
    • By default, old text obituaries no longer show up in the message line in the top left of the screen, although they do appear in the dropdown console. If you prefer the old way, you can re-enable message line obituaries and disable the killfeed from the options menu.
    • All of the obituary icons are brand new art courtesy of Scuba Steve. Thank you for your contribution!
  • A 21st century server protocol

    • All of Odamex's server-to-client messages are now contained in shiny new protocol based on Google's Protocol Buffers. We can now add new network messages and add fields to existing messages without breaking protocol, allowing us much more flexibility to make protocol changes in minor releases.
    • One nice side effect of this is now that we can accurately measure how big a message is going to be before we write it, we can now fit many more messages into one packet. This means fewer opportunities for packets to be dropped or delivered out-of-order.
    • In the process of rewriting, many unused and "reserved" messages were removed. Others were consolidated or simplified. A few messages were even hoisted into the header of each packet as a fundamental part of the new protocol.
      Either way, we expect this new protocol to function as base to further improve the netcode in future.
  • Pistol-starting support. You can now play through the game starting from a pistol on every level-switch.

    • Support for pistol-starting has been added to the difficulty selection menu.
      g_resetinvonexit is the cvar, so-named because you can change your starting inventory with Spawn Inventory.
    • The -pistolstart command line switch is also supported, for parity with prBoom.
  • A baseline-based netcode

    • Odamex has revamped in a major its way of sending monsters and objects to the client in a way that should feel much more "solid" with fewer mispredictions.
    • Based on an idea from Quake, we now send over a "baseline" containing an initial set of data to each client, and then for every subsequent update we only send over the fields that have changed between the baseline and the current time.
    • On average, this new baseline approach to object persistence is not only more accurate than the old 0.9 method, but also uses less bandwidth.
  • We are quite eager to support the new Extended-vanilla and BOOM-based standards that have been coming to fruition as of late. To that end, we have implementations of the following:

    • UMAPINFO support. If your WAD has a UMAPINFO lump, Odamex should be able to parse and run it. Thanks to DeathEgg for the implementation!
    • DEHEXTRA support. More frames, more sprites, more sounds, more of everything. Thanks to Ch0wW and KBlair for the contribution.
    • MBF21 support, adding support for both the map extensions and extra DeHackEd codepointers, plus arguments. Again, you can thank Ch0wW and KBlair for the tag-team.
  • That said, we don't want to forget about ZDoom features either:

    • MAPINFO now supports episode definitions. Thanks to DeathEgg for the implementation.
    • Additionally, MAPINFO now supports boss actions, and special handling of EXM8/E4M6/MAP07 is now handled completely through this feature. Again, thanks to DeathEgg for the implementation.
    • UsePlayerStartZ now works in ZDoom-flavored MAPINFO. Thanks to Ru5tk1ng for the contribution.
    • Thing_Stop was added as a line special and ACS function. Thanks to Ru5tk1ng for the contribution.
    • A long list of ZDoom line specials have been added, courtesy of DSDA-Doom. Thanks to KBlair for the contribution.

The widely used SR50 bind is now a built-in feature of the engine, available with a new setting: in_autosr50, which is enabled by default.
This does not require rebinding any keys, and simply changes +strafe to add the boost you get from turning left or right with strafe on automatically.

  • Exiting a level via trigger now prints a completion time to the console.

  • Pausing during netdemo playback now allows you to advance frame by frame using the right arrow key.

  • A new setting: hud_demoprotos.

    • This allows you to examine the server messages that were received during a given demo frame.
    • By default the first message is "unfolded" and shows the packet contents. You can select which message to unfold using Page Up/Page Down.
  • A new setting has been added for cl_switchweapon which allows holding +attack to override player weapon order.

  • A new font is available based on BOOM's digital font. It is used in various places.

  • New cheats:

    • MDK (Kills whatever the player's crosshair is pointing at)
    • TNTEM (Kills all monsters)
    • BUDDHA (Player health cannot dip below 1%)
  • Added give function to console.

  • Added support for the REKKR 1.16a IWAD.

  • A bump to the major version number

    • As alluded to above, the numbers in our version have shifted right by one place, getting rid of the needless leading "0".
    • Compatibility of version numbers has shifted over one as well. A hypothetical Odamex 13.1 can connect to Odamex 13.0 servers, but not Odamex 13.2 or 12.0 or 14.0 servers. If you see a release with a third version number, like 13.2.1, that number is reserved for optional updates and is ignored by clients and servers.

Fixes

  • An instance where a corrupt patch could crash the game was fixed.
  • Doomguy's head now looks in the direction of your attacker while playing online.
  • A_Mushroom has been re-enabled and should be fully working, including the misc parameters.
  • notarget now works online.
  • Translucent graphics at 100% opacity no longer leak any of the background.
  • Colored lighting now has the correct amount of brightness, instead of being over-bright.
  • Music no longer starts over when loading a map with the same music track.
  • Demos in an old demo format now produce an error when they're played.
  • "Avatar" voodoo dolls can now telefrag.
  • Running out of blue armor and picking up an armor bonus now correctly shows green armor when pl...
Read more

Odamex 0.9.5

09 Sep 03:20
Compare
Choose a tag to compare

Odamex 0.9.5 - Released on September 8, 2021

Bug Fixes

  • Fixes an exploit allowing clients to spy players when they're not supposed to.

Odamex 0.9.4

17 Aug 03:10
dd70f63
Compare
Choose a tag to compare

Odamex 0.9.4 - Released on August 14, 2021

Bug Fixes

  • An occasional crash caused by the fuzz drawer has been pinpointed and fixed.
  • An instance of Tutti Frutti that showed up in tall wall and sky textures that had more than one post per column has been taken care of.
  • Fixes many of 32in24-17's sky textures.
  • Teleport line type 208 now works again.
  • Fixes BFG teleporter in lazarus1k map08.
  • odasrv on Windows now properly shows an error message in the console output.
  • Certain classes of corrupt patches that would have crashed the game now raise an error instead.

Changes

  • In 3-Team modes, dead players on a team who is completely out of lives can now spectate other teams as well.

Additions

  • Support for DogSoft as a WAD downloading source. Thanks to Mega-Dog for going out of his way to add support for Odamex.
  • A new setlobbymap console function that can apply lobby functionality to any arbitrary map in any loadable WAD. There is also a clearlobbymap that clears any currently set lobby map.
  • Ctrl-PageUp and Ctrl-PageDown now scroll the console 16 lines at a time.

Odamex 0.9.3

12 Jun 18:50
Compare
Choose a tag to compare

Odamex 0.9.3 - Released on June 12, 2021

Bug Fixes

  • An issue where a player health desync was leading to ghost players has been resolved.
  • Friendly target nameplates are now always visible unless the client turns them off.
  • During demo playback, target nameplates now show health indicators.
  • Note that at this stage the health indicator is considered a debugging tool and is not 100% accurate - thus why it's limited to demos for now.
  • Addressed an issue where non-keyboard buttons couldn't be unbound.
  • mute_spectators was also blocking spectator teamchat, now it doesn't anymore.

Odamex 0.9.2

28 May 15:48
Compare
Choose a tag to compare

Odamex 0.9.2 - Released on May 28, 2021

Bug Fixes

  • g_coopthingfilter was filtering out too many things on certain settings.
  • MAP08 should now sound like it's supposed to, instead of being way too loud.
  • Several memory bugs were uncovered by the switch to the OZone heap, fixing these makes the Mac and Linux ports much more stable.
  • Half of the default 32 sound channels were non-functional and led to missing sounds and priority problems.
  • Z-teleport height bug was not being properly emulated in Final Doom.
  • Door sectors with linedefs in them were getting confused.
  • Door thinkers were getting destroyed the tick after they closed, this desynced demos because of course it did.
  • Door sounds were not being played when manually reopning them.
  • Generalized and zero-tag doors were not checking the correct sector when raising.
  • Several more MAPINFO tokens were not being skipped past properly, now we are.
  • lookup in MAPINFO no longer dies if the language string can't be found.
  • sky1 and sky2 now properly support optional scroll speeds.

Changes

  • Migrate all interal patch pointers to use resource handles instead.
  • These handles are redeemed for their original data when necessary, and automaitcally expire on WAD switch.
  • Attempts to draw a stale handle results in drawing an empty patch instead of crashing.
  • Do not artificually block switching to something in the SSG slot just because doom.wad is loaded.
  • Small big font updates to - and =.

Additions

  • MAPINFO now understands compat_nopassover.

Odamex 0.9.1

17 May 03:06
Compare
Choose a tag to compare

Odamex 0.9.1 - Released on May 16, 2021

Bug-Fixes

  • Conneting to servers should now be significantly more reliable for those on less-than-stellar connections.
    • Note that this fix only works when connecting to a Odamex 0.9.1 server or above.
  • Some initial network messages were missing from demos recorded with -netrecord or one of the autorecord settings, now the data should be complete.
  • Clearing the lives area of the original status bar while not in a lives gamemode.
  • lookdown command was not found.
  • Detection of IWAD's was too lax, leading to certain situations where a real IWAD was not being loaded.
  • Incorrect default value for warmup autostart in duel games.
  • Spectators were able to spy 0-lives players, now no longer.
  • Dead players who are out of lives can no longer spycycle back to their own eyes.
  • Recursive errors now always terminate the game, not just fatal ones. This fixes being unable to quit after an non-fatal error.
  • Crash while connecting to a server running a loose DeHackEd file.
  • A null pointer changetag crash on failed WAD switch.
  • Some MAPINFO tokens were interfereing with Odamex's ability to load MAPINFO.
  • State cycles should be harder to trigger, and when they do a better error message is displayed.
  • Teleport destinations in DOOM format maps were taking forever to xlat to Hexen format in certain circumstances (Sunlust MAP30), the code that handled this was replaced.
  • DeHackEd string replacements now properly override built-in LANGUAGE strings in all cases, as well as properly accomodating non-english languages.
  • Trying to load a map with zero-length nodes used to crash, now it errors out.
  • Colors were not stripped from odasrv logfiles, now they are.
  • Installing to Program Files was not properly triggering non-portable functionality, resulting in errors about a missing crashdir.
  • Used to be possible to crash servers by trying to switch to an invalid team in certain circumstances, no longer.
  • The minimum CMake version was too optimistic, now it is properly set to 3.13.
  • Stack traces on Linux now have symbols again.
  • Version strings should show up a little nicer in Odalaunch.

Changes

  • DeHackEd patches located in PWADs can now coexist with externally-loaded patches.
  • Removed ts.chaosunleashed.net from the default standard rotation of sites to download from. If Odamex detects that you haven't modified that setting from the default while upgrading, it'll fix it for you.
  • The BIGFONT plus sign is now smaller.
  • The zone memory implementation has been changed to one that uses OS-native memory allocation and freeing functions without the "zone heap".
  • Default write directory for portable Windows installations is now the binary directory, instead of the CWD.
  • Crash directory error is now clear about what directory it was trying to write to.
  • Odamex no longer supports recording Vanilla demos. Playback of Vanilla demos is unaffected and is unlikely to ever be removed.

Additions

  • Spawn Inventory

    • You can now give players almost any inventory you desire with a single console variable. Health, Green Armor, Blue Armor, weapon inventory, starting weapon, ammo, and even backpacks and berserk, all modifiable from all game modes with just a single console variable.
    • As an example: g_spawninv "health:100 armor1:100 rweapon:3 weapons:123a bullets:50 shells:16 berserk" will give you a shotgun (3)as your ready weapon, a chainsaw (a) in reserve, and the rest should be self-explanitory.
    • Console variables can be convenient for server hosts, but we appreicate that sometimes getting the syntax of such a complicated variable can be tricky. We've got you covered with a new, self-documenting spawninv console command, which will help you to easily make targeted, on-the-fly updates to the inventory.
      For example, if you want to give players 8 shells instead of 16, simply type in spawninv shells 8 and the var will be updated in-place with your other settings untouched.
      This configuration var is compatible with any game mode, from Coop to Team LMS.
  • Improvements to the WAD downloader

    • When a WAD file is downloaded, if the hash doesn't match what the server wants, the next download site is now checked.
    • If the WAD downloader tries to save a file and a file by that name already exists in your download directory, it will now save it as a WAD with a hash. This means you can have two versions of the same WAD on your hard drive, and the correct one will always be loaded.
      Support for WADs with hashes.
  • Odamex can now differentiate between multiple WAD files with the same base name but different contents based on a hash added to their name.

    • For example, if you want to connect to a server running scythe2.wad with the MD5 hash of 0bade1ab0e0abb2d995f853ee10fa052 - the original 28 map release of Scythe 2 - Odamex will now accept either scythe2.wad or scythe2.0bade1.wad when resolving WAD files.
    • The hash must be exactly 6 hexadecimal characters, and must be separated from the filename and the extension with a period on each side. This specific filename layout will always represent a truncated MD5 hash.
  • A new hud_bigfont setting which changes several fonts in the HUD to use a bigger font.

  • A new cl_chatsounds setting which allows you to disable sounds made when someone else on the server talks.

  • A new g_coopthingfilter setting, which can suppress multiplayer things from being spawned. It can also spawn everything except weapons.

  • Arch-viles can now resurrect crushed monsters as ghost monsters, and there is a new co_novileghosts setting which can toggle the behavior.

  • A sv_weapondrop setting much like ZDoom which has players drop their weapon on death.

  • Dead players with no lives can now use spectator-specific buttons like mousewheel.

  • We now use SDL 2.0's simple message boxes to show errors when available.

  • Error messages boxes are now shown for recursive errors.