mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-23 12:19:13 -05:00
chore: bring devilutionx to head
hf.mpq now has its own CMake option, BUILD_MOD_MPQS, beside BUILD_ASSETS_MPQ. The loaders moved by two lines after a romfs search path was added for 3DS and Switch. Same files.
This commit is contained in:
1 parent
5906e55fea
commit
d9cf45c6d3
1 file changed
+27
-26
+27
-26
@@ -4,7 +4,7 @@ core_classification: game_engine
|
||||
source: "https://github.com/diasurgical/DevilutionX"
|
||||
upstream: ~
|
||||
profiled_date: "2026-10-04"
|
||||
source_commit: "dac104babfb6187415432f428ac2516747ffc154"
|
||||
source_commit: "0706e014d6a12ec8178a81fba549a68bd559f247"
|
||||
core_version: "1.6.0-dev"
|
||||
display_name: "Diablo (DevilutionX)"
|
||||
cores: [devilutionx]
|
||||
@@ -20,26 +20,26 @@ notes: |
|
||||
macOS Application Support, etc.) via GetMPQSearchPaths().
|
||||
|
||||
Load order is defined in Source/engine/assets.cpp:
|
||||
LoadCoreArchives() (:505) - devilutionx.mpq, fonts.mpq (optional)
|
||||
LoadLanguageArchive() (:521) - <language code>.mpq, skipped for "en"
|
||||
LoadGameArchives() (:530) - diabdat.mpq or spawn.mpq (required)
|
||||
LoadCoreArchives() (:507) - devilutionx.mpq, fonts.mpq (optional)
|
||||
LoadLanguageArchive() (:523) - <language code>.mpq, skipped for "en"
|
||||
LoadGameArchives() (:532) - diabdat.mpq or spawn.mpq (required)
|
||||
hfbard.mpq, hfbarb.mpq (always probed)
|
||||
LoadHellfireArchives() (:570) - hellfire.mpq + hfmonk/hfmusic/hfvoice
|
||||
LoadModArchives() (:703) - mods/<name>.mpq for each active mod
|
||||
LoadHellfireArchives() (:572) - hellfire.mpq + hfmonk/hfmusic/hfvoice
|
||||
LoadModArchives() (:712) - mods/<name>.mpq for each active mod
|
||||
|
||||
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
|
||||
convention, line 540), then lowercase (line 544). If neither is found
|
||||
the loader falls back to spawn.mpq (line 546). 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.
|
||||
+ hfvoice.mpq must also be present (line 590) 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). CMake/Assets.cmake:46-238 lists the packed
|
||||
CMakeLists.txt:192-205). CMake/Assets.cmake:46-238 lists the packed
|
||||
files (ASSETS_VERSION, arena, data, fonts, gendata, levels, lua,
|
||||
plrgfx, txtdata and ui_art, plus data/inv/objcurs-widths.txt and the
|
||||
ui_art PNGs outside SDL1 and Vita builds), and each Translations/<lang>.po
|
||||
@@ -47,9 +47,10 @@ notes: |
|
||||
(CMake/Assets.cmake:8-29, 268-272). The archive is written with
|
||||
"smpq -A -M 1 -C BZIP2 -c" from the staged assets directory
|
||||
(CMake/Assets.cmake:287-294). mods/hf.mpq is built the same way from
|
||||
the mods/hf file list (CMake/Mods.cmake:8-33, 58-67). The compiled
|
||||
the mods/hf file list under the BUILD_MOD_MPQS option
|
||||
(CMake/Mods.cmake:11-36, 61-71). The compiled
|
||||
binary expects devilutionx.mpq next to the executable on every
|
||||
platform except Android, Apple and 3DS/Switch (:509-516), where its
|
||||
platform except Android, Apple and 3DS/Switch (:511-518), where its
|
||||
contents are shipped loose. After loading the core archives the engine
|
||||
reads the asset ASSETS_VERSION and aborts with "Failed to load UI
|
||||
resources" unless its content is "1\n" (Source/init.cpp:54, 79-85,
|
||||
@@ -68,7 +69,7 @@ files:
|
||||
description: "Diablo retail or GOG MPQ (contains all game data)"
|
||||
aliases: [DIABDAT.MPQ]
|
||||
note: "primary game archive, the GOG CD convention uses uppercase"
|
||||
source_ref: "Source/engine/assets.cpp:537-542"
|
||||
source_ref: "Source/engine/assets.cpp:539-544"
|
||||
|
||||
- name: spawn.mpq
|
||||
path: devilutionx/spawn.mpq
|
||||
@@ -77,7 +78,7 @@ files:
|
||||
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"
|
||||
source_ref: "Source/engine/assets.cpp:546"
|
||||
|
||||
- name: hellfire.mpq
|
||||
path: devilutionx/hellfire.mpq
|
||||
@@ -85,7 +86,7 @@ files:
|
||||
category: game_data
|
||||
required: false
|
||||
description: "Hellfire expansion main archive"
|
||||
source_ref: "Source/engine/assets.cpp:573"
|
||||
source_ref: "Source/engine/assets.cpp:575"
|
||||
|
||||
- name: hfmonk.mpq
|
||||
path: devilutionx/hfmonk.mpq
|
||||
@@ -93,7 +94,7 @@ files:
|
||||
category: game_data
|
||||
required: false
|
||||
description: "Hellfire monk class assets, mandatory when hellfire.mpq is present"
|
||||
source_ref: "Source/engine/assets.cpp:583"
|
||||
source_ref: "Source/engine/assets.cpp:585"
|
||||
|
||||
- name: hfmusic.mpq
|
||||
path: devilutionx/hfmusic.mpq
|
||||
@@ -101,7 +102,7 @@ files:
|
||||
category: game_data
|
||||
required: false
|
||||
description: "Hellfire music, mandatory when hellfire.mpq is present"
|
||||
source_ref: "Source/engine/assets.cpp:584"
|
||||
source_ref: "Source/engine/assets.cpp:586"
|
||||
|
||||
- name: hfvoice.mpq
|
||||
path: devilutionx/hfvoice.mpq
|
||||
@@ -109,7 +110,7 @@ files:
|
||||
category: game_data
|
||||
required: false
|
||||
description: "Hellfire voices, mandatory when hellfire.mpq is present"
|
||||
source_ref: "Source/engine/assets.cpp:585"
|
||||
source_ref: "Source/engine/assets.cpp:587"
|
||||
|
||||
- name: "hfbard.mpq"
|
||||
path: "devilutionx/hfbard.mpq"
|
||||
@@ -117,7 +118,7 @@ files:
|
||||
category: game_data
|
||||
required: false
|
||||
description: "Hellfire bard class assets, loaded when present"
|
||||
source_ref: "Source/engine/assets.cpp:565"
|
||||
source_ref: "Source/engine/assets.cpp:567"
|
||||
|
||||
- name: "hfbarb.mpq"
|
||||
path: "devilutionx/hfbarb.mpq"
|
||||
@@ -125,7 +126,7 @@ files:
|
||||
category: game_data
|
||||
required: false
|
||||
description: "Hellfire barbarian class assets, loaded when present"
|
||||
source_ref: "Source/engine/assets.cpp:566"
|
||||
source_ref: "Source/engine/assets.cpp:568"
|
||||
|
||||
- name: "devilutionx.mpq"
|
||||
path: "devilutionx/devilutionx.mpq"
|
||||
@@ -137,7 +138,7 @@ files:
|
||||
md5: "5afe4d6624064b41e25a36ac55da29fa"
|
||||
description: "Engine assets (UI art, fonts, data tables, Lua scripts, compiled translations) packed from the repository's assets/ directory"
|
||||
note: "Loaded first on every platform except Android, Apple, 3DS and Switch. Its files are also found in an assets/ directory next to the binary when the build installs them loose. The engine aborts when the asset ASSETS_VERSION is absent or is not \"1\\n\". Built by CMake with smpq (MPQ version 1, BZIP2, no attributes) from the file list of CMake/Assets.cmake plus one <lang>.gmo per translation. Shipped beside the binary in the Windows zip and the Linux tarball, and loose under assets/ in the APK. The hashes are those of the 1.5.5 release."
|
||||
source_ref: "Source/engine/assets.cpp:509-516, 223-226, Source/init.cpp:54, 79-85, Source/diablo.cpp:1225-1239, CMake/Assets.cmake:46-224, 287-294"
|
||||
source_ref: "Source/engine/assets.cpp:511-518, 223-226, Source/init.cpp:54, 79-85, Source/diablo.cpp:1225-1239, CMake/Assets.cmake:46-224, 287-294"
|
||||
|
||||
- name: "fonts.mpq"
|
||||
path: "devilutionx/fonts.mpq"
|
||||
@@ -145,7 +146,7 @@ files:
|
||||
category: game_data
|
||||
required: false
|
||||
description: "CJK and extended-language font pack from devilutionx-assets release"
|
||||
source_ref: "Source/engine/assets.cpp:517"
|
||||
source_ref: "Source/engine/assets.cpp:519"
|
||||
|
||||
- name: "es.mpq"
|
||||
path: "devilutionx/es.mpq"
|
||||
@@ -154,7 +155,7 @@ files:
|
||||
required: false
|
||||
description: "Spanish voice pack"
|
||||
note: "The archive named after the selected language code is loaded. English loads none."
|
||||
source_ref: "Source/engine/assets.cpp:521-528"
|
||||
source_ref: "Source/engine/assets.cpp:523-530"
|
||||
|
||||
- name: "pl.mpq"
|
||||
path: "devilutionx/pl.mpq"
|
||||
@@ -163,7 +164,7 @@ files:
|
||||
required: false
|
||||
description: "Polish voice pack"
|
||||
note: "The archive named after the selected language code is loaded. English loads none."
|
||||
source_ref: "Source/engine/assets.cpp:521-528"
|
||||
source_ref: "Source/engine/assets.cpp:523-530"
|
||||
|
||||
- name: "ru.mpq"
|
||||
path: "devilutionx/ru.mpq"
|
||||
@@ -172,7 +173,7 @@ files:
|
||||
required: false
|
||||
description: "Russian voice pack"
|
||||
note: "The archive named after the selected language code is loaded. English loads none."
|
||||
source_ref: "Source/engine/assets.cpp:521-528"
|
||||
source_ref: "Source/engine/assets.cpp:523-530"
|
||||
|
||||
- name: "hf.mpq"
|
||||
path: "devilutionx/mods/hf.mpq"
|
||||
@@ -181,4 +182,4 @@ files:
|
||||
required: false
|
||||
description: "Hellfire mod archive packed from the repository's mods/hf directory"
|
||||
note: "mods/<name>.mpq is opened for each active mod, and hf is activated when hellfire.mpq is present. A mod with no archive and no loose directory is served from the core archives. Built by CMake with smpq (MPQ version 1, BZIP2, no attributes) from the hellfire_mod file list. The Windows and Linux packaging of this revision installs it under mods/ beside devilutionx.mpq, and no release carries it yet."
|
||||
source_ref: "Source/engine/assets.cpp:748-764, Source/options.cpp:77-79, CMakeLists.txt:204, 638-643, 702-707, CMake/Mods.cmake:8-33, 58-66"
|
||||
source_ref: "Source/engine/assets.cpp:756-772, Source/options.cpp:77-79, CMakeLists.txt:205, 641-646, 705-710, CMake/Mods.cmake:11-36, 61-70"
|
||||
Reference in new issue
Block a user