Features
Platforms
- Added support for Android (please leave us a review 🤗)
- Added support for the original Nintendo 3DS
- Added support for Lepus - jz4760/RG300 with multiplayer support
- Switch: Added TCP/IP multiplayer support
- Vita: Added TCP/IP multiplayer support
- OpenDingux: Added TCP/IP multiplayer support
- 3DS: Added TCP/IP multiplayer support
- 3DS: Add launcher sound
Graphics / Audio
- Animations are now updated at render time for high fps visuals
- Added support for hardware cursor (solves cursor lag)
- Quests being ordered logically in the quest panel
- Quest panel now lists completed quests
- More fine grained volume slider
- Added option for pickup sound
- Shrine reveals map in a different color than your own exploration
- Automap has drop shadow for better contrast in some levels
- Added font with support for Extended Latin, Greek, Coptic, Cyrillic, Chinese, Japanese, and Korean
- Item outline color now matches rarity
- Use gold color to indicate unique items in stores
- Improved XP bar visuals
- More widescreen loading scenes
- Mac: Icon now follow Big Sur style guide
Multiplayer
- Added built in support for ZeroTier (no need for port forwarding, no need for an extra application)
- Added support for unencrypted public games
- Added auto discovery of public games over ZeroTier
- Share map exploration (in a different color than your own exploration)
Controls
- Press alt to show items on ground with labels
- Added option for stopping the hero with a key-press
- Hold click to continue to attack/walk/consume
- Click ctrl-click to drop an item
- Click shift-click to swap to the clicked weapon
- Limit the max width between panels
- Center align panels
- Rune bomb and crypt map can be used when standing next to target
- Added option for disabling crippling shrines
- Improve inventory filling order
- Added option to refill belt automatically
- gamepad: Equip equipment when pressing [use]
- gamepad: Operate object as last option for primary controller action
- gamepad: Allow applying oils with secondary action button
- gamepad: Inventory now takes object size into consideration
- gamepad: Add joystick dead zone range to ini
- touch: Add input hint to virtual keyboards
Stability / Performance / System
- Add support for translations
- Run in self-contained (portable) mode if diablo.ini is in the same folder as DevilutionX
- Chat now supports Unicode, including emojis
- Several actions can now have their key bindings remapped in the ini
- Added key bind options for quick save/load
- Show additional logging with
--verbose
- Start directly in Hellfire mode with
--hellfire
- Support for MPQs with compressed audio
- Log errors to the terminal as well
- Added options to adjust audio quality to ini
- Update Shareware help text to match retail version
- Automatically pause and mute the game when put in the background
- Allow for multiple heroes with the same name
- Only update diablo.ini if there are changes
- Windows: Auto detect location of MPQ files from GOG installation
Translations
- Added Brazilian Portuguese
- Added Bulgarian
- Added Czech
- Added French
- Added German
- Added Italian
- Added Korean (requires the additional fonts)
- Added Polish (optional dub by professional voice actors)
- Added Russian
- Added Simplified Chinese (requires the additional fonts)
- Added Spanish
- Added Traditional Chinese (requires the additional fonts)
Bugfixes
Gameplay
- Fix small rooms missing from some levels
- Golem's to-hit being incorrect after loading a save game
- Diablo: Correct spells mana cost for the Sorcerer
- Diablo: Armor piercing was 2x of what it should be
- Diablo: Barbarian missing his armor piercing bonus
- Hellfire: Elemental spell was missing
- Hellfire: Firering spell not creating the correct shape
Platforms
- Switch: No longer reacts to touch events
Graphics / Audio
- Corrected directional sounds for distant sources
- Fix sound cut off when exiting game or starting the intro video
- Entirely new audio mixer to solve audio issues and lower memory usage
- Fixed rendering issues on 8bit outputs
- Hellfire: Clearly indicate if it's in shareware mode
Multiplayer
- Reverted melee damage, when friendly fire and friendly mode is on
- Do not show XP bar when chat is open
- Do not show unbound status in place of game name
- Show host version when incompatible
Controls
- Gamepad: Prevent wasting stat points on maxed out stats
- Gamepad: Do not reset cursor position when switching between mouse and gamepad
- Gamepad: Unable to open crypt and hive
- Gamepad: Close cathedral map when pressing B-button
- Touch: Open virtual keyboard when text input is needed
Stability / Performance / System
- Correctly reset game state if not saved
- Compatibility with shareware save games
- Correctly handle folders with non English symbols in them
- Free network connection after ending game
- Never require write mode for MPQ files
- Allow for comments in ini file
- Load assets from a folder called
assets
next to the application if not found in data paths - Added listfile to our MPQs
- Add ini option for showing FPS
- Fix name filtering
- Correct minor memory leaks
- Further reduced memory usage
- Performance improvments
- Windows: Only show network errors once
Bugfixes for original Diablo bugs
Gameplay
- Player becoming immune to stun while using manashield at low health
- Monsters and players are no-longer immune to missiles when moving horizontally
- Fix missiles hitting multiple times
- Fix missiles sometimes skipping hit checks when passing a target
- Fix charging monsters disappearing from the game if changing levels while they were charging
- Fix negative AC bonus resulting in +1 AC
- Do not attack dead monsters
- Show more accurate
To hit
value in char panel - Wake up minions when their leader wakes up
- Disallow swapping gear while not standing/walking to avoid animation lock
- Switching of spells during casting changing the cost of the cast
- Not being able to pick up items after starting a new game for a short amount of time
- Persist shop inventory shop items when saving and loading
- Diablo's chamber opening with one lever after level loading
- Thaumaturgic shrine not restocking trapped chests
- Scavengers/Gravedigger were only able to search for corpses south of them
- Scavenger leaders getting stuck if minions started eating
- Quest monsters level being increased twice
- Fix gold piles with 0 gold from incorrect treasure room generation
- Avoid using temporary missiles for game state tracking
- Object interactions stacking while other actions are being performed
- Quest items sometimes not being picked up when clicked
- Teleport spell failing for some valid positions
- Phasing spell sometime failing or sending you outside the level
- Phasing not working in Lazarus' chamber
- Too many monster slots being allocated for golems on levels with quests
- Golems spawning on top of the player
- Fix Zhar's bookcase resetting a golem instead of Zhar
- Zhar saying his line twice in a game
- Fix stairs up to level 8 sometimes taking the player to town instead
- Fix random tiles being explored on automap
- Fixed various typos
Graphics / Audio
- Monster light not updating when monster teleports
- Correctly shorten item names depending on visual length
- Missing dirt corners on map
- Wobbling map indicator when walking
- Fix screen position jumping after loading some saves
- Some lava still animated despite game pause
- Fully close the dialog screen when pausing game
- Changed player saying "Not enough mana" to a more fitting message when using a level 0 spell
- Draw belt item number for unusable scrolls
Multiplayer
- Correct dsync caused by incorrect vision range for other players
- Sync monster active state
- Player attack speed being out of sync
- Dsync when switching items without sufficient inventory space
- Compensate for desync cause related to player movement
- Golem dsyncing if owner leaves level
- Prevent golems from fighting each other
- Play the correct sound when a player is hit by missiles
Controls
- Controls [ + ] stat point buttons sometimes not responding to clicks
Stability / Performance / System
- Keyboard layout is now correct when entering chat messages
- Validate network messages to harden security
- Fix corrupt save games for levels with large amount of entities
- Game now remembers the last selected hero
- Added menu for switching between Hellfire / Diablo
- Make menu navigation wrapping consistent
- Corrected multiple crashes and stability issues
Bugfixes for original Hellfire bugs
Gameplay
- Range monsters cannot hit target at melee range
- Monsters could not see firewalls if covered by lightning wall and vice versa
- Armor piercing affix on ranged weapons decreasing hit chance instead of increasing it
- Fix stuttering when running in town
- Firering spell damage not being based on the caster
- Firering spell giving XP to the wrong player
- Solar shrine time was off by 1 hour, and did nothing between 4 and 5 am
- Reflect spell not working after loading a save game
- Potion trap was not degrading rejuvenation potion into mana or life
- Barbarian's skill not correctly updating health points
Graphics / Audio
- Fix missing player lights when loading Hive level 3
- Apply lights to all berserked monsters after loading save game
- Remove light when killing a berserked monster
- Blood star becoming invisible when blocked
- Rotate arrows in the appropriate direction when blocking
- Candles around the storybook sometimes missing in Crypt
- Celia now leaves after her quest ends
- Update Celia and Complete Nut graphics when completing their quests
- Only play "Uh uh" sound the first time you pick up the cathedral map
- Glass breaking sound sometimes not playing for the potion trap
Multiplayer
- Fix dsync in Hive
- Open Crypt from the start
- Restrict access to Hive and Crypt based on level
- Reflect spell not being synced
- Search spell affecting all players
Known issues
- The Linux build does not contain devilutionx.mpq which must be downloaded separately instead or it will be unable to locate
fonts\yellowdialog.trn
. - Switch/3DS: Polish dub produces static sounds
- OpenDingux: Now requires Beta