Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

DevilutionX 3DS: Difference between revisions

From GameBrew
m (Text replacement - "{{Infobox-3DS-Homebrews" to "{{Infobox 3DS Homebrews")
No edit summary
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox 3DS Homebrews
{{Infobox 3DS Homebrews
| title = DevilutionX
|title=DevilutionX
| image = https://dlhb.gamebrew.org/3dshomebrew/DevilutionX.png|250px
|image=Devilutionx3ds2.png
| type = Role playing
|description=Diablo build for modern operating systems.
| version=v1.2.1
|author=diasurgical
| lastupdated = 2021/04/13
|lastupdated=2024/09/02
| licence = Mixed
|type=Role Playing
| author = diasurgical
|version=1.5.3
| website = https://github.com/diasurgical/devilutionX/
|license=Mixed
| download = https://dlhb.gamebrew.org/3dshomebrew/DevilutionX-v1.2.1.7z
|download=https://dlhb.gamebrew.org/3dshomebrews/devilutionx3ds.7z
| source = https://github.com/diasurgical/devilutionX/
|website=https://github.com/diasurgical/devilutionX
|source=https://github.com/diasurgical/devilutionX
}}
}}
<youtube>ItA3TMiqXu8</youtube>
DevilutionX is a source port of Diablo and Hellfire that strives to make it simple to run the game while providing engine improvements, bugfixes, and some optional quality of life features.
 
==Installation==
'''Note:''' You'll need access to the data from the original game. If you don't have an original CD you can buy Diablo from [https://www.gog.com/game/diablo GoG.com], or use the [http://ftp.blizzard.com/pub/demos/diablosw.exe shareware version].
 
Create a folder named devilutionx on your SD card (sdmc:/3ds/devilutionx/).
* For the full game, copy diapdat.mpq to the devilutionx subfolder (for the shareware version, use spawn.mpq instead).
* For the Diablo Hellfire expansion, you will also need hellfire.mpq, hfmonk.mpq, hfmusic.mpq, hfvoice.mpq.
* Chinese, Korean, and Japanese users will also need [https://github.com/diasurgical/devilutionx-assets/releases/download/v1/fonts.mpq fonts.mpq] or the text will be missing (N3DS only, [[DevilutionX_3DS#Translations|see below]]).
 
Place the .cia file on your SD card, then use a title manager such as [[FBI_3DS|FBI]] to install devilutionx.cia.
 
==User guide==
DevilutionX for 3DS [https://github.com/diasurgical/devilutionX/blob/master/docs/manual/platforms/3ds.md user manual].
 
===Multiplayer===
The 3DS currently supports cross-platform Multiplayer in TCP mode. To play, you will need to enable Wi-Fi on the console and set up a network connection in System Settings. For more general information about Multiplayer and how to set up your network for TCP games, refer to the [https://github.com/diasurgical/devilutionX/blob/master/docs/manual/platforms/3ds.md DevilutionX Multiplayer guide].
 
When playing Multiplayer, guests will experience better performance than hosts. When playing cross-platform, it is recommended to host your game session on another platform with more capable hardware.
 
===Translations===
The 3DS version of the game will attempt to detect the appropriate language based on your 3DS console's language setting. Chinese, Korean, and Japanese users will need to download [https://github.com/diasurgical/devilutionx-assets/releases/latest/download/fonts.mpq fonts.mpq] or the text will be missing.
 
It is currently not recommended to use the Chinese, Korean, or Japanese translations on old 3DS models. The game will load additional symbols into system memory as needed while you continue to play the game. There is not enough memory in the old 3DS models to hold all the symbols in memory. It is therefore possible to run out of memory on the console and crash the game simply by using these translations.
 
To change the language used by the game, you will need to [https://github.com/diasurgical/devilutionX/wiki/DevilutionX-diablo.ini-configuration-guide#language modify diablo.ini]. The config folder path for 3DS is the same as the data folder for the MPQs (/3ds/devilutionx/ on your SD card).
 
===Performance tips===
New 3DS models have significantly improved hardware compared to old models. To improve the performance of the game on old 3DS models, you will want to modify diablo.ini. The config folder path for 3DS is the same as the data folder for the MPQs (/3ds/devilutionx/ on your SD card).
 
In particular, you will see a significant performance improvement if you set the game to Diablo's original resolution of 640x480.
 
[Graphics]
Width=640
Height=480
 
After making this change, if you would like the game to stretch to fit the full area of the top screen, use Fit to Screen=1. If instead you do not like the display to be stretched, use Fit to Screen=0.
 
Because 3DS uses SDL1, many of the graphics settings do not apply. The following represents the full list of applicable settings.
* Width.
* Height.
* Fit to Screen.
* Blended Transparency.
* Gamma Correction.
* Color Cycling.
* FPS Limiter.
 
==Controls==
'''Keypad:'''
 
Circle-Pad or D-Pad - Move hero


==DevilutionX 3DS==
A - Attack nearby enemies, Talk to townspeople and merchants, Pickup/place items (inventory), OK (main menu)


https://dlhb.gamebrew.org/3dshomebrew/IgdQsJC.png
B - Select spell, Back while in menus
https://dlhb.gamebrew.org/3dshomebrew/IsJ4KCc.png


==Notes:==
X - Pickup items, Open nearby chests and doors, Use item in the inventory
* This still has a lot of untested / unimplemented features.
* Installation instructions:
* Get full game, either CD or GOG release.
* Create a 'DevilutionX' folder to your SD, here: 'sdmc:/3ds/DevilutionX/'
* From the full game, copy 'DIABDAT.MPQ', to: 'sdmc:/3ds/DevilutionX/'
* Install and run .cia


'''Info'''
Y - Cast spell, Delete character while in main menu
* .cia only. Expect bugs!
* Slow on old3DS


===Build instructions:===
L - Use health item from belt
From inside the build folder:


* cmake .. -DBINARY_RELEASE=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/ctr/devkitarm-libctru.cmake
R - Use mana potion from belt
* make


===Installation instructions:===
Start+Up/Select - Game menu
* Get full game, either CD or GOG release.
* Download CIA: https://github.com/MrHuu/devilutionX-3ds/releases
* Create a 'DevilutionX' folder to your SD, here: 'sdmc:/3ds/DevilutionX/'
* From the full game, copy 'DIABDAT.MPQ', to: 'sdmc:/3ds/DevilutionX/'
* Install and run .cia
* ???
* Profit!
* OpenDingux / RetroFW
* CMake arguments
* General


* The default build type is Debug. This can be changed with -DBINARY_RELEASE=ON. Independently of this, the debug mode of the Diablo engine is always enabled by default. It can be disabled with -DDEBUG=OFF. Finally, in debug builds the address sanitizer is enabled by default. This can be disabled with -DASAN=OFF. You can also generate 32bit builds on 64bit platforms by setting -DCMAKE_TOOLCHAIN_FILE=../CMake/32bit.cmake (remember to use the linux32 command if on Linux). Network support can be disabled using -DNONET=ON, this also removes the need for the ASIO and Sodium dependencies. You can compile the shareware version with -DSPAWN=ON this will allow you to try the game using spawn.mpq from the original shareware which can still be downloaded for free.
Start+Down - Toggle automap


===mingw32===
Start+Left/L or ZL - Character sheet
Use -DCROSS_PREFIX=/path/to/prefix if the i686-w64-mingw32 directory is not in /usr.


===Use SDL v1 instead of SDL v2===
Start+Right/R or ZR - Inventory
Pass -DUSE_SDL1=ON to build with SDL v1 instead of v2. Note that some features are not yet supported in SDL v1, notably upscaling, and fullscreen.


===Multiplayer===
Start+X - Toggle zoom
* TCP/IP only requires the host to expose port 6112
* UDP/IP requires that all players expose port 6112
* All games are encrypted and password protected.


==Controller support==
Select+D-Pad - Move automap, Simulate mouse


DevilutionX supports gamepad controls.
Select+A/B/X/Y - Spell hotkeys


Default controller mappings (A/B/X/Y as in Nintendo layout, so the rightmost button is attack):
C-Stick - Move automap, Simulate mouse


* Left analog / DPad: move hero
Select+ZL or Start+Y - Quest log
* Right analog: simulate mouse
* A: attack nearby enemies, talk to towns people and merchants, pickup & place items in the inventory, OK while in main menu
* B: Select spell, cancel while in main menu
* X: pickup gold, potions & equipment from ground, open chests and doors that are nearby, use item when in inventory (useful to read books etc.)
* Y: cast spell, go to previous screen when talking to people and in shops, delete character while in main menu
* R1: inventory
* L1: character sheet
* R2: use mana potion from belt
* L2: use health item from belt
* Left analog click: toggle automap
* Right analog click: left mouse click
* Select: quest log
* Start: game Menu, skip intro


For now, they can be re-mapped by changing SourceX/controls or by setting the SDL_GAMECONTROLLERCONFIG environment variable (see SDL_GameControllerDB).
Select+ZR or Start+B - Spell book


==Changelogs==
'''Touchscreen:'''


'''1.2.1'''
Single drag - Move the mouse pointer (pointer jumps to finger)


=== Bugfixes ===
Single short tap - Left mouse click


==== Gameplay ====
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrews/devilutionx3ds3.png
https://dlhb.gamebrew.org/3dshomebrews/devilutionx3ds4.png


* Gharbad not having to go out of vision before progressing his quest
https://dlhb.gamebrew.org/3dshomebrews/devilutionx3ds5.png
* Diablo: Items with negative AC morphing in multiplayer
https://dlhb.gamebrew.org/3dshomebrews/devilutionx3ds6.png
* Diablo: Griswold and Wirt selling unusually expensive items
* Diablo: Gold not going directly to inventory
* Hellfire: Some monsters having lower than intended HP
* Hellfire: Auric Amulet not taking effect in most scenarios


==== Graphics / Audio ====
==Media==
'''DevilutionX (Diablo 1) for the RG-350 handheld''' ([https://www.youtube.com/watch?v=ItA3TMiqXu8 Gleb Mazovetskiy]) <br>
<youtube>ItA3TMiqXu8</youtube>


* Windows: Glitchy audio
==Known issues==
Polish dub produces static sounds.


==== Controls ====
==Changelog==
'''v1.5.3'''
*Bug Fixes
**Multiplayer
*** Resolved validation multiplayer errors.
**Translations
*** Added Hungarian translation.
*** Added Turkish translation.
**Stability / Performance / System
*** Fixed issue where a line is repeated in the info panel.
*** Fixed errors when converting Hellfire saved games.
*** [Miyoo Mini] Update integration.
*** [Android] Update integration (now requires Android 5.0).
*** [Android] Improved the data import dialog.
*** [Android] Game now runs full screen on devices with a notch.
*** [Windows] Fix non-English TCP error messages.
*Bugfixes for original Diablo bugs
**Gameplay
*** Fixed item repairs with multiple gold piles.
**Known Issues
*** Some builds (like Mac) are not ready yet and will be uploaded over the next couple of days
'''v1.5.2'''
*Multiplayer
**Unable to join game due to invalid player data
*Translations
**Improve rendering of Chinese/Japanese/Korean texts
*Gameplay
**Hellfire items not saving their identified state
*Stability / Performance / System
**Stash corrupting when converting a hero between Diablo and Hellfire
**Amiga: Incorrect rendering of things behind transparent elements
**Android: Game locking up when switching sound output
**Fedora: Unable to locate BZIP2
**Manjaro: Unable to locate libsodium
**Xbox: Game crashing unexpectedly
**Xbox: Improve performance
'''v1.5.1'''
*Features
**Multiplayer
***Validate player stats
***Update the pvp arenas
***Rename "Loopback" to "Offline"
**Stability / Performance / System
***Move hp/mana display and item graphics to gameplay options
***Validate properties when reloading items
***Demomode: Improve replay stability
***Update Discord link
***Display save game confirmation
***Reduce ram usage
**Translations
***Update Simplified Chinese translation
***Update French translation
***Update German translation
***Update Greek translation
***Update Japanese translation
***Update Korean translation
***Update Portuguese translation
***Update Spanish translation
***Update Swedish translation
***Update Ukrainian translation
*Bugfixes
**Gameplay
***Being able to enter Lazarus' chamber before opening the portal
***Book requirements not updating
***Some monsters not walking
***Missiles not traveling the full distance at some angles
***Diablo: Incorrect level 4 layout when the Magic Banner quest is active
***Halls of the Blind not being completed by picking up the amulet
***Shareware: Bucklers not dropping
***Player animation stuttering
**Multiplayer
***Potions dropped by Divine shrines not being synced
**Platforms
***Linux: Add sdl-image dependency for the deb package
***Linux: Include discord dependency
***Xbox One: Missing assets
**Graphics / Audio
***Incorrect cursor rendering
***Incorrect outlines at the right edge of the screen
***NPC speech continuing after starting a new game
***Correct various font rendering issues
***Hide the hit indicator when only one player is in the game
***Issues with flashing lights
***Floating number still appearing after death
***Misaligned automap
**Controls
***Inconsistencies with placing items in to the stash
***Gamepad: Being stuck in dialogs
***Gamepad: Unable to use some scrolls directly
**Stability / Performance / System
***Unable to playback new demo files
***Various crashes
*Bugfixes for original Diablo bugs
**Gameplay
***Durability overflowing when reloading items
***Teleporting onto an occupied tile
***Right-click during dialogs casts spells
**Graphics / Audio
***Cursor jitter when interacting with the inventory
***Broken lava tiles
**Controls
***Inconsistencies with placing items in to the inventory
*Bugfixes for original Hellfire bugs
**Gameplay
***Warping onto a solid tile
**Known issues
***1.5.0 save games on level 4 with Snot Spill will need to progress the game before updating because of a bug in that version
'''v1.5.0'''
*Features
**Gameplay
***Floating damage numbers
***Option to auto-pick up oils
***Quest items now drop based on difficulty
**Multiplayer
***All quests can now be played, enabled from settings menu
***Add chat commands, use /help for options
***Add PvP arenas that can be accessed via /arena #
***Inspect other players' items using /inspect <name>
***Hellfire: Disabled The Cornerstone of the World
***Draw hostile players' names in red in the chat panel
**Platforms
***Added support for the original Xbox
***Added (experimental) support for RG99
***Added support for Android TV
***Support demo playback on SDL1 versions
***Android: Support loading data from external storage
***Android: Do not speed up game after suspending if playing alone
***Provide virtual resolutions for systems with only one native resolution
***Windows: Digitally signed executable
**Graphics / Audio
***Option to show item graphics in stores
***Added map in town
***Add widescreen load screens (thanks to @Chance4us)
***Show cast animation in town
***Various text rendering improvements
***Use decimal separators for gold and XP
***Monsters end their invisibility on death
***Durability icon gradually changing to red
***Make the ground color of small rejuvenation potions distinct
***Indicate on which difficulty a hero has defeated Diablo
***Only display resolution height when FitToScreen is enabled
***More fluid lighting updates when moving
***Improve the monster HP bar for some edge cases
***Provide sound cue when gold is auto-placed into the open inventory
***Color inventory slot based on item quality
***Add setting for choosing a different audio resampler
***Support for recoloring heroes using trn-files
**Controls
***Adjust the info panel descriptions based on the input device
***Gamepad controls can now be mapped
***New options for keyboard mapping
***gamepad/touch: Improve menu navigation
***gamepad: Autodetect button layout
***Support mouse back button in menus
***Do not target monster when casting Heal Other and Resurrect
***Improve logic for belt auto-refill
**Translations
***Update French translation
***Update Italian translation
***Update Japanese translation
***Update Polish translation
***Update Spanish translation
***Update Ukrainian translation
***Synchronize names of existing items with the current game language
***Xbox One/Series: Include translations
**Stability / Performance / System
***Create submenus for setting groups
***Reduce RAM usage
***Performance improvement
***Frame skipping on low end systems
***Add --lang for specifying the language
***Setting for picking audio device
***Date based screenshot names
*Bugfixes
**Gameplay
***Attack speed not always being accurate for specific combinations of effects and actions
***Telekinesis respects the Disable Crippling Shrines setting
***Don't consume mana when double casting Mana Shield
***Resolve a few bugs and edge cases with the stash
***Hellfire: Books from Adria's shop morphing
***Petrified monsters shifting position when hit after loading a save game
**Multiplayer
***Items held by cursor lost due to lag indicator
***Items lost due to various desync issues
***Fix multiple desync issues
***Don't show hostile players on the map
***Player animations sometimes not being in sync
***Better handling of latency
**Platforms
***Windows: Fix ZeroTier always failing for Unicode usernames
***Vita: Items lost when tapping outside the inventory
***Fix gold withdrawal on SDL1 versions
***Translation support on BE systems
***macOS/iOS translate system texts
**Graphics / Audio
***Top of screen not being rendered at some resolutions
***Correct alignment of lightning and inferno
***Make item labels take UI into consideration
***Adria's "you have nothing to recharge" being misalignment on an empty list
***Monsters sometimes not being rendered
***Lighting missing for some areas after loading a saved game
***Hellfire quests being removed from the quest log when completed
**Controls
***touch: Missing buttons on low end devices
***Hero sometimes not willing to drop an item even when there is still room on the ground
**Stability / Performance / System
***Allow using the built-in screenshot function during text input
***Various crashes
***A rare freeze when loading hell levels
***Various issues with cursor rendering
***Some additional validation of items when converting saves from Hellfire to Diablo
*Bugfixes for original Diablo bugs
**Gameplay
***Several issues that would cause missiles to miss when they shoudn't
***Some wall tiles not blocking missiles and vision
***The player can spawn in an incorrect location on some levels
***Town portal not always returning to the correct quest level
***Missing the extra stats at level 50
***Guardian not calculating its damage correctly
***Items lost when triggering a portal while picking them up
***Diablo not giving the intended XP on Hell difficulty
***Fireball/Elemental not doing damage when monster is not in line of sight
***Lightning spell being able to pass through some walls
***Prevent double casting of spells
***Unable to pick Golem spawn location when right-clicking the scroll
***Low quality items on quests after using a town portal
***Monsters on Nightmare and Hell having too little HP
***Monsters being immune to non-player missiles
***Stairs up to level 6 not working sometimes
***The Deadly Hunter bow not dealing the correct damage
***Poisoned Water not appearing in the quest log if discovered before talking to Pepin
***Casting spells during level transition will target the old position
***Spell remaining unavailable after using a stone shrine until reequipping the staff
***Unique monster light being left behind when they are removed
***Fast and faster hit recovery stacking
***Camera shaking when loading a save game after Diablo's death
***Correct calculation for max chages lost with when using the recharge skill
***Not getting XP after damaging a monster if it dies from a trap
***Fire Arrows causing monsters to stop healing
**Multiplayer
***Trapped doors rearming themselves when returning to a level
***Resolve some sources of dsync
**Graphics / Audio
***Add scrollbar to help window
***Show portal animation in town
***Fix inconsistent lighting on quest levels
***Petrified monsters turning to face the attacker
***Display correct Armor Class in Char Panel
***Minor rendering bugs in UI panels
***Center 2x2 items that go in 2x3 slots
***Broken corners on some cathedral levels
***Light smearing when walking in certain directions
***Unique monsters light not always following the monster
***Monster sliding after having been stone cursed
***Player moonwalking when talking to monsters
***Tavern Sign playing the wrong sound when dropped on the floor
**Controls
***Help panel staying open while talking to NPCs
**Stability / Performance / System
***Minor stability issues
***Optic Amulet and Arkaine's Valor sometimes being misaligned
*Bugfixes for original Hellfire bugs
**Gameplay
***Prevent oil of death damage wrap around
***Reflected damage sometimes being too low
**Multiplayer
***Desync in Nest when cow quest is enabled
***Gillian saying the grave quest start line multiple times
***Being unable to pick up quest items if you didn't start the game
***Quest going out of sync
**Graphics / Audio
***Buggy lighting in Nest and Crypt
***Description of jester's item saying 500% instead of 600% damage
***Typos in subtitles


* Vita: Inability to edit hero name on the creation screen
'''v1.4.1'''


==== Stability / Performance / System ====
Features:
* Graphics / Audio:
** Play gold sound effect when depositing in stash.
* Controls:
** Add setting for showing item labels.
** Add setting for zoom by default.
* Translations:
** Update Chinese Translation.
** Update French Translation.
** Update Japanese Translation.
** Update Polish Translation.
** Update Russian Translation.
** Update Ukrainian Translation.


* Quest panel crashing the game for some quests
Bugfixes:
* Windows: Some systems getting a sensor permission error
* Gameplay:
* Windows: Stability issues and item morphing in Hellfire
** Correct behavior for elemental damage on weapons.
** Fallen retreat in the wrong direction.
** Show correct requirements for books in stash.
* Multiplayer:
** Issues with joining multiplayer games.
** Refreshing store inventory on new games.
* Platforms:
** 3DS: correct C-stick axis mapping.
** 3DS: Package info.
** iOS: Compatibility with Sideloadly.
** iOS/macOS/iPadOS: Show translated error messages.
** OpenDingux: Fix game not starting on some devices.
** PS4: Crashing on startup with no config file.
* Graphics / Audio:
** Fix wide screen scenes missing on some platforms.
** Minor graphical issues.
** Misaligned player animation.
* Controls:
** Quick cast interrupting the current action.
** Touch: Action buttons sometimes showing the wrong icon.
** Touch/Gamepad: Correct usage description for some spells.
** Touch/Gamepad: Fix targeting berserked monsters.
* Stability / Performance / System:
** Improve general game stability.
** Incorrect handling of player names.
** Names on ears not being correct in some translations.


=== Bugfixes for original Hellfire bugs ===
Bugfixes for original Diablo bugs:
* Gameplay:
** Fallen not seeing each other in a northern direction.
** Lazarus level resetting when using town portal.
** Shrines effects not being random.
* Multiplayer:
** Solve more sources of desync.
* Controls:
** Make spell feedback consistent in town and dungeon.


==== Gameplay ====
Bugfixes for original Hellfire bugs:
* Gameplay:
** Monsters not reacting to being attacked by berserked monster.


* Rage/Search/Lightningwall not factoring in the hero level for the first player
Known issues:
* Sparkling Shrine dealing an incorrect amount of damage
* Stability / Performance / System:
* Items with negative AC morphing in multiplayer
** Linux ARM builds have not arrived yet.


'''v1.0.1'''
[https://github.com/diasurgical/devilutionX/releases Release notes].
===Notes:===
* Following upstream version, even with 1.0.1 now.
* Suspend / Sleep / Shutdown still don't work as expected.


===Installation instructions:===
==Credits==
* Get full game, either CD or GOG release.
* galaxyhaxz - For reverse-engineering Diablo, and creating Devilution.
* Create a 'DevilutionX' folder to your SD, here: 'sdmc:/3ds/DevilutionX/'
* AJenbo, qndel & glebm - For maintaining, improving and supporting Devilution.
* From the full game, copy 'DIABDAT.MPQ', to: 'sdmc:/3ds/DevilutionX/'
* All others involved with the Devilution/DevilutionX projects.
* Install and run .cia
* Wintermute & fincs - For creating and maintaining devkitPro/devkitARM.
* All other involved with devkitPro and 3DS libraries.


===Build instructions:===
==External links==
* From inside: 'devilutionx\build', run:
* GitHub - https://github.com/diasurgical/devilutionX
* cmake .. -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/ctr/devkitarm-libctru.cmake && make
* GitHub (former) - https://github.com/MrHuu/devilutionX-3ds
* GBAtemp - https://gbatemp.net/threads/release-devilutionx-for-3ds.552299

Latest revision as of 03:47, 8 September 2024

DevilutionX
Devilutionx3ds2.png
General
Authordiasurgical
TypeRole Playing
Version1.5.3
LicenseMixed
Last Updated2024/09/02
Links
Download
Website
Source

DevilutionX is a source port of Diablo and Hellfire that strives to make it simple to run the game while providing engine improvements, bugfixes, and some optional quality of life features.

Installation

Note: You'll need access to the data from the original game. If you don't have an original CD you can buy Diablo from GoG.com, or use the shareware version.

Create a folder named devilutionx on your SD card (sdmc:/3ds/devilutionx/).

  • For the full game, copy diapdat.mpq to the devilutionx subfolder (for the shareware version, use spawn.mpq instead).
  • For the Diablo Hellfire expansion, you will also need hellfire.mpq, hfmonk.mpq, hfmusic.mpq, hfvoice.mpq.
  • Chinese, Korean, and Japanese users will also need fonts.mpq or the text will be missing (N3DS only, see below).

Place the .cia file on your SD card, then use a title manager such as FBI to install devilutionx.cia.

User guide

DevilutionX for 3DS user manual.

Multiplayer

The 3DS currently supports cross-platform Multiplayer in TCP mode. To play, you will need to enable Wi-Fi on the console and set up a network connection in System Settings. For more general information about Multiplayer and how to set up your network for TCP games, refer to the DevilutionX Multiplayer guide.

When playing Multiplayer, guests will experience better performance than hosts. When playing cross-platform, it is recommended to host your game session on another platform with more capable hardware.

Translations

The 3DS version of the game will attempt to detect the appropriate language based on your 3DS console's language setting. Chinese, Korean, and Japanese users will need to download fonts.mpq or the text will be missing.

It is currently not recommended to use the Chinese, Korean, or Japanese translations on old 3DS models. The game will load additional symbols into system memory as needed while you continue to play the game. There is not enough memory in the old 3DS models to hold all the symbols in memory. It is therefore possible to run out of memory on the console and crash the game simply by using these translations.

To change the language used by the game, you will need to modify diablo.ini. The config folder path for 3DS is the same as the data folder for the MPQs (/3ds/devilutionx/ on your SD card).

Performance tips

New 3DS models have significantly improved hardware compared to old models. To improve the performance of the game on old 3DS models, you will want to modify diablo.ini. The config folder path for 3DS is the same as the data folder for the MPQs (/3ds/devilutionx/ on your SD card).

In particular, you will see a significant performance improvement if you set the game to Diablo's original resolution of 640x480.

[Graphics]
Width=640
Height=480

After making this change, if you would like the game to stretch to fit the full area of the top screen, use Fit to Screen=1. If instead you do not like the display to be stretched, use Fit to Screen=0.

Because 3DS uses SDL1, many of the graphics settings do not apply. The following represents the full list of applicable settings.

  • Width.
  • Height.
  • Fit to Screen.
  • Blended Transparency.
  • Gamma Correction.
  • Color Cycling.
  • FPS Limiter.

Controls

Keypad:

Circle-Pad or D-Pad - Move hero

A - Attack nearby enemies, Talk to townspeople and merchants, Pickup/place items (inventory), OK (main menu)

B - Select spell, Back while in menus

X - Pickup items, Open nearby chests and doors, Use item in the inventory

Y - Cast spell, Delete character while in main menu

L - Use health item from belt

R - Use mana potion from belt

Start+Up/Select - Game menu

Start+Down - Toggle automap

Start+Left/L or ZL - Character sheet

Start+Right/R or ZR - Inventory

Start+X - Toggle zoom

Select+D-Pad - Move automap, Simulate mouse

Select+A/B/X/Y - Spell hotkeys

C-Stick - Move automap, Simulate mouse

Select+ZL or Start+Y - Quest log

Select+ZR or Start+B - Spell book

Touchscreen:

Single drag - Move the mouse pointer (pointer jumps to finger)

Single short tap - Left mouse click

Screenshots

devilutionx3ds3.png devilutionx3ds4.png

devilutionx3ds5.png devilutionx3ds6.png

Media

DevilutionX (Diablo 1) for the RG-350 handheld (Gleb Mazovetskiy)

Known issues

Polish dub produces static sounds.

Changelog

v1.5.3

  • Bug Fixes
    • Multiplayer
      • Resolved validation multiplayer errors.
    • Translations
      • Added Hungarian translation.
      • Added Turkish translation.
    • Stability / Performance / System
      • Fixed issue where a line is repeated in the info panel.
      • Fixed errors when converting Hellfire saved games.
      • [Miyoo Mini] Update integration.
      • [Android] Update integration (now requires Android 5.0).
      • [Android] Improved the data import dialog.
      • [Android] Game now runs full screen on devices with a notch.
      • [Windows] Fix non-English TCP error messages.
  • Bugfixes for original Diablo bugs
    • Gameplay
      • Fixed item repairs with multiple gold piles.
    • Known Issues
      • Some builds (like Mac) are not ready yet and will be uploaded over the next couple of days

v1.5.2

  • Multiplayer
    • Unable to join game due to invalid player data
  • Translations
    • Improve rendering of Chinese/Japanese/Korean texts
  • Gameplay
    • Hellfire items not saving their identified state
  • Stability / Performance / System
    • Stash corrupting when converting a hero between Diablo and Hellfire
    • Amiga: Incorrect rendering of things behind transparent elements
    • Android: Game locking up when switching sound output
    • Fedora: Unable to locate BZIP2
    • Manjaro: Unable to locate libsodium
    • Xbox: Game crashing unexpectedly
    • Xbox: Improve performance

v1.5.1

  • Features
    • Multiplayer
      • Validate player stats
      • Update the pvp arenas
      • Rename "Loopback" to "Offline"
    • Stability / Performance / System
      • Move hp/mana display and item graphics to gameplay options
      • Validate properties when reloading items
      • Demomode: Improve replay stability
      • Update Discord link
      • Display save game confirmation
      • Reduce ram usage
    • Translations
      • Update Simplified Chinese translation
      • Update French translation
      • Update German translation
      • Update Greek translation
      • Update Japanese translation
      • Update Korean translation
      • Update Portuguese translation
      • Update Spanish translation
      • Update Swedish translation
      • Update Ukrainian translation
  • Bugfixes
    • Gameplay
      • Being able to enter Lazarus' chamber before opening the portal
      • Book requirements not updating
      • Some monsters not walking
      • Missiles not traveling the full distance at some angles
      • Diablo: Incorrect level 4 layout when the Magic Banner quest is active
      • Halls of the Blind not being completed by picking up the amulet
      • Shareware: Bucklers not dropping
      • Player animation stuttering
    • Multiplayer
      • Potions dropped by Divine shrines not being synced
    • Platforms
      • Linux: Add sdl-image dependency for the deb package
      • Linux: Include discord dependency
      • Xbox One: Missing assets
    • Graphics / Audio
      • Incorrect cursor rendering
      • Incorrect outlines at the right edge of the screen
      • NPC speech continuing after starting a new game
      • Correct various font rendering issues
      • Hide the hit indicator when only one player is in the game
      • Issues with flashing lights
      • Floating number still appearing after death
      • Misaligned automap
    • Controls
      • Inconsistencies with placing items in to the stash
      • Gamepad: Being stuck in dialogs
      • Gamepad: Unable to use some scrolls directly
    • Stability / Performance / System
      • Unable to playback new demo files
      • Various crashes
  • Bugfixes for original Diablo bugs
    • Gameplay
      • Durability overflowing when reloading items
      • Teleporting onto an occupied tile
      • Right-click during dialogs casts spells
    • Graphics / Audio
      • Cursor jitter when interacting with the inventory
      • Broken lava tiles
    • Controls
      • Inconsistencies with placing items in to the inventory
  • Bugfixes for original Hellfire bugs
    • Gameplay
      • Warping onto a solid tile
    • Known issues
      • 1.5.0 save games on level 4 with Snot Spill will need to progress the game before updating because of a bug in that version

v1.5.0

  • Features
    • Gameplay
      • Floating damage numbers
      • Option to auto-pick up oils
      • Quest items now drop based on difficulty
    • Multiplayer
      • All quests can now be played, enabled from settings menu
      • Add chat commands, use /help for options
      • Add PvP arenas that can be accessed via /arena #
      • Inspect other players' items using /inspect <name>
      • Hellfire: Disabled The Cornerstone of the World
      • Draw hostile players' names in red in the chat panel
    • Platforms
      • Added support for the original Xbox
      • Added (experimental) support for RG99
      • Added support for Android TV
      • Support demo playback on SDL1 versions
      • Android: Support loading data from external storage
      • Android: Do not speed up game after suspending if playing alone
      • Provide virtual resolutions for systems with only one native resolution
      • Windows: Digitally signed executable
    • Graphics / Audio
      • Option to show item graphics in stores
      • Added map in town
      • Add widescreen load screens (thanks to @Chance4us)
      • Show cast animation in town
      • Various text rendering improvements
      • Use decimal separators for gold and XP
      • Monsters end their invisibility on death
      • Durability icon gradually changing to red
      • Make the ground color of small rejuvenation potions distinct
      • Indicate on which difficulty a hero has defeated Diablo
      • Only display resolution height when FitToScreen is enabled
      • More fluid lighting updates when moving
      • Improve the monster HP bar for some edge cases
      • Provide sound cue when gold is auto-placed into the open inventory
      • Color inventory slot based on item quality
      • Add setting for choosing a different audio resampler
      • Support for recoloring heroes using trn-files
    • Controls
      • Adjust the info panel descriptions based on the input device
      • Gamepad controls can now be mapped
      • New options for keyboard mapping
      • gamepad/touch: Improve menu navigation
      • gamepad: Autodetect button layout
      • Support mouse back button in menus
      • Do not target monster when casting Heal Other and Resurrect
      • Improve logic for belt auto-refill
    • Translations
      • Update French translation
      • Update Italian translation
      • Update Japanese translation
      • Update Polish translation
      • Update Spanish translation
      • Update Ukrainian translation
      • Synchronize names of existing items with the current game language
      • Xbox One/Series: Include translations
    • Stability / Performance / System
      • Create submenus for setting groups
      • Reduce RAM usage
      • Performance improvement
      • Frame skipping on low end systems
      • Add --lang for specifying the language
      • Setting for picking audio device
      • Date based screenshot names
  • Bugfixes
    • Gameplay
      • Attack speed not always being accurate for specific combinations of effects and actions
      • Telekinesis respects the Disable Crippling Shrines setting
      • Don't consume mana when double casting Mana Shield
      • Resolve a few bugs and edge cases with the stash
      • Hellfire: Books from Adria's shop morphing
      • Petrified monsters shifting position when hit after loading a save game
    • Multiplayer
      • Items held by cursor lost due to lag indicator
      • Items lost due to various desync issues
      • Fix multiple desync issues
      • Don't show hostile players on the map
      • Player animations sometimes not being in sync
      • Better handling of latency
    • Platforms
      • Windows: Fix ZeroTier always failing for Unicode usernames
      • Vita: Items lost when tapping outside the inventory
      • Fix gold withdrawal on SDL1 versions
      • Translation support on BE systems
      • macOS/iOS translate system texts
    • Graphics / Audio
      • Top of screen not being rendered at some resolutions
      • Correct alignment of lightning and inferno
      • Make item labels take UI into consideration
      • Adria's "you have nothing to recharge" being misalignment on an empty list
      • Monsters sometimes not being rendered
      • Lighting missing for some areas after loading a saved game
      • Hellfire quests being removed from the quest log when completed
    • Controls
      • touch: Missing buttons on low end devices
      • Hero sometimes not willing to drop an item even when there is still room on the ground
    • Stability / Performance / System
      • Allow using the built-in screenshot function during text input
      • Various crashes
      • A rare freeze when loading hell levels
      • Various issues with cursor rendering
      • Some additional validation of items when converting saves from Hellfire to Diablo
  • Bugfixes for original Diablo bugs
    • Gameplay
      • Several issues that would cause missiles to miss when they shoudn't
      • Some wall tiles not blocking missiles and vision
      • The player can spawn in an incorrect location on some levels
      • Town portal not always returning to the correct quest level
      • Missing the extra stats at level 50
      • Guardian not calculating its damage correctly
      • Items lost when triggering a portal while picking them up
      • Diablo not giving the intended XP on Hell difficulty
      • Fireball/Elemental not doing damage when monster is not in line of sight
      • Lightning spell being able to pass through some walls
      • Prevent double casting of spells
      • Unable to pick Golem spawn location when right-clicking the scroll
      • Low quality items on quests after using a town portal
      • Monsters on Nightmare and Hell having too little HP
      • Monsters being immune to non-player missiles
      • Stairs up to level 6 not working sometimes
      • The Deadly Hunter bow not dealing the correct damage
      • Poisoned Water not appearing in the quest log if discovered before talking to Pepin
      • Casting spells during level transition will target the old position
      • Spell remaining unavailable after using a stone shrine until reequipping the staff
      • Unique monster light being left behind when they are removed
      • Fast and faster hit recovery stacking
      • Camera shaking when loading a save game after Diablo's death
      • Correct calculation for max chages lost with when using the recharge skill
      • Not getting XP after damaging a monster if it dies from a trap
      • Fire Arrows causing monsters to stop healing
    • Multiplayer
      • Trapped doors rearming themselves when returning to a level
      • Resolve some sources of dsync
    • Graphics / Audio
      • Add scrollbar to help window
      • Show portal animation in town
      • Fix inconsistent lighting on quest levels
      • Petrified monsters turning to face the attacker
      • Display correct Armor Class in Char Panel
      • Minor rendering bugs in UI panels
      • Center 2x2 items that go in 2x3 slots
      • Broken corners on some cathedral levels
      • Light smearing when walking in certain directions
      • Unique monsters light not always following the monster
      • Monster sliding after having been stone cursed
      • Player moonwalking when talking to monsters
      • Tavern Sign playing the wrong sound when dropped on the floor
    • Controls
      • Help panel staying open while talking to NPCs
    • Stability / Performance / System
      • Minor stability issues
      • Optic Amulet and Arkaine's Valor sometimes being misaligned
  • Bugfixes for original Hellfire bugs
    • Gameplay
      • Prevent oil of death damage wrap around
      • Reflected damage sometimes being too low
    • Multiplayer
      • Desync in Nest when cow quest is enabled
      • Gillian saying the grave quest start line multiple times
      • Being unable to pick up quest items if you didn't start the game
      • Quest going out of sync
    • Graphics / Audio
      • Buggy lighting in Nest and Crypt
      • Description of jester's item saying 500% instead of 600% damage
      • Typos in subtitles

v1.4.1

Features:

  • Graphics / Audio:
    • Play gold sound effect when depositing in stash.
  • Controls:
    • Add setting for showing item labels.
    • Add setting for zoom by default.
  • Translations:
    • Update Chinese Translation.
    • Update French Translation.
    • Update Japanese Translation.
    • Update Polish Translation.
    • Update Russian Translation.
    • Update Ukrainian Translation.

Bugfixes:

  • Gameplay:
    • Correct behavior for elemental damage on weapons.
    • Fallen retreat in the wrong direction.
    • Show correct requirements for books in stash.
  • Multiplayer:
    • Issues with joining multiplayer games.
    • Refreshing store inventory on new games.
  • Platforms:
    • 3DS: correct C-stick axis mapping.
    • 3DS: Package info.
    • iOS: Compatibility with Sideloadly.
    • iOS/macOS/iPadOS: Show translated error messages.
    • OpenDingux: Fix game not starting on some devices.
    • PS4: Crashing on startup with no config file.
  • Graphics / Audio:
    • Fix wide screen scenes missing on some platforms.
    • Minor graphical issues.
    • Misaligned player animation.
  • Controls:
    • Quick cast interrupting the current action.
    • Touch: Action buttons sometimes showing the wrong icon.
    • Touch/Gamepad: Correct usage description for some spells.
    • Touch/Gamepad: Fix targeting berserked monsters.
  • Stability / Performance / System:
    • Improve general game stability.
    • Incorrect handling of player names.
    • Names on ears not being correct in some translations.

Bugfixes for original Diablo bugs:

  • Gameplay:
    • Fallen not seeing each other in a northern direction.
    • Lazarus level resetting when using town portal.
    • Shrines effects not being random.
  • Multiplayer:
    • Solve more sources of desync.
  • Controls:
    • Make spell feedback consistent in town and dungeon.

Bugfixes for original Hellfire bugs:

  • Gameplay:
    • Monsters not reacting to being attacked by berserked monster.

Known issues:

  • Stability / Performance / System:
    • Linux ARM builds have not arrived yet.

Release notes.

Credits

  • galaxyhaxz - For reverse-engineering Diablo, and creating Devilution.
  • AJenbo, qndel & glebm - For maintaining, improving and supporting Devilution.
  • All others involved with the Devilution/DevilutionX projects.
  • Wintermute & fincs - For creating and maintaining devkitPro/devkitARM.
  • All other involved with devkitPro and 3DS libraries.

External links

Advertising: