diff --git a/ANDROID-DEV.md b/ANDROID-DEV.md
index 9190d0586..7b4f4c4df 100644
--- a/ANDROID-DEV.md
+++ b/ANDROID-DEV.md
@@ -448,6 +448,11 @@ This emulator can be installed for free from the Play store and can later be upg
https://play.google.com/store/apps/details?id=io.recompiled.redream
+### ScummVM
+
+This emulator can be installed from the Play store.
+
+https://play.google.com/store/apps/details?id=org.scummvm.scummvm
### Skyline
@@ -472,9 +477,8 @@ https://github.com/Vita3K/Vita3K-Android/releases
### Yaba Sanshiro 2
-This emulator can be installed from the Play store, there is a paid Pro version as well. At the time of writing only the Pro version works when launching games from ES-DE. Also note that .bin/.cue files can't be launched for the time being, only .chd files seem to work. This needs to be fixed in the emulator so nothing can be done in ES-DE to work around that limitation.
+This emulator can be installed from the Play store. Note that only the paid Pro version supports game launching from ES-DE. Also note that .bin/.cue files can't be launched for the time being, only .chd files seem to work. This needs to be fixed in the emulator so nothing can be done in ES-DE to work around that limitation.
-https://play.google.com/store/apps/details?id=org.devmiyax.yabasanshioro2 \
https://play.google.com/store/apps/details?id=org.devmiyax.yabasanshioro2.pro
## Device compatibility
@@ -738,7 +742,7 @@ The **@** symbol indicates that the emulator is _deprecated_ and will be removed
| satellaview | Nintendo Satellaview | Snes9x - Current | Snes9x 2010,
Snes9x 2005 Plus,
Snes9x EX+ **(Standalone)**,
bsnes,
bsnes-hd,
bsnes-mercury Accuracy,
Mesen-S | | |
| saturn | Sega Saturn | Beetle Saturn | YabaSanshiro,
Yaba Sanshiro 2 **(Standalone)**,
Yabause,
Saturn.emu **(Standalone)** | Yes | .chd file for single-disc games, .m3u playlist for multi-disc games |
| saturnjp | Sega Saturn [Japan] | Beetle Saturn | YabaSanshiro,
Yaba Sanshiro 2 **(Standalone)**,
Yabause,
Saturn.emu **(Standalone)** | Yes | .chd file for single-disc games, .m3u playlist for multi-disc games |
-| scummvm | ScummVM Game Engine | ScummVM | | No | |
+| scummvm | ScummVM Game Engine | ScummVM | ScummVM **(Standalone)** | No | See the specific _ScummVM_ section in the user guide |
| scv | Epoch Super Cassette Vision | MAME4droid 2024 **(Standalone)** | | Yes | Single archive or ROM file |
| sega32x | Sega Mega Drive 32X | PicoDrive | | No | Single archive or ROM file |
| sega32xjp | Sega Super 32X [Japan] | PicoDrive | | No | Single archive or ROM file |
diff --git a/ANDROID.md b/ANDROID.md
index 8bed3eab5..557bbb020 100644
--- a/ANDROID.md
+++ b/ANDROID.md
@@ -446,9 +446,8 @@ https://github.com/Vita3K/Vita3K-Android/releases
### Yaba Sanshiro 2
-This emulator can be installed from the Play store, there is a paid Pro version as well. At the time of writing only the Pro version works when launching games from ES-DE. Also note that .bin/.cue files can't be launched for the time being, only .chd files seem to work. This needs to be fixed in the emulator so nothing can be done in ES-DE to work around that limitation.
+This emulator can be installed from the Play store. Note that only the paid Pro version supports game launching from ES-DE. Also note that .bin/.cue files can't be launched for the time being, only .chd files seem to work. This needs to be fixed in the emulator so nothing can be done in ES-DE to work around that limitation.
-https://play.google.com/store/apps/details?id=org.devmiyax.yabasanshioro2 \
https://play.google.com/store/apps/details?id=org.devmiyax.yabasanshioro2.pro
## Device compatibility
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5819fccf..78b4318a4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -43,6 +43,7 @@
* (Android) Added MAME4droid 2024 Local Artwork standalone as an alternative emulator for the gameandwatch and lcdgames systems
* (Android) Added MAME4droid 2024 [Diskette] standalone and MAME4droid 2024 [Tape] standalone as alternative emulators for the x1 system
* (Android) Defined explicit ROM paths for MAME4droid 2024 for the arcade, cps, cps1, cps2, cps3, mame, neogeo and stv systems
+* (Android) Added ScummVM standalone as an alternative emulator for the scummvm system
* (Android) Added IrataJaguar standalone as an alternative emulator for the atarijaguar system
* (Android) Added the melonDS RetroArch core as an alternative emulator for the nds system
* Added the MojoZork RetroArch core as the default emulator for the zmachine system
@@ -50,6 +51,7 @@
* Added ColEm standalone as an alternative emulator for the adam and colecovision systems on Linux and Windows
* (Windows) Added WinArcadia standalone as an alternative emulator for the arcadia system
* Added the .elf, .tmd and .wuhb file extensions to the wiiu system on Linux, macOS and Windows
+* Added support for combining a %ROM% variable with the %INJECT% variable
* (Android) Added %GAMEDIRRAW%, %ROMPATHRAW% and %ROMRAW% variables that can be used with the %EXTRA% and %EXTRAARRAY% variables
* (linear-es-de) Added startup slide animations to the default transitions animation profile
* (linear-es-de) Changed system to system transitions from fade to instant for the fade animation profile
@@ -63,6 +65,7 @@
### Bug fixes
* Adding trailing directory separators to the MediaDirectory setting could make the Orphaned data cleanup utility remove too many files
+* (Windows) Filenames containing multi-byte Unicode characters could not be used with the %INJECT% variable
* Transition animations could sometimes partially play when switching themes with a system selected for the gamelist on startup setting
* There could be minor textlist selector clipping issues if the selector had a text background color set
diff --git a/INSTALL-DEV.md b/INSTALL-DEV.md
index e668c0abb..50b049edb 100644
--- a/INSTALL-DEV.md
+++ b/INSTALL-DEV.md
@@ -1571,7 +1571,7 @@ The following variables are expanded for the `command` tag:
`%STARTDIR%` - The directory to start in when launching the emulator. Must be defined as a pair separated by an equal sign. This is normally not required, but some emulators and game engines like standalone MAME and OpenBOR will not work properly unless you're in the correct directory when launching a game. Either an absolute path can be used, such as `%STARTDIR%=C:\Games\mame` or some variables are available that provide various functions. The `%EMUDIR%` variable can be used to start in the directory where the emulator binary is located, i.e. `%STARTDIR%=%EMUDIR%`, the `%GAMEDIR%` variable can be used to start in the directory where the game file is located, i.e. `%STARTDIR%=%GAMEDIR%` and the `%GAMEENTRYDIR%` variable can be used which works identically to `%GAMEDIR%` with the exception that it will interpret the actual game entry as the start directory. This is useful in very rare situations like for the EasyRPG Player where the game directories are interpreted as files but where the game engine must still be started from inside the game directory. If an absolute path is set that contains blankspaces, then it must be surrounded by quotation marks, for example `%STARTDIR%="C:\Retro games\mame"`. If the directory defined by this variable does not exist, it will be created on game launch. The variable can be placed anywhere in the launch command if the %EMULATOR_ variable is used, otherwise it has to be placed after the emulator binary.
-`%INJECT%` - This allows the injection of launch arguments or environment variables stored in a text file on the filesystem. The %INJECT% variable must be defined as a pair separated by an equal sign, for example `%INJECT%=game.commands`. The `%BASENAME%` variable can also be used in conjunction with this variable, such as `%INJECT%=%BASENAME%.commands`. By default a path relative to the game file will be assumed but it's also possible to use an absolute path or the ~ (tilde) symbol which will expand to the home directory. If a path contains spaces it needs to be surrounded by quotation marks, such as `%INJECT%="C:\My games\ROMs\daphne\%BASENAME%.daphne\%BASENAME%.commands"`. The variable can be placed anywhere in the launch command and the file contents will be injected at that position. It's also possible to have multiple injections by defining the variable more than once at different locations in the launch command string. The specified file is optional, if it does not exist, is empty, or if there are insufficient permissions to read the file, then it will simply be skipped. For safety reasons the injection file can only have a maximum size of 4096 bytes and if it's larger than this it will be skipped and a warning will be written to es_log.txt.
+`%INJECT%` - This allows the injection of launch arguments or environment variables stored in a text file on the filesystem. The %INJECT% variable must be defined as a pair separated by an equal sign, for example `%INJECT%=game.commands`. The `%BASENAME%` variable can also be used in conjunction with this variable, such as `%INJECT%=%BASENAME%.commands` and the `%ROM%` variable is another possibility, such as `%INJECT%=%ROM%`. The latter will expand to the absolute path of the game file and inject its file contents, and this also works when combined with the directories interpreted as files functionality. By default a path relative to the game file will be assumed but it's also possible to use an absolute path or the ~ (tilde) symbol which will expand to the home directory. If a path contains spaces it needs to be surrounded by quotation marks, such as `%INJECT%="C:\My games\ROMs\daphne\%BASENAME%.daphne\%BASENAME%.commands"`. The variable can be placed anywhere in the launch command and the file contents will be injected at that position. It's also possible to have multiple injections by defining the variable more than once at different locations in the launch command string. The specified file is optional, if it does not exist, is empty, or if there are insufficient permissions to read the file, then it will simply be skipped. For safety reasons the injection file can only have a maximum size of 4096 bytes and if it's larger than this it will be skipped and a warning will be written to es_log.txt.
`%EMUPATH%` - Replaced with the path to the emulator binary. This variable is used for manually specifying emulator core locations, and a check for the existence of the core file will be done on game launch and an error displayed if it can't be found. Normally %EMUPATH% should not be used as the %CORE_ variable is the recommended method for defining core locations.
@@ -1768,7 +1768,7 @@ https://developer.android.com/reference/android/content/Intent
`%EXTRABOOL_` - Sets an extra with a boolean value, i.e. true/1 or false/0.
-`%DATA%` - Sets the data URI value for the intent using an equal sign. This is normally combined with one of the ROM variables.
+`%DATA%` - Sets the data URI value for the intent using an equal sign. This is normally combined with one of the ROM variables but it's also possible to define an explicit value or to inject the content of a file and pass that to the variable. This can for instance be accomplished with `%DATA%=%INJECT%=%ROM%` which will expand to the absolute path of the game file and inject its file content. This also works when combined with the directories interpreted as files functionality. Alternatively the `%BASENAME%` variable can be used instead, as in `%DATA%=%BASENAME%` or `%DATA%=%BASENAME%.extension` but this can't be combined with the directories interpreted as files functionality.
There are three approaches to passing game ROMs to emulators by using the following variables:
diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md
index 269f775b6..8ccc37af5 100644
--- a/USERGUIDE-DEV.md
+++ b/USERGUIDE-DEV.md
@@ -2356,6 +2356,8 @@ On Linux it's also possible to launch AppImages directly without having to call
### ScummVM
+Note that the Android release of ScummVM standalone differs from the releases for desktop operating systems in that all games need to be installed in the app before they can be launched from ES-DE. There are some very specific configuration steps that need to be followed to get this to work, but they are thoroughly described in the ScummVM user interface the first time you launch the app, and there is also a built-in help system that you can peruse. Apart from that the setup is identical to the other platforms.
+
ScummVM overlaps a bit with DOS when it comes to the logic of setting it up. It's recommended to keep games in separate folders, so if you have a game distributed as a ZIP file, uncompress it to its own directory.
Although ScummVM supports launching of .exe files, ES-DE is currently not configured as such and it's instead recommended to create a .scummvm file in each game directory and launch that. This makes for a cleaner setup as you don't need to run game configuration utilities like INSTALL.EXE or SETUP.EXE directly as you would with DOSBox. Rather the game configuration is done within the ScummVM emulator.