mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 21:43:23 -05:00
124 lines
4.4 KiB
YAML
124 lines
4.4 KiB
YAML
emulator: devilutionx
|
|
type: standalone
|
|
core_classification: game_engine
|
|
source: "https://github.com/diasurgical/DevilutionX"
|
|
upstream: ~
|
|
profiled_date: "2026-10-04"
|
|
source_commit: "dac104babfb6187415432f428ac2516747ffc154"
|
|
core_version: "1.6.0-dev"
|
|
display_name: "Diablo (DevilutionX)"
|
|
cores: [devilutionx]
|
|
systems: [diablo]
|
|
verification: md5
|
|
|
|
notes: |
|
|
DevilutionX is a reimplementation of the Diablo 1 engine built from
|
|
the leaked Diablo source. It plays the original retail Diablo and the
|
|
Hellfire expansion from their shipped MPQ archives, or the shareware
|
|
Spawn edition. The code loads MPQs from the game folder (next to the
|
|
executable) and from a few platform-specific locations (XDG data home,
|
|
macOS Application Support, etc.) via GetMPQSearchPaths().
|
|
|
|
Load order is defined in Source/engine/assets.cpp:
|
|
LoadCoreArchives() (:505) - devilutionx.mpq, fonts.mpq (optional)
|
|
LoadGameArchives() (:530) - diabdat.mpq or spawn.mpq (required)
|
|
hfbard.mpq, hfbarb.mpq (always probed)
|
|
LoadHellfireArchives() (:570) - hellfire.mpq + hfmonk/hfmusic/hfvoice
|
|
|
|
diabdat.mpq is matched uppercase first ("DIABDAT.MPQ", GOG/retail CD
|
|
convention, line 538), then lowercase (line 542); if neither is found
|
|
the loader falls back to spawn.mpq (line 544). Missing BOTH triggers
|
|
the "diabdat.mpq or spawn.mpq" InsertCDDlg dialog and the game cannot
|
|
start.
|
|
|
|
Hellfire is optional: the engine advertises Diablo even when hellfire
|
|
files are absent. If hellfire.mpq is loaded, hfmonk.mpq + hfmusic.mpq
|
|
+ hfvoice.mpq must also be present (line 588) or the game aborts.
|
|
|
|
devilutionx.mpq is a build artefact packed from the repo's assets/
|
|
directory with the smpq tool (CMake option BUILD_ASSETS_MPQ,
|
|
CMakeLists.txt:192-204). The compiled binary expects it next to the
|
|
executable on every platform except Android, Apple and 3DS/Switch
|
|
(:509-516), where its contents are shipped loose. retrobios ships
|
|
the game engine's own MPQ as a release asset so a vanilla install
|
|
does not need the devilutionx-assets release.
|
|
|
|
fonts.mpq is the CJK + language assets add-on from the
|
|
devilutionx-assets release; English installs do not need it.
|
|
|
|
files:
|
|
- name: diabdat.mpq
|
|
path: devilutionx/diabdat.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: true
|
|
description: "Diablo retail or GOG MPQ (contains all game data)"
|
|
aliases: [DIABDAT.MPQ]
|
|
note: "primary game archive; GOG CD convention uses uppercase"
|
|
source_ref: "Source/engine/assets.cpp:537-542"
|
|
|
|
- name: spawn.mpq
|
|
path: devilutionx/spawn.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: false
|
|
description: "Diablo shareware archive, used when diabdat.mpq is absent"
|
|
note: "freely redistributable shareware; triggers gbIsSpawn mode"
|
|
source_ref: "Source/engine/assets.cpp:544"
|
|
|
|
- name: hellfire.mpq
|
|
path: devilutionx/hellfire.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: false
|
|
description: "Hellfire expansion main archive"
|
|
source_ref: "Source/engine/assets.cpp:573"
|
|
|
|
- name: hfmonk.mpq
|
|
path: devilutionx/hfmonk.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: false
|
|
description: "Hellfire monk class assets; mandatory when hellfire.mpq is present"
|
|
source_ref: "Source/engine/assets.cpp:583"
|
|
|
|
- name: hfmusic.mpq
|
|
path: devilutionx/hfmusic.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: false
|
|
description: "Hellfire music; mandatory when hellfire.mpq is present"
|
|
source_ref: "Source/engine/assets.cpp:584"
|
|
|
|
- name: hfvoice.mpq
|
|
path: devilutionx/hfvoice.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: false
|
|
description: "Hellfire voices; mandatory when hellfire.mpq is present"
|
|
source_ref: "Source/engine/assets.cpp:585"
|
|
|
|
- name: hfbard.mpq
|
|
path: devilutionx/hfbard.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: false
|
|
description: "Hellfire bard class assets (community add-on)"
|
|
source_ref: "Source/engine/assets.cpp:565"
|
|
|
|
- name: hfbarb.mpq
|
|
path: devilutionx/hfbarb.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: false
|
|
description: "Hellfire barbarian class assets (community add-on)"
|
|
source_ref: "Source/engine/assets.cpp:566"
|
|
|
|
- name: fonts.mpq
|
|
path: devilutionx/fonts.mpq
|
|
system: diablo
|
|
category: game_data
|
|
required: false
|
|
description: "CJK and extended-language font pack from devilutionx-assets release"
|
|
source_ref: "Source/engine/assets.cpp:517"
|